linux 中如何实现仅对指定的用户开放特定目录的读写执行的权限

 

001、背景

 

两个测试用户分别是:

user01

user02

 

目标:实现user01家目录下一共 有两个目录dir1和dir2; 实现user01家目录下的dir1对用户user02单独开放读写执行的权限。

 

002、测试未开放前user01下的dir1和dir2对用户user02是否有权限

 

[user01@pc1 ~]$ ls
[user01@pc1 ~]$ whoami        ## user01
user01
[user01@pc1 ~]$ pwd           ## user01家目录
/home/user01
[user01@pc1 ~]$ mkdir dir1 dir2     ## 创建两个测试目录
[user01@pc1 ~]$ ls
dir1  dir2

 

[user02@pc1 ~]$ ls
[user02@pc1 ~]$ whoami                   ## 用户user02
user02
[user02@pc1 ~]$ cd /home/user01/dir1     ## 测试user01家目录下dir1对user02的权限
-bash: cd: /home/user01/dir1: Permission denied
[user02@pc1 ~]$ cd /home/user01/dir2     ## 测试user01家目录下dir2对user02的权限
-bash: cd: /home/user01/dir2: Permission denied

 

003、用户user01修改user01家目录下dir1对usr02的权限

(注:一共要设置两次,1是user01家目录对user02的读和执行的权限; 2是usr01家目录下dir1对user02的权限)

a、首先是指usr01家目录对user02的读和执行的权限

[user01@pc1 ~]$ ls
dir1  dir2
[user01@pc1 ~]$ whoami
user01
[user01@pc1 ~]$ echo $HOME
/home/user01
[user01@pc1 ~]$ setfacl -m u:user02:r-x /home/user01     ## 设置user01的家目录对user02的读和执行的权限

 

b、设置usr01家目录下的dir1对用户user02的读写执行权限

[user01@pc1 ~]$ ls
dir1  dir2
[user01@pc1 ~]$ whoami              ## 用户user01
user01
[user01@pc1 ~]$ echo $HOME
/home/user01
[user01@pc1 ~]$ setfacl -m u:user02:rwx /home/user01/dir1/    ## user01家目录下的dir1设置对user02的读写执行权限

 

004、测试user01开放权限后,user02是否有权限

复制代码
[user02@pc1 ~]$ ls
[user02@pc1 ~]$ whoami
user02
[user02@pc1 ~]$ cd /home/user01/dir1/              ## user02对user01家目录下的拥有访问权限,同时具有写入权限
[user02@pc1 dir1]$ echo "hollo world" > a.txt      ## 写入文件
[user02@pc1 dir1]$ ls
a.txt
[user02@pc1 dir1]$ cd /home/user01/dir2/           ##  usr01家目录下的dir2对user02也开放了读和执行的权限,但是无写的权限
[user02@pc1 dir2]$ echo "hollo world" > b.txt      ## 无法写入文件
-bash: b.txt: Permission denied
复制代码

 

005、关闭user01家目录dir2对user02的读和执行的权限并进行测试

a、关闭user01家目录下dir2对user02的读和执行的权限

[user01@pc1 ~]$ ls
dir1  dir2
[user01@pc1 ~]$ whoami
user01
[user01@pc1 ~]$ echo $HOME
/home/user01
[user01@pc1 ~]$ setfacl -m u:user02:--- /home/user01/dir2/     ## 关闭权限,即设置为---

 

b、测试user01家目录下的dir2对user02的权限

[user02@pc1 dir2]$ whoami
user02
[user02@pc1 dir2]$ cd /home/user01/dir2/    ## user02此时对user01家目录下的dir2读和执行的权限,说明设置成功
-bash: cd: /home/user01/dir2/: Permission denied

 。

 

posted @   小鲨鱼2018  阅读(1210)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2020-12-29 vmware虚拟机安装Ubuntu全过程
2020-12-29 物理机可以ping通centos虚拟机,虚拟机无法ping通物理机的解决办法
点击右上角即可分享
微信分享提示