
这几天公司接了个活,涉及到ftp上传到本机,查了下,vsftp好用又方便,今天记录下部署过程以备不时之需。
1、yum安装vsftp
yum -y install vsftpd
2、备份、修改配置文件
cd /etc/vsftpd cp vsftpd.conf vsftpd.conf.bak echo '' > vsftpd.conf vim vsftpd.conf
3、加入如下配置
################加入如下配置######################### anonymous_enable=NO write_enable=YES chroot_local_user=YES chroot_list_enable=YES use_localtime=YES local_enable=YES allow_writeable_chroot=YES xferlog_enable=YES local_umask=022 pam_service_name=vsftpd use_localtime=YES listen_port=21 chroot_local_user=YES idle_session_timeout=120 data_connection_timeout=120 guest_enable=YES guest_username=ftpuser user_config_dir=/etc/vsftpd/vuser_conf virtual_use_local_privs=YES pasv_min_port=10060 pasv_max_port=10090 accept_timeout=5 connect_timeout=1 ####################配置完毕###########################
4、创建宿主用户
# 创建用户 ftpuser 指定 `/home/vsftpd` 目录
mkdir /home/vsftpd useradd -g root -M -d /home/vsftpd -s /sbin/nologin ftpuser
5、设置用户 ftpuser 的密码
passwd ftpuser
输入想设置的密码:123456
6、把 /home/vsftpd 的所有权给ftpuser.root
chown -R ftpuser.root /home/vsftpd
7、建立、编辑虚拟用户文件,:( 第一行账号,第二行密码,注意:不能使用root做用户名,系统保留)
vim /etc/vsftpd/vuser_passwd
8、编辑内容,下面是 vuser_passwd 内容
ftp 123456
:wq!#保存退出
9、生成虚拟用户数据文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db chmod 600 /etc/vsftpd/vuser_passwd.db touch /etc/vsftpd/chroot_list
10、创建用户配置
# 建立虚拟用户个人vsftp的配置文件
mkdir /etc/vsftpd/vuser_conf
# 进入目录
cd /etc/vsftpd/vuser_conf
11、建立ftp文件,写入如下内容,local_root=/www/ftp#这里写入这个用户的实际存储路径
vim ftp
############配置写入如下内容############### local_root=/www/ftp write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES ###########配置完毕##############
12、创建用户目录
mkdir -p /www/ftp chown -R ftpuser.root /www
13、生成虚拟用户的PAM文件
cd /etc/pam.d/
备份vsftpd文件
cp vsftpd vsftpd.bak
修改vsftpd文件内容
vim vsftpd
加入第二和第三行,下面的都全部注释,注意下面是64位操作系统,如果是32位的话lib64需要改成lib
#%PAM-1.0 auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd #session optional pam_keyinit.so force revoke #auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed #auth required pam_shells.so #auth include password-auth #account include password-auth #session required pam_loginuid.so #session include password-auth
14开放tcp端口
firewall-cmd --zone=public --add-port=20/tcp --permanent firewall-cmd --zone=public --add-port=21/tcp --permanent firewall-cmd --zone=public --add-port=22/tcp --permanent firewall-cmd --zone=public --add-port=10060-10090/tcp --permanent
15.开放udp端口
firewall-cmd --zone=public --add-port=20/udp --permanent firewall-cmd --zone=public --add-port=21/udp --permanent firewall-cmd --zone=public --add-port=10060-10090/udp --permanent
16.重新加载防火墙
firewall-cmd --reload
17、服务运维
# 重启服务 systemctl restart vsftpd.service # 启动服务 systemctl start vsftpd.service # 服务状态查看 systemctl status vsftpd.service #加入自启 systemctl enable vsftpd.service