1、安装ftp;
2、添加ftp用户,并设置相应的权限
运行命令:“useradd -d /home/test test” //增加用户test,并制定test用户的主目录为/home/test
运行命令:“passwd test” //为test设置密码,运行后输入两次相同密码
3、更改用户相应的权限设置:
运行命令:“usermod -s/sbin/nologin test” //限定用户test不能telnet,只能ftp
运行命令:“usermod -s/sbin/bash test” //用户test恢复正常
运行命令:“usermod -d/test test” //更改用户test的主目录为/test
4、限制用户只能访问/home/test,不能访问其他路径
修改vsftpd.conf文件,文件位置一般默认为/etc/vsftpd
anonymous_enable=NO
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list 注意list文件名,我的文件名就是user_list不是chroot _list
userlist_enable=NO
修改chroot _list文件,文件位置一般默认为/etc/vsftpd
加上新加的用户名即可,因为userlist_enable=NO,所有这个文件里面的用户是允许登录的;
5、配置访问端口 pasv模式
listen_port=30061 监听端口
pasv_enable=YES 允许被动传输
pasv_min_port=30062 数据传输端口下限
pasv_max_port=30065 数据传输端口上限
设定在PASV模式下,建立数据传输所可以使用port范围的下界和上界,0 表示任意。默认值为0。把端口范围设在比较高的一段范围内,比如50000-60000,将有助于安全性的提高。
6、配置防火墙,允许端口通过
7、检查selinux,需要关闭
8、内网继续测试,通过之后,进行端口映射;
9、外网测试;
注意:因为默认开启了reverse_lookup(反向解析) 所以需要reverse_lookup_enable=NO,要不让会很慢
pasv返回数据通道ip是内网地址,需要配置下pasv_address=?.?.?.?,确保外网的下载使用,我碰到了使用linux,链接ftp,获取的数据通道ip通道就是内网,照成数据没法下载的情况;