linux设置权限_setfacl_getfacl

3.2 设置权限ACL(access control list)

复制代码
假设:/data所有者与所属组均为root,在不改变所有者的前提下,要求用户tom对该目录有完全访问权限(rwx)。只能考虑:
方法一:给/data的其他人增加rwx权限
方法二:将tom加入到root组中,并为root组分配rwx权限
复制代码
ACL文件权限管理:对不同用户设置不同的基本权限(rwx),可设置对象数量不同
ACL是UGO的补充,优先级别比UGO高。

3.2.1 setfacl

复制代码
setfacl命令可以用来细分linux下的文件权限,可以对每一个文件或目录设置更精确的文件权限,setfacl可以更精确的控制权限的分配。比如:让某一个用户对某一个文件具有某种权限。
​
ACL可以针对单一用户、单一文件或目录来进行r,w,x的权限控制,对于需要特殊权限的使用状况有一定帮助。
如,某一个文件,不让单一的某个用户访问。

setfacl命令的基本语法如下:

复制代码
setfacl [选项] [目录|文件]

参数说明

  • -m:设置后续acl参数

  • -x:删除后续acl参数

  • -b:删除全部的acl参数

  • -k:删除默认的acl参数

  • -R:递归设置acl,包括子目录

  • -d:设置默认acl

例:

为用户sam设置文件file1的读写权限,为li设置无权限

复制代码
useradd sam
useradd li
setfacl -m  u:sam:rw    /tmp/file1
setfacl -m  u:li:-  /tmp/file1
#        对象:对象名:权限

为组group2设置文件file1的读写执行权限

复制代码
setfacl -m  g:group2:rwx    /tmp/file1

将其他人对文件file1的权限设置为可读写

复制代码
setfacl -m  o::rw   /tmp/file1

删除sam对文件file1的权限

复制代码
setfacl -x  u:sam   /tmp/file1

删除文件file1所有扩展访问权限

复制代码
setfacl -b  /tmp/file1

3.2.2 getfacl

复制代码
使用getfacl命令可以查看文件的ACL信息。对于每一个文件和目录,getfacl命令显示文件的名称、用户所有者、组群所有者和访问控制列表(ACL)。

getfacl命令的基本语法如下:

复制代码
getfacl [选项] [目录|文件]

参数说明

  • -a: --access,仅显示文件访问控制列表。

  • -d:--default,仅显示默认的访问控制列表。

  • -c: --omit-header,不显示注释表头。

  • -e:--all-effective,打印所有有效权限注释,即使与 ACL 条目定义的权限相同。

  • -E:--no-effective,显示无效权限。

  • -s:--skip-base,跳过仅包含基本 ACL 条目(owner、group 和 others)的文件。

  • -R:--recursive,递归显示子目录。

例:

查看文件file1的ACL信息

复制代码
[root@centos-1 ~]# getfacl /tmp/file1 
getfacl: Removing leading '/' from absolute path names
# file: tmp/file1
# owner: 1008
# group: root
user::rw-
group::r--
other::r--
相关推荐
岸边的风4 分钟前
无需公网IP的文件交互:FileCodeBox容器化部署技术解析
网络·网络协议·tcp/ip
jingyu飞鸟24 分钟前
linux系统源代码安装apache、编译隐藏版本号
linux·运维·apache
世事如云有卷舒28 分钟前
Ubunt20.04搭建GitLab服务器,并借助cpolar实现公网访问
linux·服务器·gitlab
Zonda要好好学习1 小时前
Python入门Day4
java·网络·python
开心就好20251 小时前
WebView远程调试全景指南:实战对比主流工具优劣与适配场景
后端
用户21411832636021 小时前
AI 一键搞定!中医药科普短视频制作全流程
后端
SimonKing1 小时前
告别传统读写!RandomAccessFile让你的Java程序快人一步
java·后端·程序员
Little-Hu1 小时前
QML TextEdit组件
java·服务器·数据库
riverz12271 小时前
TCP backlog工作机制
服务器·网络·tcp/ip
2401_858286111 小时前
OS15.【Linux】gdb调试器的简单使用
linux·运维·服务器·开发语言·gdb