rpm
vsftpd-2.2.2-21.el6.x86_64.rpm
ftp-0.17-54.el6.x86_64.rpm
1.安装vsftpd、db_load,省略
centos7执行:
yum install -y vsftpd
systemctl daemon-reload
2.在一个目录创建一个用户名密码文件,比如
vim account.txt #输入用户名密码奇数行是用户名、偶数行是密码
yum
rxhz1004
3.生成db文件
db_load -T -t hash -f /etc/vsftpd/account.txt /etc/vsftpd/account.db
4.修改权限
chmod 600 /etc/vsftpd/account.db
5.配置pam文件
vim /etc/pam.d/vsftpd.v #输入以下配置
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/account
account required /lib/security/pam_userdb.so db=/etc/vsftpd/account
后来登录ftp出现530错误,需要把上面两行改为:可能是跟64位系统有关
auth required pam_userdb.so db=/etc/vsftpd/account
account required pam_userdb.so db=/etc/vsftpd/account
--6.创建虚拟用户
useradd virtual_user -d /home/ftpdata -s /sbin/nologin
指定home目录,-s设置成不可登录系统的用户
修改目录权限chown -R virtual_user.virtual_user /home/ftpdata/feiyan
修改目录权限chmod 777 /home/Centos.yum
7.修改vsftpd配置文件
vim /etc/vsftpd/vsftpd.conf
listen_port=21
ftp_data_port=20
listen_data_port_20=8080
pasv_enable=YES
pasv_min_port=20
pasv_max_port=20
如果ftp发布到外网添加下面的参数,可解决某些单片机ftp模块 opereation error的问题,如果还有问题请取消虚拟用户模式虽然不安全,但没有办法
pasv_addr_resolve=YES
pasv_address=www.xxx.cn #你的域名或者ip
guest_enable=YES
guest_username=virtual_user
pam_service_name=vsftpd.v
user_config_dir=/etc/vsftpd/user_conf
chroot_local_user=YES
allow_writeable_chroot=YES
use_localtime=YES
8.创建用户配置文件
mkdir /etc/vsftpd/user_conf
vim /etc/vsftpd/user_conf/feiyan #给全部权限,限定根目录
local_root=/home/ftpdata/feiyan
write_enable=YES
virtual_use_local_privs=YES
10.重启vsftpd
service vsftpd restart