首先在linux下,特别是没有图形界面的情况下配置服务器真的是很痛苦..
1、如何限制ip可以访问ftp
在/etc/hosts.allow添加
vsftpd:192.168.1.4(具体根据你允许访问ftp的ip)
在/etc/hosts.deny添加
vsftpd:ALL
2、关于上传文件权限为600问题
在/etc/vsftpd/vsftpd.conf添加file_open_mode=0775(设置为你想要的mode即可)
网上很多文章对这个问题都答不到要点,害得我整了半天
3、pasv和port模式
如果您的ftp服务器防火墙不方便开放端口段的话,我建议你最好还是不要使用pasv
如果要使用被动模式的话,在服务器防火墙要开放对应的端口
例如pasv_min_port=50000
pasv_max_port=60000
你就要在/etc/sysconfig/iptables添加-A INPUT -p tcp -m tcp --dport 50000:60000 -j ACCEPT
4、所有配置项都是采用key=value格式“=”左右不能有空格,所有单词全部小写
5、如果要把用户限制在他的对应目录里
chroot_local_user=NO
chroot_list_enable=YES
#以上两行将虚拟用户限制在其目录下,不能访问其他目录,或者直接用
chroot_local_user=YES
listen=yes #监听/被动模式
listen_port=21 #监听端口
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list #虚拟用户名单保存在文件/etc/vsftpd/vsftpd.chroot_list 中
user_config_dir=/etc/vsftpd/vsftpd_user_conf #每个虚拟用户名的更加详细的培植保存在/etc/vsftpd/vsftpd_user_conf 中
虚拟用户其他设置
在/etc/vsftpd/vsftpd.chroot_list 文件中写入允许登陆的虚拟用户名称,每行一个
在/etc/vsftpd/vsftpd_user_conf 文件夹中创建一个以虚拟用户用户名命名的文件,
写入:local_root = /var/FTP/子目录名
然后在/var/FTP下创建一个对应的目录即可