【Linux】sudoを使えるようにする
そういえばOSのインストール直後'sudo'コマンドが使えなかったなぁと思い、'sudo'コマンドを使えるようにするための設定方法をまとめます。
sudoとは
主に一般ユーザーが管理者権限(root)でコマンドを実行したい場合に使われるコマンド。また、'-u'オプションでユーザーを指定すればroot以外のユーザーでコマンドを実行することも可能。
設定ファイル
'sudo'の動作設定は'/etc/sudoers'ファイルに記述されている。
'/etc/sudoers'は直接編集することは意図されていないので、編集する場合は'visudo'コマンドを使用して行う。
基本的な書式は次のような形
turtlechan ALL=(ALL) ALL
意味は
誰が どこで=(誰の権限で) 何を
- 誰が: 誰をsudo可にするか(ユーザー名かグループ名を指定)
- どこで: どの機器からsudo可にするか(ホスト名やIPアドレスで指定)
- 誰の権限で: sudoで切り替えられるユーザーは誰か
- 何を: sudoで何のコマンドを実行可能にするか
「誰の権限で」の部分が'(ALL:ALL)'ってなんぞ?って感じだけど、多分'(ユーザー:グループ)'って事でしょう。
設定方法
OSインストール直後、一般ユーザーを'sudo'可能にするには次の2通りある。
- '/etc/sudoers'にユーザーの設定を記述する方法
- 'sudo'が許可されているグループに所属させる方法
好きな方で設定すればいい。
'/etc/sudoers'にユーザーの設定を記述する方法
前述した'visudo'コマンドで'/etc/sudoers'を編集します。'visudo'で起動するエディタが'vi'の場合と'nano'の場合があるみたい(環境による)。私の環境だと起動するエディタが'vi'じゃなくて'nano'でした。jjjjjj
管理者(root)にログイン(切り替え)します。
~$ su -
'visudo'を起動します。
~# visudo
特にこだわりがなければ記述するのは次のものでいい。
ユーザー名 ALL=(ALL:ALL) ALL
記述する位置はどこでもいいが、次の記述の下辺りが良さげ。
# User privilege specification
root ALL=(ALL:ALL) ALL
記述が終わったら上書きして閉じて下さい。エラー表示がでなければ設定は終了です。
管理者(root)からログアウトします(忘れずに)。
~# exit
'sudo'が許可されているグループに所属させる方法
'/etc/sudoers'を編集していなくても、始めから'sudo'が許可されているグループがある。ユーザーをそのグループに所属させれば、'sudo'可能になる。
管理者(root)にログイン(切り替え)します。
~$ su -
ユーザーを'sudo'可能なグループに所属させます。Debian系はグループ名='sudo'、RedHat系はグループ名='wheel'です。
~# usermod -aG グループ名 ユーザー名
これで設定は終了です。
管理者(root)からログアウトします(忘れずに)。
~# exit
※現在ログインしているユーザーを'sudo'可能なグループに所属させた場合、一回ログアウトしてログインし直さないと有効になりません。
おわりに
Linuxを初めて使った時、'sudo'使えなくて検索しまくったのはいい思い出。解説してくれてるサイトたくさんあったんだけど当時は'su'とか'root'とか色々書いてあって全然意味わからなかったんですよね。とは言っても、Linux歴短いのでまだまだ分からないことだらけです。このブログ書きながら勉強していきます。
参考にしたサイト
'/etc/sudoers'の記述の仕方が詳しく書いてあるので分かりやすかったです。