сделать все исполняемые файлы доступными для выполнения всем пользователям, но оставить неисполняемые файлы неисполняемыми?

сделать все исполняемые файлы доступными для выполнения всем пользователям, но оставить неисполняемые файлы неисполняемыми?

У меня есть каталог, принадлежащий root, после того, как я копирую в него файлы. Все exe-файлы могут быть запущены только как root. Но я хотел бы, чтобы все могли его запустить. Конечно, я могу использовать его chmod -R u=rwX,g=rX,o=rXкаждый раз после добавления в него новых файлов. Однако это очень раздражает. Можно ли что-то настроить в каталоге, чтобы автоматически разрешить всем пользователям запускать exe-файл?

решение1

Используя команду umask 0022перед созданием копии, вы получите все новые файлы с -rw-r--r--разрешениями по умолчанию, но файлы можно сделать исполняемыми, только вызвав для них команду chmod +x.

Вы можете использовать сокращенную команду: chmod -R a+rX directoryчтобы сделать это вручную.

Чтобы автоматически установить все разрешения для файлов, вы можете использовать inotifywait следующим образом:

inotifywait -qm <directory> -e create -e moved_to -e modify \
 | while read a b c; do chmod a+rX "${a}${c}"; done

Связанный контент