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
分类:
linux shell
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2021-10-04 文本文件和二进制文件有什么区别?
2020-10-04 R语言中duplicated函数:去重复,取重复
2020-10-04 linux系统中输入输出重定向 0<、<、1>、>、2>、1>>、>>、2>>、&>、>&、&>>、2>&1、<<