前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux学习第九篇:特殊权限set_uid,set_gid,stick_bit以及软连接文件,硬链接文件

linux学习第九篇:特殊权限set_uid,set_gid,stick_bit以及软连接文件,硬链接文件

作者头像
用户1215343
发布2018-02-05 17:05:42
9420
发布2018-02-05 17:05:42
举报
文章被收录于专栏:linux运维学习linux运维学习

特殊权限set_uid

权限s即为set_uid(给一个文件设置set_uid权限的前提是这个文件是二进制可执行文件)

代码语言:javascript
复制
[root@xie-02 ~]# ls -l /usr/bin/passwd 
-rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd

set_uid的作用:保证普通用户临时拥有该命令所有者root的身份

chmod u+s /usr/bin/ls   //给ls命令添加权限s,即当使用除root用户以外的用户时,有权限使用ls命令(使用u-s即可取消权限s)

chmod u=rws /usr/bin/ls  //s权限会变为S,原因是因为没有x权限,所以加上x权限后会变为s

PS:权限为大写S的影响不大。

代码语言:javascript
复制
[root@xie-02 ~]# ls -l /usr/bin/ls
-rwxr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls
[root@xie-02 ~]# chmod u=rws !$
chmod u=rws /usr/bin/ls
[root@xie-02 ~]# ls -l /usr/bin/ls
-rwSr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls
[root@xie-02 ~]# chmod u+x /usr/bin/ls
[root@xie-02 ~]# ls -l /usr/bin/ls
-rwsr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls

特殊权限set_gid

set_gid作用于所有组

代码语言:javascript
复制
[root@xie-02 ~]# chmod g+s /usr/bin/ls
[root@xie-02 ~]# ls -l !$
ls -l /usr/bin/ls
-rwxr-sr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls

set_gid的作用:保证普通用户临时拥有该命令所属组的身份

chmod g+s /usr/bin/ls   //给ls命令添加权限s,即所属组下的用户拥有所属组root的权限(使用u-s即可取消权限s)

chmod g+s  test   //作用于目录时,在该目录下创建的子目录和文件的所属组都会跟目录的所属组保持一致

代码语言:javascript
复制
[root@xie-02 ~]# ls -ld test
drwxr-xr-x. 2 root root 6 10月 25 16:25 test
[root@xie-02 ~]# chmod g+s test/                //给目录test加上set_gid权限
[root@xie-02 ~]# ls -ld test
drwxr-sr-x. 2 root root 6 10月 25 16:25 test
[root@xie-02 ~]# chown :xie test/               //更改目录所属组为xie
[root@xie-02 ~]# ls -ld test
drwxr-sr-x. 2 root xie 6 10月 25 16:25 test
[root@xie-02 ~]# touch test/1.txt	        //在该目录下创建文件1.txt
[root@xie-02 ~]# ls -l test/
总用量 0
-rw-r--r--. 1 root xie 0 10月 25 16:27 1.txt    //文件的所属组与目录test一致
[root@xie-02 ~]# mkdir test/test1		//创建子目录test1
[root@xie-02 ~]# ls -l test/			//子目录test1的所属组与目录test一致
总用量 0
-rw-r--r--. 1 root xie 0 10月 25 16:27 1.txt
drwxr-sr-x. 2 root xie 6 10月 25 16:31 test1
[root@xie-02 ~]# chmod g-s test			//取消目录test的set_gid权限
[root@xie-02 ~]# ls -ld test
drwxr-xr-x. 3 root xie 32 10月 25 16:31 test
[root@xie-02 ~]# touch test/2.txt		//在目录test下创建文件2.txt以及子目录test2
[root@xie-02 ~]# mkdir test/test2
[root@xie-02 ~]# ls -l test/			//目录test在没有set_gid权限情况下,创建的文件和子目录所属组都为root
总用量 0
-rw-r--r--. 1 root xie  0 10月 25 16:27 1.txt
-rw-r--r--. 1 root root 0 10月 25 16:35 2.txt
drwxr-sr-x. 2 root xie  6 10月 25 16:31 test1
drwxr-xr-x. 2 root root 6 10月 25 16:35 test2

特殊权限stick_bit

stick_bit :防删除位,防止别的用户删除本用户创建的文件,root 除外

代码语言:javascript
复制
[root@xie-02 ~]# ls -ld /tmp/
drwxrwxrwt. 19 root root 4096 10月 25 12:22 /tmp/     //权限t为stick_bit

软连接文件

软连接文件通俗将就是相当于快捷方式

代码语言:javascript
复制
[root@xie-02 ~]# ls -l /bin
lrwxrwxrwx. 1 root root 7 10月 21 20:55 /bin -> usr/bin         //软连接文件

ln -s  源文件  软连接文件   //可软连接文件也可软连接目录

ln -s  /tmp/yum.log   /root/yum.log    //将目录tmp下的yum.log文件创建软连接文件到root目录下

PS:做软连接时尽量使用绝对路径,避免移动软连接文件时出现源文件不存在的情况

硬连接文件

PS:1.硬链接不支持对目录做硬连接,只支持对文件。

        2.文件硬链接不能跨分区。因为分区之间有自己独立的inode体系(如boot分区下有inode号74的,根下也有inode74,因此会有冲突)

硬链接文件就相当于披了源文件的皮,跟源文件指向同一个inode号

硬链接命令用法:   ln 源文件  硬链接文件  

PS:软连接文件与硬链接文件的区别在于,软连接文件的源文件若被删除,软连接文件也会失效。而硬链接文件的源文件若被删除,硬链接文件不受影响

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年10月25日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档