centos 7 vsftpdサービス構築と詳細(一)

6437 ワード

FTP紹介   
ファイル転送プロトコル(File Transfer Protocol、FTP)は、このプロトコルに基づいてFTPクライアントとサービス端末が共有ファイル、アップロードファイル、ダウンロードファイルを実現することができる。FTPは、TCPプロトコルに基づいて仮想的な接続を生成し、主にFTP接続情報を制御しながら、FTPデータ転送のために別のTCP接続を再生成する。ユーザは、クライアントを介してFTPサーバ側にファイルをアップロード、ダウンロード、削除することができ、FTPサーバ側は同時に複数の人に共有して使用することができる。
FTPサービスはCient/Server(C/Sと略称する)モードで、FTPプロトコルに基づいてFTPファイルの対外共有及び転送を実現するソフトウェアをFTPサーバソースと呼び、クライアントプログラムはFTPプロトコルに基づいて、FTPクライアントと称し、FTPクライアントはFTPサーバにファイルをアップロード、ダウンロードすることができます。
FTP伝送モード
FTPはC/Sモードに基づいて、FTPクライアントとサーバ端はFTPアクティブモード、FTPパッシブモードの2つのトランスポートモードがあり、主パッシブモードはいずれもFTPサーバ端を参照とする。
主受動モードの詳細な違いは以下の通りです。
  • FTPアクティブモード:クライアントは、任意のポートN(N>1024)からFTPサーバのポート21コマンドポートに接続され、クライアントはポートN+1の傍受を開始し、FTPコマンド「ポートN+1」をFTPサーバに送信し、FTPサーバは、データポート(20)でクライアント端末が指定するデータポート(N+1)に接続される。
  • FTP受動モード:クライアントは、任意のポートN(N>1024)からFTPサーバのポート21コマンドポートに接続され、クライアントはポートN+1の傍受を開始し、クライアントはPASVコマンドを提出し、サーバは任意のポート(P>1024)を開いて、PORT Pコマンドをクライアントに送信する。クライアントは、ローカルポートN+1からサーバのポートPへの接続を開始し、データを転送する。
  • 企業の実際の環境では、FTPクライアントとFTPサービスの両方がファイアウォールを開放すると、FTPはアクティブモードで働く必要があります。これはFTPサーバ端のファイアウォールルールの中で、20、21ポートを開放すればいいです。
     VFTPサーバ概要
    現在主流のFTPサーバ端ソフトは、Vsftpd、ProFTPD、PureFTPd、Wuftd、Server-U FTP、 FileZilla Serverなどのソフトウェアは、Unix/Linuxがより広範なFTPサーバ端のソフトウェアを使用してVsftpdです。
    非常に安全なFTPサービスプロセス(Very Secure FTP daemen、Vsftpd)、VsftpdはUnix/Linuxの発行版の中で最も主流のFTPサーバプログラムで、長所は小さくて軽快で、安全で使いやすく、安定で効率的で、企業の部門を跨り、多ユーザーの使用(1000ユーザ)などを満足させる。
    VsftpdはGPLオープンソースプロトコルに基づいて発表し、中小企業で広く応用されています。Vsftpdは素早く使えます。Vsftpd仮想ユーザー方式に基づいて、アクセス検証はより安全です。VsftpdはMYSQLデータベースに基づいて安全検証もできます。多重安全防護もできます。
     
    Vsftpdインストール
    yum  install   vsftpd*  -y vsftpdのインストールとすべての依存パッケージrpm  -ql   vsftpd more      vsftpdの情報を表示します。systemtectl start/stop/resttart vsftpd.serviceオープン/オフ/再開ps -efグループ vsftpd         表示プロセス
     Vsftpd配置の詳細
    /etc/vsftpd/vsftp.com nf
    メインプロファイル
    //usr/sbin/vsftpd
    Vsftpdのメインプログラム
    //etc/rc.d/init.d/vsftpd
    スクリプトを開始
    /etc/pam.d/vsftpd
    PAM認証ファイル(このファイルの中のfile=/etc/vsftftpd/ftpsersフィールドは、訪問を阻止したユーザが/etc/vsftftpd/ftpsersファイルの中のユーザから来たことを指定します)
    /etc/vsftpd/ftpsers
    vsftpdのユーザリストファイルの使用を禁止します。FTPサーバへのアクセスが許可されていないユーザーリストを記録し、管理者は、システムのセキュリティに脅威があるユーザーアカウントをこのファイルに記録することができ、ユーザーがFTP登録後にアップロードよりダウンロード操作する権利を獲得し、システムにダメージを与えないようにします。(注意:linux-4では、このファイルは/etc/ディレクトリの下にあります)
    /etc/vsftpd/user_リスト
    vsftpdのユーザリストファイルの使用を禁止または許可します。このファイルで指定されたユーザがデフォルトの場合(すなわち/etc/vsftpd/vsftpd.com fにuserlistudy=YES)にもFTPサーバにアクセスできず、userlist_が設定されています。deny=NOの場合は、user_のみ許可します。listで指定されたユーザはFTPサーバにアクセスします。(注意:linux-4では、このファイルは/etc/ディレクトリの下にあります)
    /var/ftp
    匿名のユーザホームディレクトリローカルユーザーディレクトリは、ホーム/ユーザホームディレクトリ、すなわちログイン後にホームディレクトリに入ります。
    /var/ftp/pub
    匿名のユーザのダウンロードディレクトリには、ルートchmod 1777 pubが必要です(1は特別な権限です。アップロード後は削除できません)
    /etc/logrotate.d/vsftpd.log
    Vsftpdのログファイル
     Vsftpdのメインプロファイル/etc/vsftpd/vsftpd.com nf説明(修正前にバックアップ)
    #         FTP   ,     YES  
    #         ftp anonymous  ftp  ,      E-mail  。
    #             NO
    anonymous_enable=YES
    #         ( linux        )  FTP   ,     YES  
    #                ,                   /var/ftp/pub
    #           ,    #             FTP   
    local_enable=YES
    #          FTP          ,     YES  
    write_enable=YES 
    #   ,         077
    #                  022,                
    #local_umask=022
    #             ,     write_enable=YES。   YES
    #anon_upload_enable=YES
    #               
    #anon_mkdir_write_enable=YES 
    #             
    #     CMD               ,FTP          
    #      ,            .message     
    #              ,       
    #dirmessage_enable=YES
    #                    
    #           /var/log/vsftpd.log,        xferlog_file        
    #     NO
    xferlog_enable=YES
    # Make sure PORT transfer connections originate from port 20 (ftp-data).
    #     FTP      FTP         
    # ftp-data    ,21       
    connect_from_port_20=YES
    #                ,            
    #   ,     root      
    #chown_uploads=YES
    #               ,    ,          
    #            root  。whoever:   
    #chown_username=whoever
    #         FTP               
    # /var/log/vsftpd.log    ,       
    #xferlog_file=/var/log/vsftpd.log
    #      xferlog           
    #    /var/log/xferlog,     xferlog_file        
    #     NO
    #xferlog_std_format=YES
    #        ,               
    #              
    #    /var/log/xferlog /var/log/vsftpd.log   
    #    wu_ftpd       ,                ;   vsftpd     
    #dual_log_enable
    #         /var/log/vsftpd.log    ,       
    #syslog_enable
    #             ,                 600 
    #          ,    FTP          600 。               
    #idle_session_timeout=600
    #           ,              120 ,            
    #data_connection_timeout=120
    #   vsftpd          ,   nobody
    #nopriv_user=ftpsecure
    #       ABOR  。
    #   FTP client   “async ABOR”     ,         
    #           ,        
    #async_abor_enable=YES
    #    ASCII      。     ,      ASCII     。
    #             ASCII      
    #   ,        "SIZE /big/file"     DoS  
    #ascii_upload_enable=YES
    #ascii_download_enable=YES
    #   FTP           
    #     ,                  .message   ,          
    #ftpd_banner=Welcome to blah FTP service.
    #      。       email address,                 
    #         email address   。
    #deny_email_enable=YES
    #     deny_email_enable=YES ,                      vsftpd   
    #           ,    email address  
    #banned_email_file=/etc/vsftpd/banned_emails
    #     FTP                        
    #    YES ,         home   ,vsftpd    chroot_list_file        chroot_list  
    #            
    #chroot_list_enable=YES
    #          ,                     
    #      FTP             。        
    #chroot_list_file=/etc/vsftpd/chroot_list
    #         。     ,            I/O
    #ls_recurse_enable=YES
    #       。
    #      YES, vsftpd        , vsftpd       IPv4       
    listen=YES
    #       IPV6。      IPv4 IPv6  ,
    #        vsftpd,        
    #                    
    #listen_ipv6=YES
    #   PAM                    , /etc/pam.d/vsftpd  
    #     file=/etc/vsftpd/ftpusers  ,   PAM              /etc/vsftpd/ftpusers 
    #pam_service_name=vsftpd
    #     ftpusers        FTP   ,   NO
    #      YES, user_list          FTP   
    #         userlist_deny=YES, user_list            FTP   ,              
    #userlist_enable=YES/NO
    #       user_list        FTP   ,   YES
    #userlist_deny=YES/NO
    #     tcp_wrappers          。
    # tcp_wrappers    linux                   
    #  /etc    hosts.allow hosts.deny        tcp_wrappers     
    #           ,          。
    #          FTP   192.168.57.2     ,  /etc/hosts.allow  ,          :
    # vsftpd:192.168.57.1:DENY  vsftpd:192.168.57.9:DENY
    #     IP 192.168.57.1/192.168.57.9    IP 192.168.57.2 FTP   
    #   FTP      PING ,     
    tcp_wrappers=YES