Нет никакого способа сделать это с chmod
один. В zsh можно использовать в своих интересах рекурсивный globbing и спецификаторы шарика:
chmod g+ws /path/to/folder/**/*(/)
В ksh можно сделать это, но он будет также воздействовать на символьные ссылки на каталоги.
set -o globstar
chmod g+ws /path/to/folder/**/*/
В ударе можно сделать это, но он также пересечет символьные ссылки на каталоги во время рекурсивного спуска.
shopt -s globstar
chmod g+ws /path/to/folder/**/*/
Вместо того, чтобы использовать setgid обдумал каталоги, можно использовать ACL по умолчанию на каталогах к make-файлам, перезаписываемым группой.
setfacl -d -m g:somegroup:rwx /path/to/folder/**/*(/)
setfacl -m g:somegroup:rwx /path/to/folder/**/*(/)
Обычно нельзя сказать, был ли выполнен init-скрипт из задания cron. Придётся искать какой-нибудь побочный эффект init-скрипта, а cron для этого бессмыслененен. Заставьте свой init-скрипт выдать сообщение журнала.
Если вы хотите убедиться, что служба запущена, используйте механизм мониторинга (возможно, на основе сети , если служба предлагается по сети). Речь идет не о том, запущен ли скрипт init, а об одном довольно маловероятном режиме отказа. Речь идет о том, чтобы убедиться, что сервис доступен, когда это необходимо.
Как выполнить скрипт при запуске системы зависит от того, какая система init используется. Так как существует множество альтернатив (даже в Linux, а иногда и в одном и том же выпуске одного и того же дистрибутива), ознакомьтесь с документацией операционной системы, чтобы узнать, как выполнить init-скрипт. Обратите внимание, что с большинством из них недостаточно где-то бросить скрипт оболочки в каталог, вам также нужно где-то добавить некоторую управляющую информацию (в конфигурационном файле, символическую ссылку, в качестве комментария в скрипте, ...).