vsftpdのサービスのインストールおよび構成(三種類の着陸アプローチ)

FTPサービスの展開

 

FTP転送メカニズム:

終了指示によってFTPクライアントポート21は、データ送信ポート20によって送信され、アクティブおよびパッシブモードは、操作VSFTPのモードに応じて2種類に分割され、VSFTPほとんどの場合は、パッシブモードで動作します

 

アクティブモード:

1.Clientエンド1024は、FTPサーバのポート21への接続を確立するための要求を発行したランダムなポートよりも大きく、

要求の受信後に終了2.Server、20ポートのランダムなポート番号+1クライアント側のポートをリンクするためのイニシアチブを取る、ポートが占有されている場合は、無料のクライアントを見つけるために、最後まで、戻って、その上のランダムなポート番号2のポートとを見つけますポート

ポート20を介してサーバー側と3.Clientデータ伝送

 ftpのアクティブモード

パッシブモード:

1.Clientエンド1024は、FTPサーバのポート21への接続を確立するための要求を発行したランダムなポートよりも大きく、

エンド2.Serverクライアントがポートに送信するクライアント側開口21によってランダムなポート番号の値を伝えるために同様の(XYZ、AB)になり、ポートXYZ * 256 + ABを開き

ランダムポートサーバー側のXYZ経由3.Client ABエンドポート、さらにデータ転送* 256 +

 FTPパッシブモード

クライアント側またはサーバー側の両方で現実アクティブモードでVSFTPは、ファイアウォール上で開いているすべてのランダムなポートを乱数1クライアント側のポートをリンクする、クライアント側は明らかにしません、ファイアウォールの背後にある、とパッシブの次号で同じ問題は依然としてサーバー側のファイアウォール接続の追跡を必要とする、ファイアウォールサーバ側の前面に配置されますが、ほとんどの場合、パッシブモード動作である理由であるポート21を、関連するリリースポートへのアクセスを要求して、つまり、オンになっているVSFTP 。

 

VSFTP展開:

環境の説明:

Serverシステム:CentOS7.5、メモリ2G、30Gハードディスクドライブ

クライアントシステム:Windows10;ソフトウェア:xftpクライアント

 

注:1)すべての操作パスのステップ、台無しにしないでください

2)この記事の最後の部分の詳細な構成を示すことです

3)インストールがYUMの形で展開することがvsftpdの

 

VSFTP着陸タイプ:

VSFTPは、システムのユーザ、匿名ユーザ、およびアプローチ着陸異なる仮想ユーザーの三種類を提供します。アクセスは、この目的のために、ユーザのホームディレクトリである場合、すべての仮想ユーザがユーザシステム、ファイルシステムのディレクトリにマップされます;、匿名ユーザーは仮想ユーザーでFTPのためのシステム・ユーザー・マッピングを、詳細な情報は、人間が見ることができvsftpd.conf

 

1. VSFTPをインストールします。

[linuxMA〜@ルート]#yumを-y * vsftpdのインストール

 

2.回転数-qcビューvsftpdの設定ファイル

[ルートlinuxMA〜@]#回転数-qc vsftpdの

/etc/logrotate.d/vsftpd

/etc/pam.d/vsftpd

の/ etc / vsftpdは/ ftpusersに

の/ etc / vsftpdは/ user_list

/etc/vsftpd/vsftpd.conf

 

詳細なプロファイル#

/etc/logrotate.d/vsftpd             ローリングログ設定ファイル

/etc/pam.d/vsftpdの                    プラグ対応の認証と呼ばれる認証文書、PAM

の/ etc / vsftpdは/ ftpusersには                 着陸システムユーザの制御機構、ユーザが/etc/pam.d/vsftpdで定義されているFTPサーバに、使用を許可されていないファイルに表示され

の/ etc / vsftpdは/ user_list                userlist_enableの中/etc/vsftpd/vsftpd.confと= YESとuserlist_deny = YES | NOここで注意することは、黒と白のリストを実現していないです:黒と白のリストは、構成/etc/vsftpd/vsftpd.confの前提ですファイルは、上陸許可のVSFTPに表示されたユーザーのみを許可するファイルに表示されます(ブラックリスト)は、手動でuserlist_deny = NO(ホワイトリスト)を追加しても、着陸VSFTPを許可しないYESにuserlist_enableの= YES、ユーザーuserlist_denyオプションのデフォルトファイルVSFTPは/ vsftpdは/ ftpusersファイルを起動し、ファイル内のログインからユーザーを防ぐとき、まだの/ etcチェックします

/etc/vsftpd/vsftpd.conf             VSFTPメインの設定ファイルは、すべての設定オプションは、トップグリッドは、設定ファイルの#のスペースを作成しなければならないというスペースが設定オプションをコメントされていないと、実証することです

 

3. cpコマンドは、コンフィギュレーションファイルをバックアップします

[ルート@ linuxMA〜]#のCDの/ etc / vsftpdは/

#1 LS [linuxMA vsftpdの@ルート]

ftpusersにuser_list  vsftpd.conf   vsftpd_conf_migrate.sh

[linuxMAのvsftpdは@ルート]#cpはvsftpd.conf vsftpd.conf.bak

#1 LS [linuxMA vsftpdの@ルート]

ftpusersにuser_list  vsftpd.conf vsftpd.conf.bak   vsftpd_conf_migrate.sh

 

1)匿名ユーザーを設定します

[ルート@ linuxMAのvsftpdは]#のVimのvsftpd.conf

WRITE_ENABLE = YES

anon_umask = 022

anonymous_enableの= YES

anon_upload_enable = YES

anon_mkdir_write_enable = YES

anon_other_write_enable = YES(他のユーザーへの匿名の書き込みアクセスを許可するかどうか()、名前変更、削除、カバー

dirmessage_enable = YES

xferlog_enable = YES

connect_from_port_20 = YES

xferlog_std_format = YES

YES =聞きます

pam_service_name = vsftpdの

YES = userlist_enableの

TCP_WRAPPERS = YES

 #VSFTPサービスを有効にし、成功したかどうかを確認スタート

[ルート@のlinuxMAのvsftpdの]にvsftpdを起動しsystemctl#

[ルート@ linuxMAのvsftpdは]#netstatの-lnpt | grepをするvsftpdの

TCP 0 0 0.0.0.0:21 0.0.0.0:* 34531 / vsftpdのをLISTEN

 

#のログイン認証:

#テストに成功着陸:

 

 

 

 

#は、アクセス権を変更します。

[ルート@ linuxMA〜]#のCDの/ var / FTP /

[ルート@ linuxMAのFTP]#のLL

0合計額

drwxr-XR-X 2ルートルート6 8月3 2017パブ

[ルートlinuxMA FTP @]#chownコマンドのFTP:FTPパブ/

[ルート@ linuxMAのFTP]#のLL

0合計額

drwxr-XR-X 2のFTP、FTP 21 9月16 10:16パブ

 

キー:あなたが変更しない場合、それは他の権利を有効にすることができないだけでアクセスすることができ、所有者のルートディレクトリを変更します。我々はしているので、FTP アクセスにユーザーのID、およびパブのデフォルトの所有者は、そのグループであるルート

 

注:有効にする構成サービスを変更する(1)終了完了後に再起動する必要があります

           (2)还需要从新从客户端登陆,否则修改后的配置看不到效果。

2)配置系统用户

1.创建测试用户zhangsan、lisi 密码都为“123456”

[root@linuxMA ~]# useradd zhangsan

[root@linuxMA ~]# useradd lisi

[root@linuxMA ~]# echo "123456" |passwd --stdin zhangsan

更改用户 zhangsan 的密码 。

passwd:所有的身份验证令牌已经成功更新。

[root@linuxMA ~]# echo "123456" |passwd --stdin lisi

更改用户 lisi 的密码 。

passwd:所有的身份验证令牌已经成功更新。

 

2.修改配置文件

[root@linuxMA ~]# vim /etc/vsftpd/vsftpd.conf

local_enable=YES

local_umask=077

chroot_local_user=YES

allow_writeable_chroot=YES

write_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

pam_service_name=vsftpd

userlist_enable=YES

userlist_deny=NO

tcp_wrappers=YES

 

[root@linuxMA ~]# vim /etc/vsftpd/user_list             //添加用户到白名单

zhangsan

lisi

[root@linuxMA ~]# systemctl restart vsftpd              //重启服务

 

#登陆测试:

#登陆成功:

 

 #添加并进行测试

[root@linuxMA ~]# cd /home/zhangsan/

[root@linuxMA zhangsan]# touch zhangsan.txt

 

 

3)配置虚拟用户

1.建立虚拟FTP用户的帐号

[root@linuxMA ~]# useradd -s /sbin/nologin vu

 

2.创建虚拟用户文件

[root@linuxMA ~]# cd /etc/vsftpd/

[root@linuxMA vsftpd]# vim user

wangwu

12345

maliu

12345

基数行代表用户名,偶数行代表密码

 

3. 通过db_load工具创建出Berkeley DB格式的数据库文件

[root@linuxMA vsftpd]# db_load -T -t hash -f user user.db

[root@linuxMA vsftpd]# ls

ftpusers  user  user.db  user_list  vsftpd.conf  vsftpd.conf.bak  vsftpd_conf_migrate.sh

 

db_load -T -t hash -f user user.db

 

-f 指定数据原文件

-T 允许非Berkeley DB的应用程序使用文本格式转换的DB数据文件

-t hash   读取文件的基本方法

 

4. 建立支持虚拟用户的PAM认证文件

[root@linuxMA vsftpd]# vim /etc/pam.d/vsftpd.vu

加入以下两行

auth       required     /lib64/security/pam_userdb.so db=/etc/vsftpd/user

account    required     /lib64/security/pam_userdb.so db=/etc/vsftpd/user

对应刚才生成user.db的文件

 

5.修改配置文件

[root@linuxMA vsftpd]# vim vsftpd.conf

write_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

userlist_enable=YES

tcp_wrappers=YES

allow_writeable_chroot=YES

guest_enable=YES

guest_username=vu

pam_service_name=vsftpd.vu

local_enable=YES

local_umask=077

chroot_local_user=YES

virtual_use_local_privs=YES

user_config_dir=/etc/vsftpd/user_dir

 

6. 为用户建立独立的配置目录及文件

[root@linuxMA vsftpd]# mkdir /etc/vsftpd/user_dir

[root@linuxMA vsftpd]# ls

ftpusers  user  user.db  user_dir  user_list  vsftpd.conf  vsftpd.conf.bak  vsftpd_conf_migrate.sh

[root@linuxMA vsftpd]# cd /etc/vsftpd/user_dir

[root@linuxMA user_dir]# vim wangwu

local_root=/etc/vsftpd/data                       //虚拟用户数据的存放路径

 #创建虚拟用户数据存放目录

[root@linuxMA user_dir]# cd ..

[root@linuxMA vsftpd]# mkdir data

[root@linuxMA vsftpd]# chmod 777 data/

 #重启服务

[root@linuxMA ]# systemctl restart vsftpd

 

登陆测试:

 

#登陆成功。添加文件进行测试

[root@linuxMA vsftpd]# cd data/

[root@linuxMA data]# touch wangwu.txt

 

 

 

重点:本地用户和虚拟用户不能同时登录、因为认证方式只有一种

本地是pam_service_name =vsftpd

虚拟是pam_service_name =vsftpd.vu

 

 

配置文件详解

 

#常用的匿名FTP配置项

anonymous_enable=YES                         是否允许匿名用户访问

anon_umask=022                                     匿名用户所上传文件的权限掩码

anon_root=/var/ftp                                    设置匿名用户的FTP根目录

anon_upload_enable=YES                      是否允许匿名用户上传文件

anon_mkdir_write_enable=YES               是否允许匿名用户允许创建目录

anon_other_write_enable=YES               是否允许匿名用户有其他写入权(改名,删除,覆盖)

anon_max_rate=0                                     限制最大传输速率(字节/秒)0为无限制

 

#常用的本地用户FTP配置项

local_enable=YES                                      是否允许本地系统用户访问

local_umask=022                                       本地用户所上传文件的权限掩码

local_root=/var/ftp                                      设置本地用户的FTP根目录

chroot_list_enable=YES                            表示是否开启chroot的环境,默认没有开启

chroot_list_file=/etc/vsftpd/chroot_list        表示写在/etc/vsftpd/chroot_list文件里面的用户是不可以出chroot环境的。默认是可以的。

Chroot_local_user=YES                             表示所有写在/etc/vsftpd/chroot_list文件里面的用户是可以出chroot环境的,和上面的相反。

local_max_rate=0                                       限制最大传输速率(字节/秒)0为无限制

 

#常用的全局配置项

listen=YES                                                  是否以独立运行的方式监听服务

listen_address=192.168.4.1                       设置监听FTP服务的IP地址

listen_port=21                                             设置监听FTP服务的端口号

write_enable=YES                                      是否启用写入权限(上传,删除文件)

download_enable=YES                             是否允许下载文件

dirmessage_enable=YES                           用户切换进入目录时显示.message文件

xferlog_enable=YES                                   启用日志文件,记录到/var/log/xferlog

xferlog_std_format=YES                             启用标准的xferlog日志格式,禁用此项将使用vsftpd自己的格式

connect_from_port_20=YES                       允许服务器主动模式(从20端口建立数据连接)

pasv_enable=YES                                       允许服务器被动模式

pasv_max_port=24600                                设置被动模式服务器的最大端口号

pasv_min_port=24500                                 设置被动模式服务器的最小端口号

pam_service_name=vsftpd                          用户认证的PAM文件位置

(/etc/pam.d/vsftpd.vu)

userlist_enable=YES                                     是否启用user_list列表文件

userlist_deny=YES                                        是否禁用user_list中的用户

max_clients=0                                                限制并发客户端连接数

max_per_ip=0                                                 限制同一IP地址的并发连接数

TCP_WRAPPERS = YESホストアクセス制御TCP_WRAPPERSを有効にするかどうか

chown_username =ルートは、ファイルをアップロードする匿名ユーザーの所有者は、デフォルトではオフに、根で表し、

ユーザーがバイナリファイルをアップロードできるようにするかどうかを示すascii_upload_enable = YES、デフォルトは許可されていません

ascii_download_enable = YESこれは、ユーザーがバイナリファイルをダウンロードすることを許可するかどうかの代表である、デフォルトは許可されていません

手動でvsftpdのを設定するには、ユーザーのためのnopriv_user = vsftpdを提供vsftpdのホスト・ユーザー・サポート・サービス

async_abor_enable = YESが設定されている非同期伝送機能をサポートしています

着陸スローガンにvsftpdの設定Awei FTPサーバへのftpd_banner =ようこそ

guest_enable = YES設定は、仮想ユーザー機能を有効になっています

すなわちguest_username = FTPUSERユーザ指定された仮想ホストユーザー

そのホストのユーザー権限で仮想ユーザーのvirtual_use_local_privs = YESセット

仮想ユーザーの個人設定ファイルの格納パスVSFTPのuser_config_dir =の/ etc / vsftpdは/ vconfセット

 

おすすめ

転載: www.cnblogs.com/linuxMA/p/11526928.html