根用户无法查看文件/目录

根用户无法查看文件/目录

前言:这是使用 serverpilot 的数字海洋水滴设置。有两个用户,rootserverpilot

当我通过 SSH 输入 as 时,serverpilot我可以看到 中列出的文件apps/website/public/,但是当我通过 SSH 输入 asroot并 cd 进入apps/website/public/时,ls -la有许多文件和目录未列出。

作为例子,serverpilot可以看到style.css

-rwxrwxr-x+  1 serverpilot serverpilot    22322 Nov 17 22:05 style.css

另一个例子是,以下是一些其他root无法看到但serverpilot可以看到的文件。

drwxr-xr-x+ 13 serverpilot serverpilot     4096 Apr 18 11:42 wp-content
-rwxrwxr-x+  1 serverpilot serverpilot     3286 May 24  2015 wp-cron.php
drwxr-xr-x+ 18 serverpilot serverpilot    12288 Dec  7 17:35 wp-includes

但是当我通过 SSH 进入 asroot并 cd 进入时apps/website/publicls -la我看到的就是这些。

drwxrwxr-x 3 www-data www-data    4096 Apr 17 22:49 .
drwxr-xr-x 3 root     root        4096 Oct 14  2016 ..
-rw-rw-r-- 1 www-data www-data      46 Oct 21 15:11 .user.ini 

检查rootseverpilot组显示:

root : root www-data lxd sp-sysusers users serverpilot
serverpilot : serverpilot lxd sp-sysusers

我不确定发生了什么以及为什么 root 用户失去了对目录和文件的访问权限。

我已尝试重置文件权限chownchown使用组名,但仍然无法让文件显示为root.由于我对 Linux 服务器管理相当陌生,我觉得这可能是我忽略的一些简单的事情。

编辑:

下面的一些评论建议运行getfacl以获取有关文件的更多信息,因为 ACL 似乎正在覆盖文件权限。

getfaclon的输出style.css如下:

# owner: serverpilot
# group: serverpilot
user::rwx
user:www-data:r-x
group::r-x
group:serverpilot:rwx
mask::rwx
other::r-x

有没有可能用户应该是serverpilot:r-x而不是www-data:r-x

答案1

现在我觉得自己完全愚蠢,但我想每个人都必须从某个地方开始。这个问题确实是 @ilkkachu 在他们的评论中提到的。当我以 root 身份 ssh 时,它会将我放入/root/位于服务器其他位置的目录中。不知道为什么我没有检查这个。

当我ssh进入时serverpilot,它会将我放置在我的文件/文件夹应该所在的正确目录中。由于某种原因,其中一些文件/root/也在目录中重复。

更新父目录之一的权限后,我能够从该目录中 CD 进入我需要的正确目录。

现在研究如何设置 root 用户并将其放入正确的文件夹中。

谢谢大家。

相关内容