linux基础:9、文件特殊权限

设置特殊权限)


SUID

作用:临时赋予用户二进制文档的拥有者的权限(主要用于让普通用户可以使用某些特殊命令)

语法:

    chmod u+s file(增加s权限)

    chmod u-s file(减去s权限)

使用限制与环境:

    1、仅对于二进制文件有效;

    2、执行者必须对文件拥有x权限,否则,由于无执行权限,SUID此时无效,此时权限位显示S;

    3、权限只是在执行过程中拥有。

========================================================================
[root@san01 ~]# su nagios                      #切换到nagios普通用户下
[nagios@san01 root]$ ls
ls: cannot open directory .: Permission denied #普通用户不可以访问root家目录

#增加上s权限
[root@san01 ~]# chmod u+s /bin/ls
[root@san01 ~]# su nagios
[nagios@san01 root]$ ls -l /bin/ls
-rwsr-xr-x. 1 root root 112664 Nov 22  2013 /bin/ls
[nagios@san01 root]$ ls
anaconda-ks.cfg  dir4         install.log.syslog  newdir   test11  test33
crontab.sh       install.log  mbr.bin             newfile  test22

#如果没有执行权限
[root@san01 ~]# chmod u-x /bin/ls
[root@san01 ~]# ls -l /bin/ls
-rwSr-xr-x. 1 root root 112664 Nov 22  2013 /bin/ls    #可看到S出现了

#扩展命令file
[nagios@san01 root]$ file /bin/ls
/bin/ls: setuid ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
#file命令能看到文件类型,出来的结果和我们前几节说的type命令不一样
#type命令是专门用来看命令类型的。
========================================================================

PS:例如passwd命令,路径/usr/bin/passwd,权限为"-rwsr-xr-x"。passwd命令会修改"/etc/shadow",而/etc/shadow对于普通用户的权限是不可读、不可写、不可执行。

PS:SUID只可用于二进制文件,不可用于shell script文件。

 

SGID

  • 对于文件

作用:临时赋予用户二进制文档的属组权限(和suid类似)

语法

    chmod g+s file(增加s权限)

    chmod g-s file(减去s权限)

使用限制与环境:

    1、仅对于二进制文件有效;

    2、执行者必须对文件拥有x权限(否则无法执行,SGID此时无效,权限位显示S);

    3、权限只是在执行过程中拥有。

PS:例如locate命令,路径/usr/bin/locate,权限为"rwx--s--x"。此时普通用户暂时获得了root用户的权限去执行(locate命令会读取"/var/lib/mlocate/mlocate.db")


  • 对于目录

作用:临时将用户的effective group修改成该目录的的群组

语法

    chmod g+s dir(增加s权限)

    chmod g-s dir(减去s权限)

使用限制与环境:

1、使用者必须对该目录拥有x权限(否则无法进入,SUID此时无效,权限位显示S);

2、若用户对此目录拥有w权限,由于effective group被修改成该目录的group,所以用户在此目录下创建文件,属主为用户本身,属组为该目录的用户组。

 

SBIT

作用:限制目录下不同用户之间对于其他用户文档或目录的编辑权限。

语法

    chmod o+t dir(增加t权限)

    chmod o-t dir(减去t权限)

使用限制与环境

1、只能针对目录;

2、必须有x和w权限(否则无法进入和编辑,此时sbit无效,权限位显示T);

3、用户自身创建的文档和目录,只有自己和root可以编辑(重命名、修改内容、复制、删除等)


你可能感兴趣的:(linux,SGID,特殊权限位)