Linux权限命令之特殊权限

简介:

特殊权限 属于r w x范围之外的一些权限定义。
一个例子说明情况:
zhengyue是一个普通用户,运行 ls -l /etc/
那么ls本身就是一个文件,ls的权限是rwxr-xr-x root root 
Linux权限命令之特殊权限
使用zhengyue这个账户可以运行ls 是因为其他用户的权限中有执行权限。在执行过程中,ls的进程的属主就是zhengyue。
特殊权限包含SUID SGID STICKY FACL
SUID的作用
还是上面的例子,如果ls的属主权限有SUID权限,那么当zhengyue执行ls之个命令时,进程的属主为root,而不是zhengyue。
Linux权限命令之特殊权限
Linux权限命令之特殊权限
Linux权限命令之特殊权限
Linux权限命令之特殊权限
通过给文件的属主属性加上SUID权限,其他用户就可以以执行文件属主的身份运行该命令。
添加SUID权限时,如果属主本身有执行权限,显示出来的就是小s,如果属主本身没有执行权限,显示出来的就是大S

大家还记得passwd的命令吧,这个命令可以修改自己的密码。
Linux权限命令之特殊权限
在正常情况下,只有root用户可以修改密码,但是/bin/passwd这个执行文件的属主权限多了一个SUID权限,所以其他用户也可以之行该命令。
SGID的作用
正常情况下,用户创建一个文件,那么文件的属主和属组应该是创建用户和创建用户的属组。这个属性是设置在目录上的,作用是下该目录下创建的文档,属组都与目录的属组相同。而不是与用户的属组相同。
创建一个普通文件
Linux权限命令之特殊权限
Linux权限命令之特殊权限
当前的目录的属组是zhengyue
我先修改下目录的属性
Linux权限命令之特殊权限
Linux权限命令之特殊权限
再创建一个文件
Linux权限命令之特殊权限
Linux权限命令之特殊权限
test4文件的属组与目录的相同
SGID的作用就是在一个开发组里,所有用户创建的文件都可以被其他用户进行修改。
如果属组权限本身有执行权限,那么加上SGID显示的是小写s,如果属组权限本身没有执行权限,那么加上SGID显示的大写S。

STICKY
如果说同一组里有人搞破坏,把别人的文档删除了怎么办?
STICKY的作用是在同一个组里,每个用户只能删除自己的文件。
这个属性也是在目录上添加的。对象是o(其他用户属性)
Linux权限命令之特殊权限
Linux权限命令之特殊权限
Linux权限命令之特殊权限
Linux权限命令之特殊权限
Linux权限命令之特殊权限
这里有个一坑哈:属主的权限大于属组的权限,我之前是有两个用户 root 和 zhengyue 操作的目录是A,目录A的权限是774 我用root创建一个文件test1,zhengyue用户可以把test1删除了,虽然我在A的属性中加入了STICKY属性,但是目录的属主是zhengyue,所以可以把文件删除了。我把目录A的属主修改为root,zhengyue 就不能删除test1文件了。
Linux权限命令之特殊权限
再次做了测试,可以往test2里面加内容,但是不能删除。还有个不一样的地方就是test2的属组的权限是6(rw),而不是演示截图的4(r)
还记得umask的最左边的那个0不,这个位就是特殊权限位。
可以修改文件权限chmod 1777 test1 
特殊权限的排位是 SUID SGID STICKY 权限数值
0 0 0 0
0 0 1 1
0 1 0 2
Linux权限命令之特殊权限
umask最左边的0表示不启用特殊权限

FACL
类似于访问控制列表
在u g o不能够匹配的用户范围。
u g o 有时候不能很好的适应使用环境,就产生了FACL
FACL可以严格指定用户或者组来设置权限
Linux权限命令之特殊权限
这个文件只有属主可以修改文件
Linux权限命令之特殊权限
其他用户不能编辑123文件
Linux权限命令之特殊权限
getfacl表明了这个文件的所有权限
我可以只指定一个其他用户可以访问该文件
setfacl
Linux权限命令之特殊权限
Linux权限命令之特殊权限
再看看文件权限的变化
Linux权限命令之特殊权限
-m 是添加权限
-x 是删除权限 把用户的所有权限都删除,如果要修改需要重新添加
Linux权限命令之特殊权限
Linux权限命令之特殊权限
通过setfacl来修改文件属性的话,getfacl中可以看到一个mask的行要删除这个行可以使用-x m::来删除
Linux权限命令之特殊权限
Linux权限命令之特殊权限
设置权限的对象还可以是组(g:zhengyue:rw)还可以是其他用户(o::rw)
Linux权限命令之特殊权限
Linux权限命令之特殊权限
Linux权限命令之特殊权限
改完之后发现标红的地方没有变成+号,看来只有用户和组的改变才有改变


本文转自 yueyue207 51CTO博客,原文链接:http://blog.51cto.com/yueyue207/2053688


相关文章
|
1天前
|
算法 Linux 数据安全/隐私保护
Linux:权限
Linux:权限
7 0
|
1天前
|
安全 Linux 测试技术
|
1天前
|
安全 Linux Windows
Linux中Shutdown命令使用介绍
Linux中Shutdown命令使用介绍
|
2天前
|
Linux 数据安全/隐私保护 Windows
【Linux】权限 !
关于Linux的权限问题,可以理解为不同级别的工作者,分别拥有不同的能力来管理文件。
16 5
|
2天前
|
Linux 开发工具 数据安全/隐私保护
深入探索Linux:ACL权限、特殊位与隐藏属性的奥秘
深入探索Linux:ACL权限、特殊位与隐藏属性的奥秘
|
2天前
|
存储 安全 Linux
从基础到高级:Linux用户与用户组权限设置详解
从基础到高级:Linux用户与用户组权限设置详解
|
2天前
|
缓存 关系型数据库 Linux
Linux目录结构:深入理解与命令创建指南
Linux目录结构:深入理解与命令创建指南
|
2天前
|
数据挖掘 Linux vr&ar
Linux命令实战:解决日常问题的利器
Linux命令实战:解决日常问题的利器
|
2天前
|
NoSQL Linux Redis
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
15 0
|
2天前
|
安全 Linux Shell
linux基础命令详解
linux基础命令详解
8 0