无法通过组权限访问文件夹

无法通过组权限访问文件夹

为了保护我的网络服务器上的数据,我已将 PHP 包含文件移至名为 /var/www-includes 的文件夹(在服务器根目录 /var/www 之外)。我也跑了chown root:wwwadmin那个chmod 770文件夹。当我ls -ld在该文件夹上运行时,它会验证设置:drwxrwx--- ... root wwwadmin ... www-includes虽然我可以从属于 wwwadmin 成员的主用户 (adam) cd 到该文件夹​​,但我无法在图形文件浏览器中查看其内容。知道为什么吗?编辑:此外,当尝试编辑 Nano 中包含的文件时,它会向我显示一条错误消息: Error reading /home/adam/.nano_history: Permission denied 然后打开文件的内容。这与可能发生的事情有关系吗?

答案1

也许是一个显而易见的问题,但是...您是否也更改了目录内文件的权限?换句话说,您在发出 chown/chmod 命令时是否使用了“-r”(递归)标志?

答案2

也许不是答案(因为该帖子没有包含足够的信息),但如果需要我可以修改它。在做linux培训课程的时候我开发了一种快速查找权限问题的方法。我知道您已经执行了一些步骤,但为了完整起见,我需要完整地写下来。

  1. 切换到您要用于访问的用户。在做其他事情之前先做这件事。
  2. 使用id命令检查您当前的 UID 和组。用于id name-of-the-user检查磁盘上的配置。如果它们不同,请注销并重新登录,然后再次检查。
  3. 使用“ls -l”检查目标目录。不要忘记检查权限后面的字符。可能有一个点表示这是一个 selinux 上下文,或者可能有一个加号表示 Linux ACL 已设置。
  4. 使用“cd”进入目录。
  5. 对常规文件执行必要的操作。用于touch检查写访问权限,cat用于检查读访问权限。
  6. 检查应用程序级别上的一切是否按预期工作(例如,使用浏览器访问应导致相应操作的 URL、使用您最喜欢的以前失败的编辑工具等)
  7. 将上述任何检查添加到应用程序级别。

如果任何操作失败并且您不知道原因,请检查日志中是否有 selinux 警报或类似信息。您还可以尝试添加strace -o strace.log到命令行,然后检查 strace.log没有权限消息。但这都是黑魔法,除非你知道确切的原因没有权限

相关内容