У меня есть каталог, и я хочу, чтобы все файлы, которые в него помещены, имели разрешения **5. Другими словами, я хочу, чтобы разрешения владельца и группы остались прежними, но разрешение на чтение и выполнение для всех остальных пользователей.
Возможно ли это? Я знаю, что могу периодически устанавливать разрешения для всех файлов в этой папке, но мне было интересно, есть ли способ автоматизировать это.
решение1
Возможно, вам будет интересно взглянуть на umask
:
umask (пользовательская маска) — это команда и функция в средах POSIX, которая устанавливает маску создания режима файла текущего процесса, которая ограничивает режимы разрешений для файлов и каталогов, созданных процессом. Процесс может изменить маску создания режима файла с помощью umask, и новое значение наследуется дочерними процессами. Когда оболочка (как при перенаправлении вывода) или другая программа создает файл или каталог, она может указать разрешения, которые должны быть предоставлены, однако разрешения, которые маска создания режима файла не допускает, удаляются.
(отhttp://en.wikipedia.org/wiki/Umask)
Просто установите нужный режим umask в начале вашего bash-скрипта, чтобы добиться описанного эффекта.