¿Cómo iniciar sesión como un usuario bash diferente en la terminal?

16

Tengo que verificar si mi página web que se ejecuta localmente en nginx no funciona debido a un problema de permiso. Mis scripts web se están ejecutando como _wwwusuario, por lo que intenté cambiar _wwwpero esto no funciona:

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

¿Cómo puedo hacer esto en 10.8.5?

Maciej Sz
fuente

Respuestas:

12

El sudoestá fallando debido a que el _wwwusuario tiene /usr/bin/falsecomo su cáscara, haciendo que la sesión final tan pronto como el usuario que haya cambiado.

La solución es usar la -sopción, que ejecutará su shell actual en lugar del _wwwshell de:

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

Acabo de probar en un sistema 10.9 pero debería funcionar bien en 10.8.

mjturner
fuente
los usuarios normales no deberían usar sudo.
CousinCocaine
1
@CousinCocaine define normal? somos normales?
Ray Foss
16

Uso login:

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

grg
fuente
1
No creo que los usuarios del sistema tengan contraseñas. Solicita contraseña, y vacío no funciona.
Maciej Sz
3
Esta es la forma correcta de hacerlo.
CousinCocaine
Como comentó el OP, esto no funcionará para los usuarios que no tienen contraseñas (que el _wwwusuario no tendrá por defecto, ni debería tener una).
mjturner