
初めて投稿します。よろしくお願いします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 で排他制御はどうすれ...
-
パスから最後のディレクトリだ...
-
readdir()で得られるファイル・...
-
MATLAB グローバル変数の宣言
-
バッチファイルの作り方(CSV→...
-
MATLABのm-fileについて
-
エクセルVBA コードが同じでも...
-
CSVが可変長の場合の検索方法
-
Windowsで複数のファイルを同じ...
-
PICでFatFsでオープンした内容...
-
初心者で、困っています。(文...
-
sprintfについて
-
ReadLineでの読み出し行を指定する
-
openした後、closeしないでプロ...
-
テキストファイルから日本語部...
-
VBAでCSVファイルを途中行まで...
-
C言語でファイル名を取得
-
空白文字 \\f と\\v の違いに...
-
perlのエディタでおすすめを教...
-
awkスクリプトでダブルクォーテ...
マンスリーランキングこのカテゴリの人気マンスリー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ファイルを途中行まで...
おすすめ情報