116185236245707837
前言
Linux权限学习笔记
查看权限
查看指定目录下的所有文件的权限
1
| 字段1字段2字段3字段4 所属主 所属组 文件大小 上次修改时间 文件名
|
字段1:文件类型
-:普通文件
d:目录
l:符号链接
b:块设备
字段2:所属者的读写执行权限
字段3:所属组的读写执行权限
字段4:非所属者和所属组的读写执行权限
查看当前目录下的所有文件的权限
查看指定文件权限
查看指定目录权限
修改文件权限
修改指定权限位
-r:递归操作
<file>:文件路径
<attribution>:归属关系
u:所属主
g:所属组
o:其他
<authority_type> :权限符号
+:提权
-:降权
=:权限赋值
<authority_value>:权限值
r:读权限(值为4)
w:写权限(值为2)
x:执行权限(值为1)
1
| chmod <attribution><authority_type><authority_value> <file>
|
粘滞位
- 粘滞位针对目录赋权,目录中创建的文件只有建立者可以删除
通过权限值修改所有权限位
- 三位数
- 第一位表示所属主的权限值
- 第二位表示所属组的权限值
- 第三位表示其他的权限值
<authority_value>:权限值
7:可读(4)可写(2)可执行(1)
6:可读(4)可写(2)不可执行(0)
5:可读(4)不可写(0)可执行(1)
4:可读(4)不可写(0)不可执行(0)
3:不可读(0)可写(2)可执行(1)
2:不可读(0)可写(2)不可执行(0)
1:不可读(0)不可写(0)可执行(1)
0:不可读(0)不可写(0)不可执行(0)
1
| chmod <authority_value><authority_value><authority_value> <file>
|
- 四位数
- 第一位表示特殊权限值
- 第二位表示所属主的权限值
- 第三位表示所属组的权限值
- 第四位表示其他的权限值
<special_authority_value>:特殊权限值
1:粘滞位
2:SGID
4:SUID
1
| chmod <special_authority_value><authority_value><authority_value> <file>
|
修改文件归属
修改文件所属主
<user>:用户名
修改文件所属组
<group>:组名
suid和sgid
suid
- suit针对可执行文件赋权,谁执行这个文件,这个文件的所属者就是谁
1 2 3
| chmod u+s <file>
chmod u-s <file>
|
sgid
- sgit针对目录赋权,在该目录中创建的文件所属组继承父目录的所属组
1 2 3
| chmod g+s <dir>
chmod g-s <dir>
|
修改文件属性
查看所有可以修改的文件属性
修改文件属性
- 通过修改
passwd和shadow的文件属性,添加只读属性,从而实现不允许创建用户
1
| chattr +i /etc/passwd /etc/shadow
|
权限掩码
- 新建文件的默认文件权限 = 文件默认最高权限(666) - 当前用户的权限掩码
- 新建文件的默认目录权限 = 目录默认最高权限(777) - 当前用户的权限掩码
查看权限掩码
002:普通用户的缺省值
022:root用户的缺省值
修改权限掩码
/etc/bashrc1 2 3 4 5 6
| if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then umask 002 else umask 022 fi
|
完成
参考文献
哔哩哔哩——千锋教育网络安全学院