この記事はWeb開発をするまでの一部です
別のユーザの権限でコマンドを実行する為のコマンドで
主に管理者権限(root)でコマンドを実行する為に使う
sudo ls
これで管理者権限でlsコマンドを実行した事になる。
ただし、誰でも実行できるわけではないので、設定ファイルに記述する必要がある
設定ファイルは/etc/sudoersというファイルですが、重要なファイルのために
特別に編集するコマンドが用意されています。
rootユーザになってから編集します。
su -
visudo
ファイルの最後から13行目付近に
#%wheel ALL=(ALL) ALL
という記載があるので、最初の#を削除します。
-#%wheel ALL=(ALL) ALL
+%wheel ALL=(ALL) ALL
具体的にはviというテキストエディタでファイルが開かれている状態になっているので、
「j」または「↓」キーで移動して、該当の箇所にカーソルを合わせて「x」で削除。
その後、「:wq」で保存して下さい。
これで、wheelグループに所属するユーザは全てのユーザになり変わってコマンドを実行できるようになりました。
記述の内容としては
誰が どのサーバで 誰の権限で 何を実行可能か。
という事になります。
%を頭につけた場合はグループを指します。
サーバについては、同じ設定ファイルを使い回す時に、切り分けできるようにです。
実行可能なコマンドの指定は絶対パスで記述する必要があります。
コマンドを複数指定する場合はカンマで区切ります。
%hige fuga=(hoge) /usr/bin/ls -l
上記の例の場合は、fugaというサーバでhigeグループに属しているユーザはhogeユーザになり変わって
ls -lというコマンドを実行する事ができます。
先程、wheelグループに追加しているユーザに権限を追加したので、
次に、実際に普段利用しているユーザを、wheelグループに追加します。
usermod -G wheel hoge
これでhogeユーザがwheelグループへ追加されました。
id hoge
これで追加されている事を確認します。
こうして、各ユーザにsudoで実行できるコマンドを指定する事で
各ユーザが出来る事を制限する事が出来ます。
一部のコマンドを実行する事を可能にする為に、rootのパスワードを公開するような事は不要になります。
sudoを実施する際に自分のパスワードを聞かれますので、
作業ユーザにパスワードを設定しておきます。
passwd hoge
このコマンド実行後、パスワードを2回入力すると、それが作業ユーザのパスワードになります。
インストール時等に設定していなかった場合は設定しておきます。