A maneira como resolvi foi criar o usuário dedicado com senha, mas sempre gerenciar o serviço como root, o que não requer uma senha para su
. Para tornar isso seguro, criei um grupo karaf-admins
e adicionei a seguinte entrada a sudoers
:
%${KARAF_ADMINS} ALL=NOPASSWD: /etc/init.d/karaf-service
Isso permite que os membros desse grupo executem comandos como sudo /etc/init.d/karaf-service start
como root sem inserir uma senha. O karaf-service
-script em si mudará para o usuário dedicado que eu configurei. Contanto que os usuários em karaf-admins
não tenham permissão para editar o script de serviço ou o link simbólico (que eles não deveriam ter), isso é perfeitamente seguro.