Centos 7でvsftpd 3.0をインストール

3680 ワード

環境
  • Centos 7 x64
  • 25G SSD
  • 1024 MBメモリ
  • vsftpd 3.*

  • まず、次の[root@vultr ~]# yum update -yを更新します.
    次にyumを使用して[root@vultr ~]# yum install vsftpd -yを取り付ける
    インストールが完了したらプロファイルを編集します.編集する前に、ディレクトリ/etc/vsftpd/のプロファイル[root@vultr ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bakをバックアップして[root@vultr ~]# vim /etc/vsftpd/vsftpd.confを編集します.
    プロファイル構成は、次の構成に従います.
    #         
    anonymous_enable=NO
    #        
    local_enable=YES
    #           
    write_enable=YES
    #               #    
    #                            / #,/etc     ,      YES。
    #                          
    chroot_local_user=YES
    
               
    #settings
    allow_writeable_chroot=YES
    pasv_enable=Yes
    pasv_min_port=10000
    pasv_max_port=10100
    

    ファイルを保存して終了
    rootを使用してvsftpdにログインしたい場合は、/etc/vsftpd/ftpusersおよび/etc/vsftpd/user_リストファイル内でrootを削除
    保存して終了
    vsftpdが起動できない可能性があるので、お勧めしません.
    最後にあなたのvsftpdを起動することができます.再起動する前に、プロファイルをチェックします.sudo /usr/sbin/vsftpd /etc/vsftpd/vsftpd.confにエラーがあれば、エラー情報を返します.
    起動oot@vultr ~]# systemctl start vsftpd次に、起動開始[root@vultr ~]# systemctl enable vsftpdを作成します.
    グループに参加したい場合は、次のコマンドを使用してグループ[root@vultr ~]# groupadd ftpusersonlygroupを作成します.
    新しいユーザ[root@vultr ~]# useradd -m ftpuser -s /sbin/nologin -g ftpusersonlygroupを作成します
  • -mはftpuserのために/homeディレクトリの下にフォルダを自動的に作成します.ファイルパスを指定したい場合は、-d /home/newuserfolderを使用して
  • を指定できます.
  • /sbin/nologinはSSHでのログインを禁止しFTPでのログインのみを許可し、SSHでのログインを強行すると拒否メッセージ「This account is currently not available」を返します.txt

  • その後、パスワード[root@vultr ~]# passwd ftpuserを変更します.
    次にftpuserのルートディレクトリ[root@vultr ~]# mkdir /home/ftpuser/rootを作成する
    最後に権限を設定します
    [root@vultr ~]# chown root:root /home/ftpuser
    [root@vultr ~]# chmod 755 /home
    [root@vultr ~]# chmod 755 /home/ftpuser
    [root@vultr ~]# chown ftpuser:ftpusersonlygroup /home/ftpuser/*
    [root@vultr ~]# chmod 775 -R /home/ftpuser/*
    

    ftpuserの所有者はrootのようにchrootでなければ正常に動作しない.[root@vultr ~]# chmod -R ugo+rw /home/ftpuser
    ファイアウォール開通ポートの最終構成
    [root@vultr ~]# firewall-cmd --permanent --zone=public --add-port=21/tcp
    [root@vultr ~]# firewall-cmd --permanent --zone=public --add-port=20/tcp
    [root@vultr ~]# firewall-cmd --permanent --zone=public --add-port=22/tcp
    [root@vultr ~]# firewall-cmd --permanent --zone=public --add-port=10000-10100/tcp
    [root@vultr ~]# firewall-cmd --reload
    

    SELinuxを使用している場合は、問題が発生しないようにftpホームをホワイトリスト[root@vultr ~]# setsebool -P home/joe onに追加します.
    以上でftpに正常にログインできます.もしログインにエラーが発生したら:SFTP Connection Error Received unexpected end-of-file from SFTP serverまず/etc/ssh/sshd_をチェックしてくださいconfigプロファイル下# Subsystem sftp /usr/lib/openssh/sftp-serverはコメントされているかどうか、もしそうであれば#を削除してコメントを解除し、Subsystem sftp internal-sftpに変更します
    Reference
    以下はオプションですが、SFTPを開きたくない場合はここをスキップして最後まで引っ張ってください.SFTP(secure ftp)を許可したい場合は、以下の手順に従って、通信を暗号化し、ポートは22で、より安全になります.
    まずSSHサーバ[root@vultr ~]# yum -y install openssh-serverを取り付ける
    開く/etc/ssh/sshd_configファイルを削除します#subsystem sftp /usr/libexec/openssh/sftp-server
    vimの下で/を押して検索したい文字を入力して車に戻って検索して次はnを直接押すことができます
    次に、次の内容を追加します.
    Subsystem sftp internal-sftp
    Match group ftpusersonlygroup
    ChrootDirectory %h
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp
    

    その後SSHD [root@vultr ~]# systemctl restart sshdを再起動する
    最後に、他の人がまとめたよくある問題と解決策を添付します.
    vsftpDaemon構築問題マニュアル