一部のユーザーができること、たとえばsudo
rootになり、
まあ、それはsudoが解決するように設計された問題なので、その部分は簡単です。
ただし、ユーザーはrootパスワードを変更できないという制限があります。
あなたは、することができますSHWはコメントで指摘した、唯一の特定のアクションは、特定のユーザーで、rootとして取ることができるようにsudoを設定します。つまり、user1の実行sudo services apache2 restart
を許可し、user2の実行は許可するが、sudo reboot
システム管理者としての雇用者は許可することができuser3
ますsudo -i
。そのようなsudoのセットアップ方法に関するハウツーがあります。または、ここで検索(または質問)できます。それは解決可能な問題です。
ただし、シェルへのアクセスsudo -i
またはsudo
シェルへのsudo bash
アクセスを許可されているユーザー(たとえば、)は何でもできます。これは、sudoがシェルを起動するまでに、sudo自体が見えなくなるためです。別のユーザー(ほとんどの場合はroot)のセキュリティコンテキストを提供しますが、実行されたアプリケーションが何をするのかはわかりません。そのアプリケーションが順番に起動する場合、passwd root
sudoがそれに対してできることは何もありません。これは他のアプリケーションでも実行できることに注意してください。たとえば、より高度なエディタの多くは、シェルを介してコマンドを実行する機能を提供します。シェルは、そのエディタプロセスの有効なuid(つまりルート)で実行されるシェルです。
つまり、他のユーザーが何をしても、そのサーバーにログインしてrootになることができるという保証です。
ごめんなさい; 「rootアクセス権を持つユーザーが何をしても、システムにログインして使用できるようにする」ことを本当に意味する場合、それは(すべての意図と目的のために)実行できません。簡単な "sudo rm / etc / passwd"または "sudo chmod -x / bin / bash"(またはシェルルートが使用するもの)を使用すると、とにかくかなりホースがかかります。「かなりつまらない」とは、「バックアップから復元する必要があり、彼らが指を滑らせることより悪いことをしないことを願っています」という意味です。使用できないシステムにつながる偶発的な事故のリスクを減らすためにいくつかの措置を講じることはできますが、悪意によってシステムをゼロから、または少なくとも既知のものから再構築する必要がある点まで、非常に深刻な問題を引き起こすことを防ぐことはできません良いバックアップ。
システムの自由なルートアクセスをユーザーに与えることにより、そのユーザー(実行することを選択する可能性のあるソフトウェア、lsのような平凡なものも含む)が悪意を持たず、偶然に混乱しないことを信頼します。それがルートアクセスの性質です。
たとえばsudoを介したルートアクセスの制限は少し優れていますが、それでも攻撃ベクトルを開かないように注意する必要があります。また、ルートアクセスには、権限昇格攻撃の攻撃経路が多数あります。
rootが必要とするアクセスレベルでそれらを信頼できない場合は、sudoの設定を非常に厳しくするか、sudoなどの手段を介して問題のユーザーにrootアクセスをまったく許可しないようにする必要があります。
sudo
特定のルート特権アプリケーションにのみ許可を付与するために使用できます。この方法では、ユーザーはルートパスワードを変更できません