Trong bài viết này, chúng ta sẽ cài đặt dịch vụ FTP trên CentOS 7, thiết lập thư mục gốc cho người dùng cụ thể và cho phép người dùng ẩn danh tải lên và tải xuống.
Cấu hình thư mục gốc cho tài khoản root
Trước khi cài đặt dịch vụ vsftpd, hãy tắt các tính năng bảo mật để tránh lỗi trong môi trường thử nghiệm:
setenforce 0 # Tắt SELinux
systemctl stop firewalld.service # Tắt tường lửa
yum install vsftpd -y # Cài đặt vsftpd
Sau khi cài đặt, tài khoản root thường bị vô hiệu hóa. Để kích hoạt lại, chỉnh sửa hai file /etc/vsftpd/ftpusers và /etc/vsftpd/user_list, bỏ qua dòng chứa "root".
Chỉnh sửa file cấu hình /etc/vsftpd/vsftpd.conf bằng cách thêm dòng sau:
local_root=/ # Chỉ định thư mục gốc cho tài khoản root
systemctl restart vsftpd # Khởi động lại dịch vụ
Cấu hình thư mục gốc cho tài khoản không phải root
Xóa hoặc comment dòng vừa thêm vào trước đó trong file /etc/vsftpd/vsftpd.conf. Sử dụng user_sub_token và local_root để chỉ định thư mục cho từng người dùng.
useradd -d /var/ftp/nguoi_dung1 nguoi_dung1 # Tạo người dùng 'nguoi_dung1' với thư mục /var/ftp/nguoi_dung1
useradd -d /var/ftp/nguoi_dung2 nguoi_dung2 # Tạo người dùng 'nguoi_dung2' với thư mục /var/ftp/nguoi_dung2
passwd nguoi_dung1 # Đặt mật khẩu cho người dùng 1
passwd nguoi_dung2 # Đặt mật khẩu cho người dùng 2
Thêm các dòng sau vào file /etc/vsftpd/vsftpd.conf:
user_sub_token=$USER
local_root=/var/ftp/$USER # $USER là tên của người dùng
chmod_enable=YES
allow_writeable_chroot=YES
touch /var/ftp/nguoi_dung1/tap_tin.txt # Tạo tệp tin cho người dùng 1
touch /var/ftp/nguoi_dung2/tap_tin.txt # Tạo tệp tin cho người dùng 2
systemctl restart vsftpd # Khởi động lại dịch vụ
Cho phép người dùng ẩn danh tải lên và tải xuống
Để cho phép người dùng ẩn danh truy cập, chỉnh sửa file /etc/vsftpd/vsftpd.conf và đảm bảo các tùy chọn sau được thiết lập:
anonymous_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
Chỉ định thư mục gốc cho người dùng ẩn danh:
anon_root=/var/ftp/du_lieu_cho_an_danh # Thay thế đường dẫn theo mong muốn
Bạn cần cấp quyền cho thư mục chia sẻ, ví dụ:
chmod 755 /var/ftp/pub
systemctl restart vsftpd # Khởi động lại dịch vụ