Ubuntu のファイル権限

Ubuntu のファイル権限

Ubuntu サーバー上のファイル権限に問題があります。WinSCP を使用してファイルをサーバーに移動しています。サーバーは正常に動作しますが、しばらくすると、ファイルを削除する権限がなくなったようです。

私はというアカウントを使用してサーバーに接続しています管理者Apacheサーバーのルートディレクトリは/var/www各ウェブサイトには、この下に独自のディレクトリがあります。

/var/www/site1
/var/www/site2

これは ls コマンドからの出力です...

cd /var/www
ls -al
drwxr-sr-x   4  svadmin  svadmin  4096 2009-06-12 14:45 .
drwxr-xr-x  15  root     root     4096 2009-05-05 15:47 ..
drwxr-sr-x   4  svadmin  svadmin  4096 2009-06-12 15:15  site1
drwxr-sr-x   4  svadmin  svadmin  4096 2009-06-12 15:15  site2

私の理解では、これはディレクトリ所有者に読み取り/書き込み/実行権限があることを意味するのでしょうか? svadmin アカウントを使用してサーバーに接続すると、/var/www/site1 または /var/www/site2 内のファイルを上書きまたは削除できるのではないでしょうか?

私は Linux のファイル/ディレクトリ権限にあまり詳しくないので、何をすべきか分からず苦労しています。どんな助けでも大歓迎です!

詳細情報: (迅速な返信をありがとうございます!)

/var/www/site1 の ls -al の出力

drwxr-sr-x 4 svadmin svadmin 4096 2009-06-12 15:15 .
drwxr-sr-x 4 svadmin svadmin 4096 2009-06-12 14:45 ..
-rw-r--r-- 1 svadmin svadmin 157  2009-05-12 13:23 error.php
-rw-r--r-- 1 svadmin svadmin 158  2009-05-12 13:23 .htaccess
-rw-r--r-- 1 svadmin svadmin 142  2009-05-12 13:23 index.php
drwxr-sr-x 2 svadmin svadmin 4096 2009-05-12 18:40 libraries

ファイルを削除しようとするとエラーメッセージが表示される:

rm admin.php
rm: cannot remove 'admin.php' : Read-only file system

さらに詳しい情報 関連する可能性のある情報を追加します... 昨日の午後まではすべて正常に動作していました。その時点で、同僚が仮想マシン ファイルがある SAN を取り外し、Web サーバーが正常にシャットダウンされませんでした。

答え1

これは権限の問題ではありません。 2 つの手がかりは次のとおりです。

  • rm: 'admin.php' を削除できません: 読み取り専用ファイルシステム
  • 昨日の午後まではすべて正常に動作していました。その時点で、同僚が仮想マシン ファイルが存在する SAN を取り外し、Web サーバーが正常にシャットダウンされませんでした。

何らかの理由で、/var/www を含むファイルシステムが「読み取り専用」に切り替わった可能性があります。これはおそらく SAN がなくなったときです。コマンドの出力では、mount最後に (ro) フラグが付いてこのファイルシステムが識別されます。

修正するには、なぜ問題が発生したのかを突き止め、問題が修正されたことを確認し、次のコマンドでファイルシステム rw​​ を再マウントします。

mount -oremount,rw $filesystem

答え2

ディレクトリに rwx 権限がある場合、ディレクトリ ファイルを編集できます。つまり、ファイルを削除したり追加したりできます。ファイルの編集は、個々の権限に依存します。サブディレクトリの 1 つに対して ls -l を実行すると、どのような結果になるでしょうか。

答え3

問題は粘着部分です。そこにパーマがかかっていないことに注意してください。パーマdrwxr-xr-xはかかっていますdrwxr-sr-x。Wikipedia には次のように書かれています:

現在、スティッキー ビットの最も一般的な用途はディレクトリです。このビットが設定されている場合、ディレクトリ内の項目の名前を変更したり削除したりできるのは、項目の所有者、ディレクトリの所有者、またはスーパーユーザーのみです。スティッキー ビットが設定されていない場合、ディレクトリの書き込みおよび実行権限を持つすべてのユーザーは、所有者に関係なく、ディレクトリ内のファイルを名前変更したり削除したりできます。通常、これは /tmp ディレクトリに設定され、一般ユーザーが他のユーザーのファイルを削除または移動できないようにします。この機能は 1986 年に 4.3BSD で導入され、今日ではほとんどの最新の Unix システムに搭載されています。

したがって、ファイルは、最初にファイルをそこに置いたグループのみが書き込みおよび削除できます。

関連情報