schedule2019-04-22

CentOSでユーザがsudoを使えるよう設定する

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 の実行

参考

こちらの記事を忘れていて、もう一つ似た記事を書いていました。 良ければ下記もどうぞ。