
初めて投稿します。よろしくお願いしますm(_ _)m
質問の内容は『PerlでProftpdのユーザファイルを作成するには』です。ブラウザを使って、IDやパスワードなどを登録するつもりなのですが、その際FTPd用のユーザファイルを作成しようと考えています。コマンドライン上から直接実行すれば成功するのですが、ブラウザ上からクライアントの操作で書き込みができません。どうすればよいか、どうかご教授くださいませ。
[環境]
OS:VineLinux3.2
FTPD:proftpd-1.2.10 [nobody]
HTTPD:Apache-1.3.3 [nobody]
実行ファイル名:sample.cgi
[手順]
1.ブラウザ上でユーザ名とパスワードを入力してもらう
→このとき、ユーザ名を[$user]、パスワードを[$passwd]に格納します
2.system関数を使って、ユーザ情報とパスワードをAuthUserFileで指定したファイルに格納する
→指定したファイルは[/etc/ftp.pass]です
このときのコマンドは、
$file = "(FTPdのソースディレクトリ)/contrib/ftpasswd";
[system ("$file --passwd --file=/etc/ftp.pass --name=$user \--uid=510 --gid=100 --home=/home/hoge --shell=/bin/bash");]
です。ftp.passのパーミッションは[744]で、所有ユーザは[nobody]です。
ブラウザで実行する前にコマンドラインから実行しようとしたのですが、コマンドライン上から[perl sample.cgi]と打ち込むとエラーが出てきました。
[
ftpasswd: using alternate file: /etc/ftppasswd
ftpasswd: --passwd: missing required argument: --home
]
よろしければ、どうかご教授くださいませ。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
> system ("$file --passwd --file=/etc/ftp.pass --name=$user \--uid=510 --gid=100 --home=/home/hoge --shell=/bin/bash");
$userと--uidの間にバックスラッシュ(円マーク)が入ってますが、これが悪さしてるのでは。
system()で実行する前に、思った通りのコマンド文字列が組み立てできてるかを確認するために、syslog等に出力してみては。
ただsystem()でftpasswdを実行すると、次のパスワード文字列の入力ができないような気が。IPC::OpenとかExpectみたいのを使わないとダメかも。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perl-CGI で排他制御はどうすれ...
-
perlからのexcel読み込み
-
無料配布の郵便番号自動入力cgi...
-
コマンドプロンプトからperlを...
-
あるURLがファイルなのかディレ...
-
エクセルVBA コードが同じでも...
-
MATLAB グローバル変数の宣言
-
ファイル全てを .xlsm に変更し...
-
C言語で特定の行を抽出する方法...
-
ExcelをCSV書き出す場合のシー...
-
drtファイルはどうしたら開...
-
Perl cgiの文字化けを直したい ...
-
ファイル名を複数個配列で確保...
-
VBAでCSVファイルを途中行まで...
-
fopenでディレクトリ内の全ファ...
-
ファイル出力の改行コードをLFに
-
readdir()で得られるファイル・...
-
batファイルでrenameができませ...
-
「パスが見つかりません」とい...
-
openした後、closeしないでプロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
無料配布の郵便番号自動入力cgi...
-
Perl で ディレクトリ及びサブ...
-
標準入出力 パイプ
-
PerlとUnixの関係
-
Perl-CGI で排他制御はどうすれ...
-
cookieを必要とするページへのLWP
-
あるURLがファイルなのかディレ...
-
perl上からfindを使い検索した...
-
シェルスクリプトの作成方法
-
配列を使ってファイル名のリネーム
-
エラーログ「\\x8ew\\x92\\xe8...
-
詳しい方教えて頂けませんでし...
-
Perlファイルテスト演算子が正...
-
unlink 、renameが使えない理由
-
MacOSXでのPerlプログラミング
-
ディレクトリ名の変更
-
コマンドプロンプトからperlを...
-
AuthUserFile用に登録するためには
-
エクセルVBA コードが同じでも...
-
VBAでCSVファイルを途中行まで...
おすすめ情報