GNU/Linux >> Linux の 問題 >  >> Linux

誤ってルートとして chown www-data:www-data / -R を実行しました

解決策 1:

Redhat ユーザー:

chown 0:0 /bin/rpm && rpm -qa | xargs rpm --setugids

Debian/Ubuntu ユーザー:

chown 0:0 /bin/*  /usr/bin/*
chown daemon:daemon /usr/bin/at
chown 0:utmp /usr/bin/screen
chmod 02755 /usr/bin/screen
chmod u+s /bin/fusermount /bin/mount /bin/su /bin/mount
chmod u+s /usr/bin/sudo /usr/bin/passwd
screen

画面の実行中に、これを少なくとも 2 回実行します:

dpkg --get-selections | awk '{ if ($2 == "install") print $1}' \
    | xargs apt-get install --reinstall --

とても支払う 出力に細心の注意を払う必要があります。何かが間違ったパーミッションを持っていると不平を言う場合は、別の画面ウィンドウで修正する必要があるからです。

画面でクラッシュ コース:

Control+A     - command key
Control+A a   - emit a control+A
Control+A n   - next "screen"
Control+A c   - create "screen"

Solaris ユーザー:

クソだな。

pkgchk -R / -f -a

すべてのパーミッションをリセットしますが、setuid-ness は壊れたままです。バックアップまたは別の Solaris マシンを使用して setuid/setgid スクリプトとファイルを探し、手動で修正してください。

バックアップに関する重要事項

それらを奪うということではなく、回復できるということですか。

他の人からバックアップを取るようにアドバイスされていますが、それらをテストする必要があることを付け加えたいと思います。 unixish システムを使用している場合、理由はありません ファイルを定期的に別のマシンにダンプして、すべてが機能することを確認することはできません。

解決策 2:

/bin/ 内のほとんどすべては root:root が所有する必要があるため、次のコマンドを実行すると、これらのファイルの所有権を修正できます:

chown root:root -R /bin/ 

また、setuid ビットが /bin/su で適切に設定されていることを確認することもできます。これは次の方法で修正できます:

chmod 4755 /bin/su

解決策 3:

影響を受けるバイナリの set-uid フラグも削除されている可能性があることに注意してください。これは chown のセキュリティ機能です。どのバイナリに set-uid または set-gid フラグがあるかを他のシステムで確認し、それらをバイナリにも必ず設定してください。

解決策 4:

RPM を使用してファイルのアクセス許可をリセットする方法について詳しく説明するつもりでしたが、さらに多くの情報が掲載されているサイトを見つけました。また、Ubuntu/Debian (一般に .debs) がサポートしていないことにも言及しています。

しかし、一般的に、探しているオプションは次のようなものです:

rpm --setugids {packagename}

解決策 5:

これが Debian システムである場合、すべてを適切に再インストールします。


Linux
  1. `chown Root.root $ file`はどういう意味ですか?

  2. chownコマンドでファイルとディレクトリの所有権を変更する方法

  3. chown:コマンドが見つかりません

  1. 実行中の画面セッションを一覧表示するには?

  2. 切り離された画面セッションを強制終了します

  3. root の .bashrc はどこにありますか?

  1. 画面セッションの名前を変更

  2. root パスワードの回復

  3. root には chown 操作は許可されていません