隐藏权限
加隐藏权限
发现强制保存也是不行的
vi加了特殊权限,不能mv,不能rm,也不能写文件。会出现1.txt~
减掉权限就可以了,去掉i,输入chattr -i 1.txt,再输入mv 1.txt 3.txt,发现就没问题了。再输入vi 1.txt再去编辑它,发现没问题了
输入shattr +a只能追加,不能删除,不能更改,只能在文件末尾后面增加。
输入touch发现可以
输入shattr -a可以减去权限。
lsattr -R 111可以查看111下面的文件以及子目录以下的文件(全部列出来)。(如果不加R只能看到一层)
lsattr -a 111,可以把隐藏的文件都列出来
特殊权限set_uid
set _uid是保证普通用户临时拥有该命令所有者的身份,给一个用户设置set _uid的前提是必须这个文件是二进制文件,而且是一个可执行的文件。比如ls文件。
一般输入密码是通过passwd命令实现的,passwd可以修改自己Linux的密码
密码的文件是shadow下。passwd有set _uid的权限的
例:给ls加一个set _uid的权限。
加权限,发现变红了,说明成功,并临时给了root的权限
想去掉权限,减掉是就可以了,输入chmod u-s /usr/bin/ls
如果没有小 s权限,有大S,就是说明确少x,只能加上x,输入chmod u+x /usr/bin/ls,就可以了
set_gid的权限
什么是set_gid?
和set_uid很像,但是他的作用是在组的。set_uid是普通用户临时拥有所有者的身份,而set_gid是普通用户临时拥有所有组的身份。
set_gid同样也是一个小s,先给它还原成原始的输入chmod u=rwx /usr/bin/ls,然后设置set_gid,输入chmod g+s /usr/bin/ls,发现变成了黄色背景,-rwxr-sr-x多了一个s
set_gid和set_uid很像,只是角色换了一下。
给234文件创建一个set_gid,输入chmod g+s 234,再输入ls -ld 234,这个时候发现-rwxr-sr-x没有出现,背景颜色也没有变黄。
改一下234的所属组,输入chown :user1 234,再输入ls -ld 234。所属组是user1,所有者是root
在234文件下创建一个文件,输入touch 234/aminglinux,再输入ls -l 234/看一下,发现自文件aminglinux也属于user1
是否没有set_gid也是这样?先输入一个子目录mkdir 234/am,再输入ls -l 234/,输入chmod g-s 234去掉234,创建一个新的文件,输入touch 234/aminglinux111,
输入!ls,看一下。变成了所属组是root了,目录也变成root了。(这是在不动系统的前提下)
在一个系统设置set_gid后,在目录下创建子文件和子目录的时候,
目录和子目录的所属组会跟着付及目录,也就是跟着设置set_gid权限目录保存一致。
输入ls -ld 234,他们的所属组是user1,如果在234下设置子文件和子目录也将会在相同的属组下。
set_gid不仅仅可以作用在文件上,也可以作用在目录上。