web-dev-qa-db-ja.com

「スードス」を否定する方法

一部のユーザーがsudoerで動作する必要があるサーバーがいくつかあります。問題は、sudoersがコマンドSudo suを実行し、ユーザーrootとしてログインできる場合です。そのコマンドを実行するのは非常に危険なようです。

/ etc/sudoersファイルのCommandAliasで試しましたが、機能しませんでした。彼らがsudoerであるがSudo suコマンドを実行しない方法はありますか?

4
Gon

これを適切に回避するには、別のアプローチを取る必要があります。
許可しない場合Sudo suまだ実行できますSudo -u root /bin/shこれを許可しない場合、小さなラッパースクリプトを作成して実行します...

これを解決する唯一の方法は、必要なコマンドのみを許可することです。

9
faker

%Sudo ALL =(ALL)NOPASSWD:ALL

これにより、Sudoグループのユーザーがシステムを完全に無制限に制御できるようになりました。 suバイナリへのアクセスを拒否しようとするのは、Sudoとグループのメンバーシップを介したルート権限をすでに持っているため、他の人が無駄だと指摘しているとおりです。

Sudoグループのユーザーのワークフローを分析して、rootとして実行するために必要なコマンドを特定し、Sudoを使用してそれらのユーザーに特権アクセスを付与する必要がありますコマンドのみ。必要に応じて、スクリプトを作成し、スクリプト内の個々のコマンドではなく、スクリプトを実行するためのアクセス権をSudoグループに付与します(ただし、スクリプトへの書き込みアクセス権がないことを確認してください)。

たとえば、ユーザーがkillとディレクトリ/usr/local/sudocmds(ローカルスクリプトが存在する場所)にあるすべてのコマンドを使用できる必要があると判断して、そのようにSudoアクセスを許可することができます。

%Sudo    ALL=NOPASSWD: /usr/bin/kill, /usr/local/sudocmds

コマンドエイリアスも使用できます

Cmnd_Alias     PRINTING = /usr/sbin/lpc, /usr/bin/lprm
Cmnd_Alias     DUMPS = /usr/bin/mt, /usr/sbin/dump, /usr/sbin/rdump

%Sudo ALL=NOPASSWD: PRINTING, DUMPS, /usr/bin/kill, /usr/local/sudocmds

これにより、PRINTINGおよびDUMPSCmnd_AliasのコマンドがSudoグループが実行できるコマンドのリストに追加されます。

詳細および例については、 sudoers のマニュアルページを参照してください。

9
user9517

何をしたかは明らかではありませんが、特定のユーザー/グループおよび特定のコマンドにSudo権限を付与できます。より良いヘルプを得るには、sudoersファイルの内容や正確に試行した内容など、より多くの情報を提供する方が良いでしょう。

1
Khaled