在Ubuntu 18.04系统中安装和配置vsftpd(Very Secure FTP Daemon)是一项常见的任务,尤其对于需要提供安全、稳定FTP服务的服务器管理员来说。VSFTPD是一款广泛使用的开源FTP服务器软件,以其安全性著称。以下是安装和配置vsftpd的详细步骤:
1. **安装vsftpd**:
使用`apt-get`包管理器进行安装,确保系统是最新的。
```bash
$ sudo apt update
$ sudo apt install vsftpd -y
```
2. **启动与设置开机启动**:
安装完成后,启动vsftpd服务,并设置为开机启动。
```bash
$ sudo systemctl start vsftpd
$ sudo systemctl enable vsftpd
```
3. **创建用户和FTP目录**:
创建一个新的用户,例如`testuser1`,然后设置FTP的目录结构。
```bash
$ sudo adduser testuser1
$ sudo mkdir /home/testuser1/ftp
$ sudo chown nobody:nogroup /home/testuser1/ftp
$ sudo chmod a-w /home/testuser1/ftp
$ sudo mkdir /home/testuser1/ftp/test
$ sudo chown testuser1:testuser1 /home/testuser1/ftp/test
```
4. **配置vsftpd**:
备份默认配置文件,然后编辑`/etc/vsftpd.conf`。
```bash
$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
$ sudo vi /etc/vsftpd.conf
```
添加以下行以启用必要的功能:
```
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
pasv_enable=YES
pasv_min_port=10000
pasv_max_port=11000
user_sub_token=$USER
local_root=/home/$USER/ftp
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
```
5. **更新用户列表**:
在`/etc/vsftpd.userlist`中添加`testuser1`,并保存文件。
6. **重启服务**:
应用配置更改后,重启vsftpd服务。
```bash
$ sudo systemctl restart vsftpd
```
7. **启用SSL/TLS**:
创建SSL/TLS证书,以增强FTP连接的安全性。
```bash
$ sudo mkdir /etc/certs
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/certs/vsftpd.pem -out /etc/certs/vsftpd.pem
```
编辑`/etc/vsftpd.conf`,添加SSL/TLS配置:
```
rsa_cert_file=/etc/certs/vsftpd.pem
rsa_private_key_file=/etc/certs/vsftpd.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
```
保存并重启服务:
```bash
$ sudo systemctl restart vsftpd
```
8. **配置防火墙**:
允许FTP和SFTP所需的端口通过防火墙。
```bash
$ sudo ufw allow OpenSSH
$ sudo ufw allow 20/tcp
$ sudo ufw allow 21/tcp
$ sudo ufw allow 40000:50000/tcp
$ sudo ufw allow 990/tcp
$ sudo ufw enable
$ sudo ufw status
```
完成上述步骤后,你应该已经在Ubuntu 18.04上成功安装并配置了vsftpd,提供了一个安全的FTP服务,支持SSL/TLS加密。用户`testuser1`可以使用SFTP协议通过指定的端口连接到FTP服务器。记得根据实际需求调整防火墙规则和vsftpd配置,以满足你的具体安全策略。