Chữ số đầu tiên trong ký hiệu cấp phép tệp bát phân 4 chữ số là gì?


40

3 chữ số:

644
ugo (user group other)

4 chữ số:

0644
?ugo (??? user group other)

Chữ số bát phân đầu tiên trong ký hiệu cấp phép tệp bát phân 4 chữ số là gì?

Câu trả lời:


48

Từ man chmod:

Chế độ số là từ một đến bốn chữ số bát phân (0-7), xuất phát bằng cách cộng các bit với các giá trị 4, 2 và 1. Bất kỳ chữ số nào bị bỏ qua đều được coi là số 0 đứng đầu. Chữ số đầu tiên chọn ID người dùng được đặt (4) và đặt thuộc tính ID nhóm (2) và dính (1).

"Đặt ID người dùng", "đặt ID nhóm" và "dính" là gì, bạn hỏi?

setuid / setgid :

setuid và setgid (viết tắt của "đặt ID người dùng khi thực thi" và "đặt ID nhóm khi thực thi", tương ứng) là các cờ quyền truy cập Unix cho phép người dùng chạy một tệp thực thi với quyền của chủ sở hữu hoặc nhóm của người thực thi. Chúng thường được sử dụng để cho phép người dùng trên hệ thống máy tính chạy các chương trình với các đặc quyền được nâng lên tạm thời để thực hiện một tác vụ cụ thể. Mặc dù các đặc quyền id người dùng hoặc id nhóm được cung cấp không phải lúc nào cũng được nâng lên, tối thiểu chúng là cụ thể.

Ngoài ra, khi áp dụng cho một thư mục, setuid / setgid khiến các tệp mới được tạo trong thư mục kế thừa uid hoặc gid, tương ứng, của thư mục mẹ. Hành vi này thay đổi dựa trên hương vị của unix. Ví dụ, linux tôn vinh setgid, nhưng bỏ qua setuid trên các thư mục.

dính :

Việc sử dụng phổ biến nhất của bit dính ngày nay là trên các thư mục. Khi bit dính được đặt, chỉ chủ sở hữu của mục, chủ sở hữu thư mục hoặc siêu người dùng mới có thể đổi tên hoặc xóa tệp. Nếu không có tập bit dính, bất kỳ người dùng nào có quyền ghi và thực thi cho thư mục đều có thể đổi tên hoặc xóa các tệp có chứa, bất kể chủ sở hữu. Thông thường, điều này được đặt trên thư mục / tmp để ngăn người dùng thông thường xóa hoặc di chuyển tệp của người dùng khác.


12

Setgid có một chức năng rất quan trọng khác mà tôi dựa vào hàng ngày nhưng không được bao gồm trong đoạn trích của Handyman5 (trích dẫn từ cùng một trang được liên kết ở trên):

Các cờ setuid và setgid, khi được đặt trên một thư mục, có một ý nghĩa hoàn toàn khác nhau.

Đặt quyền setgid trên thư mục (chmod g + s) khiến các tệp và thư mục con mới được tạo trong nó thừa hưởng ID nhóm của nó, thay vì ID nhóm chính của người dùng đã tạo tệp (ID chủ sở hữu không bao giờ bị ảnh hưởng, chỉ có Id nhóm). Các thư mục con mới được tạo kế thừa bit setgid.

Do đó, điều này cho phép một không gian làm việc chung cho một nhóm mà không có sự bất tiện khi yêu cầu các thành viên nhóm thay đổi rõ ràng nhóm hiện tại của họ trước khi tạo các tệp hoặc thư mục mới. Lưu ý rằng việc đặt quyền setgid trên thư mục chỉ ảnh hưởng đến ID nhóm của các tệp và thư mục con mới được tạo sau khi bit setgid được đặt và không được áp dụng cho các thực thể hiện có. Việc thiết lập bit setgid trên các thư mục con hiện có phải được thực hiện thủ công, bằng một lệnh như sau:

[root@foo]# find /path/to/directory -type d -exec chmod g+s {} \;

chmod g+ssẽ có nghĩa là thêm 2 ở phía trước giá trị bát phân làm cho một thư mục có 775 quyền ( drwxrwxr-x) thành 2775 ( drwxrwsr-x).


2
FYI: MacOS X hoạt động như thể bit SGID luôn được bật trong một thư mục.
Jonathan Leffler

4

Ngoài các câu trả lời khác, số 0 đứng đầu là quy ước được sử dụng để nói một số là số bát phân. Ở đây không bắt buộc vì quyền truy cập tệp luôn được thể hiện bằng số bát phân nhưng đây có thể là một lý do khác khiến nó xuất hiện.


2

Dưới đây là một máy tính cấp phép Limux / Unix dễ sử dụng để giúp bạn tìm ra các quyền của tệp hoặc thư mục.


Chỉ cần đăng liên kết là nhăn mặt. Bạn nên đăng nội dung liên quan và sau đó trích dẫn nguồn của bạn.
MDMarra

Lưu ý sẽ đảm bảo các bài đăng trong tương lai được định dạng chính xác
vegasbrianc
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.