[PHP-users 12419] system からパスワードを渡すには。。

go php-users@php.gr.jp
Tue, 7 Jan 2003 11:29:46 +0900


goともうします。経験が浅く知識不足から、ご教授願いたいことがあります。

OS:RedHat8.0
PHP:4.2.2

webからサーバにある動作を予約したいと考えております。

phpのsystemコマンドをつかってあるユーザ権限でシェルスクリプトを書いたファイ
ルをatで時間予約して呼び出したいと思ってます。

シェルスクリプト=shellsc.txt
phpファイル=phpcommand.php

phpcommand.phpには以下のように記述しました。

<?php
$command="su - user -c \"at -f /home/user/shellsc.txt now + 1 minutes\"";
print system($command);
?>

これではpasswordによるユーザ認証がクリアできないので。

<?php
$command="su - user -c \"at -f /home/user/shellsc.txt now + 1 minutes\"";
$pass="userpassword";
print system($command);
print system($pass);
?>

としてもatqで確認したところジョブが渡されていません。

4行目が実行された段階で、パスワード入力受付でプログラム自体が一時中断待機し
ているだと考えています。
このような場合、どういう風にパスワードを渡せばよろしいのでしょうか?
もしくは、やり方、考え方自体がおかしいのであれば、お教えを頂きたいです。