Trong bài viết này, chúng ta sẽ thực hiện phân quyền User để sử dụng FTP server.
Mô hình Lab
Ta sẽ có 3 User để thực hiện phân quyền:
Trong đó:
- huy1 và huy2 chỉ được sử dụng thư mục của chính nó(huy1: /huy1 và huy2: /huy2) và thư mục dùng chung(/huy12)
- huy3 có thể truy cập tất cả các thư mục nhưng chỉ có quyền đọc, kể cả với chính thư mục của nó(/huy3)
Cài đặt và cấu hình FTP Server
SELinux
#setsebool -P ftpd_full_access on
Tạo User và phân quyền
Tạo user và group
Tạo 3 user : huy1, huy2 và huy3 và thay đổi Home Directory của chúng như sau:
Đặt mật khẩu cho các User vừa tạo:
# passwd huy1
# passwd huy2
# passwd huy3
Tạo 2 Group:
- ftp_basic: user có quyền bình thường đối với thư mục của chính mình và thư mục dùng chung. Dùng chung cho huy1 và huy2.
- ftp_onlyread: user chỉ có quyền đọc. Dùng cho huy3.
Thêm các user vào 2 group vừa tạo:
Cấp quyền truy cập và phân quyền các user:
Cấp quyền truy cập FTP server cho các user vừa tạo bằng cách thêm vào file /etc/vsftpd/user_list , mỗi user trên một dòng và lưu lại.
Thêm vào danh sách không bị chroot giới hạn
# vi /etc/vsftpd/chroot_list
Tạo một thư mục dùng chung cho huy1 và huy2 tên là /huy12:
Thay đổi quyền sở hữu thư mục:
Thay đổi permission để kiểm soát truy cập của từng user đối với các thư mục:
Quyền và permission của các user với các thư mục:
Như vậy ta đã phân quyền xong. Ta tiến hành restart lại dịch vụ vsftpd:
Sử dụng Filezilla để truy cập FTP Server kiểm tra phân quyền
User : huy1 và huy2
Đăng nhập vào FTP server, sau khi đăng nhập thành công sẽ có thông báo kết nối thành công và chuyển vào thư mục directory của FTP server .
Truy cập vào các thư mục không thuộc quyền sở hữu
Đăng nhập với User: huy1. Ta truy cập vào 2 thư mục /huy2 và /huy3 sẽ không thành công và hiện thông báo lỗi như hình sau:
Truy cập vào thư mục cá nhân
- Truy cập vào thư mục /huy1 : Ta sẽ thấy các nội dung trong thư mục /huy1
- Upload file :
Ta sẽ upload một file txt từ máy thực lên thư mục /huy1 của FTP server. Ta sẽ thấy thông báo thành công và file hiển thị trên FTP server.
- Download file: Ta sẽ download FIle TXT về local (:D), thực hiện như upload
- Xóa file:
Chuột phải → chọn Delete
User: huy3
huy3 có thể truy cập tất cả các thư mục trên FTP server, tuy nhiên nó chỉ có thể xem nội dung và download mà không thể chỉ sử nội dung trên FTp sẻver
Truy cập các thư mục trên FTP sẻver
Upload file:
⇒ Upload file không thành công
Download file:
- Trên thư mục /huy3:
Thành công
- Trên thư mục khác
Thành công
Xóa file:
- Trên thư mục khác:
- Trên thư mục /huy3: