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” 表示防删除位.

posted @ 2017-08-31 20:26  指环王Raul  阅读(508)  评论(0编辑  收藏  举报