文件特殊权限
文件特殊权限
1.特殊权限SUID
-
前提:进程有属主和属组;文件有属主和属组
-
作用对像:文件 SUID设置在目录上无意义
-
启动为进程之后,其进程的属主为原程序文件的属主
-
SUID只对二进制可执行程序有效
-
SUID设置在目录上无意义
-
SUID权限设定:
chmod u+s FILE... chmod 6xxx FILE chmod u-s FILE...
范例:
[root@centos8 ~]#ls -l /usr/bin/passwd -rwsr-xr-x. 1 root root 34928 May 11 2019 /usr/bin/passwd
2.特殊权限SGID
2.1作用对像:文件
-
二进制的可执行文件上SGID权限功能:
- 任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限
- 启动为进程之后,其进程的属组为原程序文件的属组
-
SGID权限设定:
chmod g+s FILE... chmod 2xxx FILE chmod g-s FILE...
2.2作用对象:目录
-
默认情况下,用户创建文件时,其属组为此用户所属的主组
-
一旦某目录被设定了SGID,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组
-
通常用于创建一个协作目录
-
权限设定:
chmod g+s DIR… chmod g-s DIR…
3.特殊权限 Sticky 位
3.1作用对像:目录
-
作用文件,没有意义
-
具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权
-
在目录设置Sticky 位,只有文件的所有者或root可以删除该文件
-
权限设定:
chmod o+t DIR… chmod o-t DIR…
4总结:
-
suid:4
- 作用于二进制程序,功能:当用户执行此程序时,将继承此文件所有者的权限
-
sgid: 2
- 作用于二进制程序,功能:当用户执行此程序时,将继承此文件所有组的权限
- 作用于目录上,功能:当用户在目录建新文件时,新文件的所属组自动继承此目录的所属组
-
sticky:1
- 作用于目录上,功能:此目录中的文件,只能被所有者自已删除
5.设定文件特殊属性chattr
-
介绍:设置文件的特殊属性,可以访问 root 用户误操作删除或修改文件
-
不能删除,改名,更改
chattr +i
-
只能追加内容,不能删除,改名
chattr +a
-
显示特定属性
lsattr
-
范例
[root@centos8 data]#chattr +i dir [root@centos8 data]#lsattr dir ------------------ dir/fstab ------------------ dir/f1.txt [root@centos8 data]#lsattr * ------------------ dir/fstab ------------------ dir/f1.txt ------------------ f11.txt ------------------ f22.txt [root@centos8 data]#ll total 8 drwxr-xr-x 2 root root 33 Dec 18 14:32 dir -rw-r--r-- 1 root root 719 Dec 18 14:30 f11.txt -rw-r--r-- 1 root root 6 Dec 18 14:30 f22.txt [root@centos8 data]#rm -rf dir rm: cannot remove 'dir/fstab': Operation not permitted rm: cannot remove 'dir/f1.txt': Operation not permitted [root@centos8 data]#lsattr ------------------ ./f11.txt ------------------ ./f22.txt ----i------------- ./dir [root@centos8 data]#chattr -i dir [root@centos8 data]#lsattr ------------------ ./f11.txt ------------------ ./f22.txt ------------------ ./dir