コマンドapt-get update
およびapt-get dist-upgrade
を使用してサーバーを更新できるDebian/Ubuntuホストの一部に新しいユーザーを作成したいのですが、完全なSudoを提供したくありません他に何でもできるアクセス。これは可能ですか?おそらく、編集はできないが実行できるスクリプトを作成する方法があります。これは、rootユーザーとして実行されます。
Sudo
および/etc/sudoers
ファイルは、ユーザーに完全なrootアクセスを許可するためだけのものではありません。
コマンドSudo visudo
を使用して、既存のSudoユーザーでsudoersファイルを編集できます。
次のように、アクセスを許可するコマンドをグループ化できます。
Cmnd_Alias SHUTDOWN_CMDS = /sbin/poweroff, /sbin/halt, /sbin/reboot
Cmnd_Alias UPDATE_COMMANDS = /usr/bin/apt-get
次に、これらのコマンドに次のように特定のユーザー特権を与えることができます。
[User's name] ALL=(ALL) NOPASSWD: SHUTDOWN_CMDS, UPDATE_COMMANDS
これは下の画像で見ることができます:
Sudo apt-get update
またはSudo apt-get dist-upgrade
を試してみると、パスワードを要求せずにこれらのコマンドが実行されます。パスワードの入力を求められるようにするには、コマンドグループへのユーザーアクセスを許可しているNOPASSWD
ビットを削除します。
Sudo
ユーザーとして他のものを実行しようとすると、パスワードの入力を求められ、失敗します。