1、权限是什么
d后面的9个字符代表了三种访问权限
- r (read)表示是否可读
- w (write)表示是否可写
- x (execute)表示是否可执行
- 如果没有某种权限就用 - 表示
这9个权限分别对应对象的3个安全级别
- 前三个表示文件或目录的所属用户(user)的权限
- 中间三个表示文件或目录的所属用户组(group)的权限
- 最后三个表示系统中其他用户(other)的权限
1.1如何计算权限
rwx三种权限分别有对应的数字
r --> 4
w --> 2
x --> 1
- --> 0
1.2修改权限
chmod命令:使用数字后字母方式修改文件权限
chown命令:修改文件所有者,用户组
案例1:修改permission-test.txt的权限为755
chmod 755 permission-test.txt
案例2:修改permission-test.txt的用户和用户组
chown wangjh.intern permission-test.txt
案例3:使用字符方式修改文件权限
chomd u+rw,g+r,o+r permission-test.txt
2、权限与文件和目录
2.1权限与文件
权限 | 文件 |
r | 是否可以读取文件内容 |
w | 是否可以修改文件内容,一般需要与r配合 |
x | 是否可以执行文件,一般需要与r配合 |
注意:
- 只有w权限,只能通过echo方式向文件中追加内容,并且不能查看文件内容。如果通过vim写入并且强行保存的话,会清空文件内容,只保留最新的内容。
- 只有x权限,不能执行文件,要与r配合
2.2权限与目录
权限 | 目录 |
r | 是否可以查看目录内容,需要x权限配合 |
w | 是否可以在目录中创建,删除文件,重命名文件名,需要rx权限配合 |
x | 是否可以进入目录,是否可以访问目录下文件属性 |
注意:
- 如果只有r权限,目录下文件的属性信息无法查看
- 如果只有w权限,无法进入目录也无法查看文件信息,所以,创建,删除,重命名文件需要r和x权限配合
3、默认权限
umask是指定当前用户在创建文件或目录时的默认权限值
默认的情况有:
- 若用户创建文件时则默认没有x权限,也就是数值最大为666
- 若用户创建文件夹时,最大权限为777
注意:umask的值为需要减掉的权限
案例:当umask为022,所以user没有被拿掉权限,group被拿掉与other的权限被拿掉了2,所以当用户;
创建文件时:666 - 022 = 644
创建目录时:777 - 022 = 755
注意:如果文件减完之后的结果中有奇数的话要默认加一,因为文件默认没有x权限
4、特殊权限
4.1 Set UID
-rwsr-xr-x. 1 root root 33600 Apr 7 2020 /usr/bin/passwd
当s标志出现在文件所有者x的位置上,此时被称为Set UID,简称SUID
- 权限仅对二进制程序(binary program)有效;
- 执行者对于该程序需要具有 x 的可执行权限;
- 本权限仅在执行该程序的过程中有效(run-time);
- 执行者将具有该程序所有者(owner)的权限。
4.2 Set GID
-rwx--s--x. 1 root slocate 48552 May 11 2019 /usr/bin/locate
当s标志出现在群组的x位置上时,则称为 Set GID, SGID
- SGID 对二进制程序有用;
- 程序执行者对于该程序来说,需具备 x 的权限;
- 执行者在执行的过程中将会获得该程序组支持!
SGID 也能够用在目录上,这也是非常常见的一种用途! 当一个目录设定了 SGID 的权限后,他将具有如下的功能:
- 用户若对于此目录具有 r 与 x 的权限时,该用户能够进入此目录;
- 用户在此目录下的有效群组(effective group)将会变成该目录的群组;
- 用途:若用户在此目录下具有 w 的权限(可以新建档案),则使用者所建立的新档案,该新档案的群组与此目录的群组相同。
4.3 Sticky Bit
目的:预防重要文件或命令被修改
- 当用户对于此目录具有 w, x 权限,亦即具有写入的权限时;
- 当用户在该目录下建立文件或目录时,仅有自己与 root 才有权力删除该档案
4.4 SUID/SGID/SBIT 权限设定
- 4 为SUID
- 2 为 SGID
- 1 为 SBIT
5、文件隐藏属性
目的:预防重要文件或命令被修改.
5.1 chattr (配置文件隐藏属性)
- a属性 append 只能追加
- i属性 immutable 不朽的,无法被毁灭的