2010年02月02日 過去Blog
ブラウザからPHPスクリプトにアクセスして、PHPプログラムからsudoコマンドを実行する方法です。 私の場合は、手元のfedoraが動いているサーバで試してみましたが、「anysense-devel」さんの記事通りに実行出来ましたので、ご紹介、というか今後の自分のためにもメモしておきます。
以下、参照元「anysense-devel」さんの記事です。
ご存知の通りPHPからコマンドを実行するにはexec()やsystem()等を使えばいいんですが、Apacheに実行権限が無いファイルを扱う場合はsudoしてから実行する必要があります。
<?PHP
$cmd = "echo 'password' | sudo -S ls /root";
exec($cmd, $output);
print_r($output);
?>
みたいに-Sを付けてやればパイプでパスワードを渡すことが出来ます。 ここで入力するのはもちろんapacheが動いているユーザーのパスワードです。 apacheがどのユーザー権限で動いているかはhttpd.confのUserディレクティブとGroupディレクティブで確認できます。 因みにCentOS5.1でyumでapacheをインストールした場合はapacheというグループのapacheというユーザーとして動いています。 PHPスクリプト内のexec()関数で呼び出されたコマンドもこのユーザーとして実行されます。 以下、Apacheを実行しているユーザーをapacheと仮定して書きます。apacheは環境に応じて適当に読み替えてください。 sudoする際に渡すパスワードはapacheのものですが、デフォルトではapacheユーザーにはパスワードがありません。パスワードが無い場合sudoできませんので何でもいいのでパスワードを指定してあげましょう。
sudo passwd apache
次にapacheユーザーがsudoできるようにsudoersファイルを編集します。ルート権限で
visudo
と入力するとsudoersファイルを編集できますので、末尾に
apache ALL=(ALL) ALL
と追記します。さらに
Defaults requiretty
という行をコメントアウト(行頭に#を追加)して端末を持たないユーザーからのsudoを許可します。 これでapacheユーザーからsudo出来るようになりました。冒頭のPHPスクリプトへブラウザからアクセスして/rootの中身が見れたら成功です。 http://hogehack.blog80.fc2.com/blog-entry-36.html

この投稿へのコメント

コメントはまだありません。

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます。
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

CAPTCHA


ピックアップ記事

zencart:カスタマイズ リンクの貼り方

2009年11月18日 過去Blog
セッションや共用SSLの問題を考えずに、普通にリンクを貼るのであれば、Zencartのデフォルトで設定されているURL(http://domain_name.com/index.php?main_page=contact_us など)をそのままテンプレート内に張り付けることで動作しますが、この方法でリンクを貼るとクッキーの使えないブラウザで正常にセッションが動作しなくなります。Zencartのセッションについてはこちらの記事で触れています。 セッションを維持するリンクの貼り方は状況によっていくつか考えられるので、順に説明していきたいと思います。 …
「zencart:カスタマイズ リンクの貼り方」をはてなブックマークに追加

WordPressの記事中でphpを使うスクリプト

2009年11月24日 過去Blog
http://www.nosq.com/blog/2006/01/runphp-plugin-for-wordpress/ http://bono.s206.xrea.com/2006/03/112-runphp/ Zencartにも応用できる?
「WordPressの記事中でphpを使うスクリプト」をはてなブックマークに追加

UITableView cell の選択を無効にする

2011年04月28日 過去Blog
cell.selectionStyle = UITableViewCellSelectionStyleNone;
「UITableView cell の選択を無効にする」をはてなブックマークに追加

Drupal 関連サイト

2011年04月24日 過去Blog
http://www.forest-and-trees.com/comment/reply/146#comment-form http://www10.atwiki.jp/drupal/
「Drupal 関連サイト」をはてなブックマークに追加

macでhostsファイルの切り替え

2010年12月08日 過去Blog
以前、macでのhostsファイルの編集方法を紹介しましたが、hostsの切り替えに便利なツールがありましたので、それを紹介します。 hoster このソフトを使えば、ターミナル上から、hostsファイルを編集する必要がなく、GUIの操作だけでhostsを変更することが可能です。頻繁にhostsの設定を変更する必要がある方にとっては、とても重宝するのではないでしょうか。…
「macでhostsファイルの切り替え」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy