前言
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
|
完成
参考文献
哔哩哔哩——千锋教育网络安全学院