linux基础--特殊权限及文件系统访问控制列表

简介:

特殊权限

SUID:运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动用户。

SGID:运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动用户所属的基本组。

Sticky:在一个公共目录,每个用户都可以创建文件,能删除自己的文件,但不能删除别人的文件


修改文件的特殊权限

  chmod u+s FILE:给文件添加SUID权限

  chmod u-s FILE:给文件删除SUID权限

  chmod g+s FILE:给文件添加SGID权限

  chmod g-s FILE:给文件删除SGID权限

  chmod o+t DIR:给目录增加Sticky权限

  chmod o-t DIR:给目录删除Sticky权限


例子:

 chmod 1755 /back/test:带Sticky权限的755文件

 chmod 2755 /back/test:带SGID权限的755文件

 chmod 3755 /back/test:带Sticky和SGID权限的755文件

 chmod 4755 /back/test:带SGID和SUID权限的755文件

 chmod 5755 /back/test:带Sticky和SUID权限的755文件

 chmod 6755 /back/test:带Sticky和SUID以及SGID权限的755文件

因此umask的0022中第一位0就代表的是特殊权限。


练习:创建一个目录,让user01,user02,user03都有写的权限,并且都可以编辑另外的用户创建的文件,但是不可删除别人创建的文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@liang-study ~] # mkdir /home/project   #创建公用目录
[root@liang-study ~] # useradd user01    #创建用户
[root@liang-study ~] # useradd user02
[root@liang-study ~] # useradd user03
[root@liang-study ~] # groupadd mygroup   #创建附加组
[root@liang-study ~] # usermod -a -G mygroup user01   #将用户添加至附加组
[root@liang-study ~] # usermod -a -G mygroup user02
[root@liang-study ~] # usermod -a -G mygroup user03
[root@liang-study ~] # id user01    #验证添加是否成功
uid=5001(user01) gid=5001(user01)  groups =5001(user01),5004(mygroup)
[root@liang-study ~] # chown :mygroup /home/project/   #修改目录所属组为附加组
[root@liang-study home] # chmod g+s /home/project/    #给公用目录添加SGID权限
[user02@liang-study project]$ ll      #使用user01-03创建的文件的属组就是目录的所属组mygroup
total 4
-rw-rw-r-- 1 user01 mygroup 22 Dec 22 11:26 user01.txt
-rw-rw-r-- 1 user02 mygroup  0 Dec 22 11:26 user02.txt
#此时,user01登录此目录就可以修改其他文件,也可以删除。
[root@liang-study project] # chmod o+t /home/project/ -R    #添加sticky权限
[root@liang-study home] # ls -ld /home/project/  
drwxrwsr-t 2 root mygroup 4096 Dec 22 11:26  /home/project/
#至此,完成实验



FACL:File System Access Control List

  利用文件扩展属性保存额外的访问控制权限,ACL为现有权限机制的延伸,在现有机制的三个基本设定(owner、group、other)的基础上加入了对某指定使用者或群组的存取权限设定。

  FACL可以对某个文件设置该文件具体的某些用户的权限,意思就是通过FACL可以对一个文件权限做扩展,可以不同的用户对某个文件有不同的权限。如让tom用户对jerry创建的文件有读写权限。


setfacl

 -m:设置额外访问控制列表

   u:uid:perm FILE  设定指定用户对FILE有指定权限

   d:uid:perm DIR  设定指定用户对目录的指定权限,默认在此目录创建的文件都会继承FACL

   g:gid:perm FILE  设定指定组对FILE有指定权限

    例:setfacl -m u:hoodop:rw /tmp/test.txt  添加hoodop用户对test.txt拥有读写权限。

 -x:取消额外访问控制列表

 --mask:设置默认mask权限

getfacl FILE:获取facl权限


 

添加facl权限后的权限应用顺序

owner-->facl中的user-->Group-->facl中的group-->Other

本文转自  亮公子  51CTO博客,原文链接:http://blog.51cto.com/iyull/1884923

相关实践学习
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
7天前
|
存储 移动开发 Linux
Linux系统之部署h5ai目录列表程序
【5月更文挑战第3天】Linux系统之部署h5ai目录列表程序
21 1
|
4天前
|
存储 缓存 Linux
【Linux】文件系统
在打开文件之前,我们需要找到文件 -> 就要从磁盘中找到对应文件 -> 通过文件路径与文件名
19 4
|
19小时前
|
存储 Linux
Linux为新创建的磁盘分区添加文件系统
Linux为新创建的磁盘分区添加文件系统
|
2天前
|
Linux Windows 存储
|
2天前
|
Linux
如何在 Linux 中递归更改文件的权限?
【5月更文挑战第10天】
13 3
|
3天前
|
存储 算法 Linux
【Linux】详解文件系统以及周边知识
【Linux】详解文件系统以及周边知识
|
4天前
|
算法 Linux 数据安全/隐私保护
Linux:权限
Linux:权限
12 0
|
5天前
|
Linux 数据安全/隐私保护 Windows
【Linux】权限 !
关于Linux的权限问题,可以理解为不同级别的工作者,分别拥有不同的能力来管理文件。
20 5
|
5天前
|
Linux 开发工具 数据安全/隐私保护
深入探索Linux:ACL权限、特殊位与隐藏属性的奥秘
深入探索Linux:ACL权限、特殊位与隐藏属性的奥秘
|
5天前
|
存储 安全 Linux
从基础到高级:Linux用户与用户组权限设置详解
从基础到高级:Linux用户与用户组权限设置详解