本文主要是介绍Linux(ACT)权限管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 一、 ATC简介
- 二、 案例
- 1. 添加测试目录、用户、组,并将用户添加到组
- 2. 修改目录的所有者和所属组
- 3. 设定权限
- 4. 为临时用户分配权限
- 5. 验证acl权限
- 6. 控制组的acl权限
一、 ATC简介
ACL(Access Control List,访问控制列表)是一种文件权限管理机制,它提供了比传统的UGO(用户、组、其他)权限更灵活的权限设置方式。以下是ACL的一些主要功能:
针对特定用户或用户组设置权限:ACL允许管理员为特定的用户或用户组设置访问某个文件或目录的权限,而不影响其他用户的权限。
子文件/目录继承父目录的权限:在ACL中,可以设置子文件和子目录继承父目录的权限,这样可以简化权限管理的工作。
解决传统权限分配的限制:在传统的Linux文件权限中,一个文件只有所有者、所属组和其他用户的权限设置,这在某些复杂的权限需求面前显得不够用。ACL通过提供更多的权限设置选项,解决了这一问题。
检查和支持ACL:要使用ACL,需要确保Linux内核和文件系统支持。大多数现代Linux发行版默认都支持ACL,但可以通过命令如dumpe2fs来检查文件系统的ACL支持状态。
挂载时启用ACL:如果某些分区没有启用ACL,可以通过mount命令重新挂载分区并加入acl选项来启用ACL权限。
操作系统的支持:不同的操作系统对ACL的支持程度可能不同。例如,CentOS 6.x系统中ACL权限默认是开启的,而在其他系统中可能需要手动开启或检查ACL权限的状态。
二、 案例
1. 添加测试目录、用户、组,并将用户添加到组
创建zs,ls添加到tgroup组中
输入mkdir /project然后ll查看即可
2. 修改目录的所有者和所属组
[root@localhost ~]# chown root:tgroup /project
[root@localhost ~]# ll -d /project
drwxr-xr-x. 2 root tgroup 6 2月 23 18:35 /project
3. 设定权限
[root@localhost ~]# chmod 770 /project
[root@localhost ~]# ll -d /project
drwxrwx—. 2 root tgroup 6 2月 23 18:35 /project
4. 为临时用户分配权限
[root@localhost ~]# useradd tempuser
[root@localhost ~]# passwd tempuser
5. 验证acl权限
5.1 切换到临时用户tempuser
[root@localhost ~]# su tempuser
[tempuser@localhost root]$
5.2 验证可以进入project目录
[tempuser@localhost root]$ cd /project
[tempuser@localhost project]$
5.3 验证不能在project中创建文件
[tempuser@localhost project]$ touch test.txt
touch: 无法创建"test.txt": 权限不够
6. 控制组的acl权限
6.1 创建一个temp组
[tempuser@localhost project]$ su root
密码:
[root@localhost project]# groupadd temp
6.2 设置组的acl
[root@localhost project]# setfacl -m g:temp:rx /project
6.3 查看设置后acl
[root@localhost project]# getfacl /project
getfacl: Removing leading ‘/’ from absolute path names
#file: project
#owner: root
#group: tgroup
user::rwx
user:tempuser:r-x
group::rwx
group:temp:r-x
mask::rwx
other::—
6.4 创建一个用户
[root@localhost project]# useradd tempu02
[root@localhost project]# passwd tempu02
6.5 将用户添加到temp组中
[root@localhost project]# gpasswd -a tempu02 temp
正在将用户“tempu02”加入到“temp”组中
6.6 验证
[root@localhost project]# su tempu02
#可以进入目录
[tempu02@localhost project]$ cd /project
#不能创建文件
[tempu02@localhost project]$ touch aa.txt
touch: 无法创建"aa.txt": 权限不够
这篇关于Linux(ACT)权限管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!