Кажется, что всякий раз, когда я создаю файл с touch
разрешениями, установленными на: -rw-r - r-- .
Есть ли какой-нибудь способ, которым я могу настроить разрешения с помощью touch
или это нужно сделать после другой команды?
Кажется, что всякий раз, когда я создаю файл с touch
разрешениями, установленными на: -rw-r - r-- .
Есть ли какой-нибудь способ, которым я могу настроить разрешения с помощью touch
или это нужно сделать после другой команды?
Ответы:
Вы можете изменить свой, umask
чтобы разрешить (для большинства реализаций) больше привилегий чтения / записи, но не исполняемых, так как обычно запрашиваемые разрешения 0666
.
Если ваш umask
есть 022
, вы увидитеtouch
сделать 0644
файл.
Интересно, что POSIX описывает это поведение в терминах creat
:
Если файл не существует:
Функция creat () вызывается со следующими аргументами:
Файловый операнд используется в качестве аргумента пути.
Значение побитового включены ИЛИ из
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
соответствии со своими потребностями.