前言
Linux权限学习笔记
查看权限
查看指定目录下所有文件的权限
<dir>:指定目录,如果不指定,查看的是当前目录
查看指定文件的权限
<file>:指定文件
查看目录权限
权限解读
1
| 字段1字段2字段3字段4 所属者 所属组 文件大小 上次修改时间 文件名
|
字段1:文件类型
-:普通文件
d:目录
l:符号链接
b:块设备
字段2:所属者的读写执行权限
字段3:所属组的读写执行权限
字段4:非所属者和所属组的读写执行权限
修改文件权限
<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> <file>
|
特殊权限的数字表示法
粘滞位
suid
sgid
修改目录权限
-r:递归操作
1
| chmod -r <authority_value> <file>
|
修改文件所属者
<user>:用户名
修改文件所属组
<group>:组名
粘滞位
- 粘滞位针对目录赋权,目录中创建的文件只有建立者可以删除
1 2 3
| chmod o+t <dir>
chmod o-t <dir>
|
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>
|
修改文件属性
查看所有可以修改的文件属性
修改文件属性
i:文件不可修改属性
不允许创建用户
- 修改
passwd和shadow文件属性,添加不可修改属性,从而实现不允许创建用户
1
| chattr +i /etc/passwd /etc/shadow
|
默认权限
- 默认文件权限 = 文件默认最高权限(666) - 当前用户的umask值
- 默认目录权限 = 目录默认最高权限(777) - 当前用户的umask值
- 普通用户的默认umask值:0002
- root用户的默认umask值:0022
- 企业中推荐的默认umask值:0027
查看umask值
修改umask值
/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
|
完成
参考文献
哔哩哔哩——千锋教育网络安全学院