Ubuntu 23.04 sudoの設定方法

環境
Ubuntu 23.04

概要
sudo を利用することにより、root 権限の委譲、root パスワードの使い回し防止等、
セキュリティを高めることができます。

設定方法
1.sudo をインストールします。
# apt -y install sudo

2.root 権限を特定のユーザーに全て委譲します

# visudo
# 最終行に追記 : [ubuntu] ユーザーは root 権限を全て利用できる
ubuntu ALL=(ALL:ALL) ALL

# 書式 ⇒ 委譲先 ホスト=(委譲元) コマンド
# visudo を終了するには [Ctrl + x]

3. [ubuntu] ユーザーで動作確認
$ /sbin/reboot
# 正常に拒否される

$ sudo /sbin/reboot
[sudo] password for ubuntu: # [ubuntu] ユーザーのパスワード
Session terminated, terminating shell… # 実行できる

4.特定のコマンドを許可しない

# visudo
# システム停止系のコマンドエイリアス追記
# Cmnd alias specification

Cmnd_Alias SHUTDOWN = /sbin/halt, /sbin/shutdown, \
/sbin/poweroff, /sbin/reboot, /sbin/init, /bin/systemctl

# [1] の設定部分に追記 (エイリアス [SHUTDOWN] は許可しない)
ubuntu ALL=(ALL:ALL) ALL, !SHUTDOWN

# [ubuntu] ユーザーで動作確認
ubuntu@dlp:~$ sudo /sbin/shutdown -r now
[sudo] password for ubuntu:

Sorry, user ubuntu is not allowed to execute '/sbin/shutdown -r now' as root on ubuntu.
# 拒否された

5.root 権限が必要な特定のコマンドを特定のグループに属するユーザーに委譲する。

# visudo
# ユーザー管理系のコマンドエイリアス追記
# Cmnd alias specification
Cmnd_Alias USERMGR = /usr/sbin/adduser, /usr/sbin/useradd, /usr/sbin/newusers, \
/usr/sbin/deluser, /usr/sbin/userdel, /usr/sbin/usermod, /usr/bin/passwd

# 最終行 : グループ [usermgr] に属するユーザーに [USERMGR] で定義したコマンド許可設定追記
%usermgr ALL=(ALL) USERMGR
root@localhost:~# groupadd usermgr
root@localhost:~# vi /etc/group
# 所属させるユーザーを追記
usermgr:x:1002:ubuntu
# [ubuntu] ユーザーで動作確認
ubuntu@dlp:~$ sudo /usr/sbin/useradd testuser
ubuntu@dlp:~$ # 正常に完了
ubuntu@dlp:~$ sudo /usr/bin/passwd testuser
Enter new UNIX password:
Retype new UNIX password:

 

Ubuntu 23.04

Posted by arkgame