まず、サーバリソース
サーバー:アリ雲のCentOS 7.3
第二に、インストールの配備
インストールかどうかを検出
回転数-qa | grepをvsftpdは//対応するバージョン情報は、インストールされていることを示すために表示された場合など:vsftpdの-3.0.2-25.el7.x86_64
そうでない場合は、インストールするには、次のコマンドを実行します。
yumを-yにvsftpdをインストール
対応するバージョン情報が正常にインストールされたことを示して表示する検出終了コマンドを実行するには、インストールを待ちます。
第三に、ブートを設定します
1、設定ファイルのラウンドアップ:
VSFTPのデフォルトのインストールディレクトリです:変更には/ etc / vsftpdは/ディレクトリ以下のファイルが表示されます。
/etc/vsftpd/vsftpd.conf // vsftpdのコア・コンフィギュレーション・ファイル
の/ etc / vsftpdは/ ftpusersに//ユーザーがFTPサーバにアクセスすることはできませんを指定するために使用。デフォルトのログインが無効になっリストです
の/ etc / vsftpdは/ user_list:// FTPログインのカスタム・ユーザー・リストは、後に特定の役割を説明
さらに、当社独自のユーザーのログインディレクトリのパーミッションを制御し、次のファイルの下のサブディレクトリを作成するために:
の/ etc / vsftpdは/ chroot_list //ログインユーザは、後に特定の役割を説明するために、ユーザのホームディレクトリのリストのうち、制御することができます
2、FTPユーザのログインを作成します。
通常、我々はあなたが使用するために、関連するユーザー設定VSFTPのリストを準備するので、ここでローカルユーザを作成し、ローカルユーザー(ユーザーVSFTPシステムの展開サーバー)を使用して、匿名ユーザーがログインを開いてお勧めします。
ユーザーを作成します。useraddの-d [ユーザ名]ユーザのホームディレクトリ
注:seallyユーザーを作成して指定し、ホームディレクトリを作成するには、次のコマンドを実行することは/ usr / local / ftpworkspace / seallyです
useraddの-dは/ usr / local / ftpworkspace / seally seally
passwdの[ユーザー名]:ユーザーのパスワードを設定
passwdのseally //続きは、パスワードの入力を求め
注意:一般的にFTPログインアカウントに使用すると、ログインのsshを無効にするのがベストですので、我々は開発したアカウントのログインサーバーを無効にするには、次のコマンドを実行することができます:[アカウントCHSH -s / sbinに/ nologinに]
CHSH seally -s / sbinに/ nologinに
3、コンフィギュレーションを開始します。
編集user_listは、seally(ユーザーの元のリストならば、あなたはすべてのデフォルトのユーザーが別の行に各ユーザーを追加、削除することができます)ファイルに追加したアカウントになります
デフォルトでは、すべてのユーザーの元のリストを一掃、ftpusersのを編集し、このファイルは、ユーザーのFTPユーザブラックリストで、ログインすることはできません、既定のアカウントを追加します。あなたのアカウントに、特定の例外的な状況を無効にしたい場合は設定する必要があります。
編集vsftpd.conf、コア構成を掲示し、過去をコピーするために、適切な修正を加えて、コア構成に行き、すべての古いコンフィギュレーションを一掃:
#vsftpコア構成例:/etc/vsftpd/vsftpd.conf
#YESローカルユーザーがファイルへの書き込みを許可
WRITE_ENABLE = YES
#ディレクトリは、すべてのスタートアップディレクトリのリストを制限するために書き込むことができますオープンは、そうでない場合は、ユーザがログインできない機能が制限YESに設定されています
allow_writeable_chroot = YES
#アップロードとダウンロードのログ記録を有効にします
xferlog_enable = YES
#ログディレクトリを設定します。
xferlog_file =は/ var / log / xferlogを
#ログ形式を有効に
xferlog_std_format = YES
デフォルトのポート20を使用する場合に#オープンアクティブモードのデータ転送
connect_from_port_20 = YES
タイムアウトアイドル状態の接続を設定します#
idle_session_timeout = 6000
#は、データ送信のタイムアウトを設定します。
data_connection_timeout = 1200
#独立した監視を有効にするかどうか
YES =聞きます
#カスタムサービスリスニングポート
LISTEN_PORT = 21
pam_service_name = vsftpdの
#YESに設定し、ホストアクセス制御機構を有効に
TCP_WRAPPERS = YES
#は安全のため、オフに匿名アクセスがNOに設定されています
anonymous_enableの= NO
#YES = NOもWRITE_ENABLE必要がある場合でも開くようにファイルをアップロードするために、匿名ユーザーを無効にします
anon_upload_enable = NO
#NOに設定されているディレクトリ内のファイルを作成するために、匿名ユーザーを無効にします
anon_mkdir_write_enable = NO
#YESに設定されたローカルログインアカウントを有効にします
local_enable = YES
#は、パスが自分のホームディレクトリにログインします設定されていない後に設定し、ローカルアカウントのログインのメインディレクトリを設定するか、存在しません。
local_root =は/ usr / local / ftpworkspace /
デフォルトのファイルマスク#デバイスユーザーがローカルのファイルをアップロードする(022 755には、最終的なファイルのパーミッションを表します)
local_umask = 022
#すべてのユーザーが自分のホームディレクトリに使用することができます制限
chroot_local_user = YES
#リミットスイッチが有効になっているディレクトリの除外リスト機能
chroot_list_enable = YES
#あなたが作成除外リストファイルを、防止切り替えディレクトリのパスを指定自分chroot_listファイル
chroot_list_file =の/ etc / vsftpdは/ chroot_list
ユーザーのNO = user_listリストログイン制限タイプの#リストは、リストYES =ではないユーザーのログオンをログに記録することができます
userlist_deny = NO
#ログインuser_list制限リスト機能を有効になっています
YES = userlist_enableの
#ログファイルのパスリスト(別々のライン上の各ユーザー)
userlist_file =の/ etc / vsftpdは/ user_list
注意:二つの構成についてvsftpd.confの比較ファイルを次のように:
登録リストについて
YESに設定userlist_denyは、ユーザログインがでuserlist_file拒否し、userlist_enableのはuserlist_fileカスタムユーザーを有効にするかどうかを示すことを意味している場合NO手段に設定さuserlist_denyは、ユーザーがでuserlist_fileログインを許可した場合の3つの設定項目[userlist_deny、userlist_enableの、userlist_file]によって決定ユーザーリスト、制御userlist_deny後に開いた口座userlist_file = userlist_deny = YES userlist_fileのユーザーがログオンすることはできませんので、我々は通常、NOに設定さuserlist_denyだろうというときにログオンすることができ、割り当てられたアカウントuserlist_file内に追加されますNOユーザーを達成するためにのみ割り当てられてログオンすることができます。
制限リスト上のディレクトリを変更します
[Allow_writeable_chrootは、chroot_local_user、chroot_list_enable、chroot_list_enable、chroot_list_file]の4つの設定項目、allow_writeable_chroot全てYESに設定され、又はchroot_local_user後にユーザを開くことによって決定したが(テストを通じて現象ことが見出さ一時不明な理由)にログオンすることができない、chroot_local_userを制限するかどうかを示しますセキュリティ管理の利便性は、通常、YES、chroot_list_enableに設定されているため、すべてのユーザがメインディレクトリに切り替えることができ、YES =すべてのユーザがメインディレクトリに切り替えることができることを意味し、= NOは、すべてのユーザが任意のディレクトリに切り替えることができることを示しているchroot_local_userとして追加するかどうかを示します設定した場合、排除限界はYESに、ユーザーを追加chroot_list_fileが無制限chroot_local_userであることを示し、そしてちょうど反対の意味、すべてのユーザがchroot_local_userを制限する場合、すなわち、= YES、次いでchroot_list_fileユーザーは無制限を切り替えることができますchroot_local_userを= NOは、すべてのユーザーを制限しない場合は、ディレクトリは、その後、chroot_list_fileユーザーは、あなたのホームディレクトリに切り替えるには、とても自由ではありません。
要約すると:
ログインコントロール組成物は、通常、以下で提供されています。
userlist_deny = NO、userlist_enableの= YES、userlist_fileは、ログインアカウントを許可するように追加しました。
以下のように設定されたコンテンツスイッチング制御組成物:
chroot_local_user = YESは、chroot_list_enable = YES、chroot_list_fileは、自分のホームディレクトリアカウントの外にできるように追加されました。
4、テストブラウザにアクセスし、サービスを開始します。
サービスを開始するには、次のコマンドを実行します。
/ binに/ systemctl再起動vsftpd.service
Javaクライアントのブラウザを使用してログインまたはアドレス入力 ftp://www.seally.cn/ www.seally.cn展開VSFTPサーバー名またはIPアドレスを、あなたはseallyユーザーとパスワードのポップアッププロンプトに従ってログインすることができます。
第四に、拡張設定
通常、私たちはその優れたホームディレクトリを指定した後、新しいユーザーを作成しているとき、FTPユーザリストファイルをログインする新しいユーザーを追加し、新規ユーザーは、ユーザーのFTPの作業ディレクトリも制限される一方でログインすることができますFTPサービスを再起動します自分のホームディレクトリには、FTPマスター設定ファイルがホームディレクトリのみを指定することができますので、我々はこれだけメインディレクトリの下に設立され、ユーザのホームディレクトリの多くを置くことができるので、そこにある、指定されたディレクトリにファイルをアップロードすることができます欠点は、異なるユーザが他の誰かのディレクトリを参照してくださいすることができますので、我々は、さらにそれが他の誰かのディレクトリを見て遮蔽するために、そのホームディレクトリが異なるユーザごとに個別に指定展開します。
彼らは新しいFTPユーザseally2を追加した場合はここで、2現在のユーザのホームディレクトリは次のとおりです。
seally - >は/ usr / local / ftpworkspace / seally
seally2 - >は/ usr / local / ftpworkspace / seally2
ローカルユーザのホームディレクトリに設定私たちの主な設定ファイルvsftpd.conf:local_root =は/ usr / local / ftpworkspace /
seally2ログインが、それはお互いにホームディレクトリにファイルをアップロードすることはできませんが、お互いのホームディレクトリを見ることができる/は/ usr / local / ftpworkspaceを入力するだけでなく、適切ではない、ので、自分のホームディレクトリの設定を増やします後したがって、seallyアカウントこの問題を回避するには:
マルチユーザープロファイルディレクトリの作成:
MKDIRは/ etc / vsftpdは/ UserConfigに
設定ディレクトリへのアクセス、およびseally別のログインディレクトリを作成するために同じ必要で、このような文書を確立するためのユーザ名:
VI seallyと入力します。local_root =は/ usr / local / ftpworkspace / seallyその後、保存してください。
VI seally2と入力します。local_root =は/ usr / local / ftpworkspace / seally2その後、保存してください。
次の設定項目を追加vsftpd.confメインの設定ファイルを編集します。
user_config_dir =の/ etc / vsftpdは/ UserConfigに/
自分のホームディレクトリの口座に2つの異なるファイルの下に置かサービスを再起動し、検証を閲覧するにはログインすることができます!