Как войти в систему как другой пользователь bash в терминале?

16

Я должен проверить, не работает ли моя веб-страница, работающая локально на nginx, из-за проблемы с разрешениями. Мои веб-скрипты работают как _wwwпользователь, поэтому я попытался переключиться на, _wwwно это не работает:

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

Как я могу сделать это в 10.8.5?

Maciej Sz
источник

Ответы:

12

sudoНе удается , потому что _wwwпользователь имеет в /usr/bin/falseкачестве своей оболочки, в результате чего к концу сессии , как только вы перешли пользователь.

Решением является использование -sопции, которая будет выполнять вашу текущую оболочку вместо _wwwоболочки:

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

Только что протестирован на системе 10.9, но он должен нормально работать на 10.8.

mjturner
источник
обычные пользователи не должны использовать sudo.
Кузен Кокаин
1
@ CousinCocaine определить нормально? мы нормальные?
Рэй Фосс
16

Используйте login:

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

Grg
источник
1
Я не думаю, что у пользователей системы есть пароли. Он запрашивает пароль, и пустой не работает.
Maciej Sz
3
это правильный способ сделать это.
Кузен Кокаин
Как прокомментировал ОП, это не будет работать для пользователей, у которых нет паролей (которых у _wwwпользователя не будет по умолчанию, и при этом он не должен быть).
mjturner