Giải thích 1: một thư mục là một không gian con của hệ thống tập tin. Nó có thể được chia nhỏ thành các không gian con bằng cách tạo các thư mục con trong đó. Chủ sở hữu của thư mục foo
nên có thể kiểm soát tất cả mọi thứ bên trong không gian con: foo/bar
, foo/bar/qux
vv
Giải thích 2: một thư mục là một không gian con của hệ thống tập tin. Mỗi thư mục được đính kèm với một số thư mục khác, được gọi là cha mẹ của nó. Chủ sở hữu của thư mục foo
có quyền kiểm soát mọi thứ bên trong không gian con; tuy nhiên, đối với thư mục con foo/bar
, chủ sở hữu foo
có quyền kiểm soát xem bar
có thể được đính kèm hay foo
không nhưng không liên quan đến những gì bên trong bar
: chỉ chủ sở hữu mới bar
có quyền kiểm soát đó.
Bằng chứng có lợi cho giải thích 2: như bạn đã lưu ý, cách thức hoạt động của quyền. Ngoài ra, thực tế là một số hệ thống tập tin Unix cho phép một thư mục được gắn vào nhiều phụ huynh: điều này được gọi là có nhiều liên kết cứng. (Có nhiều liên kết cứng là phổ biến đối với các tệp thông thường, nhưng nó thường không được khuyến khích hoặc cấm đối với các thư mục chủ yếu vì rủi ro tạo vòng lặp, trong đó một thư mục là ông bà của chính nó N bị xóa - vì vậy bạn không thể truy cập nó từ thư mục gốc thư mục, đó là một kỳ vọng rất phổ biến. Ngoài ra còn có vấn đề phải làm gì nếu một thư mục có 0 liên kết cứng nhưng không trống: vì thư mục không được lưu trữ, bạn muốn xóa nó, nhưng bạn sẽ làm gì với nó nội dung?)
Bằng chứng ủng hộ cho việc giải thích 1: trong thực tế, các thư mục có một cha mẹ duy nhất và do đó tạo thành một cấu trúc cây. Và bạn không thể truy cập foo/bar/qux
trừ khi bạn đã thực thi quyền foo
cũng như bar
(tốt, ngoại trừ việc có một số cách tối nghĩa để được cấp quyền truy cập bar
mà không được cấp quyền truy cập foo
). Vì vậy, các cấp trên làm vấn đề.
Trên một lưu ý thực tế hơn, trong tình huống của bạn, người dùng A có thể làm
rác mkdir
mv foo / thanh rác /
rmdir foo