linux环境中vsftp的常用配置

vsftpd

Linux上vsftpd的配置

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

新建用户

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

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

安装配置vsftpd

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

改配置文件已经做好了大多数的配置,如下:
vsftpd
接下来编辑改配置文件,vim vsftpd.conf,在最下方加入我们一开始配置用户设置的主文件夹:

1
local_root=/home/ftp_user

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

启动

1
service vsftpd start

如果启动过程中报错,重新编辑vsftp.conf,注释掉 改行(这是vsftpd2.3以后的新配置):
vsftpd
重新启动,成功。
接下来使用ftp工具连接即可

问题解决:

  1. 关闭防火墙或者开启如下端口 20, 21(ftp), 61001-62000范围端口。
  2. 1
    wget 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
    再次访问,成功。
    关注我!
    qrcode

×

谢谢你支持我分享知识

扫码支持
扫码打赏,心意已收

打开微信扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. Linux上vsftpd的配置
    1. 1.1. 新建用户
    2. 1.2. 安装配置vsftpd
    3. 1.3. 启动
    4. 1.4. 问题解决:
欢迎扫描左方二维码跟作者交流.