このセキュリティの厳しい時代に ftp って言うとブーイングを受けるかもしれませんが、今でも多くの場所で使われています。
私が知る限りでは、ローカルの PC で作ったプログラムを一時的にイントラネット内のサーバに乗せて動作確認する場合にその光景を見かけます。
レンタルサーバやプロバイダへのファイルアップロードも同じですね。
ただ、ftp の場合はパスワードやファイルの内容が平文で通信経路を流れるので tcpdump などでパケットを除けば見れてしまいます。
セキュアにしようと思えば、ftp は scp や rsync へ、telnet は ssh へとするのが一般的なのでしょうか。
(もちろん鍵認証ですが)
アップロード・ダウンロード
さて、冒頭で今でも ftp は多くの場所で使われているという話をしたのでコマンドラインで使用する場合の ftp のオプションをいくつかまとめておきたいと思います。
GUI が使える環境なら FFFTP が多く使われているのでしょうか。
コマンドラインの ftp は、サーバとのコネクションの確立から始まり、ファイルのやりとり、コネクションの切断という流れになり、GUI の操作と何も変わりません。
FFFTP でも画面の下にはコンソール画面もどきがあり、ここにコマンドが表示されていると思います。
最低限、以下のコマンドを覚えておけば問題ないと思います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # コネクションの確立 $ ftp 172.16.1.1 ↓認証(USERNAME/PASSWORD) ftp> ※下記でも代用可能 $ ftp open 172.16.1.1 user USERNAME PASSWORD # サーバ側のディレクトリ移動 ftp> cd /home/saratoga # サーバへファイルをアップロード ftp> put saratoga.txt # ローカル側のディレクトリ移動 ftp> lcd /usr/local/saratoga # クライアントにファイルをダウンロード ftp> get saratoga.txt # 他のサブコマンドを確認する ftp> subcommand help |
権限の変更(パーミッション)
多くの場合は上記のコマンドでファイルのやり取りは十分ですが、ファイルのアップロード後にパーミッションを変更したい場合もあります。
実は ftp でも権限の変更は可能ですが、これはサーバ側の設定次第になります。
権限の変更は Linux や UNIX でおなじみの chmod を使いますが、このままでは使えないので、quote や site コマンドを利用します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | # 権限の変更 ftp> quote site chmod 644 saratoga.txt # quoteは省略が可能 ftp> site chmod 644 saratoga.txt # quoteコマンドで利用可能なコマンド一覧を確認する # (アスタリスクの付いているコマンドは利用不可) # ここに site コマンドがあります ftp> quote help 214- The following commands are recognized (* =>'s unimplemented). USER PORT TYPE MLFL* MRCP* DELE SYST RMD STOU PASS LPRT STRU MAIL* ALLO CWD STAT XRMD SIZE ACCT* EPRT MODE MSND* REST XCWD HELP PWD MDTM SMNT* PASV RETR MSOM* RNFR LIST NOOP XPWD REIN* LPSV STOR MSAM* RNTO NLST MKD CDUP QUIT EPSV APPE MRSQ* ABOR SITE XMKD XCUP # siteコマンドで利用可能なコマンド一覧を確認する # (アスタリスクの付いているコマンドは利用不可) # ここに chmod コマンドがあります ftp> site help 214- The following SITE commands are recognized (* =>'s unimplemented). MD5 UMASK IDLE CHMOD HELP |