CentOSやFedoraでsudoを使えるようにする方法

2017年8月19日

UbuntuやLinux Mintの場合、初期状態でrootユーザーはロックされていて、管理用のコマンドは「sudo」を使って実行しますよね。そのためWeb記事や雑誌記事では、root権限が必要なコマンドは「sudo」をつけて紹介されることも多いように思います。本サイトでも、rootで実行する必要があるコマンドは、基本的に「sudo」をつけて記載しています。

でもCentOSやFedoraだと、デフォルトでは「sudo」が使えるようにはなっていないんですよね。これらのディストリビューションに初めて触れる方は、各記事に書かれた「sudo」が使えずに悩むこともあるようです。そこで、CentOSやFedoraといったRed Hat系ディストリビューションで、Ubuntuのように「sudo」を使って管理者としてコマンドを実行できるようにする方法を紹介します。

インストール時にsudoを使えるユーザーを設定する方法

現時点で最新の「CentOS 7.3」と「Fedora 26」なら、インストール時のユーザー作成で「このユーザーを管理者にする」にチェックしておけばsudoを使えるよう設定されます。以下の画面です。

インストール後にsudoを使えるユーザーを設定する方法

インストール時に「このユーザーを管理者にする」にチェックを入れなかったけれども、sudoを使えるようにしたいということもあるでしょう。もちろん可能です。GUIで設定することもできますし、コマンドで設定することもできます。それぞれ、以下に紹介します。

GUIでsudoを使えるよう設定する

まずは設定画面を開きましょう。

ユーザーの設定に進みます。

「ロック解除」を押して管理者(root)のパスワードを入力し、「認証」をクリックします。

アカウントの種類を「標準」から「管理者」に変更しましょう。

これで、一度ログアウトもしくは再起動してログインしなおせば、sudoが使えるようになっているはずです。sudoを使った時に入力するのは管理者(root)のパスワードではなく、sudoを実行しているユーザーなので注意してくださいね。

コマンドでsudoを使えるよう設定する

GUIでの設定を見てきましたが、内部的にはユーザーを「wheel(ホイール)」グループに加えるという処理を行っています。初期状態でwheelグループにsudoが許可されているため、グループに追加すれば実行できるようになる、というわけです(なお、Ubuntuではsudoグループに許可されています)。

まずは、現時点でユーザーがどのグループに属しているかを確認してみましょう。以下のようにgroupコマンドを実行するだけです。

[[email protected] ~]$ groups
lintaro

上は、グループ「lintaro」にのみ属しているユーザー「lintaro」で実行した例です。なので、「lintaro」だけしか表示されていませんね。

wheelグループへの追加を行うため、まずは「su」コマンドでrootになります。ここで入力するのはrootユーザーのパスワードです。

su -
パスワード:

これで、プロンプトが「$」から「#」に変化するはずです。ユーザーをwheelグループに追加するには、以下のコマンドを実行します。ユーザー名は「lintaro」からご自身のものに変えてくださいね。

gpasswd -a lintaro wheel

これで、ユーザーをwheelグループに加えることができました。「groups ユーザー名」を実行すると、以下のようにwheelグループに入ったことが確認できるはずです。

[[email protected] ~]# groups lintaro
lintaro : lintaro wheel

一度ログアウトが必要なのは、GUIで設定した場合と同様です。ログインしなおして、sudoコマンドが使えることを確認してください。

ユーザーのグループ追加については、以下の記事も参考にしてください。

まとめ

CentOSやFedoraでsudoを使えるようにする方法を見てきました。インストール時に設定してしまえば簡単ですが、コマンドでの設定方法で紹介した通り、内部的にwheelグループに所属することでsudoができるようになっている、ということも知っておくと役に立つことがあるかもしれません。なお、wheelグループにsudoを許可している設定ファイルは「/etc/sudoers」で、これを編集するためのコマンドが「visudo」です。個人でLinuxを使っている限り、あまり意識することはないかもしれませんが、興味がある方は調べてみてください。