人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

現在さくらサーバーで共用サーバーを借りています。(スタンダードコース)

クーロンから呼び出されて起動され、以下のことをするシェルスクリプトを知りたいです。

1.OSのログインユーザーチェンジ
2.同じサーバー内に配置してあるPerlファイルを起動する

Perlファイル内で、インターネット経由で情報取得しているのですが、指定したユーザーでないと情報が取得できていないため、ユーザーチェンジ処理を入れ込みたいです。
またCシェル、Bシェルどちらでもいいのでしょうか?

シェルなど詳しくないため、ご教授願います。

●質問者: ocbear
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Perl さくら インターネット サーバー シェル
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● hiramatsu_kg
●35ポイント

http://www.rhythm-cafe.com/shell/Default.aspx


2 ● amichang
●35ポイント

この場合、ユーザをチェンジするのではなく、

起動させたいユーザにperlプログラムの所有権を持たせます。

そして、パーミッションを4755にすればperlプログラムが、

どのユーザから起動しても所有ユーザから起動したことになります。(setuid:スティッキービット)

たとえば、起動させたいユーザhogeでグループがuser、perlファイルがhuga.plであれば、

$chown hoge:user huga.pl

$chmod 4777 huga.pl

これで、パーミッションの設定をした後、

perl huga.pl (huga.plは適宜変更)

をスクリプトに書けば、走ります。

ただ、sakuraにsuidperlというモジュールが入っていない場合は、起動しません。

そのときは起動したいユーザにログインしてから、

cronで上のスクリプトを書けば実行できたはずです。

setuidperl : http://platz.jp/howto/suidperl.html

スティッキービット : http://itpro.nikkeibp.co.jp/article/Keyword/20070518/271475/

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ