文章目录
- 1.ACL权限介绍
- 二、操作步骤
- 1. 添加测试目录、用户、组,并将用户添加到组
- 2. 修改目录的所有者和所属组
- 3. 设定权限
- 4. 为临时用户分配权限
- 5. 验证acl权限
- 6. 控制组的acl权限
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": 权限不够