Como fazer login como um usuário bash diferente no terminal?

16

Preciso verificar se minha página da Web em execução localmente no nginx não funciona devido a um problema de permissão. Meus scripts da web estão sendo executados como _wwwusuário, então tentei mudar para _wwwmas isso não funciona:

maciek@macus:~$ sudo su - _www
Password:
maciek@macus:~$ whoami
maciek

Como posso fazer isso no 10.8.5?

Maciej Sz
fonte

Respostas:

12

O sudoestá a falhar porque o _wwwusuário tem /usr/bin/falsecomo sua concha, fazendo com que a sessão para terminar como o usuário assim que você mudou.

A solução é usar a -sopção, que executará seu shell atual em vez do _wwwshell:

$ sudo -s -u _www
Password:
$ whoami
_www

Apenas testado em um sistema 10.9, mas deve funcionar bem no 10.8.

mjturner
fonte
usuários normais não devem usar sudo.
CousinCocaine
1
@CousinCocaine define normal? somos normais?
Raio Foss
16

Use login:

$ login
login: username
Password:
Last login: Day Month Date HH:MM:SS on ttys000
$ whoami
username

grg
fonte
1
Eu não acho que os usuários do sistema tenham senhas. Ele solicita senha e vazio não funciona.
Maciej Sz
3
esta é a maneira correta de fazer isso.
CousinCocaine
Como o OP comentou, isso não funcionará para usuários que não têm senhas (que o _wwwusuário não terá por padrão, nem deveria ter uma).
mjturner