特殊权限set_uid 、set_gid、stick_bit 、软链接文件 、硬连接文件

2.18 特殊权限set_uid

set_uid 作用:普通用户临时拥有该命令所有者的身份 
给一个文件设置set_uid权限,前提是该文件是二进制文件,可执行文件
给目录加此权限无意义。
/usr/bin/passwd  文件有set_uid权限 
[root@wangshuang-01 ~]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd
给ls 命令加set_uid权限

ls 命令去掉set_uid 权限

缺少x权限,/usr/bin/ls  显示S权限


2.19 特殊权限set_gid
set_gid 作用在组权限位上,普通用户临时拥有所属组的权限,

set_gid 不仅可以作用在文件上,还可以作用在目录上,创建的子文件或子目录的所属组与该目录的所属组保持一致
[root@wangshuang-01 ~]# chmod g+s /tmp/8
[root@wangshuang-01 ~]# ls -ld /tmp/8
drwxr-sr-x. 2 root root 6 6月  10 09:55 /tmp/8
[root@wangshuang-01 ~]# chown :user1 /tmp/8
[root@wangshuang-01 ~]# ls -ld /tmp/8
drwxr-sr-x. 2 root user1 6 6月  10 09:55 /tmp/8
[root@wangshuang-01 ~]# touch /tmp/8/8.txt
[root@wangshuang-01 ~]# ls -ld /tmp/8/8.txt
-rw-r--r--. 1 root user1 0 6月  10 09:59 /tmp/8/8.txt
[root@wangshuang-01 ~]# mkdir /tmp/8/am
[root@wangshuang-01 ~]# ls -ld /tmp/8/am
drwxr-sr-x. 2 root user1 6 6月  10 10:02 /tmp/8/am
去掉set_gid权限,创建的子文件和子目录所属组为root
[root@wangshuang-01 ~]# chmod g-s /tmp/8
[root@wangshuang-01 ~]# ls -ld /tmp/8
drwxr-xr-x. 3 root user1 29 6月  10 10:02 /tmp/8
[root@wangshuang-01 ~]# mkdir /tmp/8/8.1
[root@wangshuang-01 ~]# ls -ld /tmp/8/8.1
drwxr-xr-x. 2 root root 6 6月  10 10:44 /tmp/8/8.1
[root@wangshuang-01 ~]# touch /tmp/8/8.2txt
[root@wangshuang-01 ~]# ls -ld /tmp/8/8.2txt
-rw-r--r--. 1 root root 0 6月  10 10:45 /tmp/8/8.2txt

2.20 特殊权限stick_bit
stick_bit  防删除位,防止别人删除自己的文件,root用户除外
[user1@wangshuang-01 /]$ ls -ld /tmp
drwxrwxrwt. 19 root root 4096 6月  10 11:30 /tmp
在/tmp下创建目录,更改文件权限为777,所有人可读、写、执行此文件,编辑内容
[root@wangshuang-01 tmp]# touch /tmp/file1
[root@wangshuang-01 tmp]# ls -ld /tmp/file1
-rw-r--r--. 1 root root 0 6月  10 11:22 /tmp/file1
[root@wangshuang-01 tmp]# chmod 777 file1
[root@wangshuang-01 tmp]# ls -l file1
-rwxrwxrwx. 1 root root 108 6月  10 11:27 file1
[root@wangshuang-01 tmp]# vi file1
切换user1用户,可编辑该文件,不可删除非本用户创建的文件
[root@wangshuang-01 tmp]# su - user1
上一次登录:日 6月 10 11:12:09 CST 2018pts/1 上
[user1@wangshuang-01 ~]$ cd /tmp
[user1@wangshuang-01 tmp]$ vi file1
[user1@wangshuang-01 tmp]$ rm -f file1
rm: 无法删除"file1": 不允许的操作
user1用户创建user1目录,更改目录权限 777
[user1@wangshuang-01 /]$ mkdir /tmp/user1
[user1@wangshuang-01 /]$ ls -ld /tmp/user1
drwxr-xr-x. 2 user1 user1 6 6月  10 11:42 /tmp/user1
[user1@wangshuang-01 /]$ chmod 777 /tmp/user1
[user1@wangshuang-01 /]$ ls -ld /tmp/user1
drwxrwxrwx. 2 user1 user1 6 6月  10 11:42 /tmp/user1
用户user1创建文件、目录
[user1@wangshuang-01 user1]$ touch 1.txt
[user1@wangshuang-01 user1]$ mkdir test
[user1@wangshuang-01 user1]$ ls -l
总用量 0
-rw-r--r--. 1 user1 user1 0 6月  10 12:07 1.txt
drwxr-xr-x. 2 user1 user1 6 6月  10 12:07 test
用户user2可删除user1创建的文件、目录
[user2@wangshuang-01 user1]$ ls -l
总用量 0
-rw-r--r--. 1 user1 user1 0 6月  10 12:07 1.txt
drwxr-xr-x. 2 user1 user1 6 6月  10 12:07 test
[user2@wangshuang-01 user1]$ rm -r test
rm:是否删除有写保护的目录 "test"?y
[user2@wangshuang-01 user1]$ rm 1.txt
rm:是否删除有写保护的普通空文件 "1.txt"?y
总结:能否删除目录或文件,取决于该文件或目录所在目录的权限,但是如果该目录加上防删除位,那么普通用户不可删除该目录下的文件或目录。

2.21 软链接文件
软链接,相当于window的快捷方式,在文件里面存一个目录的路径,节省空间
给一个文件做软链接:ln   -s  原文件   目标地址


给一个目录做软链接


相对路径软链接(一般用绝对路径)


2.22 硬连接文件
硬连接:只支持对 文件 做硬连接(目录不可以做硬连接),创建一个文件与另一个文件inode号一样,这两个文件相互为硬连接文件,都一样,可以对一个文件作多个硬连接,
硬连接可删除(多一个文件使用inode),软链接不可删除
[root@wangshuang-01 tmp]# ln yum.log hard_yum.log
[root@wangshuang-01 tmp]# ln -s yum.log sorft_yum.log
[root@wangshuang-01 tmp]# ls -l
-rw-r--r--. 2 root  root     136 6月  10 15:49 hard_yum.log
lrwxrwxrwx. 1 root  root       7 6月  10 15:52 sorft_yum.log -> yum.log
-rw-r--r--. 2 root  root     136 6月  10 15:49 yum.log
创建硬连接,不可跨分区
[root@wangshuang-01 ~]# ln /boot/config-3.10.0-693.el7.x86_64 /tmp/
ln: 无法创建硬链接"/tmp/config-3.10.0-693.el7.x86_64" => "/boot/config-3.10.0-693.el7.x86_64": 无效的跨设备连接





猜你喜欢

转载自blog.csdn.net/wangshuang_2013/article/details/80642065