sudo -u <username> <command>
sudo aceita um parâmetro do usuário, que o executará como esse usuário.
Como alternativa, já que você é root:
su <username> -c <command>
Estou usando o drupal e o Aegir. Aegir automatiza muitas tarefas de criação de sites. Aegir tem o controle do Apache, eu estou logen como root, e eu quero reiniciar o servidor Apache, mas eu quero fazê-lo em nome do Aegirs. Infelizmente eu não sei a senha Aegir, então basicamente eu estou querendo saber como sudo algo como outro usuário.
sudo -u <username> <command>
sudo aceita um parâmetro do usuário, que o executará como esse usuário.
Como alternativa, já que você é root:
su <username> -c <command>
su aegir
é o que você está procurando, supondo que o nome de usuário seja aegir
. man su
fornecerá mais informações sobre o comando su
.
Esse usuário provavelmente não conseguirá realmente reiniciar o Apache se estiver sendo executado na porta 80, a menos que seja especificamente configurado para ter permissão para fazer isso. Por padrão, root
é o único usuário que pode ligar um serviço a um número de porta baixo.
Você deve ser capaz de fazer o seguinte
runuser -l <username> -c <command>
por exemplo
runuser -l Aegir -c service httpd restart
Mas se você é root, você pode apenas su para o usuário sem uma senha.
su -l Ageir
J