在 CentOS(其实是 Linux 内核/managed 文件系统层面)里,readdir 不是可以“直接关闭”的命令或开关,它本质是:
readdir() 系统调用封装所以“关闭 readdir”一般有以下几种真实含义 + 实现方式:
✅ 这是最常见需求
chmod 700 /path/dir
或
chmod o-rx /path/dir
这样非 owner 无法 readdir
chown root:root /path/dir
本质就是 禁止 readdir 调用
semanage fcontext -a -t private_dir_t "/path/dir(/.*)?"
restorecon -Rv /path/dir
或直接 audit + deny:
auditctl -w /path/dir -p r -k dir_read
// 示例:禁止 readdir 相关 syscall
// getdents / getdents64
或通过:
systemtap
拦截 vfs_readdir
如果是 网络文件系统:
exportfs -o ro,sync,no_subtree_check /data
[share]
read only = yes
chmod a-r /path/dir
⚠️ 连 root 之外都进不去
CentOS 不能“关闭 readdir 函数”,只能限制谁、在哪、用什么方式调用它
如果你能说清楚:
我可以给你精确命令。