Computer >> Máy Tính >  >> Hệ thống >> Linux

Cách sử dụng danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trên Linux

Cách sử dụng danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trên Linux

Một tính năng rất hữu ích trong Linux là “Danh sách kiểm soát truy cập” kiểm soát quyền truy cập vào các tệp và thư mục. Đây là cách hoạt động của danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trong Linux.

Lưu ý: Để nắm bắt kỹ lưỡng cách hoạt động của danh sách kiểm soát truy cập, trước tiên, chúng tôi sẽ thiết lập một số người dùng và nhóm trên hệ thống Linux đang hoạt động. Bài tập dưới đây được thực hiện trên máy ảo chạy hệ điều hành Kali. Người dùng root có quyền thêm người dùng mới vào hệ thống và phân bổ họ vào các nhóm.

Tạo người dùng và nhóm

Đầu tiên, chúng ta sẽ đăng nhập với quyền root, tạo người dùng và xếp họ vào các nhóm tương ứng như trong bảng dưới đây. Người dùng đã được đặt những cái tên đơn giản để giúp hiểu khái niệm tốt hơn.

Người dùng Nhóm
john1
john2
john3
johns
jane1
jane2
janes

Chúng tôi sẽ sử dụng adduser lệnh thêm người dùng mới vào hệ thống.

Cách sử dụng danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trên Linux

id lệnh sẽ hiển thị thông tin chi tiết của người dùng mới được tạo. Nó sẽ hiển thị id người dùng (uid), id nhóm (gid) và tên nhóm (groups). Người dùng, khi được tạo, sẽ tự động được thêm vào một nhóm có cùng tên với tên người dùng. Người dùng đó sẽ là thành viên duy nhất của nhóm.

Cách sử dụng danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trên Linux

Tương tự như vậy, người dùng “john2” và “john3” cũng được tạo.

adduser john2
adduser john3

Khi ba người dùng đã được tạo, hãy sử dụng id lệnh để xem id nhóm và người dùng tương ứng.

Cách sử dụng danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trên Linux

Chúng tôi có thể thấy rằng ba người dùng nằm trong nhóm của riêng họ - 1000, 1001 và 1002. Theo bảng hiển thị trước đó, chúng tôi muốn ba người dùng ở cùng một nhóm:johns . Vì một nhóm như vậy hiện không tồn tại trên hệ thống, chúng tôi sẽ tạo nó bằng groupadd lệnh:

groupadd -g <new_group_ID> <group_name>

Cách sử dụng danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trên Linux

ID nhóm mới được chỉ định là 5000. Nếu -g chuyển đổi bị bỏ qua, sau đó hệ thống sẽ tự động chọn một ID nhóm. Tên của nhóm mới là “johns”. Bây giờ ba người dùng - “john1”, “john2” và “john3” - cần được thêm làm thành viên của nhóm này. Chúng tôi sẽ sử dụng usermod lệnh cho tác vụ này.

usermod -g <group_name> <user_name>

usermod thêm người dùng “user_name” vào nhóm “group_name.” Hình sau đây đầu tiên hiển thị uid và gid cho “john1” trước khi thay đổi nhóm. Sau usermod lệnh chạy thành công, “john1” được thêm vào nhóm “johns” với gid 5000.

Cách sử dụng danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trên Linux

Quy trình tương tự cũng được thực hiện cho người dùng “john2” và “john3.”

usermod -g johns john2
usermod -g johns john3

Cuối cùng, thông tin chi tiết của ba người dùng trong nhóm “johns” có thể được xem bằng cách sử dụng id lệnh.

Cách sử dụng danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trên Linux

Chúng tôi đã tạo thành công ba người dùng và thêm họ vào cùng một nhóm.

Tương tự, người dùng “jane1” và “jane2” được tạo và thêm vào nhóm “janes” với gid 6000. Bạn có thể xem chi tiết của họ bằng cách sử dụng id lệnh như hình dưới đây.

Cách sử dụng danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trên Linux

Nhu cầu về Danh sách Kiểm soát Truy cập là gì?

Giả sử người dùng “john1” đăng nhập,

Cách sử dụng danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trên Linux

tạo một tệp mới trong Thư mục chính,

Cách sử dụng danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trên Linux

và thêm một số nội dung vào đó.

Cách sử dụng danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trên Linux

Sử dụng ls , chúng tôi xem siêu dữ liệu của tệp.

Cách sử dụng danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trên Linux

Một vài ký tự đầu tiên trong đầu ra, - rw - r - - r - - tài khoản cho chuỗi quyền. Hãy cùng chúng tôi mổ xẻ nó.

- rw - r - - r - -
loại tệp quyền john1 có trên tệp các quyền mà thành viên của nhóm johns có trên tệp quyền được cấp cho những người khác không thuộc nhóm johns

Bài viết này là một tài liệu sơ lược về quyền đối với tệp.

Điều gì sẽ xảy ra nếu “john1”, là chủ sở hữu tệp, muốn chỉ cấp thêm quyền ghi cho “john2” và “jane1” nhưng vẫn duy trì quyền đọc cho “john3” và “jane2?”

rw - r - -
john1
john2
jane1
john3
jane2

Một tùy chọn sẽ là tạo một nhóm mới với quyền đọc, ghi cho “john1”, “john2” và “jane1” và một nhóm khác chỉ có quyền đọc cho “john3” và “jane2”. Trong trường hợp john1 muốn sửa đổi thêm quyền cho bất kỳ thành viên nào trong nhóm, thì cần phải tạo thêm nhóm. Tạo và quản lý nhiều nhóm là một gánh nặng đối với người quản trị hệ thống.

Thay vào đó, một "Danh sách kiểm soát truy cập" có thể được tạo cho một tệp sẽ trình bày rõ ràng các hoạt động mà bất kỳ người dùng nào có thể thực hiện trên tệp đó.

Cách tạo danh sách kiểm soát truy cập (ACL) cho tệp?

Mỗi tệp khi tạo đều có ACL được gán cho nó. Sử dụng nó một cách hiệu quả chỉ đơn giản là một vấn đề của việc sửa đổi nó. Chỉ chủ sở hữu tệp và người dùng root mới có thể sửa đổi ACL của tệp.

Chúng ta có thể sử dụng getfacl lệnh để xem ACL hiện có:

getfacl <file_name>

Cách sử dụng danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trên Linux

Các dòng bắt đầu bằng # là những dòng bình luận. Thông tin thực tế nằm trong ba dòng cuối cùng của đầu ra, tương tự như chuỗi quyền thu được trước đó. Dòng "người dùng" đề cập đến các quyền được chỉ định cho chủ sở hữu tệp "john1". Dòng "nhóm" đề cập đến các quyền được chỉ định cho các thành viên khác trong nhóm "johns". Như bạn đã đoán, dòng "khác" đề cập đến bất kỳ ai khác bên ngoài nhóm.

Hãy để chúng tôi sử dụng setfacl lệnh sửa đổi ACL hiện có trên tệp.

Thực thể
setfacl -m entity:name:permissions <file_name>
entity tên quyền
giá trị ở đây biểu thị mục nhập ACL dành cho ai:

người dùng (u) hoặc nhóm (g) hoặc những người khác (o)

tên của người dùng hoặc nhóm có liên quan đến mục nhập ACL các quyền đọc, ghi, thực thi được ký hiệu bằng các chữ cái r, w, x

“John2” lần đầu tiên được cấp quyền truy cập đọc, ghi vào tệp,

Cách sử dụng danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trên Linux

theo sau là “jane1.”

Cách sử dụng danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trên Linux

Hãy để chúng tôi xem ACL được cập nhật cho “hồ sơ bí mật”.

Cách sử dụng danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trên Linux

Chúng ta có thể thấy rằng quyền đọc và ghi đã được chỉ định cho “john2” và “jane1.”

Xác minh tính xác thực của ACL

Chúng ta có thể thấy rằng “john2” có thể đọc tệp và ghi vào tệp đó.

Cách sử dụng danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trên Linux

Thông tin mới do “john2” nhập đã được thêm vào tệp.

Cách sử dụng danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trên Linux

Tương tự như vậy, “jane1” cũng có đặc quyền tương tự - quyền truy cập đọc và quyền truy cập ghi.

Cách sử dụng danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trên Linux

Nhưng “john3” trong cùng một nhóm không thể ghi vào tệp.

Cách sử dụng danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trên Linux

“Jane2”, người thuộc loại khác, cũng không thể ghi vào tệp.

Cách sử dụng danh sách kiểm soát truy cập để kiểm soát quyền đối với tệp trên Linux

Kết luận

Quá trình tương tự cũng có thể được mở rộng cho các thư mục. Danh sách kiểm soát truy cập cho phép quản trị viên hệ thống xử lý quyền truy cập tệp và thư mục một cách thành thạo.