linux 中设置用户间针对单一目录的权限

 

001、 创建两个测试用户

[root@pc1 home]# ls
[root@pc1 home]# useradd user01            ## 创建两个测试用户
[root@pc1 home]# useradd user02
[root@pc1 home]# echo tmppasswd | passwd --stdin user01
Changing password for user user01.
passwd: all authentication tokens updated successfully.
[root@pc1 home]# echo tmppasswd | passwd --stdin user02
Changing password for user user02.
passwd: all authentication tokens updated successfully.
[root@pc1 home]# ls
user01  user02

 

002、切换质user01,并创建两个测试目录

[root@pc1 home]# su - user01             ## 进入user01
[user01@pc1 ~]$ ls
[user01@pc1 ~]$ mkdir test01 test02      ## 创建两个测试目录
[user01@pc1 ~]$ seq 10 > test01/a.txt    ## 测试文件
[user01@pc1 ~]$ seq 10 > test02/b.txt

 

003、登陆user02,并尝试测试对user01家目录下的目录进行访问

[user02@pc1 ~]$ ls
[user02@pc1 ~]$ whoami
user02
[user02@pc1 ~]$ cp /home/user01/test01/a.txt .                  ## 测试权限
cp: cannot stat ‘/home/user01/test01/a.txt’: Permission denied
[user02@pc1 ~]$ cp /home/user01/test02/b.txt .
cp: cannot stat ‘/home/user01/test02/b.txt’: Permission denied

 

004、开放user01目录下test01对user02的读执行的权限

a、直接对将user01的test01目录开放权限

[user01@pc1 ~]$ ls
test01  test02
[user01@pc1 ~]$ setfacl -m u:user02:r-x /home/user01/test01/   ## 开放权限
[user01@pc1 ~]$ getfacl test01/                               ## 查看
# file: test01/
# owner: user01
# group: user01
user::rwx
user:user02:r-x
group::rwx
mask::rwx
other::r-x

 

b、user02尝试访问user01的test01目录

[user02@pc1 ~]$ whoami
user02
[user02@pc1 ~]$ cp /home/user01/test01/a.txt .                  ## 仍然没有权限
cp: cannot stat ‘/home/user01/test01/a.txt’: Permission denied

 

c、将user01的家目录给user02开放权限

[user01@pc1 ~]$ whoami
user01
[user01@pc1 ~]$ echo $HOME
/home/user01
[user01@pc1 ~]$ setfacl -m u:user02:r-x /home/user01        ## user01的家目录给user02开放权限
[user01@pc1 ~]$ getfacl /home/user01/                       ## 查看权限
getfacl: Removing leading '/' from absolute path names
# file: home/user01/
# owner: user01
# group: user01
user::rwx
user:user02:r-x
group::---
mask::r-x
other::---

 

d、user02测试对user01家目录下test01目录的权限, 同时测试对user01家目录下test02的权限

[user02@pc1 ~]$ whoami
user02
[user02@pc1 ~]$ cp /home/user01/test01/a.txt . 
[user02@pc1 ~]$ ls
a.txt
[user02@pc1 ~]$ cp /home/user01/test02/b.txt .         ## 发现对user01的家目录下的所有目录都对user02有了权限
[user02@pc1 ~]$ ls
a.txt  b.txt

 

e、清空user01家目录下test02对user02的权限,测试user2对usrer01和user02家目录下test01和test02的权限

[user01@pc1 ~]$ whoami
user01
[user01@pc1 ~]$ setfacl -m u:user02:--- /home/user01/test02        ## 清空usr01的test02对user02的权限

 

f、测试usr02 对 user01家目录下 test01和test02文件的权限的差异:

[user02@pc1 ~]$ whoami
user02
[user02@pc1 ~]$ cp /home/user01/test01/a.txt .
[user02@pc1 ~]$ cp /home/user01/test02/b.txt .
cp: cannot stat ‘/home/user01/test02/b.txt’: Permission denied
[user02@pc1 ~]$ ls
a.txt

 

posted @ 2023-10-04 16:33  小鲨鱼2018  阅读(228)  评论(0编辑  收藏  举报