解決策 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 システムである場合、すべてを適切に再インストールします。