Linux触るときには基本的にrootでいるので
Macを使っててなんだか面倒だな〜とおもってたのが
sudoコマンド
root権限でコマンドを実行するにはsudo経由で実行する。
$sudo port install git-core Password:
で管理パスワードを入力するとコマンドが実行される。
しばらくパスワードを覚えてくれるけど、しばらくしたら
忘れてしまってまたパスワードを入れなきゃいけない。
Macに入っているApacheやPostfixなんかも触るので
結構面倒だった。
設定を変えれば時間を長くしたりできたりするんだろうけど
そのまま使ってた。
そして先日、AWSでAmazon Linuxを使ってて気づいた。
AWSのサーバへはec2-userというユーザでSSHログインして
Macと同じ用にsudoコマンドで実行している。
でも、Macと違うのはパスワードを要求されないこと。
そもそも、Linuxでsudoを使ってないので設定の仕方がわかって
なかったんだけど、AWSのサーバはどうやって設定しているのか
/etc/sudoersの中身を確認してみると
ec2-user ALL = NOPASSWD: ALL
と書いてある。
なるほどと、早速Macでも試してみる。
sudoの設定はvisudoコマンドで行う。
$sudo visudo Password:
そして、こんな感じでhitoshiユーザの権限を設定。
# User privilege specification root ALL=(ALL) ALL %admin ALL=(ALL) ALL hitoshi ALL=(ALL) NOPASSWD: ALL
これで、パスワードなしでsudoコマンドが使える。
ちなみに、rootになりたければ
$sudo su -
とすればよい。
Macだけではなくsudoを使ってるサーバなら
だいたい大丈夫なんじゃないでしょうか。
最後に当たり前だけど、セキュリティは低くなるので
気をつける必要がある場合は設定しない方がよいですね。