Bỏ qua điều hướng
← Về danh sách bài viết
Hướng dẫn kỹ thuật

Hướng dẫn cài đặt VSFTPD trên Centos 7

vsFTPd được sử dụng rộng rãi trên Linux Server và là một FTP Server Stand Alone được phân phối bởi Red Hat Enterprise Linux.

Screenshot_4-1-1.png

Tóm Tắt Bài Viết

I. Giới thiệu

VSFTPD(Very Secure File Transport Protocol Daemon) là một FTP Server Stand Alone được phân phối bởi Red Hat Enterprise Linux . Đây là phần mềm để tạo FTP Server với tốc độ nhanh, cấu hình đơn giản.

Ngoài ra, nếu không sử dụng VSFTPD thì bạn có thể dùng ProFTPD hoặc Pure-FTPD đều được.

Trong bài viết này, mình sẽ cài đặt FTP server lên máy CentOS-7. Việc cài đặt được thực hiện với quyền root.

Chuẩn bị:

  • Một máy cài CentOS-7
  • IP address của FTP Server: 192.168.37.25/24

II. Cài đặt FTP Server

1. Cài đặt VSFTPD:

Cài đặt gói Vsftpd:

text
# yum install vsftpd

Sau khi quá trình cài đặt hoàn tất, ta khởi động dịch vụ và cho phép nó khởi động cùng hệ thống.

text
# systemctl start vsftpd
# systemctl enable vsftpd

Cấu hình tường lửa cho dịch vụ FTP và port 21:

text
# firewall-cmd --permanent --add-port=21/tcp
success

# firewall-cmd --permanent --add-service=ftp
success

# firewall-cmd --reload
success

Kiểm tra trạng thái dịch vụ vsftpd:

Screenshot_1-3.png

2. Cấu hình VSFTPD

File cấu hình vsftpd nằm tại : /etc/vsftpd/vsftpd.conf Copy file cấu hình để backup.

text
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup

Chỉnh sửa file cấu hình vsftpd.conf:

text
# vi /etc/vsftpd/vsftpd.conf
  • FTP Access: Ta không cho kết nối nặc danh, mà chỉ cho kết nối cục bộ vào FTP server
text
anonymous_enable=NO    // Không cho kết nối nặc danh 
local_enable=YES        // Cho phép kết nối cục bộ
  • Enabling uploads: Cho phép người dùng upload.
text
write_enable=YES        //Cho phép người dùng nội bộ tải lên
  • Chroot: kỹ thuật giữ người dùng trong thư mục của họ, không cho phép. Tại đây ta sẽ chroot tất cả user, ngoại trừ các user trong file /etc/vsftpd/chroot_list
text
chroot_local_user=YES
allow_writeable_chroot=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
  • Login banner FTP server: banner khi người dùng login vào FTP server.
text
ftpd_banner="Welcome FTP Server"
  • Giới hạn cổng kết nối cho FTP thụ động: Giới hạn khoảng các cổng sử dụng cho FTP passive
text
pasv_min_port=30000
pasv_max_port=31000
  • Giới hạn User được phép truy cập vào hệ thống: Nếu muốn giới hạn các User local được đăng nhập vào hệ thống FTP server. Ta thêm vào các dòng sau. Khi đó, những User có trong file /etc/vsftpd/user_list mới được truy cập vào hệ thống.
text
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
  • Home directory: ta có thể chỉ định thư mục home khi người dùng đăng nhập vào hệ thống
text
local_root=<đường_dẫn_thư_mục>
  • Thời gian hệ thống: ta sử dụng thời gian local:
text
use_local_time-YES

3. Khởi động lại dịch vụ và cho phép các cổng FTP passive đi qua tường lửa

text
# systemctl restart vsftpd

# firewall-cmd --permanent --add-port=30000-31000/tcp
success

# firewall-cmd --reload
success

III. Truy cập FTP Server

Để truy cập FTP server, ta cần 1 tài khoản local và được cấp quyền truy cập vào FTP server.

1. Tạo user local

Tạo 1 local user là: user1 với mật khẩu là bkns2022

text
# adduser user1
# passwd bkns2022

Sau khi thêm xong thì thư mục mặc định của tài khoản này sẽ ở thư mục /home/bkns/

2. Cấp quyền truy cập đến FTP server

Ta thêm user user1 vào file /etc/vsftpd/user_list để có thể truy cập vào server.

Screenshot_2-1-1.png

Thêm vào file /etc/vsftpd/chroot_list (Nếu bạn sử dụng trong file cấu hình)

Screenshot_3-7.png

Sau đó restart lại dịch vụ vsftpd

text
# systemctl restart vsftpd

3. Truy cập FTP server

Có nhiều cách để có thể truy cập FTP server như :

  • lftp trên CentOS-7
  • cmd trên Window
  • FileZilla trên Window

Ở đây, ta sử dụng FileZilla để truy cập tới FTP server. Ta nhập địa chỉ IP của Server, username, password

Screenshot_4-1-1.png

Sau khi nhập đúng địa chỉ của FTP server và tài khoản đăng nhập, ta sẽ thấy giao diện như trên với các thư mục trên FTP server.