Comment se connecter en tant qu'utilisateur différent dans le terminal?

10

Je suis actuellement connecté en tant qu'utilisateur normal sous OS X.

Je souhaite démarrer une session de terminal et me connecter en tant qu'utilisateur foo.

Est-ce possible?

macek
la source
1
Avez-vous essayé d'utiliser su - foo?
kraftan

Réponses:

16

Avez-vous essayé d'utiliser su - foo?

Mise à jour basée sur les commentaires:

Le vide -indique sude faire une connexion complète. Cela signifie (à partir de la page de manuel),

L'environnement est ignoré à l'exception de HOME, SHELL, PATH, TERM et USER. HOME et SHELL sont modifiés comme ci-dessus. USER est défini sur la connexion cible. PATH est défini sur `` / bin: / usr / bin ''. TERM est importé de votre environnement actuel. Le shell invoqué est celui de la connexion cible, et su changera le répertoire en répertoire personnel de la connexion cible.

Donc, si vous avez besoin d'autres variables d'environnement, comme DISPLAYpour ouvrir des programmes qui utilisent le serveur de fenêtres, vous devez omettre le vide -.

kraftan
la source
La connexion fonctionne correctement mais j'ai essayé mate myfileet j'obtiens une erreur "échec de connexion au WindowServer". Ce n'est pas une solution critique, mais ce serait formidable de faire fonctionner cela.
macek
2
@macek: C'est parce qu'il n'y a pas de serveur Windows (aqua) attaché au terminal. Si l'utilisateur est actuellement connecté dans l'environnement graphique, essayez open -a TextMate myfile.
Georg Schölly
1
@macek: Je ne suis pas sûr, mais su fooje pourrais peut - être le faire. Omettre la -conserve les variables d'environnement de valeurs.
kraftan
Merci pour l'aide. @kraftan, peut-être mettre à jour la réponse pour inclure les deux avec une brève explication. :)
macek
@Georg, cela ne semblait pas fonctionner.
macek
0

Sous MacOS X, utilisez login


$ login
login: your username
mot de passe: your password
Dernière connexion: Jour Mois Date HH: MM: SS sur ttys000
$ whoami
votre nom d'utilisateur

J'avais des problèmes en cours d'exécution nanoaprès avoir utilisé su - admin pour modifier un .bashrcfichier. Lors du réglage de la taille de la fenêtre, le texte se brouillait. La réponse que j'ai trouvée ci-dessous explique pourquoi et m'a conduit dans la bonne direction.

"L'émulateur de terminal enverra un signal de changement de fenêtre (SIGWINCH) au shell qui a été démarré avec l'émulateur de terminal. Le shell est censé le transmettre à ses enfants - mais lorsque vous êtes passé à un autre compte utilisateur (en utilisant su ou autre), il ne sera pas en mesure de signaler ce shell car il s'exécute en tant qu'utilisateur différent. Ainsi, le shell su'd et tous les programmes exécutés à partir de celui-ci continueront d'utiliser l'ancienne taille de la fenêtre, sans se soucier du fait que la vraie fenêtre la taille a changé. " - telcoM

John
la source
-1

J'ai essayé suplusieurs fois mais j'ai trouvé que sudoc'était plus facile. Tu peux essayer

sudo -u <username>
iPav
la source
Mon sudo ne semble pas avoir d' -uoption
Xiao