一部のユーザーがsudoerで動作する必要があるサーバーがいくつかあります。問題は、sudoersがコマンドSudo su
を実行し、ユーザーroot
としてログインできる場合です。そのコマンドを実行するのは非常に危険なようです。
/ etc/sudoersファイルのCommandAliasで試しましたが、機能しませんでした。彼らがsudoerであるがSudo su
コマンドを実行しない方法はありますか?
これを適切に回避するには、別のアプローチを取る必要があります。
許可しない場合Sudo su
まだ実行できますSudo -u root /bin/sh
これを許可しない場合、小さなラッパースクリプトを作成して実行します...
これを解決する唯一の方法は、必要なコマンドのみを許可することです。
%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
およびDUMPS
Cmnd_AliasのコマンドがSudoグループが実行できるコマンドのリストに追加されます。
詳細および例については、 sudoers のマニュアルページを参照してください。
何をしたかは明らかではありませんが、特定のユーザー/グループおよび特定のコマンドにSudo権限を付与できます。より良いヘルプを得るには、sudoersファイルの内容や正確に試行した内容など、より多くの情報を提供する方が良いでしょう。