Como criar usuário de serviço para o aplicativo e executá-lo na inicialização desse usuário

0

Eu tenho um aplicativo que eu deveria executar na inicialização.

Eu criei o usuário do sistema para esse aplicativo com useradd -r serviceUser e fiz dele o proprietário do diretório do aplicativo.

Em seguida, escrevo o script de inicialização e o adiciono para iniciar automaticamente com update-rc myserver.sh defaults

Meu script em /etc/init.d/myserver.sh

#!/bin/sh

start() {
  cd "/my_server_dir/"
  su -c "./myServer" serviceUser
}

if [ "x$1" = "xstart" ]
then
    start
    exit 0
fi

Quando eu corro do meu usuário de login real /etc/init.d/myserver.sh start , promt me pergunta senha. Mas eu não defini nenhuma senha.

Eu acho que em algum lugar eu estava errado.

    
por zella 17.08.2017 / 11:09

1 resposta

0

Não tenho certeza do que você espera, chamar su sempre solicitará uma senha, a menos que você a execute como root, que faz tudo sem avisar ou com o sudo, que solicita a senha do usuário.

Portanto, se você quiser usar esse serviceUser com su -c e sem exigir direitos sudo, execute sudo passwd serviceUser e defina uma senha.

    
por Ziazis 17.08.2017 / 13:07