服务器是centos6.6,环境是用的oneinstack 但是不知道为什么没有安装ftp,只能自己手动安装vsftp:
使用yum命令安装vsftp
yum install vsftpd -y
添加ftp帐号和目录
先检查一下nologin的位置,通常在/usr/sbin/nologin或者/sbin/nologin下。使用下面的命令创建帐户,该命令指定了/alidata/www/wwwroot为用户pwftp的家目录,您可以自己定义帐户名和目录,代码如下: useradd -d /alidata/www/wwwroot -s /sbin/nologin pwftp 修改该帐户密码(代码): passwd pwftp 修改指定目录的权限(代码): chown -R pwftp.pwftp /alidata/www/wwwroot
配置vsftp
打开配置文件(代码): vi /etc/vsftpd/vsftpd.conf 将配置文件中”anonymous_enable=YES “改为 “anonymous_enable=NO” 取消如下配置前的注释符号: local_enable=YES write_enable=YES chroot_local_user=YES 如果在配置中有下面的配置 userlist_enable=YES 则在/etc/vsftpd/user_list 文件中加入你要禁止登陆的ftp账户名称,就可以禁止该用户登陆,实现登陆控制. 保存修改,按ESC键,输入:wq
修改shell配置
vi编辑/etc/shells,如果该文件里没有/usr/sbin/nologin或 者/sbin/nologin(具体看当前系统配置)则追加进去
检查iptables配置
使用vi /etc/sysconfig/iptables 打开配置文件 如果iptables服务是打开的状态则加入下面的配置打开21端口 -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT 如果你的iptables服务是关闭则不用修改这个配置 输入/etc/init.d/iptables restart 重启iptables让修改的配置生效
启动vsftp服务并测试登录
输入 /etc/init.d/vsftpd start 启动vsftp 登陆你的账号测试
如果你遇见下面这中情况
是因为ftp连接模式port模式和pasv模式。设置ftp 链接模式为port (主动模式) ,ftp客户端一般默认使用的pasv (被动模式) 。如果不修改模式,用户链接服务器后,目录一直不能显示。所以要修改为主动模式。其实很简单,只需将ftp连接模式改为主动模式。xftp修改方式如下 点击属性->选项->将使用被动模式选项去掉即可
另外你也可以在vsftp中配置让他采用pasv被动模式,在客户端就不用修改了
在 /etc/vsftpd/vsftpd.conf中添加配置 pasv_enable=YES pasv_min_port=2222 pasv_max_port=2225 iptables中开放这段端口 -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT -A INPUT -p tcp --dport 2222:2225 -j ACCEPT