Кажется, что всякий раз, когда я создаю файл с 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соответствии со своими потребностями.