centos搭建vsftp

本文参考链接: 1. https://www.cnblogs.com/surge/p/3868270.html

                        2. https://www.cnblogs.com/dajianshi/p/3747927.html

作者:王文

2018/11/19

 

一:安装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 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

 

2.添加ftp用户

下面是添加ftsztx用户,设置根目录为/home/wwwroot/ftpsztxkj,禁止此用户登录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/ftpsztxkj,禁止登录SSH权限。

useradd -d /home/wwwroot/ftpsztxkj -g ftp -s /sbin/nologin ftpsztxkj

 

 

4.设置用户口令

passwd ftpsztxkj

 

 

5、编辑文件chroot_list:

vi /etc/vsftpd/chroot_list

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

 

6、重新启动vsftpd

service vsftpd restart

用linux服务器连接ftp:

 

用win系统的dos cmd命令打开链接:

 

出现的错误

1、500 OOPS: cannot change directory

 

解决方法:

在终端输入命令:

setsebool -P ftpd_disable_trans 1

 

输入这个命令报错:Boolean ftpd_disable_trans is not defined

使用下面的命令解决。

sestatus –b | grep ftp   #查看ftp的各个组件状态

sestatus –P ftp_home-dir 1 #将这个打开,1代表on

 

service vsftpd restart

就OK了!

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

 

posted @ 2019-05-30 17:29  疯刘小三  阅读(142)  评论(0编辑  收藏  举报