Як увійти як інший користувач 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'shell:

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

Просто перевірений на системі 10.9, але він повинен працювати нормально на 10.8.


звичайні користувачі не повинні використовувати sudo.
CousinCocaine

1
@CousinCocaine визначити нормальним? ми нормальні?
Рей Фосс

16

Використання login:

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


1
Я не думаю, що користувачі системи мають паролі. Тут буде запропоновано ввести пароль, а порожній не працює.
Maciej Sz

3
це правильний спосіб зробити це.
CousinCocaine

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