在 Linux 上指定目录的读写权限赋予用户,有两种方法可以实现这个目标:第一种是使用 ACL (访问控制列表),第二种是创建用户组来管理文件权限,下面会一一介绍。为了完成这个教程,我们将使用以下设置:

  • 操作系统:CentOS 7

  • 测试目录:/data/share

  • 测试用户:shenweiyan

  • 文件系统类型:ext4

请确认所有的命令都是使用 root 用户执行的,或者使用 sudo 命令来享受与之同样的权限。让我们开始吧!下面,先使用 mkdir 命令来创建一个名为 share 的目录。

$ mkdir -p /data/share


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

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

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

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

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

第二,查看文件系统(分区)挂载时是否使用了 ACL 选项。

$ tune2fs -l /dev/vda1 | grep acl



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

$ mount -o remount,acl /
$ tune2fs -o acl /dev/sda3


第三,指定目录 share 的读写权限分配给名为 shenweiyan 的用户了,依照以下命令执行即可。

# 检查目录默认的 ACL 设置(Check the default ACL settings for the directory)
$ getfacl /data/share 

# 指定用户读写权限(Give rw access to user shenweiyan)
# 对于目录必须增加 x (执行)权限, 否则无法进入目录
$ setfacl -m user:shenweiyan:rwx /data/share

# 再次检查目录 ACL 设置(Check new ACL settings for the directory)
$ getfacl /data/share




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

如果想要获取 ACL 列表的更多信息。请参考:

  • 如何使用访问控制列表(ACL)为用户/组设置磁盘配额

  • 如何使用访问控制列表(ACL)挂载网络共享


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

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

$ chgrp shenweiyan /data/share

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

$ groupadd dbshare

2. 接下来将用户 shenweiyan 添加到 dbshare 组中:

# add user to projects
$ usermod -aG dbshare shenweiyan 

# check users groups
$ groups tecmint

3. 将目录的所属用户组变更为 dbshare:

$ chgrp projects /data/share

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

$ chmod -R 0760 /data/share

# check new permissions
$ ls -l /data/share

ok,以上就是在 Linux 上给用户赋予指定目录的读写权限的全部内容,希望对大家有用!


往期精彩:

——The  End——

本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

在 Linux 上给用户赋予指定目录的读写权限的更多相关文章

  1. linux创建ftp用户以及指定目录问题

    linux创建ftp用户以及指定目录问题 创建用户命令:如我的目录是根目录下的 MyWeb 用户名:xdh2571 #useradd -G ftp -d /MyWeb -M xdh2571#passw ...

  2. linux 判断指定用户对指定目录具有的权限

    脚本名:power.sh 脚本内容: ------------------------------------------- 注意:必须以root 身份执行该脚本. 脚本power.sh 需要两个参数 ...

  3. linux授权某个用户对某个目录有读写的权限

    针对特定的某一个用户设置文件或目录权限,用setfacl. 首先打开文件系统的acl功能,在挂载参数添加cal,再保存退出,比如/home分区: vim /etc/fstab /dev/sda2 /h ...

  4. linux用户登录指定目录

    一.创建用户和用户组 [root@web4 lianyu]# groupadd lianyu [root@web4 lianyu]# useradd lianyu -g lianyu [root@we ...

  5. CentOS下源码安装vsftpd-3.0.0,并设置指定用户访问指定目录(附带完整配置文件)

    1.卸载系统已经存在的ftp服务器 因为是源码安装,所以不能通过rpm -qa的方式查看是否已经安装ftp服务器,可以通过find / | grep vsftp*方式查看系统中存在哪些与vsftpd相 ...

  6. linux上的用户管理

    作为一个专业的服务器发行版,CentOS上存在着n多个用户,作为一个专业的运维工程师,linux的用户管理和用户组的管理是做为一个SA必不可少的工作. 下面我们就先来谈谈linux中的用户管理: us ...

  7. Linux解压文件到指定目录

    Linux解压文件到指定目录 tar在Linux上是常用的打包.压缩.加压缩工具,他的参数很多,折里仅仅列举常用的压缩与解压缩参数 参数:-c :create 建立压缩档案的参数:-x : 解压缩压缩 ...

  8. linux上限制用户进程数、cpu占用率、内存使用率

    限制进程CPU占用率的问题,给出了一个shell脚本代码如下: renice +10 `ps aux | awk '{ if ($3 > 0.8 && id -u $1 > ...

  9. linux下nginx服务器域名指定目录

    一般,域名指定ip之后,需要在ip所在的机器去指定相应站点的目录,否则域名会不起作用: 下面说说linux下的nginx服务器指定目录的细节: 域名绑定目录的配置文件都放到这里: /usr/local ...

  10. Linux上项目部署在home目录中无法访问的问题

    在Linux上开发一个Web项目,使用nginx作为Web服务器.在nginx的配置文件中添加一个server,root路径写的是放在home目录中的项目目录的路径.打开浏览器访问,提示错误:403 ...

随机推荐

  1. 从零开始学习 Java 系列之你为什么要学 Java?

    全文大约[4000]字,不说废话,只讲可以让你学到技术.明白原理的纯干货! 在正式开始本系列教程之前,壹哥希望先用一篇文章,来扫清你学习前的认知障碍.请坚定自己的学习信念,不要半途而废浪费时间,壹哥希 ...

  2. MyBatisPlus 自动填充演示

    一.数据库 表中新增"添加时间"和"修改时间"字段:

  3. style中加了scoped无法更改element ui样式解决办法

    第一种方法 原因:scoped 解决方法:去掉scoped 注意:此时该样式会污染全局样式,可以把它放在公共的css里面 为了不让所有的 el-input标签都是该样式,可以在HTML给改input加 ...

  4. 系统评价——主成分分析PCA的R语言实现(六)

    主成分分析(Principal Component Analysis,PCA),是将多个变量通过线性变换以选出较少个数重要变量的一种多元统计分析方法,起到数据约减和集成的作用.在许多领域的研究与应用中 ...

  5. 网络计划技术——关键路线法(Python)

    关键路径法是基于进度网络模型的方法,用网络图表示各项活动之间的相互关系,获得在一定工期.成本.资源约束条件下的最优进度安排.关键路径法源于美国杜邦公司对于项目管理控制成本.减少工期的研究.1959年, ...

  6. SpringCloud源码学习笔记3——Nacos服务注册源码分析

    系列文章目录和关于我 一丶基本概念&Nacos架构 1.为什么需要注册中心 实现服务治理.服务动态扩容,以及调用时能有负载均衡的效果. 如果我们将服务提供方的ip地址配置在服务消费方的配置文件 ...

  7. devops工具链基建建设评价标准

    之所以写这篇是因为有朋友私下让我完善下基建建设的标准和四个阶梯划分,然后让我一定要把腾讯和百度加到基建建设的排名中(看热闹不嫌事大). 基建infra建设四个考察维度 1)工具链完整性:该有的工具是否 ...

  8. .Net Core工作流WorkFlowCore

    前言 WorkFlowCore是一个针对.NetCore的轻量级的工作流引擎,提供了FluentAPI.多任务.持久化以及并行处理的功能,适合于小型工作流.责任链的需求开发.支持工作流长期运行,提供了 ...

  9. Linux升级安装GCC

    各发行版本Linux中,其自带的gcc安装源版本都比较旧,我所使用CentOS 6系统中,gcc版本只有4.4.7.最近要安装几个软件要求gcc 4.8+,无奈只能手动升级gcc. 1. 下载最新版本 ...

  10. 如何训练个人的ChatGpt4

    如何在自己的计算机上安装类似 ChatGPT 的个人 AI 并在没有互联网的情况下运行它 本文旨在为任何人安装此软件.最初它有一个视频,伴随着操作方法,但是事情变化很快,我的三次尝试只是推迟了我发表这 ...