CentOS开启FTP及配置用户
@Author : Roger TX (425144880@qq.com)
@Link : https://github.com/paotong999
一、CentOS下开启ftp服务
如果要ftp访问Linux需要安装ftp服务,vsftpd是Linux下比较好的的FTP服务器。
1、检查是否安装vsftpd
rpm -qa | grep vsftpd
2、安装vsftpd程序
以管理员(root)身份执行以下命令
yum install vsftpd
3、设置开机启动vsftpd ftp服务
chkconfig vsftpd on
4、管理vsftpd相关命令:
停止vsftpd: service vsftpd stop
重启vsftpd: service vsftpd restart
开机启动vsftpd: chkconfig iptables on
开机关闭vsftpd: chkconfig iptables off
5、配置防火墙
打开/etc/sysconfig/iptables文件
vi /etc/sysconfig/iptables
在REJECT行之前添加如下代码
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 64000:65535 -j ACCEPT
保存和关闭文件,重启防火墙
service iptables start
6、配置vsftpd服务器
默认的配置文件是/etc/vsftpd/vsftpd.conf,你可以用文本编辑器打开。
vi /etc/vsftpd/vsftpd.conf
二、编辑vsftp配置项
配置开启虚拟账户(只能登陆ftp,不能登陆系统)以及设置访问目录
vi /etc/vsftpd/vsftpd.conf
#设定不允许匿名访问
anonymous_enable=NO
#设定用户不能离开主目录
chroot_list_enable=YES
#设定用户名和密码
chroot_list_file=/etc/vsftpd/chroot_list
#设定默认访问目录
local_root=/home/myspace
#设定支持ASCII模式的上传和下载功能
ascii_upload_enable=YES
ascii_download_enable=YES
三、添加ftp用户
1、增加用户ftptx,指向目录/home/users/ftpuser,禁止登录SSH权限。
useradd -d /home/users/ftptx -g ftp -s /sbin/nologin ftptx
2、设置用户口令
passwd ftptx
3、编辑文件chroot_list:
vi /etc/vsftpd/chroot_list
内容为ftp用户名,每个用户占一行,如:
tianxiang
4、重新启动vsftpd
service vsftpd restart
四、出现的错误
1、500 OOPS: cannot change directory
解决方法:
setsebool -P ftpd_disable_trans 1
service vsftpd restart
原因:这是因为服务器开启了selinux,这限制了FTP的登录。