yum install -y vsftpd db4-utils
建立虚拟账号相关联的系统账号 useradd virftp -s /sbin/nologin  
建立虚拟账户相关的文件  vim  /etc/vsftpd/vsftpd_login //内容如下 
    test1   
    123456
    test2
    abcdef

注意:(这里名字要写在最前面,不然会有问题,前面不能有空格)
chmod 600 /etc/vsftpd/vsftpd_login
生成对应的库文件 db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db


建立虚拟账号相关的目录以及配置文件 mkdir  /etc/vsftpd/vsftpd_user_conf
cd   /etc/vsftpd/vsftpd_user_conf  创建和用户对应的配置文件
vim test1 内容如下
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


mkdir /home/virftp/test1
修改权限 chown -R virftp:virftp /home/virftp
vim /etc/pam.d/vsftpd   在最开头添加两行 
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login   //如果是64位系统则改为/lib64/security/pam_userdb.so 
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login   //如果是64位系统则改为/lib64/security/pam_userdb.so 
再修改/etc/vsftpd.conf  
vim /etc/vsftpd/vsftpd.conf

anonymous_enable=YES改为anonymous_enable=NO
如不允许匿名访问则设置为NO


#anon_upload_enable=YES 改为 anon_upload_enable=NO
#anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO

这三条针对匿名用户
再增加

chroot_local_user=YES

guest_enable=YES

guest_username=virftp

virtual_use_local_privs=YES

user_config_dir=/etc/vsftpd/vsftpd_user_conf

(在下面找一行插入,不要放最后面)

启动vsftpd服务/etc/init.d/vsftpd start  

错误检查:

  1. 查看less /var/log/secure

  2. telnet IP 21 (看结果是220,还是500,220是正确的)






windows验证:

切记,不能用网页打开

vsftp配置ftp服务

vsftp配置ftp服务








客户端实验验证

ftp客户端需要安装lftp包yum install -y lftp

登录命令lftp [email protected]服务端的ip地址 

 

ftp://192.168.0.106

 

最常用的命令有
ls 列出远程机的当前目录
cd 在远程机上改变工作目录
lcd 在本地机上改变工作目录
ascii 设置文件传输方式为ASCII模式
binary 设置文件传输方式为二进制模式
close 终止当前的ftp会话
hash 每次传输完数据缓冲区中的数据后就显示一个#号
getmget 从远程机传送指定文件到本地机
putmput 从本地机传送指定文件到远程机
open 连接远程ftp站点
断开与远程机的连接并退出ftp
? 显示本地帮助信息
! 转到Shell中

  linux客户端:

ls 

put /etc/passwd .