特殊权限set_uid、set_gid、stick_bit、软链接文件、硬连接文件

简介:

linux中除了常见的读(r)、写(w)、执行(x)权限以外,还有3个特殊的权限,分别是setuid、setgid和stick bit

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

所属者多了一个r,这就是setuid

setuid就是:让普通用户拥有可以执行“只有root权限才能执行”的特殊权限,setgid同理指"组"

stick bit (粘贴位)

[root@centos-128 ~]# ls -ld /tmp/

drwxrwxrwt. 8 root root 225 Oct 15 17:26 /tmp/

tmp目录是所有用户共有的临时文件夹,所有用户都拥有读写权限,这就必然出现一个问题,A用户在/tmp里创建了文件a.file,此时B用户看了不爽,在/tmp里把它给删了(因为拥有读写权限),那肯定是不行的。实际上是不会发生这种情况,因为有特殊权限stick bit(粘贴位)权限,正如drwxrwxrwt中的最后一个t;

stick bit (粘贴位)就是:除非目录的属主和root用户有权限删除它,除此之外其它用户不能删除和修改这个目录。也就是说,在/tmp目录中,只有文件的拥有者和root才能对其进行修改和删除,其他用户则不行,避免了上面所说的问题产生。用途一般是把一个文件夹的的权限都打开,然后来共享文件,象/tmp目录一样。


setuid:chmod u+s xxx

setgid: chmod g+s xxx

stick bit : chmod o+t xxx

setuid:chmod 4755 xxx

setgid:chmod 2755 xxx

stick bit:chmod 1755 xxx

最后,在一些文件设置了特殊权限后,字母不是小写的s或者t,而是大写的S和T,那代表此文件的特殊权限没有生效,是因为你尚未给它对应用户的x权限 


软链接文件(相当于window的快捷方式,删除后对文件内容无影响):

ln -s 源文件 目标文件

[root@test ~]# ln -s 1.txt 2.txt

[root@test ~]# ls -la 2.txt 

lrwxrwxrwx 1 root root 5 Oct 23 12:02 2.txt -> 1.txt


硬连接文件(相当于复制一个文件,但是占用了容量)

[root@test ~]# ln 1.txt 2.txt

[root@test ~]# du -sh 1.txt 

4.0K 1.txt

[root@test ~]# du -sh 2.txt 

4.0K 2.txt














本文转自方向对了,就不怕路远了!51CTO博客,原文链接: http://blog.51cto.com/jacksoner/1972644,如需转载请自行联系原作者



相关文章
|
安全 网络协议 Shell
社会工程学工具包(SET)的PDF文件钓鱼攻击
社会工程学工具包(SET)的PDF文件钓鱼攻击
360 0
|
存储 NoSQL Java
数据类型-set 实现权限校验| 学习笔记
快速学习数据类型-set 实现权限校验
数据类型-set 实现权限校验| 学习笔记
Jmeter组件-Random CSV Data Set Config参数化CSV随机读取文件
Jmeter组件-Random CSV Data Set Config参数化CSV随机读取文件
Jmeter组件-Random CSV Data Set Config参数化CSV随机读取文件
|
1月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
169 1
|
4月前
|
存储 缓存 JavaScript
Set和Map有什么区别?
Set和Map有什么区别?
403 1
|
1月前
|
存储 算法 容器
set_map的实现+set/map加持秒杀高频算法题锻炼算法思维
`set`基于红黑树实现,支持有序存储、自动去重,增删查效率为O(logN)。通过仿函数可自定义排序规则,配合空间配置器灵活管理内存。不支持修改元素值,迭代器失效需注意。`multiset`允许重复元素。常用于去重、排序及查找场景。
|
5月前
|
存储 JavaScript 前端开发
for...of循环在遍历Set和Map时的注意事项有哪些?
for...of循环在遍历Set和Map时的注意事项有哪些?
316 121
|
8月前
|
编译器 C++ 容器
【c++丨STL】基于红黑树模拟实现set和map(附源码)
本文基于红黑树的实现,模拟了STL中的`set`和`map`容器。通过封装同一棵红黑树并进行适配修改,实现了两种容器的功能。主要步骤包括:1) 修改红黑树节点结构以支持不同数据类型;2) 使用仿函数适配键值比较逻辑;3) 实现双向迭代器支持遍历操作;4) 封装`insert`、`find`等接口,并为`map`实现`operator[]`。最终,通过测试代码验证了功能的正确性。此实现减少了代码冗余,展示了模板与仿函数的强大灵活性。
245 2