红色文件
权限位显示为 rwsr-xr-x ,此处的s指的就是特殊权限set_uid,作用在可执行的二进制文件,使普通用户临时获得root权限
密码文件所处目录为 /etc/shadow,此目录的权限是酱紫的:
[root@yolks1 ~]# ls -l /etc/shadow
---------- 1 root root 610 6月 5 23:39 /etc/shadow
特殊权限set_uid:作用在属主
1.其他用户操作root目录提示权限不足
[root@yolks1 ~]# su - yolks
[yolks@yolks1 ~]$ whoami
yolks
[yolks@yolks1 ~]$ ls /root/
ls: 无法打开目录/root/: 权限不够
2.给ls命令赋予set_uid权限
3.其他用户查看ls命令及root目录
4.取消掉set_uid权限,颜色也恢复普通
- 换种方式赋予set_uid权限
变成S权限的原因是少了x权限,即不可执行,想要恢复s权限,则直接添加x权限即可
特殊权限set_gid:作用在属组 ,颜色也变为黄色
作用在文件上表现为属组改变,在目录上则子目录也会继承属组
修改目录的所属组
[root@yolks1 ~]# chown :grp1 234/
[root@yolks1 ~]# ll -d 234/
drwxrwsr-- 2 root grp1 29 6月 6 21:52 234/
所属组有s权限和没有权限创建文件的区别,所属组有s权限会继承父目录的所属组,反之则无
[root@yolks1 ~]# touch 234/test_setgid.txt
[root@yolks1 ~]# ll !$
ll 234/test_setgid.txt
-rw-r--r-- 1 root grp1 0 6月 6 21:55 234/test_setgid.txt
[root@yolks1 ~]# chmod g-s 234/
[root@yolks1 ~]# touch 234/test_setgid111.txt
[root@yolks1 ~]# ll 234/
总用量 0
-rw-r--r-- 1 root root 0 6月 6 21:56 test_setgid111.txt
-rw-r--r-- 1 root grp1 0 6月 6 21:55 test_setgid.txt
特殊权限stick_bit(防删除位)
此权限用来防止其他用户修改或删除自己创建的文件
- 系统中具有此权限的目录 : /tmp/
[root@yolks1 ~]# ll -d /tmp/
drwxrwxrwt. 32 root root 4096 6月 6 21:06 /tmp/
- yolks用户在/tmp/创建文件并且授权777权限
[yolks@yolks1 ~]$ vi test_stick_bit.txt
[yolks@yolks1 ~]$ ll test_stick_bit.txt
-rw-rw-r-- 1 yolks yolks 127 6月 6 22:09 test_stick_bit.txt
[yolks@yolks1 ~]$ chmod 777 test_stick_bit.txt
[yolks@yolks1 ~]$ !ll
ll test_stick_bit.txt
-rwxrwxrwx 1 yolks yolks 127 6月 6 22:09 test_stick_bit.txt
2.user2用户可以编辑添加yolks用户创建的test_stick_bit文件,但是不允许删除
[user2@yolks1 tmp]$ vi test_stick_bit.txt
[user2@yolks1 tmp]$ rm test_stick_bit.txt
rm: 无法删除"test_stick_bit.txt": 不允许的操作
3.赋予权限的命令
chmod o+t
链接文件
软链接文件
-
优点:节省空间,方便使用;
-
注意:
- 尽量使用绝对路径;
- 删除源,快捷也没用
-
ln -s 源文件/目录 软链接
- 文件
[root@yolks1 tmp]# ln -s /tmp/test_stick_bit.txt /root/stick_bit [root@yolks1 tmp]# ls /root/ 234 2.txt 3.txt anaconda-ks.cfg.1 stick_bit [root@yolks1 tmp]# ll /root/ 总用量 8 drwxrwxr-- 2 root grp1 55 6月 6 21:56 234 -rwx------ 1 root root 846 6月 6 00:07 2.txt -rw-rw-r-- 1 root root 0 6月 6 00:16 3.txt -rw-------. 1 root root 1418 5月 25 05:32 anaconda-ks.cfg.1 lrwxrwxrwx 1 root root 23 6月 6 23:08 stick_bit -> /tmp/test_stick_bit.txt
- 目录 (如果出现闪烁,说明源文件不存在)
实际举例:
某个服务日志文件快写满了怎么办?将文件拷贝,删除掉源文件,然后做软链接到原路径
硬链接文件
- 特性:创建文件和其他文件inode号一样,称作相互硬链接
- 注意: - 删除其中一个其他不受影响 - 不可对目录做硬链接 - 不可跨分区
[root@yolks ~]# ln 123.txt 123_head.txt
[root@yolks ~]# ls -l
total 4
-rw-r--r-- 2 root root 0 Jun 8 22:31 123_head.txt
-rw-r--r-- 2 root root 0 Jun 8 22:31 123.txt
lrwxrwxrwx 1 root root 9 Jun 8 22:15 git -> /tmp/data
drwxr-xr-x 2 root root 4096 Jun 6 21:43 shipan
[root@yolks ~]# ls -i
917527 123_head.txt 917524 git
917527 123.txt 917525 shipan