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

相关文章
|
10月前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
546 3
|
12月前
|
自然语言处理 监控 Linux
Linux 内核源码分析---proc 文件系统
`proc`文件系统是Linux内核中一个灵活而强大的工具,提供了一个与内核数据结构交互的接口。通过本文的分析,我们深入探讨了 `proc`文件系统的实现原理,包括其初始化、文件的创建与操作、动态内容生成等方面。通过对这些内容的理解,开发者可以更好地利用 `proc`文件系统来监控和调试内核,同时也为系统管理提供了便利的工具。
629 16
|
安全 Unix Linux
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
25000多字详细讲解,深度剖析权限管理核心。从基础权限到复杂的特殊权限,逐一拆解,无论你是零基础小白还是经验丰富的运维人员,都能在这里找到提升技能的关键知识,全面掌握 Linux 权限管理。还不快来看看?
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
|
12月前
|
安全 Linux 数据安全/隐私保护
【Linux】深入理解linux权限
本文深入解析Linux权限管理机制,涵盖权限概念、用户角色、文件属性及操作方法。文章分为前言、权限介绍、用户与角色、文件属性、权限修改及常见问题六大板块。详细说明了权限类型(r/w/x)、角色优先级、chmod/chown指令用法,以及目录权限、umask掩码、粘滞位等重点内容。掌握这些知识,可有效提升Linux系统安全性和灵活性,是管理员必备技能。喜欢的话别忘了点赞支持哦! ❤❤❤
726 6
|
安全 Linux 数据安全/隐私保护
Linux权限揭秘“Root与Sudo”
Root用户是Linux系统中的超级用户,拥有对系统的完全控制权。Root用户几乎可以执行任何命令,修改任何文件,甚至删除系统上的所有内容。因此,Root用户的使用需要非常谨慎,以避免潜在的安全风险。
666 6
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
735 15
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
3416 7
|
存储 运维 监控
Linux--深入理与解linux文件系统与日志文件分析
深入理解 Linux 文件系统和日志文件分析,对于系统管理员和运维工程师来说至关重要。文件系统管理涉及到文件的组织、存储和检索,而日志文件则记录了系统和应用的运行状态,是排查故障和维护系统的重要依据。通过掌握文件系统和日志文件的管理和分析技能,可以有效提升系统的稳定性和安全性。
369 7
|
6月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
728 1
二、Linux文本处理与文件操作核心命令

热门文章

最新文章