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


16

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

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

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

Ответы:


12

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

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

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

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


обычные пользователи не должны использовать sudo.
Кузен Кокаин

1
@ CousinCocaine определить нормально? мы нормальные?
Рэй Фосс

16

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

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


1
Я не думаю, что у пользователей системы есть пароли. Он запрашивает пароль, и пустой не работает.
Maciej Sz

3
это правильный способ сделать это.
Кузен Кокаин

Как прокомментировал ОП, это не будет работать для пользователей, у которых нет паролей (которых у _wwwпользователя не будет по умолчанию, и при этом он не должен быть).
mjturner
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.