• ベストアンサー

proftpdではls、cd、bin、putコマンドとか使えないのでしょうか?

当方部署のサーバに、別の部署のサーバからのFTPを 許可しなければならなくなり、proftpdにて、アク セス制限をかけようと思い、導入しました。 テストでこのproftpdに、FFFTPで接続しての 動作確認はできました。 ほっとしていたのですが、telnetで、自分の proftpdに接続して動作確認をしようと思い、 user、passコマンドを入力後、lsやcdやbin やputコマンドを使ってみましたが 受け付けませんでした。helpでみたら、そんな コマンドはありませんでした。 FFFTPで出すコマンドは、ちゃんとproftpdにて 受け付けるコマンドを出してました。 Q1.やっぱりproftpdではlsやcdやbinやputコマンド は使えないのでしょうか? Q2.また、なんでFFFTPはこれらのコマンドを使わない のかでしょうか? 別の部署のサーバから、FFFTPのようにコマンド を出してくればいいのですが...コマンドライン からftp接続する場合、絶対これらのコマンドを 使ってきますよね。 うまい解決方法があれば助かります。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • terra5
  • ベストアンサー率34% (574/1662)
回答No.3

>ご回答から考えると、クライアント側では、cdやlsを >使うのに、立ち上げるftpデーモン内で、適宜変換され >てくるから問題ないと考えてよろしいでしょうか? クライアント側が変換します・・というか、 ユーザーの入力するcdやlsをクライアントプログラムが認識して、それに対応するftpプロトコルとしてftpサーバー側に送ります。 デーモンは何も変換しません。 ですから、proftpdに限らずどのftpサーバープログラムであっても同じで、 cdやlsは送信されても未知のコマンドとしてエラーとなるでしょう。 公開ftpにでも接続して試してください。 まあ、そういうコマンドを受け付けるftpサーバープログラムを作る人がいないとは限りませんけど(^^;;; また、ftpにtelnetで接続するというのは普通はやらないはずです。 telnetはftpクライアントプログラムではありません。 勿論、普通でない人は、httpサーバーでもpop3サーバーでもsmtpサーバーでもtelnetで接続できますけど。

esi
質問者

補足

terra5さん、再度のご回答ありがとうございます。 今回のご回答で、全てクリアになりました。 ありがとうございました。 m(__)m

その他の回答 (2)

  • terra5
  • ベストアンサー率34% (574/1662)
回答No.2

>Q1.やっぱりproftpdではlsやcdやbinやputコマンド は使えないのでしょうか? selenityさんが書いているように、lsのようなコマンドはftpクライアントソフトがユーザーから受け取るコマンドで、 ftpクライアントソフトがftpサーバーに送る物とは別物です。 ftpサーバーにtelnetで接続するということは、操作する人自身がftpクライアントになることになります。 具体的なことはrfcを調べればわかります。 参考URLにあげておきました。 windowsならtelnetでなく、DOSプロンプトでftpを実行すればいいのでは? CUIベースのものか、コマンドライン上のが動くはずです。(どっちが動くかはバージョンによる)

参考URL:
http://www.rfc-editor.org/rfc/rfc959.txt
esi
質問者

補足

terra5さん、ご回答ありがとうございます。 RFC参照しました。どこにもcdやlsとかって書いてない ですね。 教えていただいたとおり、ftpクライアントソフトウェア が変換してサーバに送出しているのはわかります。m(__)m unixサーバ(solaris2.6を使ってます)同士で、 Aのクライアントから、Bのサーバに対し、ftp接続 をした時は、lsや、cd等使えますよね。 そうするとこれも同じで、Aのクライアントのftp が、Bのftpサーバにコマンドを送出する時も、A 側のftpデーモンが、コマンドを変換して(RFCに 則した)送っているということになるのでしょうか? 何を気にしているのかといいますと、当方のFTP サーバに接続してくるクライアントが、cdとかlsとか できると思って、プログラムの中でlsとかcdとか 使ってきたら、proftpdは受け付けないなと思った からです。 ご回答から考えると、クライアント側では、cdやlsを 使うのに、立ち上げるftpデーモン内で、適宜変換され てくるから問題ないと考えてよろしいでしょうか? 訳のわからない説明ですみません。よろしくお願いいたします。

  • selenity
  • ベストアンサー率41% (324/772)
回答No.1

FTPはコマンドを送るポートとは別のポートを使用して、表示結果やファイル本体の送受信を行うため、 telnet等で試すにはちょっとしたコツが必要です。 A1.FFFTP内部で送信しているコマンドはNLSTやRECVといったあなたの知らないコマンドが送られています。 put/get/ls等は人間がわかりやすい様にフィルタリングされているだけです。 A2.上記のとおりあなたが入力しているコマンドは一旦変換されてFTPサーバに送信されています。 パケットをモニターしてみれば分かりますよ。 どんなアクセス制限をかけたいのですか? TCPWrapperでも十分な気がしますが、、、

esi
質問者

補足

早速のご回答ありがとうございます。 A1.のご回答ですが、やっぱりproftpdにて、直接lsやcdやbinやputコマンドは受け付けないのでしょうか? というか、通常そんな使い方しないということでしょうか? >どんなアクセス制限をかけたいのですか? >TCPWrapperでも十分な気がしますが、、、 FTPでの接続を認めると、FTPサーバ内の ファイル構成やなんかいろいろ権限があるところは 見えてしまうと思います。それで、FTPにて PUTしてくる、そのディレクトリ以外のところは 見せたくないので、proftpdを入れることにしました。 ですので、putしてくるディレクトリだけにアクセス を認めるというようにできればよいのですが、 TcpWrapperでは、IPアドレスとポート番号でしか アクセス制限できない?のかなと思って諦めました。 TCPWrapperでもこれが可能であれば、こちらを使いたい です。 すみません、よろしくお願いいたします。

関連するQ&A