環境
- CentOS Linux release 7.6.1810 (Core)
前提
sudo
しようとしてパスワードを入力すると、(ユーザ名) is not in the sudoers file. This incident will be reported.
となる。
ここでは、sudo
できないユーザをnormaluser
とする。
[normaluser@localhost ~]$ whoami
normaluser
[normaluser@localhost ~]$ sudo su -
[sudo] password for normaluser:
normaluser is not in the sudoers file. This incident will be reported.
手順
1. rootでログインする
root
の権限を与える操作なので、root
でログインする必要がある。
以下のコマンドを入力し、root
のパスワードを入力する。
[normaluser@localhost ~]$ su -
Password:
ログインに成功すると、コマンドの頭の文字が$
から#
に変わる。
[root@localhost ~]#
su
が使えない場合は、ログイン画面に戻ってroot
でログインする。
2. wheelグループを全コマンド実行可能なグループにする
vi
コマンドで/etc/sudoers
を開く。デフォルトでは100行目付近に、wheel
グループのコマンド実行権限についての設定がある。
viエディタをコマンドモードで開いている間に:set nu
と打つと、行番号が表示される。
[root@localhost ~]# vi /etc/sudoers
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
パスワードを要求するならそのまま。
要求しないなら以下のように変更する。
(コメントアウトする場所を変更する。)
## Allows people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
## Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL
3. ユーザをwheelグループに追加する
以下のコマンドを実行する。
[root@localhost ~]# usermod -aG wheel normaluser
変更できたか確認する。
[root@localhost ~]# id normaluser
uid=1001(normaluser) gid=1001(normaluser) groups=1001(normaluser),10(wheel)
wheel
グループに入っていることが確認できればOK。
4. sudoできるか確認する
一般ユーザに戻り、groups
コマンドを使ってwheel
に所属できているか確認する。
※exit
でroot
から戻った場合は、再ログインする。
[normaluser@localhost ~]$ groups
normaluser wheel
[normaluser@localhost ~]$ sudo su -
[sudo] password for normaluser:
Last login: Mon Nov 25 01:01:20 PST 2019 on pts/0
[root@localhost ~]#
normaluser
のパスワードを入力すると、root
にログインできる。
以上で、sudo
を実行できることが確認できた。
参考
CentOSでuserをsudo可能にする
CentOS6の内容ですが、ほぼ同様の手順です。