**2.18 特殊权限set_uid ** 1.set_uid 权限:除了root用户外,其它的普通用户执行带有set_uid权限 的命令时,执行的那一瞬间被赋予这个命令的所有者的命令的身份(就是说临时拥有root的权限) 拥有srt_uid权限的文件,如下图 2.set_uid的作用是保证普通用户临时拥有该命令所有者的身份 3.给一个文件设置set_uid权限,前提是这个文件是一个二进制的文件,并且是可以执行的文件 4.受权文件拥有set_uid的权限 ls命令增加s权限:chmod u+s /usr/bin/ls ls 命令取消s权限:chmod u-s /usr/bin/ls ls 命令还可能这样增加s权限 chmod u=rws /usr/bin/ls 查看权限如果s为大写,是因为用户没有x权限,地增加x权限后,s就会变成小写,如下图 ls就算用户没有x权限,用户也是可以执行的,因为其它用户权限里有x权限,ls本身就包含了x的权限 5.目录也可以设置set_uid权限,但是没有意义,因为目录不需要去执行它 2.19 特殊权限set_gid 1.set_gid是让普通 用户拥有所属组的权限 2.当set_gid作用在目录时,表示在此目录下创建子目录及文件时,子目录及子文件的所属组与此目录权限保持一致 3.当set_gid作用在文件时,表示执行文件的普通用户临时拥有所属组的身份 2.20 特殊权限stick_bit 1.stick_bit=》防删除位,防止普通用户删除文件,可以访问,但不能删除(root除外) 在user1用户创建touch 1.txt文件,并更改权限为777 ,su aling 切换aliang用户,vi 1.txt可以编辑文件,但aliang 普通用户不可以rm 1.txt(删除文件),root用户可以 2.在用户user1下创建目录mkdir 123 更改权限为777 切换用户su aliang,在目录123下创建目录2或文件1.txt都是可以的,同时也可以删除1.txt与目录2,因为1.txt与目录2看的不是它们本身的权限 ,而是要看它们所在目录的权 2.21 软链接文件 1.软链接是本身的文件或目录存了一个另外的路径,软链接的大小和文件的路径是有关系的,路径越长文件越大 2.软链接的什么作用:当程序在某一个位置必须要调用一个文件时,而这个文件又不在这个位置,那么需要做软链接 3.ln -s =》软链接命令 a. 文件做软链接 b.目录做软链接 c. 当同一目录做软链接(即是相对路径软链接) 注意相对路径做软链接当复制这个软接接到别的路径时会提示这个软链接文件不存在 造成错误 尽量使用绝对路径做软链接 4.工作实例 df -h =》查询磁盘的状态 假如一个分区差不多满了,其中有一个日志或文件非常大,但还不断的写进内容,很容易会造成分区满了而造成问题 以下为解决的方法: 1。例如/boot/aming.log是很大的日志文件 首先将/boot/aming.log复制到比较大的磁盘下比如/ 分区 cp /boot/aming.log /aming.log 然后删除/boot/aming.log rm /boot/aming.log 马上做一个软链接 ln -s /aming.log /boot/aming.log 以上实例就可以解决磁盘占空间的问题 2.22 硬连接文件 ln =》硬链接命令 例如:ln 1.txt 1_heard.txt 1.不支持目录做硬链接,只支持文件做硬链接 2.创建一个文件,当这个文件的inod的号跟另一个文件的inod的号一样的,那它们就相互为硬链接 3.硬链接可以删除,因为它删除的不是文件的本身 4.它真正存数据的地方是在inod上,inod是系统里面文件的存储特有的东西,会记录文件的一些属性 5.目录不能做硬链接 6.文件做硬链接不允许跨分区