简介:
在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传输文件则成功