Sau đây là bài hướng dẫn từng bước “Cài đặt vsFTPd trên Ubuntu cho Virtual Users truy cập”
Cần phân biệt Local user là user được tạo ra trong hệ điều hành Linux. Còn Virtual user là user tạo ra, được quản lý trong một ứng dụng hoặc dịch vụ cụ thể. Trong môi trường Shared Hosting hoặc VPS thì nên dùng Virtual user để đảm bảo user đó không thao tác trực tiếp vào hệ điều hành, giảm thiểu rủi ro.
Bước 1: Cài vsFTPd
sudo apt-get install vsftpd
Bước 2: Cài thư viện PAM để authenticate virtual user.
sudo apt-get install libpam-pwdfile
Bước 3: Sửa file /etc/vsftpd.conf
sudo nano /etc/vsftpd.conf
listen=YES anonymous_enable=NO local_enable=YES write_enable=YES virtual_use_local_privs=YES nopriv_user=vsftpd local_umask=022 connect_from_port_20=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd guest_enable=YES guest_username=vsftpd user_sub_token=$USER local_root=/var/www/$USER
Bước 4: Sửa file /etc/pam.d/vsftpd
sudo nano /etc/pam.d/vsftpd
Tham khảo nội dung sửa
auth required pam_pwdfile.so pwdfile /etc/vsftpd/passwd account required pam_permit.so
Bước 5: Tạo user ảo và ghi vào file /etc/vsftpd/passwd
Để tạo user ảo và mã hoá mật khẩu, cần dùng lệnh htpass.
sudo apt-get install apache2-utils
Tạo user và mã hoá
htpasswd -c -d /etc/vsftpd/passwd cuong htpasswd -d /etc/vsftpd/passwd minh
Bước 6: Tạo thư mục ứng với từng user
mkdir /var/www/cuong chmod +w /var/www/cuong mkdir /var/www/minh chmod +w /var/www/minh
Bước 7: Kiểm tra.
Cách 1: dùng FileZilla hoặc vào terminal gõ lệnh ftp xxx.xxx.xxx.xxx //xxx.xxx.xxx.xxx là địa chỉ IP của FTP server
———————– Bổ xung đối với trường hợp cập nhật Ubuntu gần đây————
# Cài đặt db4-utils $ sudo apt-get install db4.2-util $ cd /etc/vsftpd # Tạo file text chứa danh sách các virtual user và mật khẩu $ nano virtual-users.txt
* Thêm dòng sau:
jack #username cho virtual user
123456 #password cho jack
david
123456
* Lưu lại file (Ctrl + X, gõ Y)
– Thực hiện đoạn lệnh sau để tạo file .db chứa các tài khoản virtual
$ sudo db_load -T -t hash -f virtual-users.txt /etc/vsftpd/virtual-users.db
– Cấu hình PAM
$ sudo nano /etc/pam.d/vsftpd
* Thêm dòng sau:
auth required pam_userdb.so db=/etc/vsftpd/virtual-users #db=đường dẫn đến file db account required pam_userdb.so db=/etc/vsftpd/virtual-users #db=đường dẫn đến file db
* Lưu lại file (Ctrl + X, gõ Y)
– Cấu hình file /etc/vsftpd.conf
$ sudo nano /etc/vsftpd.conf listen=YES anonymous_enable=NO local_enable=YES write_enable=YES virtual_use_local_privs=YES nopriv_user=vsftpd local_umask=022 connect_from_port_20=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd guest_enable=YES guest_username=vsftpd user_sub_token=$USER local_root=/var/www/$USER # Tạo thư mục với từng user $ mkdir /var/www/jack $ chown -R vsftpd:ftp /var/www/jack $ mkdir /var/www/david $ chown –R vsftpd:ftp /var/www/david - Khởi động lại vsftpd $ sudo service vsftpd restart
Bình luận