Linux之特殊权限 set_uid、set_gid、stick_bit
Linux之特殊权限 set_uid、set_gid、stick_bit
特殊权限set_uid
set_uid :让普通用户临时拥有文件所有者的身份(前提是该文件为可执行的二进制文件)
- Linux下默认只有 /usr/bin/passwd 才有“s”权限
[root@xxlinux-02 ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 6月 10 2014 /usr/bin/passwd
- 实例应用 chmod u+s 可执行的二进制文件
[xx@xxlinux-02 ~]$ ls /root
ls: 无法打开目录/root: 权限不够
[root@xxlinux-02 ~]# ls -ld /root
dr-xr-x---. 5 root root 195 6月 10 01:05 /root
因为普通用户没有/root 的x权限,所以无法查看
[root@xxlinux-02 ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
[root@xxlinux-02 ~]# chmod u+s /usr/bin/ls
[xx@xxlinux-02 ~]$ ls -l /root
总用量 4
-rw-r--r--. 1 xx xx 0 6月 10 00:26 1.txt
-rw-r--r--. 1 root root 0 6月 10 01:05 2.txt
drwxr-xr-x. 2 xx root 6 6月 10 00:34 abc
-rw-------. 1 root root 1422 5月 26 07:57 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 6月 10 01:00 bbb.
当加上s权限后,xx用户就临时拥有了root的权限
-
chmod u-s filename:去掉普通用户的“s”权限
-
chmod u=rws filename,同样可以设置,但是得到的会是 u=rwS "S"是没有“x”权限的
特殊权限set_gid
- set_gid :作用于文件时,让普通用户临时拥有该文件所属组下用户的身份
[xx@xxlinux-02 ~]$ ls -l /root
ls: 无法打开目录/root: 权限不够
[root@xxlinux-02 ~]# chmod g+s /usr/bin/ls
[xx@xxlinux-02 ~]$ ls -l /root
总用量 4
-rw-r--r--. 1 xx xx 0 6月 10 00:26 1.txt
-rw-r--r--. 1 root root 0 6月 10 01:05 2.txt
drwxr-xr-x. 2 xx root 6 6月 10 00:34 abc
-rw-------. 1 root root 1422 5月 26 07:57 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 6月 10 01:00 bbb
- set_gid 作用于目录时,任何用户在该目录下新建的目录或文件所属组跟该目录是一样的,如下例:
[root@xxlinux-02 ~]# chmod g+s abc
[root@xxlinux-02 ~]# chown :testx abc
[root@xxlinux-02 ~]# mkdir abc/a
[root@xxlinux-02 ~]# touch abc/a.txt
[root@xxlinux-02 ~]# ls -l abc
总用量 0
drwxr-sr-x. 2 root testx 6 6月 10 23:36 a
-rw-r--r--. 1 root testx 0 6月 10 23:36 a.txt
[root@xxlinux-02 ~]# chmod g-s abc
[root@xxlinux-02 ~]# touch abc/b.txt
[root@xxlinux-02 ~]# mkdir abc/b
[root@xxlinux-02 ~]# ls -l abc
总用量 0
drwxr-sr-x. 2 root testx 6 6月 10 23:36 a
-rw-r--r--. 1 root testx 0 6月 10 23:36 a.txt
drwxr-xr-x. 2 root root 6 6月 10 23:38 b
-rw-r--r--. 1 root root 0 6月 10 23:37 b.txt
特殊权限stick_bit (防止其他用户删除自己的文件,root用户除外)
语法:chmod o+t 文件/目录
[root@xxlinux-02 ~]# ls -ld /tmp
drwxrwxrwt. 13 root root 4096 6月 10 21:45 /tmp
其中其他用户权限为“rwt”,其中“t” 表示防删除位.