博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
特殊文件权限和软链接、硬链接管理
阅读量:7006 次
发布时间:2019-06-27

本文共 4007 字,大约阅读时间需要 13 分钟。

2018.06.07任务

2.18 特殊权限set_uid

2.19 特殊权限set_gid
2.20 特殊权限stick_bit
2.21 软链接文件
2.22 硬连接文件

2.18 特殊权限set_uid

set_uid给予一个可执行的二进制文件一个普通用户可执行的临时权限,一个可执行的命令文件有s权限时,当普通用户执行这个命令时,会临时的给这个普通用户给予一个该命令是所属主权限

我们在终端下用普通用户查看root目录

[xiang@localhost ~]$ ls /rootls: 无法打开目录/root: 权限不够

在root终端下给ls命令给予s权限

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

返回普通用户终端再次使用ls查看root目录,可以看到给予s权限后普通用户可以临时拥有该文件的所属主权限

[xiang@localhost ~]$ ls /rootanaconda-ks.cfg
给予s权限的ls命令和没有给予s权限的cat命令对比[xiang@localhost ~]$ ll /usr/bin/ls-rwsr-xr-x. 1 root root 117656 11月 6 2016 /usr/bin/ls        ls命令        [xiang@localhost ~]$ ll /usr/bin/cat-rwxr-xr-x. 1 root root 54080 11月 6 2016 /usr/bin/cat        cat命令

2.19 特殊权限set_gid

作用于用户组的权限位

[root@localhost ~]# chmod g+s /usr/bin/ls[root@localhost ~]# ll /usr/bin/ls-rwxr-sr-x. 1 root root 117656 11月 6 2016 /usr/bin/ls

普通用户临时拥有所属组的身份权限

[xiang@localhost ~]$ ll /usr/bin/ls-rwxr-sr-x. 1 root root 117656 11月 6 2016 /usr/bin/ls[xiang@localhost ~]$ ls /rootanaconda-ks.cfg

给目录加上的用户组权限位上添加s权限后,在该目录下创建的文件或目录会继承父级目录的权限

[root@localhost src]# chmod g+s 345/       给予345目录set_gid权限[root@localhost src]# chown :xiang 345/    修改目录的所属组[root@localhost src]# ll -d 345/drwxr-sr-x 3 root xiang 17 6月 7 13:50 345/    [root@localhost src]# mkdir 345/123           [root@localhost src]# ll 345/总用量 0drwxr-sr-x 2 root xiang 6 6月   7 13:53 123-rw-r--r-- 1 root xiang 0 6月   7 13:57 1.txt     再创建文件和目录时的所有权限位的所属组都会继承父级目录

用于:root管理员创建一个共享性质的目录,其中存放共享文件,供某个统一的用户组里的成员进行访问

2.20 特殊权限stick_bit

防删除权限位,用于目录,该目录下用户创建的文件其他用户不能删除只可修改

root终端下创建user目录,给予777权限,加上stick_bit权限位

[root@localhost src]# mkdir user[root@localhost src]# chmod 777 user/[root@localhost src]# chmod o+t user/[root@localhost src]# ll -d user/drwxrwxrwt 2 root root 6 6月 7 14:15 user/drwxrwxrwt 2 root root 6 6月 7 14:15 user/

xiang用户终端下创建目录123,创建文件1.txt

user终端下尝试删除xiang用户创建的目录和文件

[user1@localhost src]$ ll -d user/drwxrwxrwt 3 root root 30 6月 7 14:19 user/[user1@localhost user]$ rm -rf user/123/rm: 无法删除"123/": 不允许的操作[user1@localhost user]$ rm -rf user/1.txt rm: 无法删除"1.txt": 不允许的操作

再次在root终端去掉user目录的stick_bit权限位

[root@localhost src]# chmod o-t user/回到user用户终端下再次尝试删除xiang用户创建的文件和目录[user1@localhost src]$ rm -rf user/1.txt [user1@localhost src]$ rm -rf user/123/[user1@localhost src]$ ll user/                结果是可以删除的总用量 0

2.21 软链接文件

软链接类似于windows中的快捷方式

系统中的软连接文件,软链接删除源文件后,链接文件也会变的不可用

[root@localhost tmp]# ls -l /binlrwxrwxrwx. 1 root root 7 5月 28 22:16 /bin -> usr/binln -s  源文件路径   软连接的新路径软连接可以作用于文件也可作用于目录软连接作用示例[root@localhost tmp]# ln -s /usr/local/src/jiaoben/jisuan.py /tmp/jisu.py         软连接文件[root@localhost tmp]# ln -s /usr/local/src/jiaoben/ /tmp/jiao                     软连接目录[root@localhost tmp]# ll 总用量 4lrwxrwxrwx 1 root root 23 6月 7 14:40 jiao -> /usr/local/src/jiaoben/              软连接文件lrwxrwxrwx 1 root root 32 6月 7 14:38 jisu.py -> /usr/local/src/jiaoben/jisuan.py  软连接目录-rwx------. 1 root root 836 5月 28 22:25 ks-script-gvoZnq-rw-------. 1 root root 0 5月 28 22:16 yum.log

软连接应用场景

如一个分区内的服务在不停的写数据导致分区快使用完了,考虑能把写入的这个文件或日志文件软连接到其他目录,原文件不能改动不能更改路径,只能把该文件以软连接并以同名文件软连接到其他目录,把写入的数据指向其他分区中存储

2.22 硬连接文件

只能作用于文件,不能作用于目录,不能跨分区链接

ln 源文件路径 链接的新路径

[root@localhost src]# ll jiaoben/总用量 3633589130 -rwxr-xr-x 2 xiang xiang   278 6月   6 15:57 jisuan.py           源文件[root@localhost src]# ln jiaoben/jisuan.py jisuan.py                      硬链接[root@localhost src]# ll -i总用量 833589135 -rw-r--r-- 1 root  root    1 6月   6 16:59 1.txt33589131 drwxr-xr-x 2 xiang xiang 174 6月   6 18:09 jiaoben33589130 -rwxr-xr-x 2 xiang xiang 278 6月   6 15:57 jisuan.py            硬链接文件注意jisuan.py这个文件的inode节点是一致的,删除源文件后,硬链接权限位后的链接数会由2变为1,表示相同的文件已经减少到1个了

硬链接不能作用于目录

[root@localhost src]# ls1.txt jiaoben jisuan.py user[root@localhost src]# ln jiaoben/ jiaoln: "jiaoben/": 不允许将硬链接指向目录                          目录下有..    .这种特殊的目录,如果能做硬链接,会导致inode管理混乱

硬链接不能跨分区,因为硬链接靠inode来分配链接文件,而各个分区是独立的inode管理系统,这个分区存在的inode节点存储的文件可能会在其他分区早已被占用或不存在,不支持分区间的硬链接文件

转载于:https://blog.51cto.com/8844414/2125992

你可能感兴趣的文章
Alpha冲刺(9/10)
查看>>
【转】B树的插入和删除
查看>>
一个小案例明白onLayout()、onMeasure()方法的作用
查看>>
陶哲轩实分析定理 11.4.3 $\max$与$\min$保持黎曼可积性
查看>>
SIP、Mobicents扫盲
查看>>
rest-framework-版本控制
查看>>
android wifi obtainmessage sendmessage解析
查看>>
总结spring下配置dbcp,c3p0,proxool数据源链接池
查看>>
不再消极,不再忧虑
查看>>
我的模块加载系统 v20
查看>>
简明Python3教程 5.第一步
查看>>
SharePoint 搜索爬网第三方网站配置
查看>>
总结Movie示例知识点
查看>>
WebUI无阻塞更新的实现
查看>>
协议森林12 天下为公 (TCP堵塞控制)
查看>>
尝试在C++里实现 Java 的 synchronized 关键字
查看>>
POJ-2057 The Lost House 贪心在动态规划中的应用
查看>>
uva10970 Big Chocolate
查看>>
PhoneGap API帮助文档翻译Notification提醒
查看>>
LESS介绍及其与Sass的差异
查看>>