Redhat script de inicialização melhor prática

3

Eu quero escrever um script de serviço de inicialização que execute o programa como um usuário específico (e não como root). Eu então chkconfig este script e instalo em meu nível de produção.

Eu poderia colocar um comando su no script, mas queria saber se existe uma prática recomendada para isso.

Obrigado Garry

    
por Garry Harthill 19.06.2009 / 15:38

3 respostas

9

Você pode apenas su . Você não precisará da senha porque o script será executado inicialmente como root.

Existe também o comando runuser .

Se você usa /etc/init.d/functions , pode usar a função daemon , que tem a opção de especificar o usuário para executar como.

Eu pessoalmente balançaria em direção a este último, todas as outras coisas sendo iguais.

    
por 19.06.2009 / 16:44
3

Se você escrever um script de inicialização no estilo redhat, a função daemon terá a opção --user .

daemon --user=$runasuser --pidfile="$PIDFILE" $yourbinary $youroptions
    
por 19.12.2012 / 17:32
0

A melhor prática pode ser usar o sudo e modificar os arquivos necessários para garantir que isso aconteça automaticamente sem que seja solicitada uma senha. Se você não se importa com a senha no script, acho que você pode fazer algo como

 echo password | sudo -S -u username command

O que você está fazendo? Talvez exista uma maneira melhor?

EDITAR

Obrigado TCampbell

    
por 19.06.2009 / 15:50