Câu trả lời:
Bạn có thể sửa đổi umask
để cho phép (đối với hầu hết các triển khai) nhiều đặc quyền đọc / ghi hơn, nhưng không thể thực thi được, vì nhìn chung các quyền được yêu cầu là 0666
.
Nếu umask
là của bạn 022
, bạn sẽ thấy touch
tạo một 0644
tập tin.
Thật thú vị, POSIX mô tả hành vi này theo creat
:
Nếu tập tin không tồn tại:
Hàm creat () được gọi với các đối số sau:
Toán hạng tệp được sử dụng làm đối số đường dẫn.
Giá trị của Bitwise-bao gồm OR của
S_IRUSR
,S_IWUSR
,S_IRGRP
,S_IWGRP
,S_IROTH
, vàS_IWOTH
được sử dụng như là đối số chế độ.
và nó chỉ bằng cách theo các liên kết đến creat
, sau đó open
, để ý đến việc đề cập umask
và theo dõi ngược đến open
(và creat
) để xác minh rằng điều đó umask
được cho là ảnh hưởng touch
.
Để umask
chỉ ảnh hưởng đến touch
lệnh, hãy sử dụng một lớp con:
(umask 066; touch private-file)
(umask 0; touch world-writable-file)
touch file-as-per-current-umask
(lưu ý rằng trong mọi trường hợp, nếu tệp tồn tại trước đó, touch
sẽ không thay đổi quyền của nó, chỉ cần cập nhật dấu thời gian của nó).
Bạn có thể thao tác umask
. Nói chung, nó được đặt thành 022
có nghĩa là khi người dùng tạo một tệp, nó sẽ được phép 0644
, bạn có thể thao tác umask
theo nhu cầu của mình.