作为系统默认自带的 ftp 服务软件,vsftp 也是比较常用的。
1.安装 vsftp
这里安装两个软件包,同时会把依赖的包安装上。其中 db4-utils 用来生成木马库文件。
2.建立帐号
vsftp 默认是可以支持使用系统帐号体系登录的,但这样不太安全,所以建议使用虚拟账号体系。
建立虚拟账号相关的系统帐号
建立虚拟账户相关的文件
内容如下:
1 2 3 4
| test1 123456 test2 abcdef
|
更改该文件的权限,提升安全级别
vsftpd 使用的密码文件肯定不是铭文的,需要生成对应的库文件:
建立虚拟帐号相关的目录以及配置文件
1 2
| [root@192 ~] [root@192 ~]
|
3.创建和用户对应的配置文件
1
| [root@192 vsftpd_user_conf]
|
内容如下:
1 2 3 4 5 6 7 8 9 10 11
| local_root=/home/virftp/test1 anonymous_enable=NO write_enable=YES local_umask=022 anon_upload_enable=NO anon_mkdir_write_enable=NO idle_session_timeout=600 data_connection_timeout=120 max_clients=10 max_per_ip=5 local_max_rate=50000
|
说明:local_root 为该帐号的家目录,anonymous_enable 用来限制是否允许匿名帐号登录,若为 NO 表示不允许匿名帐号登录, write_enable=YES 表示可写,local_umask 指定 umask 值,anon_upload_enable 是否允许匿名帐号上传文件,anon_mkdir_write_enable 是否允许匿名帐号可写。以上为关键参数,其他暂时不用关心,创建 test2 帐号的步骤和 test1 一样。
1 2 3
| [root@192 vsftpd_user_conf] [root@192 vsftpd_user_conf] [root@192 vsftpd_user_conf]
|
在最开头添加两行:
1 2
| auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
|
说明:linux 为 64 位系统,所以库文件为 /lib64/security/pam_userdb.so ,若系统为 32位,那么库文件在 /lib/security/pam_userdb.so
4.修改全局配置文件 /etc/vsftpd.conf
1
| [root@192 vsftpd_user_conf]
|
改为
改为
改为
再增加:
1 2 3 4 5
| chroot_local_user=YES guest_enabled=YES guest_username=virftp virtual_use_local_privs=YES user_config_dir=/etc/vsftpd/vsftpd_user_conf
|
最后启动 vsftpd 服务
1 2
| [root@192 vsftpd_user_conf] 为 vsftpd 启动 vsftpd: [确定]
|
如果服务启动不了,很有可能是前面 21端口占用。测试过程和 pure-ftpd 一样,如果用户无法登录,查看日志 /var/log/srcure