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

特殊权限set_uid、set_gid 、stick_bit,软链接和硬链接

2017-12-22 09:53 405 查看
一、特殊权限set_uid
1. 可以看到passwd这个命令的文件名为红色,且所有者权限位为rws,这个就是set_uid
    passwd这个命令具有Set_uid,那么普通用户执行这个命令的时候临时拥有root的身份



设置Set_UID权限仅对二进制文件有效,且是一个可执行的文件
执行者需要对于该文件具有x的可执行权限
本权限仅在执行该命令的过程中有效
普通用户执行该命令时,临时拥有该命令所有者的身份

2.
 chmod u+s
 给文件加上s权限,
   下面进行一个演示,给ls这个命令加上s权限,让它临时拥有root的身份:

1.[root@localhost ~]# su - lx01                 #切换到普通用户lx01
2.[lx01@localhost ~]$ ls /root/                  #用lx01查看root目录
    ls: 无法打开目录/root/: 权限不够               #提示权限不够
3.[lx01@localhost ~]$ exit                          #回到root用户下
    登出
4.[root@localhost ~]# chmod u+s /usr/bin/ls    #给ls这个命令加上set_uid权限
5.[root@localhost ~]# ls -l /usr/bin/ls
   -rwsr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls          #可以看到ls已经拥有s权限
6.[root@localhost ~]# su - lx01                      #再次切换到lx01这个普通用户下
7.[lx01@localhost ~]$ ls /root/                       #这时执行ls命令时,ls就临时拥有/root/的身份
    anaconda-ks.cfg  qw

3.
chmod u-s  
将文件的s权限去掉

1.[root@localhost ~]# ls -l /usr/bin/ls
   -rwsr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls    #ls这个文件有s权限
2.[root@localhost ~]# chmod -s /usr/bin/ls    #执行chmod -s
3.[root@localhost ~]# ls -l /usr/bin/ls
   -rwxr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls    #可以看到文件的s权限已经没有

4. chmod u=rws
 也可以加上s权限,但这时加的是大S,因为没有加上x的权限,
    但实际上使用的时候并没有影响,因为相对来说普通用户使用的是other权限,有x权限



二、特殊权限set_gid
1.
 
chmod g+s
     set_uid作用在文件时:普通用户执行文件时临时拥有所属组的权限,文件名背景变成黄色
     set_gid作用在文件时和set_uid类似,只不过set_gid是在文件所属组,set_uid是文件所有者



2.  set_uid作用在目录时:在该目录下创建子文件或者目录的时候,创建的子文件或者目录与该目录的所属组保持一致

1. [root@localhost ~]# ls -ld qw                           #可以看到qw的所属组为lx01
    drwxr-xr-x. 4 root lx01 54 12月 21 17:40 qw
2. [root@localhost ~]# touch qw/11.txt              #在/qw/目录下创建一个文件11.txt
3. [root@localhost ~]# mkdir qw/zx                   #在/qw/目录下创建一个子目录zx
4. [root@localhost ~]# ls -l qw
    -rw-r--r--. 1   root root  0 12月 21 17:37 11.txt    #可以看到11.txt和zx的所属组都是当前用户所属组
    drwxr-xr-x. 2  root root  6 12月 21 17:37 zx           
5. [root@localhost ~]# chmod g+s qw               #给qw加上sit_gid权限
6. [root@localhost ~]# mkdir qw/as                  
#/qw/目录下创建一个子目录as
7. [root@localhost ~]# touch qw/22.txt             #/qw/目录下创建一个文件22.txt
8. [root@localhost ~]# ls -l qw
    -rw-r--r--. 1   root  root 0 12月 21 17:37 11.txt
    -rw-r--r--. 1   root  lx01 0 12月 21 17:40 22.txt        #可以看到22.txt和as的所属组和父级目录qw保持一致
    drwxr-sr-x. 2  root  lx01 6 12月 21 17:39 as
    drwxr-xr-x. 2  root  root 6 12月 21 17:37 zx

三、 特殊权限stick_bit
1.chmod o+t
  防删除位,给一个目录或者文件加上,那么这个文件或目录就不能被其它的普通用户删除。



/tmp/这个目录的权限是:drwxrwxrwt ,在这样的权限下任何用户都可以在/tmp/内添加,修改文件。但是仅有该文件或目录所有者以及root才能删除自己的文件或目录

四、软链接文件
1. 软链接以路径的形式存在。类似于Windows操作系统中的快捷方式

    软链接生成一个文件的镜像,不会占用磁盘空间,节省了磁盘空间

    软链接是可以跨分区的

    bin这个文件就是一个软链接文件,实际指向的地址为/usr/bin,链接文件的大小是和路径有关系的,路径越长,文件越大



2.ln -s [源文件] [软链接文件]   创建软链接文件



3. 软链接的路径分为相对路径和绝对路径,在当前目录下做的软链接就是相对路径,
    做软链接尽量使用绝对路径,因为一旦原文件的位置出现变更,那么软链接就会失效
   


  
4. 一个小例子
加入在boot分区下有一个服务在不停的写日志到/boot/fy.log,但是boot分区只有200M,很快就写满了
但是日志不能更改位置,只能写到/boot/fy.log里面,那么这时可以做一个软链接,指想/目录下的fy.log
cp /boot/fy.log /fy.log               将boot下的fy.log拷贝到/下
rm /boot/fy.log                           将/boot/下的fy.log删除
ln -s /fy.log /boot/fy.log            做一个软链接将/boot/fy.log指向到/fy.log,这样实际就写到/下的fy.log,解决磁盘空间不足的问题

五、硬链接文件
1. 创建了一个文件,这个文件和另外一个文件使用了相同的inode号,这两个文件相互为硬链接
    硬链接是可以删除的,因为删除其中任何一个文件,但是inode还是存在的,
    这两个文件只占一个文件的空间,因为inode是一样的

1. [root@localhost ~]# ln 11.txt 11_hard.txt                                               #给11.txt做了一个硬链接>>11_hard.txt
2. [root@localhost ~]# ls -li 11*
    16813925 -rw-r--r--. 2 root root 924 12月 22 09:27 11_hard.txt
    16813925 -rw-r--r--. 2 root root 924 12月 22 09:27 11.txt                       #这两个文件使用了相同的inode号,

2.硬链接不支持目录,只支持文件

[root@localhost ~]# ln qw er                    #给目录qw做一个硬链接,名字为er
ln: "qw": 不允许将硬链接指向目录               #出现报错,硬链接不支持目录

3. 硬链接不支持跨分区,因为inode号是在分区是就预先分配好,两个分区会存在相同的inode号

[root@localhost ~]# ln /boot/vmlinuz-3.10.0-693.el7.x86_64 /tmp/11.log
ln: 无法创建硬链接"/tmp/11.log" => "/boot/vmlinuz-3.10.0-693.el7.x86_64": 无效的跨设备连接                 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐