Nếu bạn đang thiết lập server Linux, bạn sẽ cần truy cập FTP. Điều này có nghĩa là trước tiên cài FTP server trên Linux. Nó nên là một trong những việc đầu tiên sau khi cài OS server.
Nhiều server Linux chạy Ubuntu. Vậy hãy xem cách setup FTP server trên Ubuntu server.
FTP Server là gì?
FTP, hoặc File Transfer Protocol, là hệ thống dùng để upload (put) lên hoặc download (get) file từ server. Bạn có thể đã dùng nó không hay biết, khi tải file hoặc upload ảnh lên web. Hoặc bạn có thể dùng FTP client để kết nối trực tiếp đến FTP file server.
Để điều đó xảy ra, phần mềm FTP server phải được cài trên server từ xa chứa file.
Dù bạn xây dựng home server Linux, web server, game server, hoặc server nào phù hợp dự án, FTP là cách đơn giản nhất chuyển dữ liệu từ hệ thống này sang hệ thống khác.
Cài Server trên Ubuntu
Cài đặt FTP server trên Ubuntu đơn giản. Có lẽ giải pháp tốt nhất là vsftpd. Làm theo các bước dưới để cài và cấu hình FTP server trên Ubuntu với vsftpd.
1. Cài vsftpd
Bạn có thể đã cài vsftpd. Để kiểm tra, mở terminal và nhập
sudo apt list --installed
Bạn nên tìm thấy vsftpd gần cuối danh sách. Nếu không, cài đặt với
sudo apt install vsftpd
Sau khi cài, đến lúc cấu hình vsftpd. Bắt đầu bằng sao chép file config gốc. Điều này nghĩa là nếu có sự cố, config mặc định có thể khôi phục.
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf_default
Với việc đó, khởi động service với:
sudo systemctl start vsftpd
Xác nhận server đang chạy với:
sudo systemctl enable vsftpd
Với vsftpd đã cài, bạn có thể bắt đầu cấu hình.
2. Tạo user FTP
Điều đầu tiên bạn cần là tài khoản user FTP. Với tài khoản này bạn có thể dùng bất kỳ FTP client nào truy cập file trên server qua vsftpd. Trong terminal, nhập:
sudo useradd –m username
(Thay "username" bằng username dự định.)
sudo password username
Với username và password đã đặt, tạo file test trong thư mục home của tài khoản để xác nhận hoạt động:
cd /home/username
sudo nano testfile.txt
Khi bạn lần đầu kết nối đến Ubuntu FTP server, bạn nên thấy testfile.txt.
3. Bảo mật Ubuntu FTP Server
Trước khi thiết lập kết nối, bạn cần đảm bảo port FTP mở trong Ubuntu. Mặc định, chúng bị đóng vì lý do bảo mật trong ufw (Uncomplicated Firewall).
Để cho phép truy cập qua port 20, dùng
sudo ufw allow 20/tcp
Nếu distro dùng firewall khác hoặc bạn cài bản thay thế, kiểm tra tài liệu để mở port.
Bạn cũng muốn user có thể upload file. Bạn có thể thiết lập trong file config. Mở để chỉnh sửa:
sudo nano /etc/vsftpd.conf
Tìm write_enabled và uncomment entry, đảm bảo nó là "YES":
write_enable=YES
Nhấn Ctrl+X để thoát, và Y để lưu.
Đối với FTP server công khai, bạn muốn giới hạn truy cập mỗi user. Với chroot, ta hạn chế mỗi user trong thư mục home. Trong vsftpd.conf, tìm và uncomment dòng này (bỏ #):
chroot_local_user=YES
Lại Ctrl+X thoát, Y lưu.
Đối với nhiều user, duy trì danh sách là lựa chọn thông minh hơn.
Trước tiên, mở vsftpd.chroot_list trong trình soạn thảo.
sudo nano /etc/ vsftpd.chroot_list
Ở đây, liệt kê username bạn muốn giới hạn trong folder của họ. Lưu và thoát, quay lại vsftpd.conf và đảm bảo chroot_local_user=YES được uncomment:
#chroot_local_user=YES
Thay vào đó, uncomment
chroot_list_enable=YES
và
chroot_list_file=/etc/vsftpd.chroot_list
Nó trông như thế này:
Lại lưu và thoát. Cuối cùng, restart dịch vụ FTP:
sudo systemctl restart vsftpd.service
Cuối cùng, dùng lệnh hostname kiểm tra tên server Ubuntu. Bạn dùng tên này kết nối FTP server. Nếu thích dùng IP, nhập lệnh ip address và ghi nhớ.
4. Kết nối mã hóa: FTP+SSL=FTPS
Bạn cũng có thể bắt buộc mã hóa traffic đến và từ Ubuntu FTP server dùng SSL/TLS.
Trong file vsftpd.conf, tìm tham chiếu "SSL encrypted connections" và thêm:
ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
Lưu và thoát file. Bây giờ bạn có thể chỉ định FTPS làm giao thức kết nối trong FTP client.
5. Cài FTP Client trên Ubuntu
Từ hệ thống khác, bạn kết nối đến Ubuntu FTP server dùng công cụ command line hoặc desktop app.
Trên Linux, truy cập server trong terminal với
sudo ftp hostname
Đảm bảo thay "hostname" bằng hostname server. Bạn cũng dùng IP address
sudo ftp ipaddress
Khi được nhắc, nhập username và password đặt trước. Bạn dùng lệnh get và put chuyển dữ liệu.
Muốn thứ trực quan hơn, hoặc truy cập FTP server từ OS khác? Bạn cần FTP client và có lẽ tốt nhất là FileZilla. Giải pháp mã nguồn mở, có cho Windows (cũng có server), macOS, và phiên bản 32-bit và 64-bit cho Linux. Thật tiếc không có FileZilla FTP server cho Ubuntu hoặc distro Linux khác.
Tải xuống: FileZilla (Miễn phí)
Để dùng FileZilla client kết nối Ubuntu FTP server, cài và chạy app. Sau đó:
- Nhấn File > Site Manager
- Ở đây, nhấn New site
- Trong pane bên phải, chọn FTP
- Nếu dùng FTPS chọn TLS cho Encryption.
- Tiếp, nhập hostname hoặc IP trong Host và thêm Port.
- Cho Logon type nhập tài khoản trong User và Password.
- Nhấn Connect.
Bạn tự do upload và download (put và get) dữ liệu từ Ubuntu FTP server. Chỉ cần kéo thả file muốn di chuyển.
Dùng FTP client khác? Các bước nên tương tự, kiểm tra tài liệu app để rõ hơn.
Bạn đã xây dựng FTP Server trên Ubuntu
Dù bạn dùng phiên bản desktop hay server của Ubuntu, nó giờ chạy FTP server. Điều này dùng cho nhiều mục đích, từ upload trang web đến cung cấp truy cập dễ dàng dữ liệu quan trọng. Dùng FTP bạn lấy dữ liệu khi cần mà không cần truy cập vật lý server.