termination

linux

簡単なsudo設定

sudo設定を簡単シンプルに説明します。

sudoとは、他のユーザーの権限でコマンドを実行するためのコマンドです。

よく使うのは、管理者ユーザーがroot権限でコマンドを実行したり
WEBフックの延長でapacheユーザーがGitデプロイ用ユーザとしてデプロイスクリプトを実行するなど。

/etc/sudoers を編集するコマンドvisudoを使いましょう。

root権限で実行する場合

visudo

既にroot権限のsudo設定済の場合

sudo  visudo

vim など、通常のエディタでも /etc/sudoers を編集できるのですが
間違った設定をするとsudoが使えなくなったりと、とても困った状態になるようです。

visudoで編集すると文法エラーがある場合には保存前に警告が出るので直接編集するよりも安全です。

root権限のsudo設定

taroユーザーがrootのすべての権限を持つ(taroユーザーのパスワード入力が必要

taro   ALL=(ALL)

taroユーザーがrootのすべての権限を持つ(taroユーザーのパスワード入力不要

taro   ALL=(ALL)   NOPASSWD: ALL

(ALL) の後ろに利用できるコマンドを指定することも可能です。省略時はすべて。

apacheから他のユーザとしてコマンド実行可能にする設定
(WEBフックでデプロイなど)

apache    ALL=(deploy)    NOPASSWD: ALL
# NO Terminal User Enable
User_Alias NOTTYUSERS = apache
Defaults:NOTTYUSERS    !requiretty

後半3行は、端末なしユーザーでもsudoを実行可能にするための設定です。

私が頻繁に使うsudoの設定は以上です。

-linux
-, , ,