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

NFSv4 ACL配置与参数

NFSv4 ACL配置命令

在NFSv4中,ACL(Access Control Lists)配置主要通过nfs4_setfaclnfs4_getfacl命令实现。这些命令用于设置和查看NFSv4风格的ACL权限。

查看NFSv4 ACL

使用nfs4_getfacl命令查看文件或目录的NFSv4 ACL:

nfs4_getfacl /path/to/file_or_directory
设置NFSv4 ACL

使用nfs4_setfacl命令修改文件或目录的ACL:

nfs4_setfacl -a type:flags:principal:permissions file_or_directory		# 各项参数说明如下,更详细的参数说明可参考https://linux.die.net/man/5/nfs4_acl。
nfs4_setfacl -a A::user@domain:rxtncy /path/to/file_or_directory

其中:

  • type:A表示允许(Allow),D表示拒绝(Deny),U用于审计,记录ACE主体对对象的访问(Audit)、L警告配置(Alarm)。
  • flags:group flag,inheritance flag,administrative flag
    如下表1-1 ACE flag参数说明
ACE flag说明
group flagACE组标志。取值为“g”,设置后表示主体是组而不是用户。
inheritance flagACE继承标志,取值包括:“d”、“f”、“n”、“i”。
d:目录继承,新创建的子目录将继承当前对象的ACE;
f:文件继承,新创建的文件将继承当前对象ACE;
n:无传播继承,与“d”或“f”组合使用后,新创建的子目录将继承当前对象的ACE,但未继承该标志位(即子目录的子目录不会继承该ACE);
i:仅继承,与“d”或“f”组合使用后,ACE不适用于当前对象本身,但新创建的子目录或文件将继承该ACE。
administrative flag取值包括:“S”、“F”。“S”和“F”可同时设置,表示成功和失败事件都将被审计。
S:审计日志中记录ACE主体的成功事件;
F:审计日志中记录ACE主机的失败事件。
  • principal:ACE针对的主体,可以是用户或组,具体取决于字段中是否包含标志“g”,principal包括以下3种类型:
    用户,如:user@nfsdomain.org
    组,如:g:group@osc.edu:rxtncy
    特殊主体,包括:OWNER@,GROUP@以及EVERYONE@
  • permissions:ACE权限位,一个ACE由一个或多个权限设定,权限位的具体含义如表1-2。
权限位对于文件的含义对于目录的含义
r读文件列举目录
w写文件创建文件、目录
a追加写文件创建子目录
x执行文件进入目录
d删除文件删除目录
D-删除目录的子文件、子目录
t读取文件的属性信息读取目录的属性信息
T修改文件的属性信息写目录的属性信息
n读取文件的named attributes属性信息读取目录的named attributes属性信息
N修改文件的named attributes属性信息修改目录的named attributes属性信息
c读取文件的ACL读取目录的ACL
C修改文件的ACL修改目录的ACL
o修改文件的拥有者(owner)信息修改文件的拥有者(owner)信息
y允许客户端与服务器使用同步I/O。
(allow clients to use synchronous I/O with the server.)
示例

为用户alice@example.com添加读写权限:

nfs4_setfacl -a A::alice@example.com:rw /data/share

删除用户bob@example.com的所有权限:

nfs4_setfacl -x A::bob@example.com /data/share
递归设置ACL

使用-R选项递归设置目录及其子项的ACL:

nfs4_setfacl -R -a A::group@example.com:rx /data/share
清除所有ACL

重置为默认ACL:

nfs4_setfacl -c /path/to/file_or_directory

注意事项

  • NFSv4 ACL与POSIX ACL不同,需确保NFS服务器和客户端支持NFSv4。
  • 权限修改后需重新挂载或重启NFS服务生效。
  • 使用man nfs4_setfaclman nfs4_getfacl查看详细帮助。
http://www.dtcms.com/a/266041.html

相关文章:

  • ubuntu防火墙使用
  • 【ChatTTS】ChatTTS使用体验
  • 关于系统无法找到 arm-linux-gcc 命令,这表明你的环境中尚未安装 ARM 交叉编译工具链。以下是详细的解决方案:(DIY机器人工房)
  • 通过HBA卡新增外接存储,详细流程
  • R 语言安装使用教程
  • Oracle面试题-体系结构
  • 《dlib库中的聚类》算法详解:从原理到实践
  • ABP VNext + Cosmos DB Change Feed:搭建实时数据变更流服务
  • 计算机科学导论(10)什么是BIOS
  • 探秘展销编辑器:相较于传统展销的卓越优势与甄选指南​
  • 按键精灵支持安卓14、15系统,兼容64位环境开发辅助工具
  • github如何创建一个自己的仓库保姆级教程
  • VBScript 安装使用教程
  • Gartner《Guidance Framework for a Modern Data Integration Architecture》学习心得
  • 分块矩阵怎么取逆?
  • svd分解求旋转平移矩阵
  • 基于SpringBoot+Vue的酒类仓储管理系统
  • C# 进行音视频编解码开发
  • 讯飞星火深度推理模型X1,为教育医疗带来革新
  • AUTOSAR图解==>AUTOSAR_AP_EXP_ParallelProcessingGuidelines
  • 打造一个可维护、可复用的前端权限控制方案(含完整Demo)
  • NestJS 系列教程(二):模块化架构与依赖注入机制详解
  • WPS 如何使用宏录制功能
  • Qt的前端和后端过于耦合(0/7)
  • 匹配一切 学习笔记2025
  • Doris 数据导入性能优化全攻略:深度诊断与全面提速指南
  • 封装 获取paramsByKey 方法
  • Unity-MMORPG内容笔记-其一
  • 【tensorflow2.6.0 一系列相关报错记录】
  • 踩坑日记:虚拟机桥接模式无法连接网卡