我有一个“包含”目录,我的网络服务器应该能够与之完全交互,但我不希望用户能够看到它的内容。
答案1
Linux 上的权限(我假设您正在使用)按如下顺序排列:
uuu|ggg|ooo
rwx|rwx|rwx
U 表示用户,即文件的所有者。G 表示特定组的组访问权限,O 表示其他。
如果用户不在可以访问该目录的组内,也不是该目录的所有者,那么他们就属于其他类别,因此您只需修改最后 3 个字段。
最简单的方法:
chmod dir o-r
或者
chmod dir 770
770 将授予所有者和组完全访问权限,但剥夺“其他人”的访问权限。如果他们无法读取(需要查看内容),那么授予他们写入和执行访问权限是毫无意义的,因此您不妨使用 770 chmod,而不是 776 或类似的。
答案2
您需要找到您的 Web 服务器运行的用户或组,然后找到chown
该用户和/或组的目录,然后
chmod -R 660 directory
或类似的东西。
这假设您指的是本地用户:)如果您指的是网络用户,那么您必须记住匿名网络用户必然具有与您的网络服务器完全相同的权限。
答案3
您可能希望使用 htaccess 文件来限制该文件夹的查看权限,但请阅读 Apache 关于该主题的文档以了解其他更好的替代方案。
答案4
@jeremy(因为我没有代表对他的回答发表评论):您不想对目录进行 chmod 660 ,因为这会导致所有者和组权限被拒绝错误和/或奇怪的输出。
例如`
ls -l testingjunk
ls:无法访问 testingjunk/something:权限被拒绝共 0
-????????? ? ? ? ? ? 某物
我忘了展示这部分。
ls -ld testingjunk [16:32]
drw-rw---- 2 wjenkin2 itstaff 4096 2009-07-02 16:30 testingjunk/
`