随笔 - 6  文章 - 124  评论 - 1  阅读 - 13042

Linux setfacl lsattr chattr 命令详解

简介

setfacllsattrchattr 这些命令用于管理 Linux 中的文件权限和属性。虽然传统的 Linux 权限(chmodchown)提供基本控制,但这些命令提供了更高级的选项。

setfacl(Set File ACL)

用于设置或修改访问控制列表 (ACL),允许比传统的所有者-组-其他模型更细粒度的权限控制。

常用选项

  • -m:修改或设置 ACL 条目

  • -x:删除 ACL 条目

  • -b:删除所有 ACL 条目(重置)

  • -k:删除默认的 ACL

  • -R:将更改递归应用于目录及其内容

授予用户读/写权限

setfacl -m u:<username>:rw <file>

授予组执行权限

setfacl -m g:<groupname>:x <file>

删除特定用户的 ACL

setfacl -x u:<username> <file>

查看文件的 ACL

getfacl <file>

lsattr(List File Attributes)

列出文件的扩展属性,控制特定行为,如不变性、仅追加模式等。

常用选项

  • -a:包括隐藏文件

  • -d:显示目录属性而不是内容的

  • -R:递归列出目录及其内容的属性

查看文件的属性

lsattr <file>

# 输出示例:
----i--------e-- file
# i表示不可变属性
# e表示默认属性

列出目录中所有文件的属性

lsattr </path/to/dir>

chattr(更改文件属性)

更改文件或目录的扩展属性,允许控制诸如防止修改或删除之类的行为。

常用选项

  • +:添加一个属性

  • -:移除一个属性

  • =:准确设置属性

常用属性

  • i:不可变(防止修改、重命名或删除)

  • a:仅可追加内容(只能添加数据,不能修改现有内容)

  • c:自动压缩文件

  • u:允许取消删除

使文件不可变

sudo chattr +i <file>

移除文件不可变属性

sudo chattr -i file

将日志文件设置为仅可追加

sudo chattr +a /var/log/syslog
posted on   我是唐青枫  阅读(25)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示