Come accedere come un altro utente nel terminale?


10

Sono attualmente registrato come utente normale in OS X.

Vorrei iniziare una sessione terminale e accedere come utente foo.

È possibile?


1
Hai provato a usare su - foo?
Kraftan,

Risposte:


16

Hai provato a usare su - foo?

Aggiornamento basato sui commenti:

Il vuoto -dice sudi effettuare un accesso completo. Ciò significa (dalla pagina man),

L'ambiente viene scartato ad eccezione di HOME, SHELL, PATH, TERM e USER. HOME e SHELL sono modificati come sopra. USER è impostato sul login target. PATH è impostato su `` / bin: / usr / bin ''. TERM viene importato dal tuo ambiente attuale. La shell invocata è il login di destinazione e su cambierà la directory nella home directory del login di destinazione.

Pertanto, se sono necessarie altre variabili di ambiente, ad esempio DISPLAYper aprire programmi che utilizzano il server di finestre, è necessario omettere il vuoto -.


Il login funziona bene ma ho provato mate myfilee sto ricevendo un errore "impossibile connettersi a WindowServer". Questa non è una soluzione critica, ma sarebbe bello farlo funzionare.
macek,

2
@macek: Questo perché non c'è nessun Window Server (aqua) collegato al terminale. Se l'utente è attualmente connesso nell'ambiente grafico, provare open -a TextMate myfile.
Georg Schölly,

1
@Macek: non ne sono sicuro, ma forse su foopotrei farlo. L'omissione di -mantiene le variabili di ambiente dei valori.
Kraftan,

Grazie per l'aiuto. @kraftan, forse aggiorna la risposta per includere entrambi con una breve spiegazione. :)
macek,

@Georg, non sembra funzionare.
macek,

0

Su MacOS X utilizzare login


$ login
login: your username
password: your password
ultimo accesso: giorno mese data HH: MM: SS su ttys000
$ il whoami
tuo nome utente

Ho riscontrato problemi durante l'esecuzione nanodopo aver utilizzato su - admin per modificare un .bashrcfile. Quando si regola la dimensione della finestra, il testo diventa confuso. La risposta che ho trovato di seguito spiega perché e mi ha portato nella direzione corretta.

"L'emulatore di terminale invierà un segnale Window Change (SIGWINCH) alla shell che è stata avviata insieme all'emulatore di terminale. La shell dovrebbe trasmetterlo ai suoi figli - ma quando si è passati a un altro account utente (usando su o altrimenti), non sarà in grado di segnalare quella shell perché è in esecuzione come un altro utente. Quindi la shell su'd e tutti i programmi eseguiti da essa continueranno a utilizzare le dimensioni della finestra precedente, ignari del fatto che la finestra reale la dimensione è cambiata. " - telcoM


-1

Ci ho provato sumolte volte ma ho trovato sudopiù facile. Puoi provare

sudo -u <username>

Il mio sudo non sembra avere -uun'opzione
Xiao,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.