1.SetUID
奥特曼变身器,让命令执行人在执行期间获得文件拥有者的全部能力,变身奥特曼,打完怪兽便会变回原型。
设定SetUID的方法:
1.chmod 4755 文件名 #4代表SUID,2代表SGID,1代表Sticky BIT。
2.chmod u+s 文件名
取消SetUID命令:
chmod 755 文件名
chmod g-s 文件名
特别注意:
想要实现SetUID必须符合以下几个条件:
(1)文件为二进制可执行文件。
(2)必须有命令执行者必须拥有执行权限x,否则毫无意义,s会变成S。
2.SetGID
对文件而言
奥特曼变身器,让命令执行者在执行期间组身份升级为该文件的所属组,变身奥特曼,打完怪兽便会变回原型。
对目录而言
被赋予SetGID的父目录中创建的子文件所属组都与父目录的所属组保持一致。
设定SetGID命令:
chmod 2755 文件名
chmod g+s 文件名
取消SetGID命令:
chmod 755 文件名
chmod g-s 文件名
3.Sticky BIT
奥特曼变身器,让其他人在执行期间获得s的全部能力,变身奥特曼,打完怪兽便会变回原型。
1.SBIT命令只针对目录可以操作
2.普通用户在此目录可以拥有写入权限,即w和x。
一旦父目录被设置了SBIT权限,其他用户则不可以删除由其他用户创建的文件,仅仅可以删除自己创建的文件。
设定SBIT命令:
chmod 1755 文件名
chmod o+t 文件名
取消SetGID命令:
chmod 755 文件名
chmod o-t 文件名
4.文件系统属性权限chattr权限
chattr [±=] 【选项】 文件名/目录名
-i:对文件:文件中数据不可以修改。对目录:目录中不可以添加删除文件,但是可以修改文件内部信息。存在一定差异,大家注意。相当于把整个文件或目录说起来了,对root也生效。
-a:对文件:不能修改不能删除,但是可以添加信息。想要追加只能用echo,不能用vi。
对目录:可以修改文件,建立文件,不可以删除。
5.lsattr 【选项】 文件名
-a:显示所有文件和目录
-d:若是目录仅列出目录属性,而不是子文件。
6.sudo命令
root把只有超级用户可以执行的命令赋予普通用户,sudo的操作对象是系统命令。
熟悉ubuntu的同学肯定指导sudo可以获得root权限,但是如果创建一个其他帐号就不行了(centos一开始就不行)。原因是visudo查看的这个文件里面没有给他权限。如果想给要写成:
新用户名 ALL=(ALL) ALL
但是不建议让普通用户权限过高,普通用户可以查看自己有哪些sudo命令,用的时候要写绝对路径。
查看方式:sudo -l