欢迎各位兄弟 发布技术文章
这里的技术是共享的
好的 👍 我给你详细讲一下 Linux getfacl
与 inittab
的结合示例和说明。
inittab
inittab
是 SysV init 使用的配置文件(路径通常是 /etc/inittab
),定义了系统运行级别、启动的进程、终端配置等。
现代的 Linux(如 systemd)基本不再使用 inittab
,但老的 CentOS 6、RHEL 5、Unix 系统还在用。
getfacl
getfacl
用来显示文件或目录的 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
,表示有人配置过额外权限,需要特别小心。