Jak zalogować się jako inny użytkownik bash w terminalu?


16

Muszę sprawdzić, czy moja strona internetowa działająca lokalnie na nginx nie działa z powodu problemów z uprawnieniami. Moje skrypty sieciowe działają jako _wwwużytkownik, więc próbowałem się przełączyć na, _wwwale to nie działa:

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

Jak mogę to zrobić w 10.8.5?

Odpowiedzi:


12

sudoSię niepowodzeniem, ponieważ _wwwużytkownik ma /usr/bin/falsejako jego powłoki, powodując sesję do końca jak najszybciej przełączeniu użytkownika.

Rozwiązaniem jest użycie -sopcji, która uruchomi twoją bieżącą powłokę zamiast _wwwpowłoki:

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

Właśnie przetestowany na systemie 10.9, ale powinien działać dobrze na 10.8.


zwykli użytkownicy nie powinni korzystać sudo.
CousinCocaine

1
@CousinCocaine zdefiniować normalne? czy jesteśmy normalni?
Ray Foss,

16

Użyj login:

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


1
Nie sądzę, że użytkownicy systemu mają hasła. Monituje o hasło, a pusty nie działa.
Maciej Sz

3
to jest właściwy sposób, aby to zrobić.
CousinCocaine

Jak skomentował PO, nie będzie to działać dla użytkowników, którzy nie mają haseł (których _wwwużytkownik nie będzie miał domyślnie, ani nie powinien go mieć).
mjturner
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.