文档章节

set_uid、set_gid、stick_bit、软链接和硬连接文件

r
 robertt15
发布于 09/16 16:15
字数 1343
阅读 12
收藏 0

9月17日任务

2.18 特殊权限set_uid

2.19 特殊权限set_gid

2.20 特殊权限stick_bit

2.21 软链接文件

2.22 硬连接文件

 

特殊权限

set_uid

设置了set_uid的二进制文件,其他用户执行时,将临时拥有该文件所有者的权限,以此执行!最常用的命令passwd的二进制文件就被赋予了set_uid特殊权限!

设置set_uid的前提:必须是 二进制可执行文件目录无效

在u的权限组内没有x权限时,设置set_uid后s位将变为大写(S)。

#未设置set_uid,普通用户查看/root目录
[castiel@centos7 ~]$ /usr/bin/ls /root
/usr/bin/ls: 无法打开目录/root: 权限不够

#设置set_uid后,可以以root权限查看/root
[root@centos7 ~]# chmod u+s /usr/bin/ls
[root@centos7 ~]# ls -l /usr/bin/ls
-rwsr-xr-x. 1 root root 117656 ... /usr/bin/ls
[root@centos7 ~]# su - castiel
[castiel@centos7 ~]$ /usr/bin/ls /root
111  anaconda-ks.cfg
[root@centos7 ~]# ls -l /usr/bin/ls
-rwSr-xr-x. 1 root root 117656 ... /usr/bin/ls

set_gid

设置了set_gid的文件执行时将拥有文件所属组(group)的权限。

此外对目录设置set_gid后,执行时当前命令的用户的所属组将会成为在该目录下新创建的文件、目录的所属组(group),

没有设置的其内文件的所属组是当前用户的所属组。

[root@centos7 tmp]# mkdir test
[root@centos7 tmp]# ls -ld test/
drwxr-xr-x. 2 root root 6 ... test/
[root@centos7 tmp]# chown :castiel test/
[root@centos7 tmp]# ls -ld test/
drwxr-xr-x. 2 root castiel 6 ... test/

# 未设置前创建目录和文件,与后续进行对比
[root@centos7 tmp]# mkdir test/111
[root@centos7 tmp]# touch test/222.txt

#设置set_gid,随后创建新目录和文件
[root@centos7 tmp]# chmod g+s test/
[root@centos7 tmp]# mkdir test/333/
[root@centos7 tmp]# touch  test/444.txt

[root@centos7 tmp]# ls -l test/
总用量 0
drwxr-xr-x. 2 root root    6 ... 111
-rw-r--r--. 1 root root    0 ... 222.txt
drwxr-sr-x. 2 root castiel 6 ... 333
-rw-r--r--. 1 root castiel 0 ... 444.txt

# 同样的去除掉group内的x权限,set_gid位显示为S.
[root@localhost system]# chmod g-x /test
[root@localhost system]# chmod g+s /test
[root@localhost system]# ls -ld /test
drwxr-Sr-x. 2 root root 6 ... /test

sticky_bit

防删除位,对一个目录设置sticky_bit后,一个用户将无法删除目录内其他用户创建的文件!(root用户除外)

正常情况下,只要用户对该父目录拥有x权限,就可以删除目录下的文件、子目录,不需要关心用户对文件、子目录是否拥有x权限!

添加了sticky_bit权限后,可以防止其他用户误删。

[root@centos7 test]# ls -ld /test/
drwxr-xr-x. 2 root root 16 ... /test/

# 添加sticky_bit位
[root@centos7 test]# chmod o+t /test/
[root@centos7 test]# ls -ld /test/
drwxr-xr-t. 2 root root 16 ... /test/

# 同样的当没有x权限,sticky_bit显示为T
[root@localhost system]# chmod o-x /test
[root@localhost system]# chmod o+t /test
[root@localhost system]# ls -ld /test
drwxr-xr-T. 2 root root 6 ... /test

软链接

软链接文件相当于Windows下的快捷方式,文件类型为l。 系统目录/bin/目录就是/usr/bin/目录的软连接

使用方法:ln -s 目标文件/目录 软链接

优缺点

  • 好处:占用内存小

  • 缺点:源文件/目录被删除或移动,软链接将失效

修改软链接文件的内容的实质为修改源文件,软链接是对其的引用!创建软链接最好使用绝对路径,不易出错!

实用场景

对于一个空间不多的分区,如果有一个文件被进程所使用导致所占空间不断变大,这时如果不想该分区被数据写满,

可以先将该文件拷贝到其他大空间分区,并在原分区内创建软链接!!然后删除原处文件,原进程不受影响

[root@centos7 test]# ls -l /bin
lrwxrwxrwx. 1 root root 7 ... /bin -> usr/bin

硬链接

使用方法: ln 源文件 硬连接文件

硬链接是对同一个文件所在内存地址的引用(inode号相等),硬链接和原文件互为硬链接!

  • 删除其中一个文件,另外的文件不受影响!

  • 修改其中一个文件,另外的文件内容也变化!

硬链接无法跨分区创建(多个分区有相同inode号,任意弄混)

关于目录

!!不能对目录设置硬链接

新创建的硬链接不会占用额外的空间!!因为其空间在创建源文件的时候就已经占用了,

对应于系统内的特定内存地址,硬链接只是是对该内存地址的引用

[root@centos7 ~]# ls -ld .
dr-xr-x---. 3 root root 173 ... .

[root@centos7 ~]# ls -ild . /root/ /root/.ssh/..
16797761 dr-xr-x---. 3 root root 173 ... .
16797761 dr-xr-x---. 3 root root 173 ... /root/
16797761 dr-xr-x---. 3 root root 173 ... /root/.ssh/..

对于一个目录而言,其内包含的3个子目录都可以表示该目录,
对目录设置硬链接会产生循环创建,陷入死循环!
[root@centos7 test]# ls -li
总用量 8
8812615 -rw-r--r--. 2 root root 8 ... 1.txt
8812615 -rw-r--r--. 2 root root 8 ... 2.txt
[root@centos7 test]# du -sh /test/
4.0K    /test/
[root@centos7 test]# du -sh 1.txt
4.0K    1.txt
[root@centos7 test]# du -sh 2.txt
4.0K    2.txt

 

© 著作权归作者所有

共有 人打赏支持
r
粉丝 0
博文 42
码字总数 62453
作品 0
深圳
私信 提问
2.18 特殊权限set_uid 2.19 特殊权限set_gid 2.20 特殊权限stick_b

2.18 特殊权限set_uid 2.19 特殊权限set_gid 2.20 特殊权限stick_bit 2.21 软链接文件 2.22 硬连接文件 2.18 特殊权限set_uid 1、set_uid 特殊权限set_uid S位; passwd支持用户修改自己的密...

wb_rambo123
2017/12/26
0
0
2.18-2.20特殊权限set_uid/set_gid/stick_bit;20.21/2软硬链接

2.18 特殊权限set_uid set_uid作用:普通用户,临时拥有:该命令所有者(用户)身份。 给一个命令,设置set_uid,前提:这个文件必须是一个可执行的二进制文件。 1. 切换到普通用户下:su - 普...

主内安详
2017/12/21
0
0
day09-linux特殊权限 链接

上次整理了关于linux系统的文件及目录权限,其实为了系统的安全性: linux还有一些特殊权限: setuid:(主) setgid:(组) stick_bit:(其他) 1、set_uid: 授权普通用户临时拥有文件/目录所有者的权...

芬野
2017/10/27
0
0
特殊权限set_uid、特殊权限set_gid、特殊权限stick_bit、软链接文件、硬连接文件

特殊权限set_uid 1、set_uid是什么有什么作用 set_uid权限是针对二进制可执行文件,使文件在执行阶段具有文件所有者的权限。 用途说明: 例如passwd命令,可以看到可执行文件passwd的权限为r...

codepencil
2017/10/27
0
0
特殊权限set_uid 特殊权限set_gid 特殊权限stick_bit 软链接文件

特殊权限set_uid setuid 让普通用户临时拥有该命令所有者的身份。如:/usr/bin/passwd 每个用户都可以修改自己的密码,passwd的权限和root创建的文件权限不一样,创建的文件UID权限rwx, 而p...

martin20162018
2017/12/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊storm的ICommitterTridentSpout

序 本文主要研究一下storm的ICommitterTridentSpout ICommitterTridentSpout storm-core-1.2.2-sources.jar!/org/apache/storm/trident/spout/ICommitterTridentSpout.java public interface......

go4it
21分钟前
1
0
Ubuntu常用操作

查看端口号 netstat -anp |grep 端口号 查看已使用端口情况 netstat -nultp(此处不用加端口号) netstat -anp |grep 82查看82端口的使用情况 查找被占用的端口: netstat -tln netstat -tl...

hc321
昨天
1
0
网站cdn的静态资源突然访问变的缓慢,问题排查流程

1.首先我查看了一下是否自己的网络问题,通过对比其他资源的访问速度和下载速度,确认不是 2.通过ping 和 tracert 判断cdn域名能否正常访问,(最后回想感觉这一步可以省略,因为每次最终能访...

小海bug
昨天
3
0
Mybatis 学习笔记四 MyBatis-Plus插件

Mybatis 学习笔记四 MyBatis-Plus插件 maven依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <ve......

晨猫
昨天
5
0
小白带你认识netty(二)之netty服务端启动(下)

承接上一篇小白带你认识netty(二)之netty服务端启动(上),还剩下两步骤:3、注册Selector:将Channel注册到Selector上 和 4、端口的绑定:服务端端口的监听。 3、注册Selector:将Chann...

天空小小
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部