特殊权限软硬链接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了特殊权限软硬链接相关的知识,希望对你有一定的参考价值。

2.18 特殊权限set_uid

sset_uid的权限

除了所有者之外的其他用户临时拥有所有者的身份。(前提是一个二进制可执行文件),目录页可以设置但是没意义

[[email protected] ~]# ll /usr/bin/passwd

-rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd

 

[[email protected] ~]# ll -d /usr/bin/ls

-rwxr-xr-x. 1 root root 117616 6月  10 2014 /usr/bin/ls

[[email protected] ~]# chmod u+s /usr/bin/ls

[[email protected] ~]# ll /usr/bin/ls

-rwsr-xr-x. 1 root root 117616 6月  10 2014 /usr/bin/ls

 

[[email protected] ~]# chmod u=rws /usr/bin/ls

[[email protected] ~]# ll /usr/bin/ls   //S也可以执行

-rwSr-xr-x. 1 root root 117616 6月  10 2014 /usr/bin/ls

[roo[email protected] ~]# chmod u+x /usr/bin/ls

[[email protected] ~]# ll /usr/bin/ls

-rwsr-xr-x. 1 root root 117616 6月  10 2014 /usr/bin/ls

 

2.19 特殊权限set_gid

sset_gid的权限

执行文件的普通用户拥有所有组的身份

[[email protected] ~]# ll /usr/bin/ls

-rwxr-xr-x. 1 root root 117616 6月  10 2014 /usr/bin/ls

[[email protected] ~]# chmod g+s /usr/bin/ls

[[email protected] ~]# ll /usr/bin/ls

-rwxr-sr-x. 1 root root 117616 6月  10 2014 /usr/bin/ls

 

给目录增加set_gid权限后,在目录下创建子目录或者文件所属组的名字都是设置set_gid的组名保持一致

[[email protected] ~]# chmod g+s lsx

[[email protected] ~]# touch lsx/2.txt

[[email protected] ~]# ll lsx/

总用量 0

-rw-r--r--. 1 root root  0 1021 02:34 1.txt

-rw-r--r--. 1 root user1 0 1021 02:37 2.txt

 

2.20 特殊权限stick_bit

stick_bit:防删除位(靠父级目录决定的)

[[email protected] ~]# ll -d /tmp/  //该目录下防止其他用户删除自己的文件。除了root

drwxrwxrwt. 10 root root 4096 1021 02:28 /tmp/

 

[[email protected] tmp]$ whoami

user1

[[email protected] ~]$ pwd

/home/user1

[[email protected] ~]$ mkdir lsx

[[email protected] ~]$ mkdir lsx/lshx

[[email protected] ~]$ mkdir lsx/1.txt

[[email protected] ~]$ ll  //目录可读写、执行

drwxrwxrwx. 4 user1 user1 29 1021 03:01 lsx

[[email protected] ~]$ ll lsx/  //

drwxrwxr-x. 2 user1 user1 6 1021 03:01 1.txt

drwxrwxr-x. 2 user1 user1 6 1021 03:01 lshx

 

User2用户

[[email protected] lsx]$ ls

1.txt  lshx

[[email protected] lsx]$ rm -rf 1.txt/  //其他用户可以删除user1用户创建的目录下的文件是因为该文件所在目录的文件权限为777,而不是看删除文件本身的权限

[[email protected] lsx]$ ll

drwxrwxr-x. 2 user1 user1 6 1021 03:01 lshx

 

2.21 软链接文件

[[email protected] ~]# ls -l /bin  //bin是软链接,源文件在/usr/bin

lrwxrwxrwx. 1 root root 7 1015 22:36 /bin -> usr/bin

软链接:

[[email protected] ~]# ln -s 源文件 软链接文件

 

[[email protected] ~]# ln -s /tmp/yum.log /root/111  //软链接文件

[[email protected] ~]# ll

lrwxrwxrwx. 1 root root  12 Oct 21 03:56 111 -> /tmp/yum.log

 

[[email protected] ~]# ln -s /tmp/lsx /root/222  //软链接目录

[[email protected] ~]# ll

lrwxrwxrwx. 1 root root   8 Oct 21 03:59 222 -> /tmp/lsx

 

相对路径设置软链接弊端,当目录改名时会出现问题。尽量使用绝对路径设置软链接

[[email protected] tmp]# ln -s yum.log lsx.log  //相对路径设置软链接

[[email protected] tmp]# ls -l

lrwxrwxrwx. 1 root  root    7 Oct 21 04:04 lsx.log -> yum.log

 

生产场景:

[[email protected] tmp]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda3        11G  903M  9.8G   9% /

devtmpfs        260M     0  260M   0% /dev

tmpfs           265M     0  265M   0% /dev/shm

tmpfs           265M  4.4M  261M   2% /run

tmpfs           265M     0  265M   0% /sys/fs/cgroup

/dev/sda1       197M   81M  117M  41% /boot

比如:有一个服务lsx,写日志到了/boot/lsx.log下面,把/boot/lsx.log写的很大。

怎么把/boot/lsx.log,挪到/分区下。因为这个服务路径不能动,所以

cp /boot/lsx.log /lsx.log

ln -s /lsx.log /boot/lsx.log

 

2.22 硬链接文件

 

[[email protected] ~]# ll

total 4

-rw-------. 1 root root 973 Oct 15 22:41 anaconda-ks.cfg

drwxr-xr-x. 2 root root  16 Oct 21 04:19 lsx

 

硬链接:

1.不支持目录做硬链接

2.硬链接时间和大小、inode和源文件一样

3.删除源文件对硬链接没影响,软连接异常

4.真正存文件的是inode(多个硬链接指向一个inode,但是至少留一个硬链接),里面存放数据的信息,inode只占一份空间

5.硬链接不能跨分区(各个分区初始化inode已经分好了)

[[email protected] ~]# ln anaconda-ks.cfg 1_hard.txt

[[email protected] ~]# ln -s anaconda-ks.cfg 1_soft.txt

[[email protected] ~]# ll

-rw-------. 2 root root 973 Oct 15 22:41 1_hard.txt

lrwxrwxrwx. 1 root root  15 Oct 21 04:41 1_soft.txt -> anaconda-ks.cfg

-rw-------. 2 root root 973 Oct 15 22:41 anaconda-ks.cfg


本文出自 “帕多克的痴迷” 博客,请务必保留此出处http://lsxme.blog.51cto.com/12400127/1975890

以上是关于特殊权限软硬链接的主要内容,如果未能解决你的问题,请参考以下文章

centOS 7 特殊权限及软硬连接文件介绍

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

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

2.18-2.20特殊权限set_uid/set_gid/stick_bit;20.21/2软硬链接

26期20180607 set_uid stick_bit 软硬连接

26期20180607 set_uid stick_bit 软硬连接