1、基本安装linux
1.安装服务shell
yum -y install vsftpd //centos Redhat
apt-get install vsftpd //debian ubuntu
2.开启服务 ubuntu
service vsftpd status //查看状态,默认是关闭的
service vsftpd start
3.开机随操做系统启动centos
chkconfig vsftpd on
4.添加帐号安全
useradd -d /data/www/wwwroot -s /sbin/nologin vsftp
passwd vsftp //设置密码
chown -R vsftp.vsftp /data/www/wwwroot //设置指向目录
其中,/demo指的是指向目录,vsftp是要添加的用户名,也可使用usermod设置已有用户。tcp
2、基本设置spa
1.打开配置文件操作系统
vi /etc/vsftpd/vsftpd.conf
2.参照以下设置rest
userlist_deny=YES
userlist_file=/etc/vsftpd/user_list
anonymous_enable=NO //禁止匿名访问
local_enable=YES
write_enable=YES
3.修改shell配置code
vi /etc/shells //若是该文件里没有/usr/sbin/nologin或者/sbin/nologin(具体看当前系统配置)则追加进去
4.重启服务
service vsftpd start //修改配置以后要重启服务
3、vsftp没法链接
service iptables stop //关闭防火墙
或者修改配置文件
vi /etc/sysconfig/iptables-config IPTABLES_MODULES="ip_conntrack_ftp"
并添加规则
iptables -P INPUT DROP iptables -A INPUT -p tcp --dport 20 -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -p tcp --dport 21 -j ACCEPT service iptables save service iptables restart
4、限制用户不能访问上级目录
修改vsftp的配置文件vsftpd.conf
vi etc/vsftpd/vsftpd.conf
修改下面的配置:
chroot_local_user=YES chroot_list_enable=YES //这行能够没有, 也能够有 chroot_list_file=/etc/vsftpd/chroot_list
那么, 凡是加在文件vsftpd.chroot_list中的用户都是不受限止的用户,便可以浏览其主目录的上级目录。
若是不但愿指定的用户浏览其主目录上级目录中的内容,能够以下设置,而后在文件vsftpd/chroot_list中去掉或不添加该用户便可。
chroot_local_user=NO chroot_list_enable=YES //这行必需要有, 不然文件vsftpd/chroot_list不会起做用 chroot_list_file=/etc/vsftpd/chroot_list
5、没法上传文件、建立文件/文件夹,或没法看到子目录
这是因为selinux的机制,能够执行以下命令查看
getsebool -a|grep ftp
使用以下命令重置权限
setsebool allow_ftpd_full_access=1
6、用户没法验证问题
当咱们限定了用户不能跳出其主目录以后,使用该用户登陆FTP时每每会遇到这个错误。从2.3.5以后,vsftpd加强了安全检查,若是用户被限定在了其主目录下,则该用户的主目录不能再具备写权限了!若是检查发现还有写权限,就会报该错误。
方法1:修改配置文件vi /etc/vsftpd/vsftpd.conf,添加allow_writeable_chroot=YES
方法2:用命令chmod a-w /home/user去除用户主目录的写权限
sudo chown -R root:root /home/ftp cd /home/ftp sudo mkdir FTPFILES sudo chown -R vsftpuser:vsftpuser FTPFILES