欢迎光临
一个废柴的博客

CENTOS搭建FTP服务器(vsftpd安装及配置)

环境

  • CentOS Linux release 7.5.1804 (Core);
  • vsftpd: version 3.0.2;

安装 vsftpd

[email protected] ~]# yum install -y vsftpd 

启动 vsftpd

[[email protected] ~]# systemctl start vsftpd

启动后,可以看到系统已经监听了 21 端口:

[[email protected] ~]# netstat -nltp | grep 21
tcp6       0      0 :::21                   :::*                    LISTEN      20336/vsftpd        

此时,访问 ftp://your_ip_address 可浏览机器上的/var/ftp目录了。

相关配置

vsftpd 的配置目录为/etc/vsftpd,包含下列的配置文件:

[[email protected] ~]# ll /etc/vsftpd
total 20
-rw-------. 1 root root  125 Aug  3  2017 ftpusers
-rw-------. 1 root root  361 Aug  3  2017 user_list
-rw-------. 1 root root 5030 Aug  3  2017 vsftpd.conf
-rwxr--r--. 1 root root  338 Aug  3  2017 vsftpd_conf_migrate.sh

其中:

  • /etc/vsftpd/vsftpd.conf为vsftpd的核心配置文件;
  • /etc/vsftpd/ftpusers用于指定哪些用户不能访问FTP服务器,黑名单;
  • /etc/vsftpd/user_list指定允许使用vsftpd的用户列表文件,白名单;

1.禁止匿名访问和切换根目录

为了安全,应当禁止匿名访问和切换根目录,修改配置文件/etc/vsftpd/vsftpd.conf:

修改1:YES 改为NO,禁止匿名访问
anonymous_enable=NO

修改2:取消注释,禁止切换目录
chroot_local_user=YES 

编辑完成后保存配置,重新启动FTP服务。

[[email protected] ~]# systemctl restart vsftpd

创建用户

1.创建FTP用户

这里用户名为ftpusr:

useradd ftpusr

设置用户密码

passwd ftpusr

设置用户只能ftp不能登入服务器

usermod -s /sbin/nologin ftpusr

为FTP用户分配主目录

用户的默认的主目录在/home下,当前用户就只能访问主目录,修改用户的主目录,并约定:

  • /data/ftp为主目录, 该目录不可上传文件;
  • /data/ftp/pub文件只能上传到该目录下;

1·创建目录

mkdir -p /data/ftp/pub

2.创建登录欢迎文件

echo "Welcome to use FTP service." > /data/ftp/welcome.txt

3.设置访问权限

chmod a-w /data/ftp && chmod 777 -R /data/ftp/pub

4.设置为用户的主目录

usermod -d /data/ftp ftpusr

重新访问FTP

现在再次访问FTP地址:ftp://your_ip_address就必须通过FTP用户及密码才能访问了。

相关问题

  1. 在用户主目录上传文件?
  2. 500 OOPS: vsftpd: refusing to run with writable root inside chroot()错误解决?

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址