当前位置: 首页 > ds >正文

linux下ACL权限和掩码权限

🎯 本文专栏:Linux
🚀 作者主页:小度爱学习

在这里插入图片描述

1、ACL 权限

ACL 权限分配:给指定的用户指定目录分配指定的权限。

1.1、ACL权限管理命令

查看ACL权限

[root@localhost ~]# getfacle 文件名

设定ACL权限

语法: setfacl 选项 文件名

选项:

-m:设定 ACL 权限。如果是给予用户 ACL 权限,则使用 u:用户名:权限 格式赋予;如果是给予组 ACL 权限,则使用 g:组名:权限" 格式赋予;

-x:删除指定的 ACL 权限;

-b:删除所有的 ACL 权限;

-d:设定默认 ACL 权限。只对目录生效,指目录中新建立的文件拥有此默认权限;

-k:删除默认 ACL 权限;

-R:递归设定 ACL 权限。指设定的 ACL 权限会对目录下的所有子文件生效;

 #给用户和用户组添加ACL权限 给用户设定 ACL 权限:setfacl -m u:用户名:权限 指定文件名 给用户组设定 ACL 权限:setfacl -m g:组名:权限 指定文件名 #通过加上选项 -R 递归设定文件的 ACL 权限,所有的子目录和子文件也会拥有相同的ACL权限 setfacl -Rm u:用户名:权限 -R 文件名 # 如果给父目录设定了默认的 ACL 权限,那么父目录中所有新建的子文件会继承父目录的ACL权限 setfacl -m d:u:用户名:权限 文件名 setfacl -md u:用户名:权限 文件名

示例:所有者root用户在根目录下创建一个文件目录/project,然后创建一个QQ群所属组,所属组里面 创建两个用户zhangsan和lisi。此文件权限是770。

然后创建一个旁听用户 pt,给他设定/project目录的 ACL 为 r-x。

[root@kongd ~]# mkdir /project
[root@kongd ~]# useradd zhangsan
[root@kongd ~]# useradd lisi
[root@kongd ~]# groupadd QQgroup
[root@kongd ~]# gpasswd -M zhangsan,lisi QQgroup
[root@kongd ~]# chown root:QQgroup /project/
[root@kongd ~]# chmod 770 /project/
[root@kongd ~]# ll -d /project/
drwxrwx---. 2 root QQgroup 6 12月 30 14:15 /project/

目录 /project 的所有者和所属组其他人权限设定为 770。接下来我们创建旁听用户 pt,并赋予 acl 权限

[root@kongd ~]# useradd pt
[root@kongd ~]# setfacl -m u:pt:rx /project/
注意如下所示,如果某个目录或文件下有 + 标志,说明其具有 acl 权限。
[root@kongd ~]# ll -d /project/
drwxrwx---+ 2 root QQgroup 6 12月 30 14:15 /project/
[root@kongd ~]# getfacl /project/
getfacl: Removing leading '/' from absolute path names
# file: project/
# owner: root
# group: QQgroup
user::rwx
user:pt:r-x
group::rwx
mask::rwx
other::---

为了验证 pt 用户对于 /project 目录没有写权限,我们用 su 命令切换到 pt 用户,然后进入 /project 目 录,在此目录下创建文件,看是否能成功:

[root@kongd ~]# su - pt
[pt@kongd ~]$ cd /project/
[pt@kongd project]$ touch test.txt
touch: 无法创建 'test.txt': 权限不够

1.2、删除acl权限

#删除指定用户的 ACL 权限
setfacl -x u:用户名 文件名
#删除指定用户组的 ACL 权限
setfacl -x g:组名 文件名
#删除文件的所有 ACL 权限
setfacl -b 文件名

2、权限掩码umask

2.1、设置新建文件或目录的默认权限

在Linux系统中,当用户创建一个新的文件或目录时,系统都会为新建的文件或目录分配默认的权限,该默认权限与umask值有关,其具体关系是:

新建文件的默认权限=0666-umask值

新建目录的默认权限=0777-umask值

  • 分别查看、修改用户当前默认的umask值。
[root@localhost ~]# umask                       //查看当前用户的umask权
限
0022
[root@localhost ~]# touch file800
[root@localhost ~]# mkdir dir800
[root@localhost ~]# ll -d dir800 file800 
drwxr-xr-x. 2 root root 4096 3月  11 19:40 dir800
-rw-r--r--. 1 root root    0 3月  11 19:40 file800#修改shell umask值(临时)
[root@localhost ~]# umask 000
[root@localhost ~]# mkdir dir900
[root@localhost ~]# touch file900
[root@localhost ~]# ll -d dir900 file900 
drwxrwxrwx. 2 root root 4096 3月  11 19:44 dir900
-rw-rw-rw-. 1 root root    0 3月  11 19:44 file900#修改shell umask值(永久)
[root@localhost ~]# vim /etc/profile   
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; thenumask 002
elseumask 022
fi
[root@localhost ~]# source /etc/profile       //立即在当前shell中生效#通过umask决定新建用户家目录的权限
[root@localhost ~]# vim /etc/login.defs 
UMASK           077
[root@localhost ~]# useradd gougou
[root@localhost ~]# ll -d /home/gougou/
drwx------. 4 gougou gougou 4096 3月  11 19:50 /home/gougou/
[root@localhost ~]# vim /etc/login.defs
UMASK           000
[root@localhost ~]# useradd yangyang
[root@localhost ~]# ll -d /home/yangyang/
drwxrwxrwx. 4 yangyang yangyang 4096 3月  11 19:53 /home/yangyang/#例如vsftpd进程 /etc/vsftpd/vsftpd.conf 【了解】
anon_umask=007
local_umask=000
http://www.xdnf.cn/news/3107.html

相关文章:

  • Springboot2.X 读取多层嵌套的配置结构
  • 【东枫电子】AI-RAN:人工智能 - 无线接入网络
  • react-新建项目复用node_modules
  • 从摄像头到 RAW 数据:MJPEG 捕获与验证
  • 大屏软件设计的交互设计底层逻辑
  • TCP概念+模拟tcp服务器及客户端
  • React Navigation 使用指南
  • mongoose的介绍,连接数据库
  • linux安装ragflow
  • 4.29【Q】paraCompute
  • 深入分析OpenCV技术原理:计算机视觉的核心力量
  • JavaScript 中的类型转换机制?
  • ​MCP协议深度解析:原理、应用与物联网时代的机遇-优雅草卓伊凡
  • 5. 配置舵机ID(具身智能机器人套件)
  • 使用 np.zeros_like(label) 保存预测概率时发现数据类型不匹配导致的隐式类型转换
  • 新版权案件申请TRO,涵盖复古风吉他与头盔
  • 【LeetCode】螺旋矩阵
  • Maven根据Google proto文件自动生成java对象
  • 香港科技大学广州|智能制造学域硕、博研究生招生可持续能源与环境学域博士招生宣讲会—四川大学专场!
  • Unity-Shader详解-其三
  • 电子电器架构 --- 人工智能、固态电池和先进自动驾驶功能等新兴技术的影响
  • Centos Ubuntu RedOS系统类型下查看系统信息
  • 黑马Redis(四)
  • A2A与MCP:理解它们的区别以及何时使用
  • 除法未能拿下 一直运行超时
  • MySQL 实战 45 讲 笔记 ----来源《极客时间》
  • Markdown语法大全
  • 洛谷题解 | CF111C Petya and Spiders
  • Spark GraphX 机器学习:图计算
  • CertiK创始人顾荣辉出席Unchained Summit,探讨Web3.0安全与合规路径