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?

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.


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


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.