任务:
2.17 隐藏权限lsattr/chattr
2.18 特殊权限set_uid
2.19 特殊权限set_gid
2.20 特殊权限stick_bit
2.21 软链接文件
2.22 硬连接文件
lsattr/chattr
chattr +i 锁定文件,不能修改
chattr +a 只能追加,使用于日志文件
加-R参数
set_uid
创建set_uid权限,是为了让一般用户在执行某些程序的时候,能够暂时具有该程序拥有者的权限。列如:账号和密码的存放文件其实是/etc/passwd与/etc/shadow,它们的拥有者是root。在这个权限中,仅有root可以强制写入。一个普通用户去更新自己的密码时,使用的就是/usr/bin/passwd程序,却可以更新成功,而/usr/bin/passwd的拥有者是root
set_gid
可以应用在文件和目录上。设置在文件上和set_uid类似,前提是这个文件必须是可执行的二进制文件。设置set_gid后,执行该文件的用户会临时以该文件所属组的身份执行。若目录被设置这个权限后,任何用户在此目录下创建的文件或者目录都具有和该目录所属组相同的组
stick_bit
SBit一般用于目录上,对文件的意义不大。SBit对目录的作用是:在具有SBit的目录下,用户若在该目录下具有w及x权限,则当用户在该目录下创建文件或目录时,只有文件拥有者与root才有权利删除。SBit可以理解为防删除位。如果希望用户能够添加文件但同时不能删除文件,则可以对文件使用SBit位。设置该位后,就算用户对该文件的父目录具有写权限,也不能删除文件
chmod o+t directiory
一个文件能否被删除,取决于该文件的父目录的权限
stick_bit设定之后会在rwxr-xr-x前面加一位,就是1755,chmod o+t 和 chmod 1755等价,变成 rwxr-xr-t
软链接文件
ln -s source dest 创建软链接
ln source dest 创建硬链接
软链接:文件A和文件B的inode号虽然不一样,但是文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪个文件,最终读取的都是文件B。这时,文件A就称为文件B的软链接(soft link)或者符号链接(symbolic link)这意味着,文件A依赖于文件B而存在,如果删除文件B,打开文件A就会报错
文件A指向文件B的文件名,而不是文件B的inode号,文件B的inode‘链接数’不会因此发生变化。软链接类似于Windows的快捷方式
硬链接:一般情况下,文件名和inode号是一一对应的,每个inode号对应一个文件名,多个文件名同时指向一个inode,修改其中一个文件就是对这个inode号对应的文件修改硬链接不支持对目录做硬链接,只支持对文件做硬链接,而且不能跨分区