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

10

Obecnie jestem zalogowany jako normalny użytkownik w OS X.

Chciałbym rozpocząć sesję terminalową i zalogować się jako użytkownik foo.

czy to możliwe?

macek
źródło
1
Próbowałeś używać su - foo?
kraftan

Odpowiedzi:

16

Próbowałeś używać su - foo?

Aktualizacja na podstawie komentarzy:

Puste -mówi suo konieczności pełnego logowania. To znaczy (ze strony podręcznika),

Środowisko jest odrzucane, z wyjątkiem HOME, SHELL, PATH, TERM i USER. HOME i SHELL są modyfikowane jak wyżej. USER jest ustawiony na docelowy login. PATH jest ustawiony na `` / bin: / usr / bin ''. TERM jest importowany z bieżącego środowiska. Wywołana powłoka jest docelowym loginem, a su zmieni katalog na katalog domowy docelowego logowania.

Tak więc, jeśli potrzebujesz innych zmiennych środowiskowych, takich jak DISPLAYotwieranie programów korzystających z serwera okien, musisz pominąć puste -.

Kraftan
źródło
Logowanie działa poprawnie, ale próbowałem mate myfilei pojawia się błąd „nie udało się połączyć z WindowServer”. To nie jest krytyczna poprawka, ale byłoby dobrze, aby to działało.
Macek
2
@macek: To dlatego, że do terminalu nie jest podłączony Window Server (aqua). Jeśli użytkownik jest aktualnie zalogowany w środowisku graficznym, spróbuj open -a TextMate myfile.
Georg Schölly,
1
@macek: Nie jestem pewien, ale może su foomógłbym to zrobić. Pominięcie -zachowuje wartości zmiennych środowiskowych.
kraftan
Dziękuję za pomoc. @kraftan, być może zaktualizuj odpowiedź, dodając oba z krótkim wyjaśnieniem. :)
Macek
@Georg, to nie działało.
Macek
0

W systemie MacOS X. login


$ login
login: your username
hasło: your password
Ostatnie logowanie: Dzień Miesiąc Data GG: MM: SS on ttys000
$ whoami
twoja nazwa użytkownika

Miałem problemy z uruchomieniem nanopo użyciu su - admin do edycji .bashrcpliku. Podczas dostosowywania rozmiaru okna tekst byłby zniekształcony. Odpowiedź, którą znalazłem poniżej, wyjaśnia dlaczego i poprowadziła mnie we właściwym kierunku.

„Emulator terminala wyśle ​​sygnał zmiany okna (SIGWINCH) do powłoki, która została uruchomiona wraz z emulatorem terminala. Powłoka ma przekazać ją swoim potomkom - ale po przejściu na inne konto użytkownika (używając su lub w inny sposób), nie będzie w stanie zasygnalizować tej powłoce, ponieważ działa ona jako inny użytkownik. Zatem powłoka su'd i wszelkie uruchamiane z niej programy będą nadal używać starego rozmiaru okna, nie zważając na fakt, że prawdziwe okno rozmiar się zmienił. ” - telcoM

Jan
źródło
-1

Próbowałem suwiele razy, ale sudołatwiej mi było. Możesz spróbować

sudo -u <username>
iPav
źródło
Moje sudo nie wydaje się mieć -uopcji
Xiao