文件 | 目录 | |
---|---|---|
r | 读取权限 | 可以列出目录下的文件 |
w | 修改权限 | 可以进行创建和删除等操作 |
x | 执行权限 | 能进入到该目录/切换到该目录 |
- | 没有权限 | 没有权限 |
chmod
change mod
作用:修改文件或目录的权限
语法:chmod 选项 mod 文件
u 所有者
g 所属组
o 其他人
a 所有人
+ 增加权限
- 减少权限
= 赋予他给定的权限,并把他之前的权限覆盖了
文字设定法
+ - =
语法:chmod 对像 符号(+ - =)权限(r w x) 文件名
例1:给f1所有者增加执行的权限
例2:给f2的所属组和其他用户增加修改权限
例3:给file1文件的所有用户给全部权限
例4:让fi所有人都没有权限
例5:让f3的所有者和所属组只有读的权限,不能用减号
数字设定法
语法:chmod n1n2n3 文件名
n1 所有者权限
n2 所属组权限
n3 其他人权限
- 没有权限 0
x 执行权限 1
w 修改权限 2
r 读取权限 4
例1:chmod 367 f1
意思就是f1 文件所有者有修改和执行权限,所属组有读取和修改权限,其他人有读取,修改和执行权限。
特殊权限
SUID
作用:是为了让一般用户执行某些程序的时候,再程序运行期间暂时获得该程序文件的所属者的权限。
此时,用户密码文件下的所有者,所属组和其他人都没有任何权限。
切换到普通用户下
此时改密码,就可以成功,用passwd 命令。
再执行以下操作,改密码就不成功了!
例1:如下图,去掉第一个s
如下图,第一个s就没有了
再切换到普通用户下,修改密码,就不成功了。
SGID
文件:如果SGID设置在二进制文件上面,则不论用户是谁,都可以再执行该程序的时候程序的所属组将变成该文件的所属组。
目录:如果SGID设置A目录上,则在该目录内创建的文件或者目录的所属组会变成A目录的所属组。
chgrp
作用:更改文件或目录的所属组
语法:chgrp 选项 要更改的所属组 文件
*例1:将test目录下的root用户的所属组变成普通用户的所属组
此时,test的所属组变成了dgw,也就是我的普通用户。
*例2:切换到test目录,创建f1的文件,f2的目录,以长格式显示出来
将test目录下的f1文件和f2目录的所属组都改成普通用户的所属组
此时,在创建f3的文件和f4的目录,就会发现他们的所属组都是普通用户的所属组