[OS-Linux]详解Linux的权限

Posted TT在长大

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[OS-Linux]详解Linux的权限相关的知识,希望对你有一定的参考价值。

 本文基于CentOS,详解介绍了Linux权限的管理,chmod,chgrp以及粘滞位。

目录

一、用户

二、Linux权限管理

1. 文件访问者的分类

2.文件类型和访问权限

(1) 文件类型

3. 文件权限值的表示方法

4.文件访问权限的相关设置方法

chmod

chown

chgrp

umask

file指令

四、目录的权限和粘滞位


一、用户

Linux下有两种用户:超级用户(root)、普通用户。 

超级用户:可以再linux系统下做任何事情,不受限制,命令提示符是“#”。
普通用户:在linux下做有限的事情,普通用户的命令提示符是“$”。 

命令:su [用户名]
功能:切换用户。
从root到普通用户user,则使用 su user。

要从普通用户user切换到root用户则使用 su root(root可以省略)。

二、Linux权限管理

1. 文件访问者的分类

文件和文件目录的所有者:u---User

文件和文件目录的所有者所在的组的用户:g---Group

其它用户:o---Others

2.文件类型和访问权限

(1) 文件类型

                d:文件夹
                -:普通文件
                l:软链接(类似Windows的快捷方式)
                b:块设备文件(例如硬盘、光驱等)
                p:管道文件
                c:字符设备文件(例如屏幕等串口设备)
                s:套接口文件

b) 基本权限

读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限;

写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限; 

执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限;

“-”   : 表示不具有该项权限

3. 文件权限值的表示方法

有两种表示方法,字符表示方法和8进制数值表示方法

字符表示方法:

Linux表示说明Linux表示说明
r--只读-w-仅可写
--x仅可执行rw-可读可写
-wx可写可执行r-x可读可执行
rwx可读可写可执行---无权限

8进制数值表示方法:

权限符号八进制二进制
r4100
w2010
x1001
rw6110
rx5101
wx3011
rwx7111
---0000

4.文件访问权限的相关设置方法
 

chmod


功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
常用选项:
        R -> 递归修改目录文件的权限(只有文件的拥有者和root才可以改变文件的权限)

chmod命令权限的格式

(1)用户表示符+/-=权限字符

        +:向权限范围增加权限代号所表示的权限
        -:向权限范围取消权限代号所表示的权限
        =:向权限范围赋予权限代号所表示的权限
        用户符号:
                u:拥有者
                g:拥有者同组用
                o:其它用户
                a:所有用户

 实例:

chmod u+w /home/a.txt
chmod o-x /home/a.txt
chmod a=x /home/a.txt

(2)三位8进制数字

chmod 664 /home/a.txt
chmod 640 /home/a.txt

chown


功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名
实例:

chown user1 f1
chown -R user1 filegroup1


chgrp

功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录的所属组
实例:

chgrp users /abc/f2

umask


功能:查看或修改文件掩码,新建文件夹默认权限=0666,新建目录默认权限=0777,创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是:mask & ~umask
格式:umask 权限值
说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。
实例:

umask 755
umask //查看
umask 044//设置

file指令

功能说明:辨识文件类型。
语法:file [选项] 文件或目录...
常用选项:
        -c 详细显示指令执行过程,便于排错或分析程序执行的情形。
        -z 尝试去解读压缩文件的内容。
使用 sudo分配权限
(1)修改/etc/sudoers 文件分配文件

# chmod 740 /etc/sudoers
# vi /etc/sudoer


格式:接受权限的用户登陆的主机 =(执行命令的用户) 命令
(2)使用 sudo 调用授权的命令

$ sudo –u 用户名 命令


实例:

$sudo -u root /usr/sbin/useradd u2


四、目录的权限和粘滞位

可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.
可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.

粘滞位

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由

        (1)超级管理员删除
        (2)该目录的所有者删除
        (3)该文件的所有者删除

以上是关于[OS-Linux]详解Linux的权限的主要内容,如果未能解决你的问题,请参考以下文章

[OS-Linux]详解Linux基础开发工具

[OS-Linux]详解Linux基础开发工具

[OS-Linux]详解Linux的进程间通信1------管道

[OS-Linux]详解Linux的进程间通信1------管道

[OS-Linux]详解Linux的进程间通信1------管道

[OS-Linux]详解Linux进程控制