学习了上两节普通权限和ACL权限以后,咱们来看一下Linux中的特殊权限shell
1、SUIDvim
使用SUID权限的几点说明:学习
只针对可执行的二进制程序文件,记住可执行和二进制文件两个重点,shell脚本不能设置SUID权限;
执行者对文件具备x权限,便可执行权限,这里的执行者对于文件而言通常是其余人的身份;
在执行过程当中,执行者临时获取执行文件全部者的身份;
这个身份的转换只在执行过程当中有效
设置的方法:file
使用chmod命令,chmod 4755 file,最前面的4就是设置文件的SetUID权限,后面的755是设置普通rwx权限操做。设置成功后,使用ls -l查看,在全部者的权限位由原来的rwx,变成rws。
权限
取消的方法:二进制
chmod 755 file,这样就取消了特殊权限的设置。程序
最后作一个实验来加深下理解:方法
实验:普通用户是没法经过vim来阅读/etc/passwd文件的,下面咱们就着手让普通用户能够阅读/etc/passwd文件im
---->whereis vim #看一下vim命令的位置vim: /usr/bin/vim脚本
---->chmod 4755 /usr/bin/vim #给vim设置SUID权限,这样普通用户在使用vim命令时,就拥有vim全部者,即root的身份
---->切换普通用户使用vim来读写一切文件了,最后别忘了把vim改回来,否则很危险。
2、SetGID
使用SGID的几点说明:
只针对可执行的二进制程序文件;
执行者对文件具备x权限,便可执行权限;
在执行过程当中,执行者临时获取执行文件所属组的身份;
这个身份的转换只在执行过程当中有效
设置的方法:
chmod 2755 file,注意SUID是4,SGID用2表示
3、SBIT粘着位权限
使用的几点说明:
只对目录有效
普通用户对该目录拥有wx权限
设置该权限后,普通用户只能删除本身创建的文件,不能删除其余人创建的文件
设置的方法:
chmod 1770 filename,用1来表示