2.18 特殊权限set_uid
权限s,set_uid,除了所有者之外的用户,执行的一瞬间临时拥有所有者权限;
文件要满足是二进制可执行文件;
用户密码文件/etc/shadow
文件加set_uid权限#chmod u+s /usr/bin/ls
ls -l查看权限可以看到,rws权限;红色显示文件
文件减set_uid权限#chmod u-s /usr/bin/ls
文件加set_uid权限,另外一个方法#chmod u=rws /usr/bin/ls
ls -l查看权限可以看到,rwS权限;
如果其他用户本身具有执行权限,就已经具有set_uid权限;
如果没有执行权限,加x权限#chmod u+x /usr/bin/ls
ls -l查看权限可以看到,rws权限,S转为s;
目录无需设置set_uid权限,因目录仅是一个路径,本身可执行;
2.19 特殊权限set_gid
s,set_gid,添加所属组权限,所属组下其他用户都有此权限
文件所属组加s权限,#chmod g+s /usr/bin/ls 文件变为×××标记
目录所属组加s权限,#chmod g+s 234,之后再此目录创建文件或目录,所属组会和set_gid目录保持一致;如果目录不设置set_gid,会和当前用户保持一致;
2.20 特殊权限stick_bit
stick_bit,防删除位,目的是为了防止被别的用户删除;/tmp目录默认拥有此权限;
/tmp目录, 系统的临时文件目录,所有的用户在该目录下拥有所有的权限,也就是说在该目录下可以任意创建、修改、删除文件,那如果用户A在该目录下创建了一个文件,用户B将该文件删除了,这种情况我们是不能允许的。为了达到该目的,就出现了stick bit(粘滞位)的概念。它是针对目录来说的,如果该目录设置了stick bit(粘滞位),则该目录下的文件除了该文件的创建者和root用户可以删除和修改 . /tmp目录下的文件/目录,均不能动别人的,这就是粘滞位的作用。
/tmp下,创建文件aming,#touch aming
用户aming,设置aming文件权限,#chmod 777 aming
其他用户,删除aming文件,#rm -f aming不允许删除
其他目录777权限,目录下文件和目录,其他人也可删除,和文件与子目录权限无关,和父目录权限有关;
设置目录stick_bit,命令为#chmod o+s 目录;
2.21 软链接文件
软链接,相当于windows快捷方式,一个路径;软链接文件大小和路径长短有关;
设置软链接 ,格式为#ln -s 源文件 软链接文件
例如,#ln -s /tmp/yum.log /root/111/yum.log
查看软链接文件,会显示,软链接文件->源文件;
软链接应用:
查看磁盘分区,#df -h
/boot分区快满了,写的文件和日志/boot/aming.log,满的话会引起系统崩溃;
复制文件到其他分区,#cp /boot/aming.log /aming.log
删除原文件,#rm /boot/aming.log
创建软链接文件,#ln -s /aming.log /boot/aming.log
软链接支持文件、目录、跨分区;
2.22 硬链接文件
硬链接,不支持目录,inode号,只支持对文件做硬链接;硬链接不支持跨分区,每个分区都有inode号;
设置硬链接,#ln 1.txt 1_heard.txt
硬链接,源文件和硬链接文件,文件大小相同,使用相同inode号,两个文件相互为硬链接文件,不占用双份空间,相当于一张皮,共两张皮;
硬链接删不删除,不受影响;软链接,删除源文件,软链接文件会出错;