Здається, щоразу, коли я створюю файл з touchправами, встановлено так: -rw-r - r-- .
Чи є якимось чином я можу налаштувати дозволи touchабо потрібно це зробити після того, як за допомогою іншої команди?
Здається, щоразу, коли я створюю файл з touchправами, встановлено так: -rw-r - r-- .
Чи є якимось чином я можу налаштувати дозволи touchабо потрібно це зробити після того, як за допомогою іншої команди?
Відповіді:
Ви можете змінити свої, umaskщоб дозволити (для більшості реалізацій) більше привілеїв для читання / запису, але не виконуваних, оскільки, як правило, вимагаються дозволи 0666.
Якщо umaskце так 022, ви побачите touchзробити 0644файл.
Цікаво, що POSIX описує таку поведінку з точки зору creat:
Якщо файл не існує:
Функція create () викликається за допомогою таких аргументів:
Файл операнду використовується як аргумент шляху.
Значення побітового включені АБО з
S_IRUSR,S_IWUSR,S_IRGRP,S_IWGRP,S_IROTH, іS_IWOTHвикористовуються в якості аргументу режиму.
і лише переслідуючи посилання на creat, а потім на open, помічаючи згадування umaskта зворотне відстеження до open(і creat), щоб переконатися, що umaskце має вплинути touch.
Для того, umaskщоб впливати лише на touchкоманду, використовуйте нижню панель :
(umask 066; touch private-file)
(umask 0; touch world-writable-file)
touch file-as-per-current-umask
(зауважте, що у будь-якому випадку, якщо файл існував заздалегідь, touchвін не змінить свої дозволи, просто оновіть його часові позначки).
Ви можете маніпулювати umask. Зазвичай встановлено, 022що означає, коли користувач створює файл, він отримає дозвіл 0644, ви можете маніпулювати umaskвідповідно до своїх потреб.