FTP入門と進級

3543 ワード

一、紹介
1、FTPは何ですか
FTP「File Transfer Protocol」(ファイル転送プロトコル)は、RFC 959において説明されているファイルの転送および共有を実現するために使用される.
FTPはアプリケーション層で動作し,TCPベースでC/Sアーキテクチャである.
2、セッション接続:
制御接続:ポートは21で、FTPサーバーと疎通して、FTPに接続して、指令を送って[クライアントは絶えず開いて、持続的に接続を維持します]
データ接続:ポートは20[アクティブモードでのみ20]であり、FTPサーバとファイル転送を行う[データ要求時接続]
3、動作モード
FTPプロトコルでは,制御接続はクライアントによって開始されるが,データ接続にはPORT方式とPASV方式の2つの動作方式がある.
アクティブ、パッシブはサーバの観点に基づいています.
PORT【Active】モード(アクティブモード)
FTPクライアントはランダムポートNを使用(1024以上)FTPサーバーの21ポートに接続し、ユーザー名とパスワードを送信してログインする.ログイン成功後にリストまたはデータを読み取る場合、クライアントはPORTコマンドをFTPサーバーに送信し、サーバークライアントにアクティブモードを採用してポートN+1を開放するように伝える.FTPサーバーはPORTアクティブモードコマンドとポート番号を受け取った後、サーバーの20ポートとクライアントを通じて開放するポートN+1が接続され、データが送信される.
PASV【Passive】モード(受動方式)
FTPクライアントはランダムポートNを使用(1024以上)FTPサーバーの21ポートに接続し、ユーザー名とパスワードを送信してログインする.ログイン成功後にリストまたはデータを読み取る場合、クライアントはPASVコマンドをFTPサーバーに送信し、サーバークライアントにパッシブモードを採用することを伝え、FTPサーバーはPASVパッシブモードコマンドを受け取った後、ランダムポートを開き、クライアントに知らせる.を使用して接続し、クライアントがサーバのNポートに接続してデータを取得します.
*N >1024
*ftpファイアウォールの構成(生産環境におけるC/S端の設定が必要)
4、データ転送モード:(サーバ自動)
テキスト
バイナリ
二、サービス側プログラム:
windows: serv-U、FileZilla
linux:vsftpd「Very Secure FTP Daemon」は、UNIX系オペレーティングシステム上で動作するサーバの名前です
3種類のユーザーをサポート:匿名ユーザー(デフォルト)、システムユーザー、仮想ユーザー
PAMベースのユーザー認証
/etc/pam.d/*
/lib64/security/*

Vsftpdをインストールして構成する
yum install vsftpd -y
service vsftp start
chkconfig vsftpd on

生成されたインストールファイル
/etc/vsftpd/vsftp.conf:     
/etc/init.d/vsftpd:       
/usr/sbin/vsftpd:       
/etc/vsftpd/ftpusers:     ,          ,     
/etc/vsftpd/user_list:       userlist_enable userlist_deny           
/var/log/xferlog:          

プロファイルの解析
listen=YES         ftp       
listen_port=21         FTP      
#anonymous_enable=YES           (anonymous/ftp)
local_enable=YES              
write_enable=YES              
local_umask=022                       
local_root=/var/ftp         FPT   (          )
local_max_rate                    (0    ),     
download_enable=YES          (     、   FTP        NO)
#anon_upload_enable=YES                   
#anon_mkdir_write_enable=YES             
#anon_other_write_enable=YES                ,   、  、  
#anon_root=/var/ftp             (  /var/ftp)
#anon_umask=022                             
#anon_world_readable_only=NO              
#anon_max_rate=0                        (0    ),     
dirmessage_enable=YES                ,   YES       .message  
xferlog_enable=YES          ftp    ,   FTP  ,  /var/log/xferlog
xferlog_std_format=YES       xferlog    ,     ,   vsftpd       
connect_from_port_20=YES             20  
#chown_upload=YES                 
#chown_username=username             
#idle_session_timeout=600            
#data_connection_timeout=120           
#accept_timeout=60               
#chroot_list_enable=YES                   
#chroot_list_file=/etc/vsftpd.chroot_list       
#              
chroot_local_user=yes      FTP            
pam_service_name=vsftpd            PAM    
userlist_enable=YES        user_list      
userlist_deny=YES     user_list          ,               ftp
tcp_wrappers=YES          tcp_wrappers    
max_clients=0                         FTP   (0    )
max_per_ip=0                IP      ,           (0    )
pasv_enable=YES                   
pasv_min_port=10000                  
pasv_max_port=11000                  
use_localtime=YES       FTP      
dual_log_enable=YES        YES             [vsftpd.log\xferlog]
log_ftp_protocol=YES             ftp