UNIX系OS ( Mac / Linux / FreeBSD )のシェルコマンドに関する各種メモ書き

一時的にroot(または別ユーザー)権限でコマンドを実行する sudo の設定

sudo は一時的に別のユーザーになってコマンドを実行するコマンドです。

このsudoを設定するコマンドがvisudoです。

【hoge】 ユーザーが コマンド【/usr/bin/testcommand】をパスワードなしで実行できるようにするには

sudo の設定

(root) ユーザーになって

visudo

を実行します。(エディタ vi が起動します。)

一番下に

hoge ALL=(ALL) NOPASSWD: /usr/bin/testcommand

と記述します。これだけで設定完了です。

なお全てのコマンドを sudo で実行できるようにするには

hoge ALL=(ALL) NOPASSWD: ALL

と記述します。

コマンドの実行

実行は(hoge)ユーザーになって

sudo /usr/bin/testcommand

とするとrootユーザーが上記コマンドを実行したことになります。

apacheユーザーなど 非シェルログインユーザーがsudoを実行できるようにするには

visudo を実行して

# Defaults    requiretty

と「Defaults requiretty」の先頭にシャープをつけてコメントアウトします。

するとシェルにログインできないユーザーでもsudoを実行することが出来ます。

( PHPから sudo をする場合にはこの設定を行った後下記リンクのように設定します )

参考:http://hogehack.blog80.fc2.com/blog-entry-36.html

関連エントリー

No.631
11/19 14:14

edit

ユーザー