わかりましたchmod -R 777 /
非常に破壊的です、私も知っていますchmod -R 000 /bin
復元可能使用して追加ディスクしかし、知りたいですchmod -R 777 /bin
。
ルートシェルがありますが、通常の仮想マシンからマウントされた他のディスクがない場合は、システムを復元できますか?
(この質問は学習用です。実際の箱は私が作ったものでもバグでもなく、箱はすでに再構築が予定されているからです。)
答え1
お客様がリンクした回答に記載されているように、これは「回復」の定義によって異なります。デスクトップでは大丈夫です。しかし、マルチユーザー企業システムではさらにそうです。
私のボックスを見ると、/bin
管理可能な数の0755以外のファイルまたはシンボリックリンクファイルがあります。
ls -l /bin/ | grep -v '^-rwxr-xr-x' | grep -v '^l' | wc -l
35
これは主にsetgidまたはsetuidであるためです。したがって、原則として、chmod 0755 /bin/*
まだrootアクセス権を持っている場合は、30、40のバイナリに対する権限を手動で変更できます。 (適切な権限が復元されるまで機能しません。su
)sudo
しかし、実際の目的のために、これはまだ比較するどこかにドライバがインストールされていない「クリーン」システムが必要であることを意味します。
(考えてみると、バイナリに対する誤った権限がパッケージマネージャの動作を妨げてはいけないと思うので、にある項目を含むすべてのパッケージを再インストールしてみることができますが、おそらくほとんどの項目はにある項目に依存するため/bin
終了することが/bin
あります。すべてのパッケージの削除と再インストール)。
答え2
私のミントシステムでは、/ binのすべてのファイルは0755です。ただし、フューザマウント、マウント、ping、ping6、およびsuは04755です。
0755は、共有実行可能ファイルの合理的な権限マスクです。どの実行ファイルがsetuidであるかは、システムのセキュリティポリシーによって大きく異なります。
努力する:
chmod -R 0755 /bin && chmod 04755 /bin/{{,fuser}mount,ping{,6},su}
この時点では(ルートとして)ダメージがほとんどありません(何でもsetuidルートを設定することは潜在的な脆弱性です)。