Cài Đặt Triển Khai Access Control List CentOS 7

access-control-lists

Hôm nay chúng ta sẽ tìm hiểu về cách triển khai Access Control List ( ACL ), cho hệ điều hành CentOS 7. Cách thực hiện trên hệ điều hành Red Hat Linux cũng diễn ra tương tự.

Access Control List là gì ?

Những file và thư mục đều có các quyền được set riêng cho chủ sở hữu của file, nhóm liên kết với file đó, hoặc những user khác trên toàn hệ thống. Nhưng những permission này cũng có các hạn chế. VD : các quyền khác nhau không thể cấu hình cho các user khác nhau. Vì thế, Access Control Lists ( ACL ) được ra đời để giải quyết vấn đề này.

ACL có thể được cấu hình cho các đối tượng :

  • Từng user.
  • Từng group.
  • Cho các user không thuộc group trong file.

ACL cung cấp một cơ chế cấp quyền linh hoạt cho hệ thống file của Linux. Chúng giúp tăng cường khả năng phân quyền cho các file Unix truyền thống. Với ACL, bạn có thể cấp quyền cho bất kỳ người dùng hoặc bất kỳ nhóm nào các quyền truy cập chi tiết.

ACL có thể được cấu hình cho mỗi người dùng, mỗi nhóm. Các quyền này sau đó cũng có thể được áp dụng cho các người dùng hoặc nhóm khác. Các quyền này cũng tương tự như các quyền rwx (  Read, Write, Execute ), bình thường trong hệ thống Linux.

ACL yêu cầu Kernel support và Kernel của bạn cũng phải hỗ trợ ACL để có thể triển khai được trên hệ điều hành Linux. Cùng với việc phải được hỗ trợ từ Kernel, thì để triển khai ACL chúng ta cũng cần phải có ACL package. ACL package chứa các tiện ích được sử dụng để thêm, sửa, xóa, và truy xuất thông tin ACL từ file/ folder.

Vì sao chúng ta chọn hệ điều hành CentOS để triển khai Access Control List :

CentOS Linux có một cộng đồng người sử dụng đông đảo, hỗ trợ các thắc mắc về kỹ thuật rất tốt. CentOS cũng tương thích chức năng với hệ điều hành RHEL. CentOS hoàn toàn miễn phí, và cũng có thể được phân phối lại. Mỗi phiên bản CentOS đều được duy  trì hỗ trợ với thời gian lên đến 10 năm. Trung bình 2 năm, sẽ có một phiên bản CentOS mới được cho ra mắt, và các phiên bản CentOS này cũng được cập nhật mỗi 6 tháng / lần để hỗ trợ các phần cứng mới. CentOS đã góp phần tạo ra một môi trường Linux bảo mật, dễ quản trị, đáng tin cậy.

Yêu cầu trước khi cài đặt :

Trước khi bắt đầu, bạn cần biết liệu rằng Linux OS kernel của bạn đã hỗ trợ ACL hay chưa ?

Đầu tiên, chuyển sang root user.

su –

Nhập vào root user password để tiếp tục.

Để biết kernel có hỗ trợ ACL hay không, nhập vào dòng lệnh :

cat /boot/config-3.10.0-123.el7.x86_64 | grep _ACL

Bạn sẽ thấy bảng thông báo như thế này, để biết rằng ACL có được hỗ trợ bởi Kernel hay không ?

access control list centos 7 Cài Đặt Triển Khai Access Control List CentOS 7

Tiếp theo, kiểm tra xem ACL packaged đã được cài vào hệ thống hay chưa bằng dòng lệnh :

rpm -qa | grep acl

Kết quả trả về như hình dưới :

access control list linux centos Cài Đặt Triển Khai Access Control List CentOS 7

Nếu máy chưa được cài đặt  ACL package, thì sử dụng lệnh sau để cài đặt :

yum install acl

Mounting File Systems

Trước khi sử dụng bất kì ACL nào cho file và thư mục, thì phân vùng của file hoặc thư mục này phải được mount đến ACL support.

Để mount, chúng ta chạy dòng lệnh :

mount /dev/sdb / work

/dev/sdb / là thư mục dùng để mount và work là folder được mount để truy cập. Sau đó, bạn cần chỉnh sửa lại file /etc/fstab cho phân vùng /dev/sdb và bao gồm luôn ACL vào. Thao tác này sẽ giúp hệ thống tự động mount /dev/sdb mỗi khi bạn reboot lại máy.

Mở file bằng dòng lệnh :

vim /etc/fstab

Và sau đó nhập các dòng sau vào file :

/dev/sdb /work ext4 acl 1 2

Save và đóng file lại. Như vậy là mỗi lần bạn reboot máy tính, phân vùng cũng sẽ được tự động mount với acl support.

Sau khi edit file, chúng ta cần remount lại phân vùng 1 lần nữa. Để thực hiện :

mount -o remount,acl /dev/sdb

Dùng lệnh sau để kiểm tra lại lệnh remount ở trên có hoạt động hay không :

Mount

Hoặc

df –h

Để demo ACL, chúng ta cần hai user. Tạo user bằng lệnh :

useradd russell

Tại đây chúng ta tạo ra một user tên “russell “. Tiếp tục tạo password cho user này :

passwd russell

Để test ACL, chúng ta cần tối thiểu 2 user, chúng ta sẽ sử dụng root và russell. Đầu tiên tạo một file demoacltest.txt ở đường dẫn /work :

vim /work/demoacltest.txt

Di chuyển đến folder /work :

cd /work

Đổi quyền chủ sở hữu của file sang cho user root.

chown root:root demoacltest.txt

Chạy dòng lệnh sau để xem quyền của file demoacltest.txt :

ls –l

Bạn sẽ thấy chi tiết như sau :

acl on centos 7 Cài Đặt Triển Khai Access Control List CentOS 7

Như đã thấy, file chỉ có quyền Write cho root user. Không có user nào có thể đọc hoặc viết trên nó.

Logout user root và login lại bằng user russell. Thử viết 1 vài dòng vào file demoacltest.txt và sau đó lưu nó lại. Bạn sẽ thấy xuất hiện thông báo lỗi “Permission denied” và không thể lưu lại những dòng vừa thêm vào. Đó là do user russell không có quyền write trên file này.

Bây giờ, login lại vào hệ thống bằng quyền root 1 lần nữa. Chúng ta sẽ add quyền ACL cho user russell, giúp cho phép user này có thể viết lên file

setfacl -m user:russell:rwx /work/demoacltest.txt

Logout user root khỏi hệ thống và login lại vào bằng user russell. Bây giờ thử edit lại file. Chúng ta thấy nhờ ACL mà người dùng đã có thể edit được file.

Remove ACL :

Để remove các ACL hiện tại, dùng lệnh sau đây :

setfacl -b demoacltest.txt

Trong đó, demoacltest.txt là tên file. Như vậy là chúng ta đã hoàn thành cài đặt và cấu hình Access Control List trên hệ điều hành CentOS 7.

Xem thêm : Cài Đặt Apache Ant, Maven Và Tomcat Trên CentOS 7/6.5

  • access control list centos 7
  • access control list linux centos
  • acl on centos 7
  • acl linux centos 7
  • disable acl centos
  • enable acl centos 7
  • centos acl permissions

BÌNH LUẬN

Please enter your comment!
Please enter your name here