Các bước cài đặt được đưa ra ở đây cũng có thể được sử dụng trên Ubuntu 20.04, bao gồm Debian 11, Linux Mint và các bản phân phối Linux tương tự khác.
1. Cập nhật Ubuntu 22.04
sudo apt update && sudo apt upgrade
2. Cài đặt VSFTPD lên Ubuntu 22.04
sudo apt install vsftpd
3. Kiểm tra VSFTPD đã active
systemctl status vsftpd --no-pager -l
4. Tạo người dùng cho FTP
Tạo người dùng không có quyền truy cập sudo và chúng ta chỉ sử dụng nó để truy cập vào một thư mục cụ thể trong thư mục chính của nó để FTP đọc và ghi tệp.
sudo adduser ftpuser
5. Tạo thư mục FTP
Bây giờ, hãy tạo một thư mục trong thư mục chính của người dùng mới tạo để người dùng chỉ có thể truy cập vào thư mục đó để tải lên và tải xuống các tệp.
sudo mkdir /home/ftpuser/ftp
- Cấu hình quyền sở hữu
sudo chown nobody:nogroup /home/ftpuser/ftp
- Xóa quyền có thể ghi của thư mục FTP gốc
sudo chmod a-w /home/ftpuser/ftp
- Tạo một thư mục để tải lên các tệp sẽ chứa các tệp của bạn
sudo mkdir /home/ftpuser/ftp/upload
- Cấp quyền sở hữu thư mục tải lên đã tạo cho người dùng FTP
sudo chown ftpuser:ftpuser /home/ftpuser/ftp/upload
- Bây giờ để kiểm tra, hãy tạo tệp demo bên trong thư mục tải lên
echo "My FTP Server" | sudo tee /home/ftpuser/ftp/upload/demo.txt
Cuối cùng, kiểm tra quyền cho thư mục FTP
6. Cấu hình VSFTPD
Sau khi cài đặt xong, bước tiếp theo là cấu hình vsftpd cho Ubuntu 22.04. Truy cập file “/etc/vsftpd.conf
sudo nano /etc/vsftpd.conf
7. Cách kích hoạt người dùng ẩn danh (tùy chọn)
anonymous_enable=YES
8. Kích hoạt người dùng FTP local
local_enable=YES
9. Cho phép tải file và thư mục lên FTP Server
write_enable=YES
10. Hạn chế người dùng local (đã tạo ở bước trên) truy cập đến thư mục home của họ
chroot_local_user=YES
Cuộn đến cuối file và thêm các dòng sau, điều này sẽ đảm bảo rằng khi người dùng đăng nhập vào máy chủ FTP, nó sẽ định tuyến đến thư mục được truy cập.
user_sub_token=$USER local_root=/home/$USER/ftp
- Thêm port passive vào cuối file
pasv_min_port=30000 pasv_max_port=31000
- Thêm cấu hình VSFTPD chỉ cho phép người dùng truy cập vào máy chủ FTP nằm trong danh sách của nó chứ không phải bất kỳ ai ngẫu nhiên.
userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO
Lưu file, nhấn Ctrl+O, sau đó Enter, cuối cùng bấm Ctrl+X
11. Cấu hình firewall cho phép port FTP
sudo ufw allow 20,21,990/tcp sudo ufw allow 30000:31000/tcp
12. Thêm người dùng vào danh sách không bị chặn
echo "ftpuser" | sudo tee -a /etc/vsftpd.userlist
13. Khởi động lại dịch vụ VSFTP
sudo systemctl restart vsftpd
14. Test kiểm tra kết nối FTP Server
- Kiểm tra trên server FTP
=> Như vậy, chúng ta đã cấu hình xong FTP Server. Chúc các bạn thành công!