web-dev-qa-db-ja.com

'sudoers'ファイルのコマンドにフラグや引数を追加する方法

ユーザーがSudo rmではなくSudo rm -rfのみを実行できるようにするなど、sudoersファイル内のユーザーがコマンドの特定の部分を実行できるようにするフラグや引数を追加するにはどうすればよいですか? 14.04を使用しています。

#
#このファイルは、rootとして 'visudo'コマンドを使用して編集する必要があります。
#
#/etc/sudoers.dにローカルコンテンツを追加することを検討してください/
#の代わりにこのファイルを直接変更します。
#
#sudoersファイルの記述方法の詳細については、manページを参照してください。
#
デフォルトenv_reset、pwfeedback 
デフォルトmail_badpass 
デフォルトsecure_path = "/ usr/local/sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin:/ sbin:/ bin "
 
#ホストエイリアス仕様
 
#ユーザーエイリアス仕様
 
#Cmndエイリアス仕様
 
#ユーザー権限の指定
 root ALL =(ALL:ALL)ALL 
 Ruby ALL =/usr/bin/apt-get update、/ usr/bin/rm、/ usr/bin /rmdir,/usr/bin/mkdir

# adminグループのメンバーはルート権限を取得できます
%admin ALL =(ALL)ALL 
 
#グループSudoのメンバーに任意のコマンドの実行を許可します
%Sudo ALL =(ALL:ALL)ALL 
 
#詳細については、sudoers(5)を参照してください「#include」ディレクティブ:
 
#includedir /etc/sudoers.d
4
Alex Lowe

コメントに記載されているように、要求された方法でsudoerを制御する方法はありませんが、システムで使用できるきめ細かいアクセス許可があります。

https://help.ubuntu.com/community/FilePermissionsACLs

しかし、それでも十分ではありません。基本的に、すべての標準プログラムライブラリをフラグでフィルタリングするスクリプトに置き換える必要があります。これは面倒でシステムを破壊する可能性があります。

代わりに、問題を反転させ、sudoersを必要としないユーザーを作成することを検討してください。適切なグループに所属していることを確認し、ACLを使用して必要に応じて権限を拡張し、問題を引き起こすことなく必要なファイルにアクセスできるようにします。