- Tổng đài 24/7: 1800 646 881
- Đăng nhập
- 3
Ngay từ khi bắt đầu sử dụng Linux thì rắc rối về phân quyền là vấn đề mà ai cũng từng gặp. Để quản lý hệ thống một cách hiệu quả cần thực thi các script, sửa đổi files và chạy các quy trình. Tuy nhiên đôi khi bạn thấy thông báo “Permission denied”.
Để biết nguyên nhân cũng như các biện pháp khắc phục, bài viết hôm nay BKHOST sẽ cùng các bạn tìm hiểu về các cách tính toán quyền khác nhau cũng như các quyền đặc biệt trong Linux.
Phương thức Symbolic sử dụng cú pháp sau:
{{EJS0}}
Trong đó:
Ví dụ: Nếu chúng ta muốn thêm quyền đọc và ghi vào file có tên test.txt cho user và group, chúng ta sử dụng lệnh sau:
{{EJS1}}
Để tìm hiểu và thực hành các quyền thì phương thức Numeric là một cách hiệu quả. Phương thức Numeric sử dụng cú pháp sau:
{{EJS2}}
Ở đây, từ trái sang phải, ký tự # đại diện cho cấp truy cập. Có ba mức truy cập—user, group, và other. Để xác định mỗi chữ số là gì, chúng tôi sử dụng như sau:
Điều này được tính trên cơ sở mỗi cấp độ truy cập. Chúng ta cùng giải thích ví dụ về quyền này:
{{EJS3}}
Các quyền được thể hiện dưới dạng 650 giải thích như sau:
Đưa điều này vào cú pháp có lệnh sau:
{{EJS4}}
Bây giờ bạn đã hiểu những kiến thức cơ bản về tính toán quyền trong Linux, hãy xem xét các quyền đặc biệt có trong HĐH.
Ngoài user, group, và other thì các quyền đặc biệt tạo thành mức truy cập thứ tư. Các quyền đặc biệt cho phép các đặc quyền bổ sung đối với các bộ quyền tiêu chuẩn (như tên gợi ý). Mỗi cấp độ có một tùy chọn quyền đặc biệt.
Thường được ghi chú là SUID, quyền đặc biệt dành cho cấp độ truy cập của người dùng có một chức năng duy nhất: File có SUID luôn thực thi với tư cách là người dùng sở hữu file, bất kể người dùng có truyền lệnh hay không. Nếu chủ sở hữu tệp không có quyền thực thi, thì hãy sử dụng chữ hoa S ở đây.
Ví dụ: /usr/bin/passwd
Theo mặc định, lệnh này có quyền SUID được đặt:
{{EJS5}}
Lưu ý: x thường chỉ ra quyền thực thi cho người dùng.
Thường được ghi chú là SGID, quyền đặc biệt này có một vài chức năng:
{{EJS6}}
Bộ quyền này được ghi chú bằng chữ thường s trong đó x thường biểu thị các đặc quyền thực thi cho nhóm. Nó cũng đặc biệt hữu ích cho các thư mục thường được sử dụng trong các nỗ lực hợp tác giữa các thành viên của một nhóm. Dù cho thành viên nào của nhóm cũng đều có thể truy cập bất kỳ file mới nào. Điều này cũng áp dụng cho việc thực thi các file. SGID rất mạnh khi được sử dụng đúng cách.
Như đã lưu ý trước đây cho SUID, nếu nhóm sở hữu không có quyền thực thi, thì chữ hoa S sẽ được sử dụng.
Quyền đặc biệt cuối cùng là “sticky bit”. Tuy không ảnh hưởng đến các tệp riêng lẻ nhưng quyền này ở cấp độ thư mục, nó hạn chế xóa tệp. Chỉ chủ sở hữu (và root) của tệp mới có thể xóa tệp trong thư mục đó. Một ví dụ phổ biến về điều này là thư mục /tmp:
{{EJS7}}
Tập hợp quyền được ghi chú bằng chữ thường t, trong đó x thường biểu thị đặc quyền thực thi.
Chúng ta có thể sử dụng một trong hai phương thức ký hiệu hoặc số để đặt các quyền đặc biệt trên một tệp hoặc thư mục:
Giả sử chúng ta muốn đặt SGID trên thư mục community_content.
Bằng Phương thức Symbolic, chúng ta làm điều như sau:
{{EJS8}}
Bằng phương thức Numberic, chúng ta cần chuyển chữ số thứ tư, đứng trước trong chmod lệnh của mình. Chữ số được sử dụng được tính tương tự như chữ số cho phép tiêu chuẩn:
Cú pháp sẽ là:
{{EJS9}}
Trong đó X là chữ số quyền đặc biệt.
Đây là lệnh để đặt SGID bằng community_content phương thức Numberic:
{{EJS10}}
Để trở thành một quản trị viên Linux hiệu quả thì việc hiểu các quyền về cơ bản rất quan trọng. Bài viết trên đây BKHOST hy vọng đã giúp các bạn hiểu rõ về quyền và các khái niệm cơ bản cũng như có thể giải quyết lỗi Permission reject gây cản trở công việc của bạn.
Nếu còn gặp bất cứ vướng mắc gì, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.
P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.
Mua Hosting tại BKHOST
Khuyến mãi giảm giá cực sâu, chỉ từ 5k/tháng. Đăng ký ngay hôm nay: