欢迎各位兄弟 发布技术文章
这里的技术是共享的
好的 👍 我给你详细讲一下 Linux getfacl 与 inittab 的结合示例和说明。
inittabinittab 是 SysV init 使用的配置文件(路径通常是 /etc/inittab),定义了系统运行级别、启动的进程、终端配置等。
现代的 Linux(如 systemd)基本不再使用 inittab,但老的 CentOS 6、RHEL 5、Unix 系统还在用。
getfaclgetfacl 用来显示文件或目录的 ACL(访问控制列表)。
它能展示除基本 Unix 权限 (rwx) 外,是否定义了更细粒度的 ACL。
假设我们要查看 /etc/inittab 的 ACL:
输出示例(不同系统略有不同):
如果文件定义了额外的 ACL,则会显示更多,比如:
# file: :显示对应的文件路径。
# owner: :文件属主。
# group: :文件属组。
权限部分:
user::rw- :属主(root)有读写权限。
group::r-- :属组(root组)有读权限。
other::r-- :其他用户有只读权限。
user:admin:r-- :额外授予用户 admin 只读权限(ACL)。
group:sysadmin:r-- :额外授予用户组 sysadmin 只读权限(ACL)。
mask::r-- :限制了 ACL 权限的上限(类似过滤器)。
/etc/inittab 是系统启动的关键文件,一般只有 root 有写权限。
getfacl 主要用来确认是否有人为地给了额外用户/用户组访问权限。
如果某人能修改 /etc/inittab,就可能 更改系统默认运行级别、添加恶意进程 → 存在安全风险。
如果你想设置 ACL(演示,不建议对 /etc/inittab 实际操作):
再次 getfacl /etc/inittab 就能看到效果。
✅ 总结:
getfacl /etc/inittab 可以检查系统关键配置文件是否被赋予了额外的 ACL 权限。
一般情况下输出只有 user/group/other 三条,说明没额外 ACL。
一旦出现 user:xxx 或 group:xxx,表示有人配置过额外权限,需要特别小心。