2.18 特殊权限set_uid
[root@Srv001 ~]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 6月 10 2014 /usr/bin/passwd
权限位s s=set_uid
set_uid 让普通用户临时拥有命令所有者的身份
如: 当普通用户执行passwd这个命令的时候,就有root用户的身份
set_uid 只能用在 可执行的二进制文件 上, 如passwd,ls
给ls加set_uid权限(图):
删除set_uid权限 用 u-s
如果使用 chmod u=rws file_name, 则权限会变成rwS, 命令所有者会失去x(执行)权限, 但不影响执行
s本身包含执行权限在里面
给目录加s权限无意义
2.19 特殊权限set_gid
chmod g+s file_name
set_gid 不仅仅作用在 可执行的二进制文件 上, 如passwd,ls 也可以作用于 目录 上
作用于文件: set_gid 普通用户临时拥有命令所属组的身份
给一个目录设置了set_gid之后,在这个目录下创建子文件/子目录时,创建的子文件/子目录所属组的权限会和父级目录的所属组保持一致
2.20 特殊权限stick_bit
ls -ld /tmp/ 这个目录有stick_bit权限
rwt 防删除位(防止别人删除自己的文件,root除外)
一个文件/目录 有没有删除权限(w), 看的是这个文件/目录 所在目录有没有删除权限(w), 不是看这个文件/目录 自身的w
2.21 软链接文件
ln -s 源file_name(真正的文件) 目标file_name(快捷方式)
例: ln -s /root/yum.log /tmp/yum.log
软链接也可以链接目录
做软链接尽量使用绝对路径
实际工作小例子:
一个文件快把分区写满了,通过软链接 来把 一个文件移动到另外一个分区下(图)
比如boot目录快满了, boot目录下有个aming.log需要写数据
相当于如下三条命令: cp /boot/aming.log /aming.log 首先把boot目录下的aming.log 复制到根目录下
rm /boot/aming.log 删除boot目录下的aming.log 但并没有删除根目录下的啊
ln -s /aming.log /boot/aming.log 把根目录下的aming.log做个快捷方式到boot目录下
2.22 硬链接文件
ln 源file_name 目标file_name
特性:
创建了一个文件, 和另外一个文件有相同的inode号, 和另外一个文件相互硬链接,
不能对目录做硬链接
不能跨分区做硬链接
硬链接核心的地方,就是两个文件使用了同一个inode
硬链接可以删除, 硬链接好比是文件的一张皮, 每张皮都指向了相同的一个inode.(不能把皮都删掉)
硬链接在工作中几乎用不到,至少我工作这么多年没有使用过它。 在我看来,硬链接比较大的用处是,作为文件备份吧,其中一个被删除,还有另外一个。