Không có sự mâu thuẫn thực sự, vì mối quan hệ giữa umask
và chmod
hoàn toàn có thể được ghi lại bằng phương trình. Rõ ràng, umask
đặt đối diện với chmod
, nó đã được tạo ra như thế này trở lại trong những ngày cũ.
Ví dụ: 022
(mặc định thông thường umask
) tạo 755
. Nó hoạt động như thế này:
7 - 0 = 7
trở thành byte đầu tiên
7 - 2 = 5
trở thành thứ hai và thứ ba byte
Sử dụng ví dụ này, umask 777
tạo ra một tập tin với chmod 000
, umask 112
sẽ bằng chmod 664
. Theo như tôi biết, điều này xảy ra vì lệnh umask
ban đầu được tạo ra để cho biết bit nào sẽ cho phép tệp NOT sau khi được tạo (do đó là sự chú ý).
Trong khi nó có thể gây phiền nhiễu, nó thực sự không khó để làm quen với nó. Chỉ cần nghĩ cách bạn sẽ chmod
tệp của mình và trừ byte bạn muốn từ 7
và bạn sẽ nhận được giá trị umask
. Hoặc, khi bạn đang ở IDE, viết mã của bạn, không sử dụng umask
, mà đúng hơn là tạo tệp (với mặc định là umask
) và sau đó sử dụng, bằng Python, os.chmod()
thay thế.
Đó là "mặt nạ" - đó là ý nghĩa của từ ngữ trong ngữ cảnh này; một cái gì đó cho phép chỉ các bit unset thông qua (suy nghĩ của các mặt nạ được sử dụng cho bức tranh, chipmaking, và như thế). Nếu nó không hoạt động theo cách này, nó sẽ được gọi là cái gì đó khác. –