在 Linux 上给用户赋予指定目录的读写权限

系统 Linux
在本篇文章中,我们将向您介绍如何将Linux上指定目录的读写权限赋予用户。

       在本篇文章中,我们将向您介绍如何将Linux上指定目录的读写权限赋予用户。

       有两种方法可以实现这个目标:***种是使用ACL(访问控制列表),第二种是创建用户组来管理文件权限,下面会一一介绍。

为了完成这个教程,我们将使用以下设置。

操作系统:CentOS7
测试目录:/shares/project1/reports
测试用户:tecmint
文件系统类型:ext4

请确认所有的命令都是使用root用户执行的,或者使用sudo命令来享受与之同样的权限。

让我们开始吧!下面,先使用mkdir命令来创建一个名为reports的目录。

  1. #mkdir-p/shares/project1/reports 


        使用ACL来为用户赋予目录的读写权限

重要提示:打算使用此方法的话,您需要确认您的Linux文件系统类型(如ext3和ext4,NTFS,BTRFS)支持ACL。

1、首先,依照以下命令在您的系统中检查当前文件系统类型,并且查看内核是否支持ACL:

  1. #df-T|awk'{print$1,$2,$NF}'|grep"^/dev" 
  2. #grep-iacl/boot/config* 


从下方的截屏可以看到,文件系统类型是ext4,并且从CONFIG_EXT4_FS_POSIX_ACL=y选项可以发现内核是支持POSIXACL的。

查看文件系统类型和内核的 ACL 支持。

 

 2、接下来,查看文件系统(分区)挂载时是否使用了ACL选项。

  1. #tune2fs-l/dev/sda1|grepacl 


查看分区是否支持 ACL

        通过上边的输出可以发现,默认的挂载项目中已经对ACL进行了支持。如果发现结果不如所愿,你可以通过以下命令对指定分区(此例中使用/dev/sda3)开启ACL的支持。

  1. #mount-oremount,acl/ 
  2. #tune2fs-oacl/dev/sda3 


3、现在是时候指定目录reports的读写权限分配给名为tecmint的用户了,依照以下命令执行即可。

  1. #getfacl/shares/project1/reports#CheckthedefaultACLsettingsforthedirectory 
  2. #setfacl-muser:tecmint:rw/shares/project1/reports#Giverwaccesstousertecmint 
  3. #getfacl/shares/project1/reports#ChecknewACLsettingsforthedirectory 

 

通过 ACL 对指定目录赋予读写权限

  

        在上方的截屏中,通过输出结果的第二行getfacl命令可以发现,用户tecmint已经成功的被赋予了/shares/project1/reports目录的读写权限。

下面我们来看看如何使用第二种方法来为目录赋予读写权限。

        使用用户组来为用户赋予指定目录的读写权限

1、如果用户已经拥有了默认的用户组(通常组名与用户名相同),就可以简单的通过变更文件夹的所属用户组来完成。

  1. #chgrptecmint/shares/project1/reports 
  

       另外,我们也可以通过以下方法为多个用户(需要赋予指定目录读写权限的)新建一个用户组。如此一来,也就创建了一个共享目录

  1. #groupaddprojects 


2、接下来将用户tecmint添加到projects组中:

  1. #usermod-aGprojectstecmint #addusertoprojects 
  2. #groupstecmint #checkusersgroups 

       3、将目录的所属用户组变更为projects:

  1. #chgrpprojects/shares/project1/reports 

       4、现在,给组成员设置读写权限。

  1. #chmod-R0760/shares/projects/reports 
  2. #ls-l/shares/projects/ #checknewpermissions 


       好了!这篇教程中,我们向您展示了如何在Linux中将指定目录的读写权限赋予用户。若有疑问,请在留言区中提问。

责任编辑:刘妮娜 来源: Linux中国
相关推荐

2017-05-08 17:20:01

Linux指定目录读写权限

2018-01-05 10:00:50

Linux命令ACL

2018-09-30 10:18:44

Linux 文件系统目录

2011-03-25 10:43:31

Oracle系统用户权限赋予

2017-03-17 11:30:04

LinuxSSH目录

2010-10-28 13:37:19

oracle查询权限

2019-11-26 08:40:16

LinuxSSHSFTP

2012-10-09 10:26:52

Linux目录权限

2018-06-19 08:12:25

2023-04-12 15:37:31

Linux系统CPU

2017-03-20 19:01:20

Linux管理员系统用户

2009-10-22 17:17:54

Oracle给用户解锁

2022-08-14 19:27:16

LinuxmacOS

2021-12-12 09:19:16

find命令Linux

2010-07-29 11:02:25

VPN连接

2010-03-09 13:10:08

Linux特殊用户权限

2010-03-03 14:17:02

Linux内核

2018-01-19 10:59:09

Linux安装卸载

2023-10-09 08:37:39

2017-02-10 20:00:17

Linux共享目录命令
点赞
收藏

51CTO技术栈公众号