
sudo ユーザーが root のパスワードを変更できないようにしたいです。どうすればできますか?
答え1
ホワイトリストに登録した特定のコマンドのみ実行を許可されているユーザーについて話しているのであれば、禁止したいことを達成するのに使用できないことを確認した上で、ラマン・サイロパルは言う解決策は単純にないこれらのユーザーが root として実行できないようにしたいコマンドをすべて含めます。
特に、ユーザーは、passwd
自分のパスワードを変更するコマンドを実行するためにrootである必要はありません。自分のパスワードなので、特定のニーズに応じて、実行権限を与える必要はない可能性があります。どれでも passwd
コマンドを root として実行しますsudo
。
しかし、ユーザーの能力を制限する効果的な方法を探しているならいかなるコマンドの実行も許可したユーザー危険だと思われる特定のコマンドだけをrootsudo
権限で実行したい場合、答えはそれを達成する効果的な方法はない、これらのユーザーに現在与えている権限を与えるべきかどうかを再検討する必要があります。特定のコマンドを禁止したとしても、ブラックリストに登録されているコマンドを一部を除いてすべて root として実行できるユーザーは、sudo
他のコマンドを使用してまったく同じ目的を達成できます。
としてマニュアルsudo
は言うセキュリティに関する注意事項セクション:
'!' 演算子の制限
一般的に、コマンドを「減算」することは効果的ではない。全て'
!
' 演算子を使用します。ユーザーは、必要なコマンドを別の名前にコピーして実行することで、これを簡単に回避できます。例:bill ALL = ALL, !SU, !SHELLS
実際には防げない請求書にリストされているコマンドを実行すると、 すまたはシェルなぜなら、それらのコマンドを別の名前でコピーしたり、エディタや他のプログラムからシェル エスケープを使用したりするだけだからです。したがって、このような制限はせいぜい助言的なものとして考えるべきであり (ポリシーによって強化されるべきです)。
一般的に、ユーザーがsudo権限を持っている場合全て
!
ユーザー仕様内の'' 要素に関係なく、ルート シェルを提供する独自のプログラムを作成する (またはシェルの独自のコピーを作成する) ことを妨げるものは何もありません。
これは、誰かに実行能力を与えることはできないというより一般的な原則の特別なケースです。任意システム内の行動を制限しながら、一部の狭い範囲の行動を禁止しようとする。少なくとも、単にシステム内の行動をブロックするだけでは、共通のメカニズム彼らは常に別の方法を見つけることができ、そうするかもしれません。彼らは別の方法を見つけるかもしれません偶然であってもしたがって、この方法では、彼らの不注意にさえ効果的に対抗することはできないでしょう。
さらに、システム管理を任せたいユーザーがいるが、ルートパスワードの変更を控えるようにという要求に応じるとは思えないなら、本当に重要な点において彼らを信頼しているだろうか?本当に彼らをすべての点で信頼しているだろうか?他の彼らが持っている能力のほとんどははるかに破壊的なものです。私が書いたように私の答えに誰かがルートパスワードを設定するのを妨げるものは何ですか?Ubuntu システムの管理について (デフォルトでは、グループのメンバーシップにsudo
管理権限が付与されます):
あなたはグループのメンバーです
sudo
。システム上のすべてのファイルを削除できます。ハードディスクに生データを書き込んで、そこにあるものを回復不能に上書きできます。制限された権限が設定されている場合でも、他のユーザーのファイルにアクセスすることができます。物理デバイスに新しいファームウェアをインストールできます。シャドウデータベースからユーザーのパスワードをダンプしてクラックを試みたり、リセットしたりできます。キーロガーやランサムウェアなど、ユーザーのプライバシーを侵害したりデータを破壊したりするマルウェアをインストールできます。ネットワークインターフェイスで非常に奇妙な操作を行うことができます。システムに、ユーザーの通信のセキュリティについて誤った情報をユーザーに伝えさせることができます。足跡を隠すこれらすべての力、そして私が挙げていない他の力も、悪用する人々に渡すことができます。悪用sudo
やポルキットに関しては、それらのこれらはあなたが心配すべき類の事柄です。信頼できない人を監視なしで家に入れるべきではないのは事実ですが、その理由は、彼らが内側からドアの鍵を開けて侵入できるからではありません。*