Здається, щоразу, коли я створюю файл з 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
відповідно до своїх потреб.