我正在 CENTOS 中设置 ACL 权限。
我已经接近我心中的结构了,然而完成拼图还缺少一块碎片。
有什么办法隐藏来自特定用户/组的文件/目录?
我不是说不能读取,更改目录。我想完全隐藏它,不让特定用户/组看到它(不出现在ls -la
)。
答案1
不,没有办法做到这一点。您可以通过让它以点开头来隐藏 ls -l,但这实际上不是您想要的。如果您需要用户不知道特定文件或目录的存在,那么您需要将它们放在他们没有读取权限的目录中。
答案2
如果您将文件重命名为。[filename] ,它不会被 ls 显示,但会被 ls -a 显示
或者
您可以将其重命名为[文件名]~,Linux 将以 ~ 结尾的文件视为备份文件,因此隐藏它们。
或者
构建自己的 ls 实用程序,以排除某些模式出现在ls
或者
尝试这个:http://sourceforge.net/projects/ext2hide/
或者
您可以将文件放入目录中,然后“chmod 700 目录”。现在只有目录的所有者才能看到这些文件。这是最接近正确答案的答案。
有些人会尝试使用奇怪的名称。缺乏经验的用户通常不了解如何处理此类文件。我见过的名称包括使用控制字符、“..”、“ ”等来命名文件。
您可以将文件放入目录中,然后在该目录上安装另一个文件系统。此时需要使用特殊技巧才能查看文件,并且只有 root 才有权使用这些技巧。
程序可以打开一个文件,然后取消链接。如果这是文件的唯一链接,则文件现在没有名称。但直到最后一个程序关闭文件时,它才会被删除。这样的文件可以称为隐藏文件。这种情况经常发生。文件系统已满,有人发现有问题的文件。他们将其删除。然后他们想知道为什么没有释放空间。我每周左右必须看到一次这种情况。
答案3
你可以使用 SELinux 来实现这一点,你可以禁止某些类型的用户对文件进行“统计”,这也应该可以消除目录列表。但未经测试。