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 umasklà của bạn 022, bạn sẽ thấy touchtạo một 0644tậ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 umaskvà theo dõi ngược đến open(và creat) để xác minh rằng điều đó umaskđược cho là ảnh hưởng touch.
Để umaskchỉ ảnh hưởng đến touchlệ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 đó, touchsẽ 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 022có 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 umasktheo nhu cầu của mình.