私は読んだここchmod -R 777 /
これは非常にファイルの権限を上書きして固定ビットを無効にするので、悪い考えsetuid
ですsetgid
。
chmod -R ugo+rwx /
しかし、これは権限を上書きするのではなく、権限がない場合は追加するので、上記のコマンドよりはるかに安全だと思います。私が正しく覚えているなら、特別なビットもオフになりません。
私は正しいですか?それとも、これらのコマンドは基本的に同じであり、どちらもシステムを破壊しますか?
私はそうするつもりはなく、一般文化を求めるだけです。
答え1
システムのすべてのセキュリティを排除し、攻撃に対して非常に脆弱にします。安全でない権限により、多くのプログラムの実行が停止します。技術的には正しいです。書き込みを上書きする代わりにそれを追加するため、SGIDおよびSUID権限が維持されます。もう不要になった古いUbuntuシステムがあるので、テストしてみると思いました。実行後にchmod -R ugo+rwx /
sudo
安全でない権限が原因で動作が停止しました/usr/lib/sudo/sudoers.so
。ssh
厳格な権限を必要とするrsaキーを使用しているため、動作が停止しました。マシンが破損してOSからマシンを再起動できなくなりますが、sudo
電源ボタンは正しく機能します。サーバーが実際に正しく起動しているので驚きました。シングルユーザーモードで問題を解決することもできますが、ただ再インストールします。あなたの質問に答えるなら、いいえです。chmod -R ugo+rwx /
技術的に異なりますが、どちらchmod -R 777 /
もシステムを損傷するので安全ではありません。
答え2
+
代わりにシンボル表現を使用しているので、コマンドが同じではないと思うので、=
観察は正確かもしれませんが、chmodのマニュアルページをチェックする方が良いでしょう。man chmod
.....................
SETUID AND SETGID BITS
chmod clears the set-group-ID bit of a regular file if the file's group ID does not match
the user's effective group ID or one of the user's supplementary group IDs, unless the
user has appropriate privileges. Additional restrictions may cause the set-user-ID and
set-group-ID bits of MODE or RFILE to be ignored. This behavior depends on the policy
and functionality of the underlying chmod system call. When in doubt, check the underly‐
ing system behavior.
chmod preserves a directory's set-user-ID and set-group-ID bits unless you explicitly
specify otherwise. You can set or clear the bits with symbolic modes like u+s and g-s,
and you can set (but not clear) the bits with a numeric mode.