临时需要搭建一个ftp,突然忘记怎么搞了,重新整一下,以后备用
vsftd及虚拟用户
1.安装vsftpd
yum install vsftpd
2.添加用户(用于虚拟用户映射)
adduser seedftp -s /sbin/nologin
3.修改配置文件
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list listen=YES userlist_enable=YES tcp_wrappers=YES pasv_enable=YES pasv_min_port=30000 pasv_max_port=30090 guest_enable=YES #启用虚拟用户 guest_username=seedftp #虚拟用户映射的真实用户 pam_service_name=vsftpd.vu #指定PAM文件路径 user_config_dir=/etc/vsftpd/user_conf #配置虚拟用户配置文件路径
4.关于主动及被动
开启被动模式:
connect_from_port_20=NO(默认为YES) #设置是否允许主动模式 pasv_enable=YES(默认为YES) #设置是否允许被动模式 pasv_min_port=30000(default:0(use any port)) pasv_max_port=40000(default:0(use any port))
开启主动模式的配置:
connect_from_port_20=YES pasv_enable=NO
5.修改PAM
vim /etc/pam.d/vsftpd.vu auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login account required pam_userdb.so db=/etc/vsftpd/vsftpd_login
6.配置虚拟用户
vim /tmp/caiuser caiuser xmks89232
7.建立数据文件
db_load -T -t hash -f /tmp/login.txt /etc/vsftpd/vsftpd_login.db
8.创建用户宿主目录
chmod 700 /home/seedftp/ mkdir ftp
创建初始目录:
cd ftp/ mkdir cklpub chown -R seedftp.seedftp cklpub chmod 700 cklpub #安全设置必须,这个目录用户组和其它没有写权限
9.配置用户配置文件
vim user_conf/nili local_root=/data/release_pub/NILI anon_world_readable_only=NO write_enable=YES anon_mkdir_write_enable=YES anon_upload_enable=YES anon_other_write_enable=YES cmds_denied=DELE,RMD #禁止删除和修改
10.重启服务器
systemctl restart vsftpd.service
10.备注
227 Entering Passive Mode (11,7,14,177,207,77).
ftp: connect: Connection timed out
如果报错,一定要查看pasv模式端口是否打开
iptables -I INPUT -m state –state NEW -p tcp -m tcp –dport 30000:31000 –syn -j ACCEPT
端口范围不能写错
pasv_min_port=30000 pasv_max_port=30090 vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误的解决方法 从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。 要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列两项中的一项: allow_writeable_chroot=YES
转载于:https://blog.51cto.com/ckl893/1963381