前言:這是使用 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 使用者並將其放入正確的資料夾中。
謝謝大家。