安装
systemctl disable --now firewalld && setenforce 0
yum install -y vsftpd ftp
systemctl enable vsftpd --now && systemctl status vsftpd
cp /etc/vsftpd/vsftpd.conf{,.kk}
anonymous
修改匿名用户的登录目录
mkdir -p /ftp_anonymous/pub/ && chmod 777 /ftp_anonymous/pub/
特别注意:每行的值都不要有空格,包括行前和行尾,否则启动时会出现错误!
tee /etc/vsftpd/vsftpd.conf <<eof
anonymous_enable=YES
#允许匿名访问模式
anon_root=/ftp_anonymous/
#指定匿名用户的ftp主目录
anon_umask=022
#匿名用户上传文件的 umask 值
anon_upload_enable=YES
#允许匿名用户上传文件
anon_mkdir_write_enable=YES
#允许匿名用户创建目录
write_enable=YES
#给与写入的权限
eof
local
useradd ceshi && echo ceshi | passwd --stdin ceshi
useradd shiyan && echo shiyan | passwd --stdin shiyanmkdir -p /var/ftp_local/
chmod 777 /var/ftp_local/
特别注意:每行的值都不要有空格,包括行前和行尾,否则启动时会出现错误!
tee /etc/vsftpd/vsftpd.conf <<eof
anonymous_enable=NOlocal_enable=YES
write_enable=YES
local_umask=022
local_root=/var/ftp_local/
#指定本地用户的ftp主目录(共享),如果不指定就是本地用户的家目录
allow_writeable_chroot=YES
#从2.3.5之后,vsftpd增强了安全检查,上面一条要指定一下!chroot_local_user=YES
#锁定用户各自家目录为其根目录,没有指定local_root有效!dirmessage_enable=YES
connect_from_port_20=YES
listen=YES
#listen_ipv6=YESpam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=NO
xferlog_enable=YES
xferlog_std_format=YES
eof
virtual
tee /etc/vsftpd/vuser_login << eof
shichang
shichang
keyan
keyan
shouhou
shouhou
eof
nl /etc/vsftpd/vuser_login
cd /etc/vsftpd && yum install -y libdb-utils
db_load -T -t hash -f /etc/vsftpd/vuser_login vuser.db
file vuser.db && chmod 600 vuser.db && rm -f vuser_login
tee -a /etc/pam.d/vsftpd << eof
auth required /usr/lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
account required /usr/lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
主配置文件
tee /etc/vsftpd/vsftpd.conf <<eof
anonymous_enable=NO
pasv_enable=YES
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/vusers_dir
guest_enable=YES
guest_username=virtual
virtual_use_local_privs=YESlocal_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
write_enable=YES
local_umask=022dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
listen_ipv6=NO
userlist_enable=YES
tcp_wrappers=NO
eof
设置虚拟账号主目录
useradd -M virtual -s /sbin/nologin
mkdir -p /var/ftp_virtual/{shichang,keyan,shouhou}
chown -R virtual:virtual /var/ftp_virtual
chmod -Rf 755 /var/ftp_virtual
设置虚拟账号权限,注意以下行尾回车,不能有空格,切记!
tee /etc/vsftpd/vusers_dir/shichang << eof
local_root=/var/ftp_virtual/shichang
write_enable=YES
eof
systemctl restart vsftpd
journalctl -u vsftpd -f
测试
Linux 测试
ftp 192.168.150.171windowns 测试
ftp://192.168.150.171