最近折腾LNMP环境,使用sftp链接速度太不理想了,打算添加一个FTP账户,虽然可以安装PureFTPd管理面板,但是我需要的只是一个FTP账号,没必要安装这个,所以打算安装vsftpd组件来配置FTP。方法都是从网上搜索来的,也不知道谁的原创,结合自己的需要整理出来备查。

1、查看是否安装了vsftpd

rpm-qa|grepvsftpd

2、CentOS系统使用yum方式安装vsftpd

yuminstallvsftpd

3、安装完成后,设置开始自动启动

chkconfigvsftpdon
servicevsftpdstart

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-R777/home/ftproot//递归地给此目录下所有文件和子目录的读、写、执行权限

chgrp-Rftp/home/ftproot//递归地把此目录及该目录下所有文件和子目录的组属性设置成ftp组

倡萌注:如果在ftp用户的主目录中的子目录无法进行上传、删除等操作,需要重新使用chmod命令授权,比如

chmod-R777/home/ftproot/子目录

7、增加FTP用户

adduser-d/home/ftproot-gftp-s/sbin/nologinuser

增加用户,组是FTP,目录是/home/ftproot(注意将user改为你要设置的用户名,下同),为FTP用户设定密码

passwduser

输入两次密码

8、重启vsftpd

servicevsftpdrestart

9、FTP用户管理

userdel选项用户名#删除用户。

常用的选项是-r,它的作用是把用户的主目录一起删除。

例如:userdel–rcmhello表示删除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),保存后重启防火墙
serviceiptablesrestart

在FTP配置文件添加监听端口211

vi/etc/vsftpd/vsftpd.conf

增加

listen_port=211

保存后重启FTP服务

servicevsftpdrestart

查看端口是否正常启动

netstat-an|grep211

现在你已将FTP端口设置为211,填写ftp信息时,默认是21端口,你要改为211

http://www.cmhello.com/lnmp-vsftpd.html