Confuso no usuário e su no linux

1

Como eu poderia executar um script como um usuário específico (não-raiz)? Como isso?

sudo su - john /usr/share/script.pl para o usuário john?

    
por Cratylus 08.08.2013 / 23:16

3 respostas

1

Você pode passar -c para su para executar um comando. Se sudo permitir que você execute o comando, isso deve funcionar:

sudo su - john -c "/usr/share/script.pl"

Tenha em mente que, passando - para su , seu ambiente será o mesmo que se você tivesse efetuado login, portanto, se o script depender de variáveis de ambiente (como o caminho atual), talvez seja necessário fazer ajustes.

    
por 08.08.2013 / 23:30
0

Outras respostas dão respostas melhores à sua pergunta específica, eis algumas explicações úteis.

su = alternar usuário

sudo = troca usuário e faz X (sem opções extras, o 'usuário' é 'root')

Para a maioria dos usuários, su não é permitido sem usar sudo , o que significa que o usuário pensa duas vezes sobre o que está fazendo e, geralmente, solicita novamente a senha.

    
por 10.08.2013 / 08:01
0

use a opção -c como

sudo su - john -c "/usr/share/script.pl"

Ou, em vez de definir o usuário como acima, você pode definir uma tarefa cron para o usuário específico usando o seguinte comando

crontab -u john -e

em seguida, defina o cron, ele irá adicionar trabalho cron para o usuário específico melhor, em seguida, definindo o usuário em um cron do root

    
por 10.08.2013 / 07:19