Centos 安装 vsftpd 并配置
最近折腾LNMP环境,使用sftp链接速度太不理想了,打算添加一个FTP账户,虽然可以安装PureFTPd管理面板,但是我需要的只是一个 FTP账号,没必要安装这个,所以打算安装vsftpd组件来配置FTP。方法都是从网上搜索来的,也不知道谁的原创,结合自己的需要整理出来备查。
1、查看是否安装了 vsftpd
rpm -qa | grep vsftpd
2、CentOS系统使用yum方式安装 vsftpd
yum install vsftpd
3、安装完成后,设置开始自动启动
chkconfig vsftpd on service vsftpd start
4、查看ftp端口是否在侦听了
netstat -tl
5、配置vsftpd
vsftpd的配置文件有三个,分别是:
/etc/vsftpd/vsftpd.conf
/etc/vsftpd.ftpusers
/etc/vsftpd.user_list
其中,/etc/vsftpd/vsftpd.conf是主配置文件。
/etc/vsftpd.ftpusers中指定了哪些用户不能访问FTP器。
/etc/vsftpd.user_list中指定的用户默认情况(即在/etc/vsftpd/vsftpd.conf中设置了userlist_deny=YES)下也不能访问FTP服务器,当在/etc/vsftpd/vsftpd.conf中设置了userlist_deny=NO时,仅仅允许/etc/vsftpd.user_list中指定的用户访问FTP服务器。
/etc/vsftpd/ftpusers 和 /etc/vsftpd/user_list,#设置不能登陆FTP的用户
配置:
vi /etc/vsftpd/vsftpd.conf
将anonymous_enable=YES 改为
anonymous_enable=NO
//不允许匿名用户访问
在下面添加一行:
chroot_local_user=YES
表示把FTP用户都限制在你设置的目录中
6、设置FTP目录
mkdir /home/ftproot //创建FTP目录 chmod -R 777 /home/ftproot //递归地给此目录下所有文件和子目录的读、写、执行权限 chgrp -R ftp /home/ftproot //递归地把此目录及该目录下所有文件和子目录的组属性设置成ftp组
7、增加FTP用户
adduser -d /home/ftproot -g ftp -s /sbin/nologin user
增加用户,组是FTP,目录是/home/ftproot (注意将user 改为你要设置的用户名,下同),为FTP用户设定密码
passwd user
输入两次密码
8、重启vsftpd
service vsftpd restart
9、FTP用户管理
userdel 选项 用户名 #删除用户。
常用的选项是-r,它的作用是把用户的主目录一起删除。
例如: userdel –r cmhello 表示删除cmhello这个ftp用户,同时删除cmhello上传的主目录
passwd 选项 用户名 #修改口令
passwd -l 用户名 锁定口令,即禁用账号。
passwd -u 用户名 口令解锁。
passwd -d 用户名 使账号无口令。
passwd -f 用户名 强迫用户下次登录时修改口令。
如果默认用户名,则修改当前用户的口令。
如果是超级用户,可以用下列形式指定任何用户的口令:
passwd 用户名
passwd -d 用户名 此命令将用户的口令删除,这样用户下一次登录时,系统就不再询问口令
10、修改默认21端口
先修改防火墙,增加其FTP端口,下面使用211。编辑防火墙文件:
vi /etc/sysconfig/iptables
如果你按照前面配置过防火墙,应该可以看到类似下面的代码(部分):
iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 21 -j ACCEPT iptables -A INPUT -p tcp --dport 20 -j ACCEPT
添加一行:
iptables -A INPUT -p tcp --dport 211 -j ACCEPT
或将上面第三行中 21 改为 211 (FTP默认端口是21),保存后重启防火墙
service iptables restart
在FTP配置文件添加监听端口211
vi /etc/vsftpd/vsftpd.conf
增加
listen_port=211
保存后重启FTP服务
service vsftpd restart
查看端口是否正常启动
netstat -an | grep 211
现在你已将FTP端口设置为211,填写ftp信息时,默认是21端口,你要改为211。
到此所有设置基本完成。
补充,防火墙开启后,客户端可能连接不上ftp,需要给配置文件增加以下设置
pasv_min_port=30000 pasv_max_port=39999
并在防火墙中,把这两个端口范围内的所有端口都开放