`chmod -R 777 /bin`を復元できますか?

`chmod -R 777 /bin`を復元できますか?

わかりました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のバイナリに対する権限を手動で変更できます。 (適切な権限が復元されるまで機能しません。susudo

しかし、実際の目的のために、これはまだ比較するどこかにドライバがインストールされていない「クリーン」システムが必要であることを意味します。

(考えてみると、バイナリに対する誤った権限がパッケージマネージャの動作を妨げてはいけないと思うので、にある項目を含むすべてのパッケージを再インストールしてみることができますが、おそらくほとんどの項目はにある項目に依存するため/bin終了することが/binあります。すべてのパッケージの削除と再インストール)。

答え2

私のミントシステムでは、/ binのすべてのファイルは0755です。ただし、フューザマウント、マウント、ping、ping6、およびsuは04755です。

0755は、共有実行可能ファイルの合理的な権限マスクです。どの実行ファイルがsetuidであるかは、システムのセキュリティポリシーによって大きく異なります。

努力する:

chmod -R 0755 /bin && chmod  04755 /bin/{{,fuser}mount,ping{,6},su}

この時点では(ルートとして)ダメージがほとんどありません(何でもsetuidルートを設定することは潜在的な脆弱性です)。

関連情報