标签:linux
特殊权限set_uid
特殊权限set_gid
特殊权限stick_bit
软链接文件
硬连接文件
特殊权限set_uid
s: set_uid
改密码的文件:
当普通用户set_uid执行这个命令时,就会临时拥有root用户的身份
对一个文件执行set_uid命令,前提是这个文件是一个二进制的文件,而且是一个可执行的文件。
eg:
给ls 加一个set_uid 的权限
首先切换到一个普通用户下面去:
加上s权限
再来执行,看能不能查看:
看一下权限变了没有:
权限没变。(只是临时拥有root用户身份)
如何去掉:chmod u-s /usr/bin/ls
另一种方式:
变成了大写S,是因为没有x 权限。
加上x 权限
就算是大S,也是能执行的。
set_gid 作用在组权限位上
先把ls 还原成原始的权限:
普通用户临时拥有所属组的身份:
试验一下普通用户能不能看root用户下子文件和子目录
能看,原因:
是有权限的
也可以作用在目录上:
创建一个子文件,子文件所属组也是user1
是不是没有set_gid 也这样呢
子文件,子目录所属组都是user1
把s权限去掉,创建一个新的文件再来看...
所属组变成了root
创建目录也是一样的, 所属组也变成了root。
使用 set_gid 创建文件和目录的权限会跟着父级目录(刚刚创建gid权限的这个目录)保持一致
特殊权限stick_bit
这个t就叫做stick bit ,防删除位
创建一个文件server, 随便写点东西,权限改成777,再来查看
切换到user1下,看能不能改 。可以改,不能删
再创建一个目录user1, 改成777权限(777权限意味着任何一个用户都可以去读,写,执行)
user1可以删文件,也可以删目录
删 user1下1.txt 看的不是1.txt的权限,看的是user1的权限,user1的权限是777,所以当然可以删1.txt
但是加上 stick_bit 防删除位,虽然可以改,但是就不能删除了。
软链接文件
文件本身里面存了一个目录的路径
什么样的文件属于软链接呢:
ls -l /lib64/
把tmp下yum.log 文件做一个软链接到 root下 yum.log
ln -s 源文件 目标文件
不仅可以链接文件,也可以链接目录:
这个是相对路径,做的这个软链接仅仅是在当前目录下,这样做会有一些弊端
假如说把文件copy到另一机器,或者是改了名字,软链接就失效了。
所以,做软链接尽量使用绝对路径
把文件移一个位置,链接一直在闪,说明源文件不存在
因为当前目录下没有yum.log
可以touch一个,touch完了就正常了
工作中,常用解决磁盘空间不够的问题
硬链接文件
硬链接不支持对目录做硬链接,只支持文件
软链接很小,硬链接很大
特性:
删掉源,软链接失效,硬链接不受影响
真正的文件存在inode文件中
硬链接相当于多了一个“皮儿”皮可以删掉,还有一个皮
不会占双份空间,因为inode只有一个
不能对目录做硬链接:
(上一个目录和下一个目录靠 . 和 .. 串起来)
文件做硬链接有一个前提:不能跨区域
(因为这两个分区是存在相同inode文件的。分区之间都有自己独立的inode体系,分区的时候都创建好了)
本文出自 “ServerLooker” 博客,请务必保留此出处http://13279218.blog.51cto.com/13269218/1976386
特殊权限set_uid, 特殊权限set_gid,特殊权限stick_bit,软链接文件, 硬连接文件
标签:linux
原文地址:http://13279218.blog.51cto.com/13269218/1976386