Я хочу иметь возможность запускать задание cron как пользователь tomcat6. Я пытался su tomcat6
но я не знаю пароль по умолчанию для этого пользователя. Должен ли я запускать их как tomcat6 (если я могу узнать пароль - это в Ubunbu 9.04) или запускать их как другой пользователь, но предоставить пользователю tomcat6 доступ к необходимым файлам? Если я выберу второй вариант, должен ли я создать группу и добавить в нее tomcat6, а также любых других пользователей, которым может потребоваться запустить сценарий, запускаемый заданием cron?
Я не уверен, есть ли у вас root на этом сервере, не могли бы вы уточнить? Может показаться, что вы этого не делаете, поскольку вас просили ввести пароль, но, с другой стороны, вы упоминаете о создании группы, что в принципе вы могли бы сделать только с каким-либо корневым доступом.
Если у тебя есть sudo
доступ, как ожидалось в Ubuntu, вы можете легко стать tomcat6 следующим образом:
sudo su - tomcat6
Или отредактируйте crontab tomcat6 напрямую:
sudo crontab -u tomcat6
Конечно, вы также можете добавить задание непосредственно в системный crontab, не забывая использовать tomcat6 в шестом столбце:
sudo vim /etc/crontab
В остальном, если это задание cron должно записывать файлы, принадлежащие разным пользователям, я, вероятно, использовал бы выделенную группу (скажем, tomcat6 - проверьте, есть ли она у вас уже). Затем для каждого файла в этом наборе:
sudo chgrp tomcat6 file
chmod g+rw file