Linux之ACL权限管理

本文详细介绍了Linux的访问控制列表(AccessControlList,ACL)权限设置,包括创建用户、组,修改所有者和所属组,设定权限,为临时用户分配权限,以及验证权限的过程。
摘要由CSDN通过智能技术生成

1.ACL权限介绍

每个项目成员有一个自己的项目目录,对自己的目录有完全权限
项目组中的成员对项目目录也有完全权限
其他人对项目目录没有任何权限
对于被分配进入项目的临时人员,只有读和执行权限,不能修改

二、操作步骤

在这里插入图片描述

1. 添加测试目录、用户、组,并将用户添加到组

第一步:创建文件夹(查询是否创建成功ll,东西太多用管道符)

第二步:创建用户(可以是多个,用户=员工,张三zs、李四ls)

第三步:创建组(tgroup组名字)

第四步:把员工放到一个组里(-a追加和添加的意思 可以查看是否加进去 cat /etc/group)
[root@localhost ~]# mkdir /project
[root@localhost ~]# useradd zs
[root@localhost ~]# useradd ls
[root@localhost ~]# groupadd tgroup
[root@localhost ~]# gpasswd -a zs tgroup
正在将用户“zs”加入到“tgroup”组中
[root@localhost ~]# gpasswd -a ls tgroup
正在将用户“ls”加入到“tgroup”组中
查看组是否正常建立

cat /etc/group

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. 为临时用户分配权限

4.1 添加临时用户

[root@localhost ~]# useradd tempuser
[root@localhost ~]# passwd tempuser
4.2 为临时用户分配特定权限

[root@localhost ~]# setfacl -m u:tempuser:rx /project
[root@localhost ~]# getfacl /project
getfacl: Removing leading ‘/’ from absolute path names
#file: project
#owner: root
#group: tgroup
user::rwx
user:tempuser:r-x
group::rwx
mask::rwx
other::—
4.3 查看目录权限,注意+,表示文件或目录有acl权限

[root@localhost ~]# ll -d /project
drwxrwx—+ 2 root tgroup 6 2月 23 18:35 /project

5. 验证acl权限

[root@localhost ~]# su tempuser
[tempuser@localhost root]$

[tempuser@localhost root]$ cd /project
[tempuser@localhost project]$
[tempuser@localhost project]$ touch test.txt
touch: 无法创建"test.txt": 权限不够

6. 控制组的acl权限

[tempuser@localhost project]$ su root
密码:
[root@localhost project]# groupadd temp

[root@localhost project]# setfacl -m g:temp:rx /project

[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::—
创建一个用户
[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": 权限不够

  • 21
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值