Linux基本命令之文件权限(一)

发布时间 2023-11-27 23:54:56作者: 姑苏寒钟

一、文件权限
文件的权限针对三类对象进行定义

owner 属主,缩写u

group 属组,缩写g

other 其他,缩写o

每个文件针对每类访问者定义了三种主要权限

r:Read 读

w:Write 写

x:eXecute 执行

另 X:针对目录加执行权限,文件不加执行权限(因文件具备执行权限有安全隐患)

注意:root账户不受文件权限的读写限制,执行权限受限制

对于文件和目录来说,r,w,x有着不同的作用和含义:

针对文件:

r:读取文件内容

w:修改文件内容

x:执行权限对除二进制程序以外的文件没什么意义

针对目录:目录本质可看做是存放文件列表、节点号等内容的文件

r:查看目录下的文件列表

w:删除和创建目录下的文件

x:可以cd进入目录,能查看目录中文件的详细属性,能访问目录下文件内容(基础权限)

用户获取文件权限的顺序: 先看是否为所有者,如果是,则后面权限不看;再看是否为所属组,如果是,则后面权限不看。

二、修改文件访问权限的方法
chmod 修改权限 change mode

方法1:mode法

格式:chmod who opt per file

who:u g o a(all)

opt:+ – =

per:r w x X

方法2:数字法

格式:chmod XXX file

rwx rw- r–
111 110 100
7 6 4

r:4
w:2
x:1

例:chmod 764 file 给file文件添加 rwxrw-r– 权限

chmod -R +X dir 给dir目录添加X执行权限,dir目录下文件不添加执行权限

(如果dir目录下有文件已具备执行权限,则添加该文件执行权限)

三、UMASK值
作用:取消对应的权限,影响创建文件和目录的默认权限

对目录: umask+default=777(dir)

对文件:666-umask:观察结果,如果有奇数,奇数位+1,偶数不变

四、三种特殊权限suid、sgid、sticky(sticky权限工作环境中相对常用)
suid

作用:给一个用户继承二进制程序所有者拥有的权限

suid权限位 位于所有者的执行权限位上,如果一个文件具有suid权限,则所有者执行位为s,文件表现为红色背景

例:ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd

给file文件增加suid权限

chmod u+s file

chmod 4755 file suid数字法表示为4

注: suid只适合作用在二进制程序上

sgid

作用1:给一个用户继承二进制程序所有组拥有的权限

sgid权限位 位于所有组的执行权限位,如果一个文件具有suid权限,则所有组的执行位为s,文件表现为黄色背景

例:ll `which cat`
-rwxr-sr-x. 1 root root 48568 Mar 23 2017 /bin/cat

给file文件增加sgid权限

chmod g+s file

chmod 2755 file sgid数字法表示为2

作用2:作用在目录上时,使一个目录下的新建的文件继承目录的所属组

sticky

作用:作用于目录上,此目录的文件只能被所有者删除

sticky权限位 位于其他的执行权限位上,如果一个文件具有sticky权限,则其他的执行位为t,目录表现为绿色背景

如:ll -d /tmp
drwxrwxrwt. 17 root root 4096 Apr 4 10:02 /tmp

给dir目录添加sticky权限

chmod o+t dir

chmod 1777 dir sticky数字法表示为1