Chủ sở hữu tập tin phải thuộc nhóm tập tin?


21

Tôi có một sự hiểu biết khá đơn giản về quyền truy cập tệp trên các hệ thống * nix. Tôi hiểu rằng có một chủ sở hữu tệp và nhóm tệp, nhưng có một quy tắc cứng và nhanh về việc chủ sở hữu tệp nói cũng phải thuộc nhóm tệp không? Hoặc đặt một cách khác, một tập tin có thể thuộc về một nhóm mà chủ sở hữu không phải là một phần của?

Nếu vậy (hoặc nếu không), tại sao? Tôi muốn tăng cường sự hiểu biết của mình ... Tôi dường như không thể tìm thấy bất cứ điều gì nói cụ thể về vấn đề này trên các trang web ... Tôi cũng mở một số tài liệu đọc tốt về chủ đề này.

Câu trả lời:


27

Không, không cần chủ sở hữu tệp thuộc nhóm đó. Không có cơ chế tại chỗ để kiểm tra hoặc thực thi điều này. Ngoài ra, một người dùng có thể thuộc về một nhóm và sau đó bị xóa; không có gì sẽ đi qua hệ thống tập tin để kiểm tra các tập tin sẽ bị xung đột.

Về cơ bản, siêu dữ liệu của chủ sở hữu và nhóm cho một tệp chỉ nằm trên đĩa và không có bất kỳ liên kết bên ngoài nào. (Tiếp tuyến: nó được lưu trữ bởi id người dùng số và id nhóm và những điều này được hệ thống giải quyết khi được hỏi.)

Ngoài ra, mỗi lần chỉ có một bộ quyền được sử dụng - nếu bạn là chủ sở hữu, chỉ có quyền của chủ sở hữu được xem xét và quyền của nhóm không thành vấn đề. Nếu bạn không phải là chủ sở hữu nhưng nằm trong nhóm, quyền của nhóm được sử dụng. Cuối cùng, nếu bạn không ở trong nhóm cũng không phải chủ sở hữu, các quyền "khác" sẽ được sử dụng. Nếu bạn là cả hai chủ sở hữu của một tập tin và trong nhóm của tập tin, các bit nhóm không quan trọng.


Cảm ơn câu trả lời của bạn. Điều này khẳng định linh cảm của tôi ... Tôi chỉ có cảm giác rằng chủ sở hữu đã bỏ qua nhóm nhưng tình cờ gặp "quy tắc ngón tay cái" này tại nơi làm việc. Đoán nó chỉ là một trong những con khỉ thấy, khỉ làm điều đó.
dùng1766760

2
Bạn có nói rằng nếu tôi là chủ sở hữu của một tệp và tôi thuộc nhóm "sở hữu" nó và nhóm có quyền viết và thực thi trong khi tôi chỉ có quyền đọc thì quyền của nhóm sẽ bị bỏ qua cho tôi?
iconoclast

2
@iconoclast Đúng vậy. Tạo một tập tin và gõ "Hello world" trong đó. Nó có quyền sở hữu người dùng và nhóm của bạn. Sau đó, làm một chmod 460trên nó và cố gắng chỉnh sửa nó. Tôi tin rằng tôi đã đọc nó ở đâu đó nhưng thuật ngữ được sử dụng là quyền của người dùng và nhóm trong một tệp Unix được tách rời .
unxnut
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.