共计 2009 个字符,预计需要花费 6 分钟才能阅读完成。
最近折腾 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 组
站长注:如果在 ftp 用户的主目录中的子目录无法进行上传、删除等操作,需要重新使用 chmod 命令授权,比如
chmod -R 777 /home/ftproot/ 子目录
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