FTP服务搭建(Centos)

简介:

在Cetnos系统上安装FTP服务

安装环境及版本:

系统环境:CentOS Linux release 7.5.1804 (Core)
FTP版本:yum安装默认版本

一、安装

1.1 安装:yum -y install vsftpd

[root@localhost ~]# yum -y install vsftpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
......
Running transaction
  Installing : vsftpd-3.0.2-27.el7.x86_64                                                                                                                                                                                                 1/1 
  Verifying  : vsftpd-3.0.2-27.el7.x86_64                                                                                                                                                                                                 1/1 

Installed:
  vsftpd.x86_64 0:3.0.2-27.el7                                                                                                                                                                                                                

Complete!

1.2 启停、自启动

启动:systemctl start vsftpd
停止:systemctl stop vsftpd
重启:systemctl restart vsftpd
自启动:systemctl enable vsftpd
状态:systemctl status vsftpd

[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl stop vsftpd
[root@localhost ~]# systemctl restart vsftpd
[root@localhost ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@localhost ~]# systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2020-07-01 22:20:49 EDT; 11s ago
 Main PID: 5959 (vsftpd)
   CGroup: /system.slice/vsftpd.service
           └─5959 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

Jul 01 22:20:49 localhost.localdomain systemd[1]: Starting Vsftpd ftp daemon...
Jul 01 22:20:49 localhost.localdomain systemd[1]: Started Vsftpd ftp daemon.

通过浏览器输入:ftp://192.168.0.150/就可以访问/var/ftp/pub目录

二、服务配置

2.1 禁止匿名登录

vi /etc/vsftpd/vsftpd.conf 将anonymous_enable设置为NO

# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO

2.2 禁止切换根目录

vi /etc/vsftpd/vsftpd.conf 启用chroot_local_user=YES

# the user does not have write access to the top level directory within the
# chroot)
chroot_local_user=YES

2.3 其他(选配)

2.3.1 访问根目录

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
这时在chroot_list中的用户可以访问根目录,否则只能访问自己目录

2.3.2 禁止用户进行访问

userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd/user_list
这时在user_list中的用户将不能访问ftp服务,USER_LIST文件中每行添加一个用户

2.3.3 配置用户下载带宽,

修改配置文件:local_max_rate=1000000   //byes

2.3.4 限制最大同时登陆人数以及同一IP的FTP连接数

max_clients=10
max_per_ip=1 //0表示没有限制

重启:systemctl restart vsftpd

三、用户配置

添加用户:useradd ftpuser
给用户设置密码:passwd ftpuser

[root@localhost ~]# useradd ftpuser
[root@localhost ~]# passwd ftpuser
Changing password for user ftpuser.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@localhost ~]# 

限制用户只能通过ftp登录,不能直接登录服务器
usermod -s /sbin/nologin ftpuser

创建目录:mkdir -p /data/ftp/pub
设置欢迎信息:echo “Welcome to.” > /data/ftp/welcome.txt
设置/data/ftp目录为只读:chmod a-w /data/ftp
设置/data/ftp/pub目录为可读写:chmod 777 -R /data/ftp/pub
将/data/ftp目录设定为ftpuser根目录:usermod -d /data/ftp ftpuser

[root@localhost ~]# mkdir -p /data/ftp/pub
[root@localhost ~]# echo "Welcome to." > /data/ftp/welcome.txt
[root@localhost ~]# chmod a-w /data/ftp
[root@localhost ~]# ll /data/
total 0
dr-xr-xr-x 3 root root 36 Jul  1 22:34 ftp
[root@localhost ~]# chomd 777 -R /data/ftp/pub
-bash: chomd: command not found
[root@localhost ~]# chmod 777 -R /data/ftp/pub
[root@localhost ~]# ll /data/ftp/
total 4
drwxrwxrwx 2 root root  6 Jul  1 22:34 pub
-rw-r--r-- 1 root root 12 Jul  1 22:34 welcome.txt
[root@localhost ~]# usermod -d /data/ftp ftpuser

四、试验

使用FTP工具连接FTP服务器,用户名为ftpuser,登录成功后,直接进入ftpsuer的根目录/data/ftp目录

之前设置/data/ftp目录为只读,这时向该目录传输文件时会失败,提示:
响应: 553 Could not create file.
错误: 严重文件传输错误

之前设置/data/ftp/pub目录为可读写,向/data/ftp/pub传输文件则成功

发表回复