以下は私が知っていることです:
特定のタスクの権限をユーザーに付与するには、sudoers
ファイルの行の下にこれを追加する必要があります。
user_name ALL=NOPASSWD: /usr/bin/apt-get install
この場合、このユーザーにアクセス権を付与して、すべてのインストール権限で2つのサービス(つまり、Apache
とMySQL
)を再起動します。
上記の行を使用して、私は彼にすべてのインストール権を与えましたが、サービスの権利を与えるために同じ行をさらに2回追加する必要がありますか?または、これらのコマンドをカンマなどで区切って同じ行に追加できますか?
制限された管理者権限の新しいグループを作成することで問題を解決しました...そのグループの名前はLimitedAdmins
です。その後、sudoers
ファイルを以下のように更新しました。
追加した行は次のとおりです。
%LimitedAdmins ALL=NOPASSWD: /usr/bin/apt-get*, /etc/init.d/Apache2 restart
これは完全な/etc/sudoers
ファイルです:
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of directly modifying his file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group Sudo to execute any command
%Sudo ALL=(ALL:ALL) ALL
#includedir /etc/sudoers.d
%domain_name\\administrators ALL=(ALL) ALL
%LimitedAdmins ALL=NOPASSWD: /usr/bin/apt-get*, /etc/init.d/Apache2 restart
システムがドメインであるかどうかにかかわらず、完全に機能します。
私がやったことは、あなたが探しているものと同様です:
## PRTG monitoring
Cmnd_Alias PRTG = /bin/cat /proc/loadavg, /bin/df, /var/prtg/scripts/check_proc.sh
prtg ALL = NOPASSWD: PRTG
内部:/etc/sudoers.d/666-prtg
(666、なぜなら...まあ... prtg ISあなたが知っているWindowsベースの監視ツール)