/etc/sudoersの記載について調べた。

その他

sudo権限を編集するためには/etc/sudoersを編集する必要があるが、これの書式を良く忘れるので備忘として記載しておく。

なお、/etc/sudoersを編集する際には必ずvisudoコマンドを用いること

通常、/etc/sudoersはrootユーザでさえ読み取り権限しか無いため、通常編集されることは無いですが念の為。

/etc/sudoersの書式

初期で登録されている設定は以下のとおりです。

root	ALL=(ALL) ALL
%admin	ALL=(ALL) ALL

先頭に%がついている場合は、グループに対しての設定になります。
上記ではわかりにくいので、例で説明します。

/etc/sudoersの記載例

以下に記載例を示します。
この例はパスワード付きでsudoを可能とする例です。

myuser ALL=(anotheruser) /bin/ls # sudo -u anotheruser ls が可能

myuser ALL=(ALL) /bin/ls # sudo ls が可能(どのユーザにもなれる)

myuser ALL=(ALL) ALL # sudo でどんなコマンドも可能(どのユーザにもなれる)

これをパスワード無しでsudo可能にするには、追記が必要です。

パスワード無しでsudoする

パスワード無しでsudoするには以下の通り、NOPASSWDを追記して上げる必要があります。

myuser ALL=(ALL) NOPASSWD: ALL # パスワード無しでsudo

なお、邪道ではありますが、sudo無しでsudoさせることが可能です。

sudo無しでsudoする

これを実現するためには、aliasを設定する必要があります。
例えば、visudosudo無しで実行するためには、.bash_profile等に以下を設定してあげます。

alias visudo="sudo visudo"

ちょっとずるいですが、これで実現可能です笑
よく使うコマンドをalias設定しておけば良いですね。

コメント