CentOSの初期設定の際、ユーザがsudo
コマンドを打てなかった。
[user@localhost ~]$ sudo ls
user is not in the sudoers file. This incident will be reported.
sudo
はセキュリティ上重要なコマンドであるため、管理者権限のないユーザは使用できません。
ユーザにsudoの権限を追加する方法について説明します。
visudo
/etc/sudoers
にユーザの権限が指定されています。
こちらを編集してユーザに管理者権限を追加します。
まずはrootユーザに移るります。
[user@localhost ~]$ su - root
Password:
[root@localhost ~]#
続いてvisudo
コマンドで/etc/sudoers
を編集します。
[root@localhost ~]# visudo
下記のように管理者権限を追加するユーザを追加します。
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
user ALL=(ALL) ALL # <- 追加したユーザ
操作はviと同じです。
i
キーで書き込みモードにして、user ALL=(ALL) ALL
を記述したらEsc
でコマンドモードに戻ります。戻ったら:wq
で上書き保存できます。
user ALL=(ALL) ALL
はユーザにホストのルート権限を渡してすべてのコマンドが使える状態になります。
以上でユーザに管理者権限が追加されました。
パスワードなし sudo の実行
userにsudoの実行時にパスワードを聞かないよう権限を与えます。
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
user ALL=(ALL) NOPASSWD: ALL # パスワードなし sudo の実行
参考
- さくらVPS+CentOS:自分をsudoユーザに追加してみた - suin.io
- sudoの権限を設定するvisudoコマンド【Linuxコマンド集】
- CentOS 7 の初期設定でやっておくべきこと
こちらの記事を忘れていて、もう一つ似た記事を書いていました。 良ければ下記もどうぞ。