vsftpd ソフトウェアをサーバーにインストールし、ソフトウェアのメイン構成ファイル /etc/vsftpd/vsftpd.conf を理解したら、必要な FTP サービスを構築できます。
ポートなどを指定します。
listen_port=21 リスニングポートを設定します
download_enable=YES ファイルのダウンロードを許可します
max_clients=100 クライアントの同時接続数を制限します
max_per_ip=100 同じ IP での同時接続数を制限します
匿名とエンティティを禁止しますユーザーログイン
まず、匿名ユーザーのログインをオフにし、匿名ユーザーの閲覧権限を拒否します。
anonymous_enable=NO
では、なぜエンティティ ユーザーはログインを許可されないのでしょうか?物理ユーザーはすでに、より安全な sftp を使用してログインできるため、ログインに ftp プロトコルを使用する必要はありません。さらに、ftp はクリア テキスト転送プロトコルであるため、アカウントのパスワードが傍受されると問題が発生します。
エンティティ ユーザーのログインを禁止するにはどうすればよいですか?仮想ユーザーを構成する 3 番目のステップについては、この記事で後述します。/etc/pam.d/vsftpd の下にあるものをすべてコメント化します。
アクティブ接続とパッシブ接続の設定
アクティブ接続モードとパッシブ接続の両方をサポートする構造を構築したいので、設定は次のようになります。次のように:
##アクティブ接続モードのポート設定
connect_from_port_20=YES
ポート 21 を許可するようにファイアウォールを設定します。また、ポート 20 を開く必要はありません。ホストがアクティブに要求するデータ パケットと、に応答すると、マシンに直接入ることが許可されます (確立/関連)。
iptables -A INPUT -p tcp --dport 21 -j ACCEPT # FTP服务 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
パッシブ モードを有効にすると、パッシブ接続ポートは 10001 ~ 11000 のいずれかに制限されます。
pasv_enable=YES pasv_min_port=10001 pasv_max_port=11000
10000 ~ 11000 のポートが開くことを許可するようにファイアウォールを設定します。
iptables -A INPUT -p tcp --dport 10001::11000 -j ACCEPT # ftp被动连接端口
仮想ユーザーの構成
仮想ユーザーを構成する手順は次のとおりです:
仮想ユーザー パスワード ファイルの作成
仮想ユーザー パスワード認証ファイルの生成
vsftpd の PAM 認証ファイルの編集
ローカル マッピング ディレクトリを確立し、ホスト ディレクトリのアクセス許可を設定します。
構成ファイルを変更します。
1. 仮想ユーザーのパスワード ファイルを作成します、ファイルの形式は、奇数行がユーザー名、偶数行がパスワードです。以下の内容を含むファイル /etc/vsftpd/vusers を作成します:
ftptest1 111111 ftptest2 222222
2. 仮想ユーザー パスワード認証ファイル を生成し、次のコマンドを実行します:
db_load -T -t hash -f /etc/vsftpd/vusers /etc/vsftpd/login.dbコマンドが正しく実行されると、/etc/vsftpd/login.db ファイルが表示されます。セキュリティ上の理由から、このファイルの権限を 600 に設定します。
chmod 600 login.db
3. 仮想ユーザーに必要な PAM 構成ファイルを編集します
vim /etc/pam.d/vsftpd以前のファイルをすべて置き換えます内容 コメントにして、新しい 2 行を追加します。
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/login account required /lib64/security/pam_userdb.so db=/etc/vsftpd/login32 ビットの場合は、lib の後の 64 を削除します。ログイン後にサフィックスを追加する必要はありません。この操作の後、エンティティ ユーザーは FTP サービスにログインできなくなります。
4. ローカル マッピング ディレクトリを作成し、ホスト ディレクトリのアクセス許可を設定します。
仮想ユーザーのホスト ユーザーを作成します# useradd -d /home/vsftp -s /sbin/nologin ftpuserディレクトリのアクセス許可を 755
# chmod 755 /home/vsftp/
5 に変更します。構成ファイルを変更します。
次の構成情報行を /etc/vsftpd/vsftpd.conf 構成ファイルに書き込みます。# 开启虚拟用户登陆功能 guest_enable=YES # 将虚拟用户与宿主用户对应 guest_username=ftpuser # pam认证文件(该配置默认存在) pam_service_name=vsftpd # vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了,所以要加入下面配置 allow_writeable_chroot=YES
6. 仮想ユーザーごとに個別の構成ファイルを作成します。
仮想ユーザーごとに個別の構成ファイルを作成する場合は、メイン構成ファイルにuser_config_dir=/etc/vsftpd/configを追加して、仮想ユーザーの構成ファイルのパスを指定する必要があります。次に、2 人の仮想ユーザー用に独自の構成ファイルを作成します。
# ftptest1虚拟用户的配置文件 # 创建虚拟用户家目录 # mkdir /home/vsftp/ftptest1 # chown ftpuser:ftpuser /home/vsftp/ftptest1/ # 建立配置文件 # mkdir /etc/vsftpd/config # vim /etc/vsftpd/config/ftptest1 <=== 虚拟用户各自配置文件和自己的用户名对应起来 # 指定家目录 local_root=/home/vsftp/ftptest1 # 允许相关权限 download_enable=yes anon_upload_enable=yes anon_other_write_enable=YES anon_mkdir_write_enable=yes anon_world_readable_only=no # 设置最大传输速度,单位b/s anon_max_rate=100000注: 現在、ftptest2 仮想ユーザー用の個別の構成ファイルはないため、このユーザーにはメイン構成ファイル ( /etc /vsftpd/vsftpd.conf)その他の関連技術記事については、
linux システム チュートリアル 列を参照してください。
以上が独自の要件を満たす vsftp サービスを構築するための Linux の運用と保守の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。