Ubuntuの奇妙なファイル所有権

Ubuntuの奇妙なファイル所有権

一般的に、Linux でファイルを作成すると、ファイルの所有者とグループが作成者によって設定されることがわかります。たとえば、usera実行後にユーザーがいます。

usera@srv1:$touch 1.txt

このファイルの所有者は次のuseraです。

usera@srv1:$ll
-rw-r--r-- 1 usera usera 0 2012-07-25 14:29 1.txt

しかし、今の結果は次のようになります。

-rw-r--r-- 1 root usera 0 2012-07-25 14:29 1.txt

タッチコマンドだけでなく、他の人も同じ問題を抱えているようです。たとえば、次のようにvimusera の家に新しいファイルを作成する場合:

usera@srv1:$ vim a.txt

編集画面に移動できますが、保存することはできません。エラーメッセージは、ファイルへの書き込み権限がないことと同じです。

それでは、私たちのサーバーで何が起こっているのでしょうか?サーバーはUbuntu 11.04 64ビットです。

追加的ですが、潜在的に役立つ情報:
新しく作成されたすべてのユーザーにも同様の問題があります。useraはいsudoer、しかし、新しい一般ユーザー()を作成し、sudo createuser xxxパスワードを割り当て、この新しいアカウントでログインすると同じです。

ベストアンサー1

この症状が現れる唯一の理由は次のとおりです。説明した段階でtouch(そしておそらく他の多くのツール)setuidのルートですが、だからではありません。

ls -lH "$(which touch)"端末でコマンドを実行してみてください。最初の実行ビットですか、xそれともss(たとえば)の場合は、-rwsr-xr-xルートインストールを見ているようです。気づくもしシステムが損傷している場合、ls出力(またはその問題に対する他のツール)が現実を正確に表現していると必ずしも信頼できません。$(which touch)シェルがバイナリのフルパスであると考えるすべてのパスに拡張されるため、実際のパスの前にあるtouch間違った場所で迷子になったケースをキャプチャし、シンボリックリンク(この場合)のシンボリックリンクを逆参照します。 、シンボリックリンクの名前が表示されますが、ファイルのプロパティはシンボリックリンクターゲットから来ます。touch$PATH-Hls

そうでなければ、あなたのシステムは権限の面で非常にひどく損傷しています。

vimまた、保存コマンドを実行するまで、ファイルが実際には生成されないことに注意してください。

システムが損傷した場合、唯一の本当の解決策クリーンアップして再構築し、バックアップからデータと構成を慎重に復元します。 (バックアップはお持ちですか?)原則として、ルーティングされたシステムを回復することは確かに技術的に可能ですが、価値よりも問題が多く、何かを逃すのは簡単で、再インストールよりも確かに簡単ではありません。これには、次から始まるタスクが含まれます。信頼できる、読み取り専用メディア、既存のパーティションをいくつかの代替ルートディレクトリ(/ mntなど)の下の共通の場所にマウントし、各ディレクトリ、ファイル、権限ビットなどを慎重に調べて、例外を見つけて信頼できるコピーからコピーします。疑わしいように見えるすべてのコンテンツ。これには実際に同じ設定が必要です信頼できるシステム比較君は何も信じられない感染したホストから。

おすすめ記事