您的位置:首页 > 产品设计 > UI/UE

特殊权限Set_uid,set_gid,stick_bit,软硬链接

2017-12-22 10:06 246 查看
二周第四次课(12月21日)

2.18 特殊权限set_uid

2.19 特殊权限set_gid

2.20 特殊权限stick_bit

2.21 软链接文件

2.22 硬连接文件

一 特殊权限 set_uid 即下图出现的s



set_uid的作用是让普通用户临时拥有该命令所有者的权限,给一个文件设置uid的前提是该文件是二进制可执行文件,例如上图中红色高亮部分“/usr/bin/passwd”

chomd u+s 即 user+set_uid

[root@xavi-001 ~]# chmod u+s /usr/bin/ls
[root@xavi-001 ~]# ls -l /usr/bin/ls
-rwsr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls

在另外一个窗口使用普通用户切换



chmod u=rws /usr/bin/ls

[root@xavi-001 ~]# chmod u=rws /usr/bin/ls
[root@xavi-001 ~]# ls -l /usr/bin/ls
-rwSr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls  //这里显示的是大S








二 set_gid

该权限可以作用在文件上(二进制可执行文件),也可作用在目录上

当作用于文件上时,其功能和set_uid一样,它会使文件在执行阶段具有文件所属组的权限,



[xavi@xavi-001 ~]$ ls /root    //正常查看
2.txt  anaconda-ks.cfg.1  initial-setup-ks.cfg  [root@localhost


目录被设置权限后,任何用户在此目录下创建的文件都具有和该目录所属的组相同的组,即权限一致



三 sticky bit

防删除位,文件是否可以被用户删除,主要取决于该文件所在的目录是否对该用户具有写权限,如果没有,则这个目录下的所有文件都不能被删除,同时也不能添加新的文件。
chmod o+t 目录/文件

四 软链接文件

软链接是建立一个独立的文件,当读取这个链接文件时,会把读取的行为转发到该文件所链接的文件上。



[root@xavi-001 tmp]# ls -l /bin
lrwxrwxrwx. 1 root root 7 8月   9 05:31 /bin -> usr/bin
[root@xavi-001 tmp]# /bin/ls
11.txt
123
123.11.txt
1.txt
22.txt

[root@xavi-001 tmp]# /usr/bin/ls
11.txt
123
123.11.txt
1.txt
22.txt


以上的软链接和原文件显示的是相同的

如何穿件软链接:ln -s 来源文件 目的文件/新链接
以下为文件的软链接示例:

[root@xavi-001 ~]# ln -s /tmp/yum.log /root/111/yum.log
[root@xavi-001 ~]# ls -l /root/111
总用量 0
lrwxrwxrwx. 1 root root 12 12月 21 23:03 yum.log -> /tmp/yum.log


除了文件,目录也可以做软链接
[root@xavi-001 ~]# ln -s /tmp/xavi2 /root/111/xavi3
[root@xavi-001 ~]# ls -l !$
ls -l /root/111/xavi3
lrwxrwxrwx. 1 root root 10 12月 21 23:07 /root/111/xavi3 -> /tmp/xavi2

软链接最好是绝对路径,如果是相对路径,如果复制移动到其他电脑或盘符,都有可能丢失



5 硬链接

直接再建立一个inode链接到文件放置的块区域,即进行硬链接时该文件内容没有任何变化,只是增加了一个指向这个文件的inode,并不会额外占用磁盘空间。

[root@xavi-001 ~]# ln -s 2.txt 2_sorft.txt
[root@xavi-001 ~]# ln 2.txt 2_heard.txt

[root@xavi-001 ~]# ls -l
总用量 11
-rwx------. 3 root root  2322 12月 19 21:37 2_heard.txt
lrwxrwxrwx. 1 root root     5 12月 21 23:27 2_sorft.txt -> 2.txt
-rwx------. 3 root root  2322 12月 19 21:37 2.txt
-rw-------. 1 root root  1422 8月   9 05:35 anaconda-ks.cfg.1
-rw-r--r--. 1 root root  1647 8月   9 00:17 initial-setup-ks.cfg
-rw-r--r--. 1 root root     0 12月 13 00:01 [root@localhost
lrwxrwxrwx. 1 root root    12 12月 21 22:59 yum.log -> /tmp/yum.log


硬链接限制:1 不能夸文件系统,因为不同文件系统有不同的inode table; 比如/boot下的不能放到/root
下;2 是不能链接目录,只能对文件

[root@xavi-001 ~]# ln /boot/config-3.10.0-514.el7.x86_64 /tmp/config.1
ln: 无法创建硬链接"/tmp/config.1" => "/boot/config-3.10.0-514.el7.x86_64": 无效的跨设备连接


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Setuidsetgid
相关文章推荐