前言:这是使用 serverpilot 的数字海洋水滴设置。有两个用户,root
和serverpilot
。
当我通过 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/public
,ls -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
检查root
和severpilot
组显示:
root : root www-data lxd sp-sysusers users serverpilot
serverpilot : serverpilot lxd sp-sysusers
我不确定发生了什么以及为什么 root 用户失去了对目录和文件的访问权限。
我已尝试重置文件权限chown
并chown
使用组名,但仍然无法让文件显示为root
.由于我对 Linux 服务器管理相当陌生,我觉得这可能是我忽略的一些简单的事情。
编辑:
下面的一些评论建议运行getfacl
以获取有关文件的更多信息,因为 ACL 似乎正在覆盖文件权限。
getfacl
on的输出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 用户并将其放入正确的文件夹中。
谢谢大家。