linux环境中vsftp的常用配置

 

linux环境中vsftp的常用配置

Linux上vsftpd的配置

最近正好项目遇上需要配置ftp的情况,感觉对于ftp的配置都差不多,所以特意写下本篇博客,话不多说,直接动手。
配置最终目的如下: 1.取消匿名登陆,必须账号密码登陆 2.只有配置文件中的用户允许登陆 3.所有用户登陆后访问相同的ftp环境 4.所有用户不能够切换到上级目录

新建用户

新建一个不能ssh登陆的用户,作为我们的ftp的访问用户(不用root)

1useradd ftp_user -d /home/ftp_user -s /sbin/nologin ftp_user  --新建用户 ftp_user并且主目录为/home/ftp_user
2chmod -R 755 /home/ftp_user  --修改该目录访问权限
3passwd ftp_user  --设置该账号密码

安装配置vsftpd

1yum -y install vsftpd  --安装
2cd /etc/vsftpd  --切换到vsftp目录下
3mv vsftpd.conf vsftpd.conf.bak  --备份原来的配置文件
4wget http://resource.jsbintask.cn/vsftpd/vsftpd.conf  --获取配置文件

改配置文件已经做好了大多数的配置,如下:

linux环境中vsftp的常用配置

vsftpd


接下来编辑改配置文件,vim vsftpd.conf,在最下方加入我们一开始配置用户设置的主文件夹:

 

1local_root=/home/ftp_user

接下来编辑ftpusers,删除所有配置,空文件就行(该文件是哪些用户不能访问)
编辑user_list(该文件控制哪些用户可以登录ftp),加入我们刚刚添加的用户ftp_user,删掉其他所有行数,例如:

linux环境中vsftp的常用配置

vsftpd


只有用户jason和root可以登录。

 

启动

1service vsftpd start

如果启动过程中报错,重新编辑vsftp.conf,注释掉 改行(这是vsftpd2.3以后的新配置):

linux环境中vsftp的常用配置

vsftpd


重新启动,成功。
接下来使用ftp工具连接即可

 

问题解决:

  1. 关闭防火墙或者开启如下端口 20, 21(ftp), 61001-62000范围端口。
  2. 2.
1wget http://resource.jsbintask.cn/vsftpd/config.sh

运行 config.sh,如果运行失败,请修改脚本中的 setsebool -P tftp_home_dir 1 为 setsebool -P ftp_home_dir 1

  1. 编辑安全配置文件 vim /etc/sysconfig/selinux,SELINUX=enforcing 改为 SELINUX=disabled
    再次访问,成功。
    更多文章请关注公众号(jsbintask)

 

本文原创地址,我的博客:https://jsbintask.cn/2019/01/11/linux/linux-vsftpd-config/,未经允许,禁止转载!