安装 VSFTPD

安装vsftps

一:安装vsftpd

查看是否已经安装vsftpd

rpm -qa | grep vsftpd


如果没有,就安装,并设置开机启动

yum -y install vsftpd
chkconfig vsftpd on

管理vsftpd相关命令:

启动vsftpd:  service vsftpd start

停止vsftpd:  service vsftpd stop

重启vsftpd:  service vsftpd restart

二、配置防火墙

打开/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

保存和关闭文件,重启防火墙

service iptables start

三、配置vsftpd服务器

1.默认的配置文件是/etc/vsftpd/vsftpd.conf,你可以用文本编辑器打开。

vi /etc/vsftpd/vsftpd.conf

在最后加入一行: (默认是GMT时间)


use_localtime=YES

2.添加ftp用户

下面是添加ftpuser用户,设置根目录为/home/wwwroot/ftpuser,禁止此用户登录SSH的权限,并限制其访问其它目录。

#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list

改为

chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

3.增加用户ftpuser,指向目录/home/wwwroot/ftpuser,禁止登录SSH权限。

useradd -d /phpstudy/www -g ftp -s /sbin/nologin ali

可登陆的ftp用户

useradd -d /phpstudy/ssh -g ftp  ssh

4.设置用户口令

passwd ali

5、编辑文件chroot_list:

vi /etc/vsftpd/chroot_list

内容为ftp用户名,每个用户占一行,如:

peter
john

6、重新启动vsftpd

service vsftpd restart

出现的错误

1、500 OOPS: cannot change directory
解决方法:

在终端输入命令:

  1. setsebool -P ftpd_disable_trans 1

  2. service vsftpd restart

就OK了!
原因:这是因为服务器开启了selinux,这限制了FTP的登录。

可能重启后不行了,可以用下面的命令

setsebool allow_ftpd_full_access 1

setsebool allow_ftpd_use_cifs 1

setsebool allow_ftpd_use_nfs 1

将用户文件夹设置777

打开/etc/selinux/config

将selinux=enforcing或permissive改成disabled。

记得要重新启动服务器!

2/如果一直无法写入,且报这个错误   

响应: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

命令 :

chmod a-w /home/user

原文地址:https://www.cnblogs.com/aliblogs/p/5493698.html