Dúvida: comando na inicialização, como usuário [Resolvido]

Iniciado por wtercato, 20 de Novembro de 2012, 19:30

tópico anterior - próximo tópico

wtercato

 Olá.

Preciso executar um comando na inicialização do Ubuntu 12.04, mas esse comando precisa ser executado como usuário, não como root.
Fiz diversas pesquisas e não encontrei uma solução definitiva, até porque todas apontam para a solução utilizando o /etc/rc.d/rc.local ou alguma variação dessa, e em todos são executados como root, e esse comando especificamente preciso executar como um usuário diferente (definido). A solução utilizando /home/$USER/.config/autostart também não funciona. Utilizo em um servidor que normalmente não é feito login após um reinicio.
Alguém saberia o que fazer?
Desde já muito obrigado.

jkmsjq

Citação de: wtercato online 20 de Novembro de 2012, 19:30
Olá.

Preciso executar um comando na inicialização do Ubuntu 12.04, mas esse comando precisa ser executado como usuário, não como root.

[...]

Se você postasse o comando não acha que ficaria mais fácil do fórum te ajudar... :-\
LinuxUser: 548942 / Dando um tópico como resolvido
"A verdade só é agressiva a quem vive de mentiras". Autor desconhecido.
Twitter: @jeisonkertesz

wtercato

#2
O comando é relativo a um aplicativo específico, que foi instalado:
/usr/bin/s3fs teste-bucket /mnt-s3 -odefault_acl="public-read"

O comando acima eu preciso que quem execute ele seja um usuário determinado, não o root, como acontece se eu apenas colocar o comando em /etc/rc.d/rc.local.

Existe a possibilidade de utilizar o fstab para "montar" esse armazenamento, mas no fstab eu não consegui colocar a diretiva acl = public-read, assim, no comando junto com a inicialização já resolveria.

zekkerj

Esse comando é gráfico? Se for, não rola.

Do contrário, você pode fazer de duas formas. Uma é criar um script em /usr/local/bin, e colocar esse script em modo "suid", pertencendo ao seu usuário.

A outra forma, que eu recomendo... adicione um "su usuario -c " à frente do comando. Ficaria assim:

su usuario -c '/usr/bin/s3fs teste-bucket /mnt-s3 -odefault_acl="public-read"'

Observe as aspas simples (') em torno do comando.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

wtercato

Olá.

Não é comando gráfico. Vou testar esse comando e depois reporto, basta apenas eu colocar isso no /etc/rc.d/rc.local que ele executará o comando como se fosse o usuário em questão logo na inicialização?

wtercato