takashi kono's blog

コーヒーとキーボードと共に何かを記録していくブログ

Ubuntu Server 20.04 で sudo の NOPASSWD 設定を行う 備忘録

なぜ?

よく忘れるので

環境

takashi@mini01:~$ uname -a
Linux mini01 5.4.0-96-generic #109-Ubuntu SMP Wed Jan 12 16:49:16 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
takashi@mini01:~$ 
takashi@mini01:~$ cat /etc/os-release 
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.3 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
takashi@mini01:~$ 
takashi@mini01:~$ sudo -V
Sudo version 1.8.31
Sudoers policy plugin version 1.8.31
Sudoers file grammar version 46
Sudoers I/O plugin version 1.8.31
takashi@mini01:~$ 

編集

起動

sudo visudo

エイリアスを作る
shutdown 系は安全のために使えないようにする

# Cmnd alias specification
Cmnd_Alias APT = /usr/bin/apt, /usr/bin/aptitude, /usr/bin/dpkg, \
                /usr/bin/apt-key, /usr/bin/apt-get
Cmnd_Alias DISK = /sbin/fdisk
Cmnd_Alias CH = /bin/chown, /bin/chgrp
Cmnd_Alias SYSTEMD = /bin/systemctl, /usr/sbin/service
Cmnd_Alias MISC = /usr/bin/whoami, /usr/bin/php
Cmnd_Alias SHUTDOWN = /sbin/shutdown, /sbin/halt, /sbin/reboot, /sbin/poweroff

ユーザに適用

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
takashi ALL=(ALL) NOPASSWD: SYSTEMD, CH, MISC, APT, DISK, !SHUTDOWN

今後

必要に応じて追加する