はじめに: これは、serverpilot を使用したデジタル オーシャン ドロップレットのセットアップです。ユーザーは 2 人root
ですserverpilot
。
として SSH でログインすると、serverpilot
内にリストされているファイルが表示されますapps/website/public/
が、 として SSH でログインしroot
て に 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 でログインしてroot
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/
。
親ディレクトリの 1 つで権限を更新することで、ディレクトリから CD を実行して、必要な適切なディレクトリに移動できるようになりました。
次に、適切なフォルダーにドロップされるようにルート ユーザーを設定する方法を調べます。
皆さんありがとう。