# FTP服务
1. 首先服务器需要安装ftp软件,查看是否已经安装ftp软件,如果看到有vsftpd的目录说明服务器已经安装了ftp软件。
```bash
which vsftpd
/usr/sbin/vsftpd
#没有则进行安装
#CentOS安装
yum -y install vsftpd
#Ubuntu安装
sudo apt install vsftpd
```
2. vsftpd配置
`/etc/vsftpd/vsftpd.conf` 是核心配置文件。
`/etc/vsftpd/ftpusers` 是黑名单文件,此文件里的用户不允许访问 FTP 服务器。
`/etc/vsftpd/user_list` 是白名单文件,是允许访问 FTP 服务器的用户列表。
`/etc/vsftpd/vsftpd_conf_migrate.sh` 是vsftpd操作的一些变量和设置。
```bash
#####配置文件/etc/vsftpd.conf
sudo vim /etc/vsftpd.conf
######################################配置文件说明###################
# 禁止匿名用户登录
anonymous_enable=NO
# 允许系统用户登录
local_enable=YES
# 启用可以修改文件的 FTP 命令
write_enable=YES
# 本地用户创建文件的 umask 值
local_umask=022
# 允许为目录配置显示信息,显示每个目录下面的message_file文件的内容
dirmessage_enable=YES
# 开启日记功能
xferlog_enable=YES
# 使用标准的20端口来连接ftp
connect_from_port_20=YES
# 使用标准日志格式
xferlog_std_format=YES
# 如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录
chroot_list_enable=YES
# 指定限制的用户文件
chroot_list_file=/etc/vsftpd/chroot_list
# ftp服务器将处于独立启动模式
listen=YES
# 设置一个本地用户登录后进入到的目录
local_root=/home/ftp
# 设置PAM认证服务的配置文件名称,该文件保存在“/etc/pam.d/”目录下
pam_service_name=vsftpd
# ftp将检查userlist_file设置文件中指定的用户是否可以访问vsftpd服务器
userlist_enable=YES
# 只允许user_list文件中记录的ftp用户能登录vsftp服务,其他的ftp用户都不可以登录。
userlist_deny=NO
# 定义限制/允许用户登录的文件
userlist_file=/etc/vsftpd/allowed_users
# ftp服务器将使用tcp_wrappers作为主机访问控制模式
tcp_wrappers=YES
# 连接ftp服务费使用的端口
listen_port=21
```
查看服务器状态
```bash
systemctl status vsftpd
#或者service vsftpd status
```
3. 启动ftp服务器,一般安装后会自动启动
```bash
systemctl start vsftpd
```