CentOS VPS で sudo su を禁止する

CentOS VPS で sudo su を禁止する

私は Linux 初心者ですが、CentOS の VPS を持っており、ルート ユーザーもいます。myuser (godaddy アカウントから作成したもの) としてログインし、sudo su と入力してルートとしてアクセスします。

今、私は誰かにサーバーに何でもインストールする権限を与えたいのですが、sudo su と入力してルートアクセスを取得できるようにはしたくありません。

私はユーザー dev1 を作成し、visudo に次のように追加しました:

root ALL=(ALL) ALL
dev1 ALL=(ALL) ALL

dev1 としてログインすると、sudo su と入力してルート アクセスを取得できます。これを防ぐにはどうすればよいでしょうか?

ありがとう

答え1

サーバー上で何でもできるユーザー「dev1」をリストに載せるべきではありません。危険です。代わりに、このユーザーにパッケージマネージャの実行を許可する必要があります。そのためには、visudo に次のような行を追加する必要があります。

dev1 ALL = NOPASSWD : /usr/bin/yum, /usr/bin/apt-get , /usr/bin/aptitude

(通常、CentOS では yum が使用されるため、yum へのパスも含めましたが、VPS にインストールされていない場合は削除できます)

この設定により、ユーザーは何かをインストールするときに再度パスワードを要求されなくなります。ただし、パスワードを再度入力するように強制したい場合は、

dev1 ALL = PASSWD : /usr/bin/yum, /usr/bin/apt-get , /usr/bin/aptitude

最後に、ユーザーごとに別の行を作成しないようにするには、「ユーザー」グループのすべてのメンバーにプログラムのインストールを許可します (もちろん、ユーザーを信頼するか、信頼できるユーザー用に別のグループを作成する必要があります)

%users ALL = PASSWD : /usr/bin/yum, /usr/bin/apt-get , /usr/bin/aptitude

インストールは次のように実行できます

$ sudo /usr/bin/yum install name_of_a_program

関連情報