二周第四次课 (3月29号)笔记

时间:2022-06-19 14:23:47

2.18 特殊权限 set_uid
2.19 特殊权限 set_gid
2.20 特殊权限 stick_bit
2.21软链接
2.22硬链接

set_uid & set_ gid (前者可临时赋予普通用户该命令所有者的权限;后者可以赋予用户组该命令所属用户组的权限,并在普通用户模式下访问,更改用户组)

ls -l /usr/bin/passwd (红色)  

-rwsr-xr-x. 1 root root (s为set权限)

改密码命令: ls /etc/shadow    ---------

passwd 有set_uid权限,当普通用户使用该命令时可以临时拥有root用户权限 (前提是二进制可执行文件)

e.g. ls -l /usr/bin/ls 给ls命令加set_uid权限

su - file_name (切换普通用户命令)


e.g. su -liut  ls /root/ 权限不够,加set_uid 权限即可

chmod u+s /usr/bin/ls 再执行 ls /root/可访问,临时获得root用户权限

chmod u-s /usr/bin/ls 

chmod u=rws /usr/bin/ls ( S权限,无x权限) 

chmod u+x /usr/bin/ls

set_gid

chmod u+g /usr/bin/ls (黄色)

chown  :usr1 file-name/liut

总结:set_gid 作用在子目录下的子文件和子目录所属组会跟着所创建的set_gid的所属组权限保持一致,去掉s权限则回到原所属用户组。

          set_gid 作用在子文件上会把原所属组权限临时赋予当前用户所属组

stick_bit

ls -ld  /tmp/ (777权限)

drwxrwxrwt. 11 root root  最后一位t即stick_bit(防删除位)

如 usr1创建的文件可让usr2看,改,但是无权限删除

知识点:删除文件所在目录是否有写得权限,而不是看文件本身的权限

软链接(节省磁盘空间)

文件实际指向为绝对路径,如下图所示

二周第四次课 (3月29号)笔记

ln -s 软链接命令

e.g. 如下图,如果文件123/22.txt只存在于root目录下,但是某程序必须在/tmp/下找到该文件,可做软链接,无需因为文件更新而重新复制

二周第四次课 (3月29号)笔记

如给yum.log做软链接操作,左边为源文件,右边为软链接文件

二周第四次课 (3月29号)笔记

除文件外,软链接还可以链接目录

二周第四次课 (3月29号)笔记

 在同一个目录下可使用相对路径创建软链接

二周第四次课 (3月29号)笔记

相对路径出现的问题:因为本次软链接是相对路径下进行的,而该目录下无软链接文件,因此闪烁红色报错,如果在当前目录下touch一个软链接文件,则恢复正常,如下图所示

二周第四次课 (3月29号)笔记

即使移动源文件也不会报错,因为前面做的软链接 /tmp/yum.log 为绝对路径

二周第四次课 (3月29号)笔记

df - h 查看磁盘分区命令;

二周第四次课 (3月29号)笔记

补充:如果某分区中文件,如日志在不停写入,而该分区空间不足,而且某进程或服务必须在该分区调用该文件时(不改变路径),可用如下方法避免系统因磁盘空间不足的报错:

二周第四次课 (3月29号)笔记

实际源文件是/liut.log,因为做了软链接,读取的路径还是/boot/liut.log不变

硬链接(只支持文件,不可跨目录)

二周第四次课 (3月29号)笔记

硬链接为大小和源文件一致,软链接则很小

硬链接后删除源文件不影响,硬链接相当于多一个文件指向同一个iNode号(真正记录文件属性),它也不会占双份空间(相当于一张皮),软链接后删除源文件则影响。

二周第四次课 (3月29号)笔记