首页 > 系统相关 >linux 中设置用户间针对单一目录的权限

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

时间:2023-10-04 16:45:54浏览次数:35  
标签:test01 pc1 目录 linux txt home 权限 user02 user01

 

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的权限

 

标签:test01,pc1,目录,linux,txt,home,权限,user02,user01
From: https://www.cnblogs.com/liujiaxin2018/p/17742427.html

相关文章

  • Linux相关学习(vmware安装)
    Linux系统一切皆文件(模板机:1.配置IP地址;2.关闭防火墙、selinux安全加载机制)一、配置IP地址cd/etc/sysconfig/network-scripts/lsifcfg-eth0文件解析(网卡配置文件):if:interface接口cfg:config配置eth:ethernet以太网0:第一块网卡viifcfg-eth0按“i”转换为输入模......
  • 安装Linux操作系统,学习Linux基础
    安装Linux操作系统安装Linux操作系统实践学习“别出心裁的Linux命令学习法”1、ls命令2、man命令3、cheat命令实践学习“Linux基础入门(新版)”......
  • Linux - hsp 第十章~第十一章
    第十章组管理和权限管理1)ls-ahl查看文件的所有者2)chown用户名文件名 修改文件所有者3)groupadd组名创建组4)chgrp组名文件名更改文件所在组5)usermod-g新组名用户名 更改用户所......
  • Linux_JXNUSixWeek_Linux三剑客—awk
    晚安,纺凪Dreamin'Her-僕は、彼女の夢を見る。awk简介具体基本用法:awk'$3>0{print$1,$2*$3}'emp.dataawk与sed一样,都是每一次读取一行,对一行进行处理后,继续进行下一行的处理$3表示一行中的第3列,其余同理$3>0被称为模式,{}中的指令被称为动作每一行中如果......
  • 逐渐熟悉Linux
    使用Ubuntu一年了,还没有成为它的朋友,一直依赖于图形化界面,命令行使用得很生疏,因此决定开始增加使用命令行,并且把一些用到的命令和功能做一个记录,会长期更新、添加。一些常用的指令ls:展示当前目录里所有的文件rm:删除文件cd:改变当前所处目录file:查看文件类型cat......
  • 2.linux下的目录结构
    2.linux下的目录结构1.Linux文件系统的特点●Linux文件系统采用树形结构,从根目录root(/)开始。●Linux的虚拟文件系统允许众多不同类型的文件系统共存,并支持跨文件系统的操作。●Linux的文件是无结构字符流式文件,不考虑文件内部的逻辑结构,只把文件简单地看作是一系列字符的序列......
  • 3.linux查看当前所在目录
    3.linux查看当前所在目录在Linux(以及其他类Unix系统)中,你可以使用pwd命令(代表"printworkingdirectory")来查看你当前所在的目录。只需要在命令行中输入pwd,然后按回车键,系统就会显示你当前的工作目录。例如:pwd执行上述命令后,可能会得到类似这样的输出:/home/user这表示你当前......
  • Linux动态库
    制作动态库(也称为共享库)是将可重用的代码和函数打包成单独的库,可以在多个程序中共享使用。在Linux上制作动态库涉及以下步骤:编写源代码:编写你的代码,并确保它们可以编译为动态库。通常,你需要将代码拆分成多个文件,每个文件对应一个模块或功能。编译源代码:使用合适的编译器(如......
  • linux-scp用法
    scp(SecureCopyProtocol)是一个用于在本地系统和远程系统之间安全地传输文件的命令行工具。它基于SSH协议,能够加密传输数据,提供了对文件传输的安全支持。下面详细介绍scp的用法。1.将本地文件复制到远程主机scp[options]<local_file><username@remote_host>:<remote_pat......
  • 超级实用!React-Router v6实现页面级按钮权限
    大家好,我是王天~今天咱们用reac+reactRouter来实现页面级的按钮权限功能。这篇文章分三部分,实现思路、代码实现、踩坑记录。嫌啰嗦的朋友,直接拖到第二章节看代码哦。前言通常情况下,咱们为用户添加权限时,除了页面权限,还会细化到按钮级别,比如、新增、删除、查看等权限。如下效......