Nếu thư mục chính của bạn là riêng tư, thì không ai khác có thể truy cập bất kỳ tệp nào của bạn. Để truy cập một tệp, một quy trình cần phải có quyền thực thi đối với tất cả các thư mục trên đường dẫn xuống cây từ thư mục gốc. Ví dụ, cho phép người dùng khác để đọc /home/martin/public/readme
, các thư mục /
, /home
, /home/martin
và /home/martin/public
tất cả cần phải có các điều khoản d??x??x??x
(nó có thể được drwxr-xr-x
, hoặc drwx--x--x
hoặc một số kết hợp khác), và bổ sung các tập tin readme
phải được công khai có thể đọc được ( -r??r??r??
).
Thông thường có các thư mục nhà có chế độ drwxr-xr-x
(755) hoặc ít nhất drwx--x--x
(711). Chế độ 711 (chỉ thực thi quyền) trên một thư mục cho phép người khác truy cập một tệp trong thư mục đó nếu họ biết tên của nó, nhưng không liệt kê nội dung của thư mục. Trong thư mục chính đó, tạo các thư mục con công cộng và riêng như mong muốn.
Nếu bạn không bao giờ, muốn người khác đọc bất kỳ tệp nào của bạn, bạn có thể tạo thư mục chính của mình drwx------
(700). Nếu bạn làm điều đó, bạn không cần phải bảo vệ các tệp của mình. Điều này sẽ không phá vỡ bất cứ điều gì ngoài khả năng người khác đọc tệp của bạn.
Một điều phổ biến có thể phá vỡ, bởi vì đó là một trường hợp người khác đọc tệp của bạn, là nếu bạn có một thư mục như ~/public_html
hoặc ~/www
có chứa trang web của bạn. Tùy thuộc vào cấu hình của máy chủ web, thư mục này có thể cần phải đọc được trên toàn thế giới.
Bạn có thể thay đổi quyền mặc định cho các tệp bạn tạo bằng cách đặt giá trị umask trong .profile
. Umask là phần bổ sung của các quyền tối đa của một tập tin. Các giá trị phổ biến bao gồm 022 (chỉ có thể ghi bởi chủ sở hữu, mọi người có thể đọc và thực thi được), 077 (chỉ truy cập bởi chủ sở hữu) và 002 (như 022, nhưng cũng có thể ghi theo nhóm). Đây là các quyền tối đa: các ứng dụng có thể đặt nhiều quyền hạn chế hơn, ví dụ: hầu hết các tệp cuối cùng không thể thực thi được vì ứng dụng tạo ra chúng không đặt các bit quyền thực thi khi tạo tệp.