Cách đặt quyền truy cập tệp bằng lệnh cảm ứng


16

Dường như bất cứ khi nào tôi tạo một tệp có touchquyền đều được đặt thành: -rw-r - r-- .

Có một số cách mà tôi có thể cấu hình các quyền với touchhoặc điều này phải được thực hiện sau với một lệnh khác?

Câu trả lời:


27

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:

  1. 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ó).


2

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.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.