CentOS7 设置vsftpd 3.0.2 版本.txt
yum install vsftpd
启动一下用 service vsftpd start
然后用匿名登陆方式测试下这个vsftpd是否可用,如果这一步就不可用,则要排除环境上其他潜在问题。才能继续下一步
----1.用户设置-------------------------
1.1 增加组ftp
groupadd ftp
1.2 增加用户webuser , 不让登陆,主目录是/data/web ,属于组ftp
useradd -d /data/web -g ftp -s /sbin/nologin webuser
1.3 创建密码:
passwd webuser
----2.用户目录设置-------------------------
2.1 创建webuser用户的主ftp目录:
mkdir /data/web
2.2 去除主目录的可写性,这个是因为 vsftpd 的较新的版本的安全限制,主目录不可写,只有子目录可写
#可写的主目录不能被显示,否则报错:refusing to run with writable root inside chroot()
chmod a-w /data/web
2.3 创建主目录下的 可写子目录pub ( 用户操作都在pub下进行,不能在 /data/web/下进行)
mkdir /data/web/pub
2.4 设置主目录的下的子目录的可写性
chmod -cR 777 /data/web/pub
2.5 将主目录下所有目录的属主该成ftp用户和ftp组
chown -hR webuser:ftp /data/web
-----3. 主配文件,配置------------------------
3.1修改 /etc/vsftpd/vsftpd.conf
#禁止anonymous登陆,默认是打开的允许的,可先不做这个设置,用匿名用户登陆做测试,看整个vsftpd初始安装是否正确
原来:anonymous_enable=YES
修改后:anonymous_enable=NO
#允许linux本机用户登陆
local_enable=YES
#本机用户可以写目录
write_enable=YES
#默认不允许本机用户改变目录,这个要打开,原先被注释掉了。
chroot_local_user=YES
#但是允许/etc/vsftpd/chroot_list中列出的用户除外
chroot_list_enable=YES
#chroot_list中列出的用户可以改变目录 'change root=chroot'
chroot_list_file=/etc/vsftpd/chroot_list
#允许监听
listen=YES
#不允许监听在ipv6,这个设置和上面设置只能选1个
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=NO
tcp_wrappers=NO
#改变主端口,安全性好
listen_port=8083
#允许passive模式,这个比较重要
pasv_enable=YES
#以下2个端口,最好在公网的防火墙上为设为对外开放,否则客户端可能不能连接vsftpd(可轮番将tomcat的端口修改成以下范围的端口来做测试。
pasv_min_port=8081
pasv_max_port=8084
-----------------------------
3.2 创建空白文件 /etc/vsftpd/chroot_list
touch /etc/vsftpd/chroot_list
3.2 注释掉文件/etc/pam.d/vsftpd中行auth required pam_shells.so ,使得本机用户可以登陆ftp
vim /etc/pam.d/vsftpd
#auth required pam_shells.so
3.3 重启 service vsftpd restart
--------------------------------
4.用filezillar客户端连接vsftpd
4.1设置主动连接 (active mode)
大功告成!
默认,vsftpd 安装好后,是支持主动(port) 模式的。加上支持被动模式,那么主被动都支持,主动模式时,服务器开端口20来传输文件。但是在实际测试时,发现主动模式并不能实际成功!如果你只以只开2个端口来传输文件,可能要面临其它选择:
1)用proftpd 来代替vsftpd, proftpd安装完后,对主动模式支持很好。(这个见博主另外一个篇问章)
2)改用socket传输,端口很固定,很容易控制。
不知道为啥vsftpd在centos设置这么麻烦!也许ftp不太安全了吧!是个过时的东西!将来不久会淘汰的.