sudo追加(CentOS7)
更新日 : 2020年05月18日
Linuxでのsudo追加についてです。
sudoはsuperuserすなわち、ユーザーの権限を一時的にもらってコマンド実行をするものです。
覚え方はsuperuser doです。
サーバーを操作していて必ずと言ってよいほど必要になるsudoですが、Linuxでのユーザーへのsudo追加をしていきます。
まずはユーザー追加
今回は一般ユーザーのsudo権限追加ということで、ユーザー追加を行っていきましょう。すでにsudo
コマンドを利用可能にしたいユーザーがある場合にはこの手順は不要です。
ユーザー追加に関してはこちらのLinuxでユーザー追加・削除を参照してください。ユーザー追加に関して問題ない方は進みましょう。
作成したユーザーに切り替えて、sudoコマンドができないことを確認
作成したユーザーはもちろんsudo権限はありません。
## rootユーザーから、作成したtestuserというユーザーに切り替える
$su testuser
パスワード:
## testuserでsudoができないことを確認(適当な空ファイルの作成)
$sudo touch test.txt
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for testuser:
testuser is not in the sudoers file. This incident will be reported.
このように「sudoers fileに入っていません」と怒られてできないはずです。
作成したユーザーにsudo権限を付与する
ではいよいよsudo権限を、作成したユーザーに付与していきましょう。
suders fileを編集
まずはrootユーザーに戻しましょう。当たり前ですが、sudoの権限を操作できるのはrootユーザーだけです。先程作成したユーザーに切り替えた場合は、exit
と打てば、現在のユーザーから離脱し、rootユーザーに戻ることができます。
ではrootユーザーになったら以下のvisudoコマンドを叩きましょう。
## visudoでsudoers fileを操作
$visudo
するとviエディタでsudersファイルの中身を操作できます。100行目あたりに以下の記述を探しましょう。
## Allows people in group wheel to run all commands
#%wheel ALL=(ALL) ALL
このように#%wheel ALL=(ALL) ALL
とwheelグループの権限がコメントアウト状態になっているので#
を削除して有効化します。
カーソルを#
の前に持ってきて、x
を押せば消えるはずです。あとは:wq
で保存しましょう。編集に失敗したら、:q!
で強制終了して再度visudo
です。
問題なく編集できれば、これでwheelグループにsudo権限が付与されます。
sudersファイルのそれぞれの意味
%wheel ALL=(ALL) ALL
とコメントアウトを解除しましたが、ALLばかり書いてありイマイチ意味が分かりづらいので解説します。
基本構文は以下のとおりです。
誰が どのホストで=(誰として) どんなコマンドを許可するか
このような書式になっています。ALL
は単純に「すべて」を表します。
つまり先程の%wheel ALL=(ALL) ALL
の場合、「wheelグループは、すべてのホストで すべてのユーザーの すべてのコマンドを許可する」という意味になります。順番に解説します。
- 誰が
最初の項目は誰への許可かを記載します。%
を頭につけるとグループを指定したことになります。%wheel
でwheel
グループへの許可を設定しています。 - どのホストで
どのホストで許可するかを設定します。基本的にはALL
ですべてのホストを許可していいでしょう。例外もあります。 - 誰として
カッコ内には誰としてコマンドを実行するのかを指定します。ALL
とすることで、rootユーザーと同列だと考えてもいいでしょう。 - どんなコマンドを
最後に許可するコマンドをカンマ区切りで指定します。ALL
とすることですべてのコマンドを許可します。コマンドを個別に記載する場合には、コマンドの絶対パス(/usr/bin/less
など)を記載しなければいけません。ディレクトリを指定するとそのディレクトリ配下のコマンドを許可できます。(サブディレクトリ内のコマンドは含まない)
wheelグループに作成したユーザーを追加
先程のsudersファイルの設定でwheelグループにsudo権限が付与されたので、次は作成したユーザーをwheelグループに仲間入りさせてあげましょう。rootユーザーにて以下のコマンドで完了です。
usermod -G wheel 作成したユーザー名
これで作成したユーザーはwheelグループに仲間入りです。
これで作成したユーザーに切り替えて先程確認して行えなかったsudoコマンドを叩いてみましょう。sudo su
コマンドでrootユーザーに切り替えることが可能になったりしているはずです。
まとめ
sudo
追加を行いました。本来sudo
コマンドは、特定のユーザーの権限で行うコマンドを別のユーザーでも使えるようにするためのコマンドです。
ですが今回の用に主にroot
ユーザーのコマンドをすべて扱えるようにするために利用されることがほとんどです。
基本的には今回の内容とsudoコマンドがきちんと理解できればsudo
コマンドに関してはOKです。
タグ
-
前の記事
Linuxでユーザー追加・削除
-
次の記事
sshコマンド