Сервер приложений Glassfish предоставляет сценарии для администрирования сервера приложений, а также запуска и остановки их, и я хотел бы запретить пользователю root запускать этот сценарий. Причина в том, что некоторые ключевые разработчики забывают администрировать сервер как непривилегированный пользователь, и если они перезапускают сервер приложений как пользователь root, то сервер приложений должен запускаться пользователем root [*].
Невозможно избежать предоставления root-прав, и разработчики забывают, потому что они так привыкли делать это на своей локальной машине. Я хотел бы, чтобы asadmin
сценарий либо изменялся для запуска от имени непривилегированного пользователя, либо при желании отображал сообщение об ошибке при каждом запуске сценария пользователем root.
Bash shell используется.
[*]: Я пытался исправить права на файлы, но, несмотря на то, что я отследил множество файлов, которым владеет root, и выполнил chmod, приложение испытывает странные ошибки, и мне пришлось снова запускать от имени root.
источник
sudo
немного. Теперь это должно сделать работу.$@
он пуст, и я изменил его, чтобы использовать шаблон, найденный в другом месте.sudo
(она не использоваласьexec
), а родительский ожидал ее, так что в итоге вы получили бы полную таблицу процессов. Это все еще стоит добавитьexec
туда (если вы не собираетесьfi
запускать код от имени другого пользователя).