Linux
安装VsFTPd
sudo apt-get update sudo apt-get install vsftpd netstat -tl #检查端口是否打开 ftp://服务器IP #检查能否访问 /etc/init.d/vsftpd {start stop restart} sudo useradd -d /var/www/html -s /bin/bash wxc #新建用户+指定目录作为FTP sudo passwd wxc #设置Ftp密码(二次确认) sudo chown wxc:wxc /var/www/html #设置ftp目录用户权限(拥有者) 查看系统中多了ftp用户组和ftp用户 cat /etc/group cat /etc/passwd cp /etc/vsftpd.conf /etc/vsftpd.conf_bak #备份配置文件 vi /etc/vsftpd.conf #配置 listen=yes #独立的VSFTPD服务器 listen_ipv6=NO #否则ipv4无法访问 anonymous_enable=NO #不允许匿名访问 local_enable=YES #本机也能访问 write_enable=YES local_umask=022 #指定本地用户上传后的文件权限设置 添加 userlist_deny=NO #允许ftp登录的本地用户 userlist_enable=YES userlist_file=/etc/allowed_users #记录了允许本地登录用户的文件 seccomp_sandbox=NO #该选项不配置导致莫名其妙的530问题 ======================================================== vi /etc/allowed_users #输入用户wxc,保存 vi /etc/ftpusers #查看一下,这个文件中记录的是不能访问FTP服务器的用户清单 关于权限: chmod 755 /var/www/html #umask = 022 时,新建的目录 权限是755,文件的权限是 644 #umask = 077 时,新建的目录 权限是700,文件的权限时 600 解决:限制ftp用户只能在其主目录下(root dir)下活动, 一直向上的时候把所有目录都列出来了-不安全!! #local_root=/var/www/html #本地用户登录后的根目录(非匿名、输入用户名和密码登录的) #anon_root=/var/www/html/ #匿名anonymous用户访问的主目录 allow_writeable_chroot=YES #避免错误refusing to run with writable root inside chroot() chroot_local_user=YES #是否将所有用户限制在主目录(总开关), 默认值是NO! chroot_list_enable=NO #是否允许例外(chroot_local_user与chroot_list_enable的组合效果) chroot_list_file=/etc/vsftpd.chroot_list #例外用户列表 vi /etc/vsftpd.chroot_list #添加用户, 一行一个 全部完成后:sudo service vsftpd restart 使配置生效
vi /etc/vsftpd.conf
listen_port=端口号
vi /etc/services
修改 ftp 21/tcp ftp 21/udp
sudo service vsftpd restart
connect_from_port_20=YES #主动式连接使用的数据通道
pasv_enable=NO #支持数据流的被动式连接模式
==================================================
connect_from_port_20=NO #被动模式
pasv_enable=YES #设置是否允许被动模式 (默认为YES)
pasv_min_port=1024 #(default:0(use any port))
pasv_max_port=65536 #(default:0(use any port))