Recentemente configurei meu servidor para que meus usuários 'virtuais' do suPHP não possam fazer login usandoEste artigo
Meu problema agora é que antes, quando eu executava um rake
comando para meu aplicativo Ruby on Rails em execução no servidor, eu costumava su
entrar www-data
e executar o comando a partir daí - obviamente não posso mais fazer isso por causa do nologin.
Então, como usuário root, como posso executar comandos como outros usuários, mesmo que sejam nologin?
Responder1
Uma maneira é iniciar um shell para esse usuário (especificando explicitamente o shell):
sudo -u www-data bash
Isso iniciará um shell (bash) como o usuário especificado. Você pode então executar seu (s) comando (s) e sair (para retornar ao shell anterior)
Responder2
Como root você pode usar su -s /bin/sh $user
— a -s
opção substitui o shell configurado para o usuário.