Benutzer wechseln

T

Tobster

Mitglied
Thread Starter
Dabei seit
06.09.2004
Beiträge
83
Reaktionspunkte
0
Hi Leute,

ich tue mir etwas schwer dabei in der shell einen Benutzer zu wechseln. Ich denke mal das geht mit SU nur wenn ich es versuche kommt immer sorry. Vielleicht kann mir einer helfen.
 
login: NeuerName
password: Passwort

oder habe ich was falsch verstanden ?
 
Mit su wechselst du zum root - willst du das? Dann musst du das root-PW eingeben, sofern du eines vergeben hast.

Benutzer wechseln:

login Benutzername

...dann PW eingeben, fertig.
 
$ su <Benutzer>
wechselt zum angegebenen Benutzer.

Wenn man das als root ausführt, braucht man dafür sogar das Benutzerpasswort nicht zu kennen.
 
aguilera schrieb:
$ su <Benutzer>
wechselt zum angegebenen Benutzer.

Wenn man das als root ausführt, braucht man dafür sogar das Benutzerpasswort nicht zu kennen.

Kann ich so nicht nachvollziehen. Bei

su Benutzername

werde ich nicht nach dem root-PW, sondern nach dem Benutzer-Passwort gefragt. Also reicht auch ein login Benutzername.

Mit "nur" su logge ich mich als root ein.


::edit:: Ah, jetzt kann ich folgen. Du meinst "sudo su Benutzername"...
 
Wenn man in der shell nur schnell den Benutzer wechseln will, reicht imho
$ su <benutzername>
aus. Klar braucht man das Benutzerpasswort.

$ login
macht im Prinzip das gleiche (steht sogar in der man-page), nur manchmal ist login auf der Konsole ausgeschaltet (z.B. bei unserem Server, wenn man über ssh reinkommt). Außerdem steht da halt der komplette Login- Prozess hinter.

Ausschlaggebend ist allerdings: bei login sind drei Buchstaben mehr zu tippen! :ugly: ;)
 
aguilera schrieb:
Ausschlaggebend ist allerdings: bei login sind drei Buchstaben mehr zu tippen!

DAS ist natürlich ein Argument! :D



PS: Bei Tab-Vervollständigung sind es inkl. Leerzeichen nur zwei Buchstaben mehr... ;-)
 
Ok danke für eure hilfe.
 
Es gibt deren 3 Möglichkeiten:

su <Kurzname>
login <Kurzname>
ssh <Kurzname>@127.0.0.1 (oder eben die IP-Adresse des Remote-Rechners)

Benutzt man su, sind einige Shell-Umgebungsvariablen nicht auf den neuen Benutzer umgestellt, z.B. befindet man sich immer noch im vorherigen Verzeichnis. Ist man selbst User ohne Adminrechte und wechselt per su zu einem User mit Adminrechten, dann merkt sich das der Authentication-Server und man bekommt plötzlich Admin-Rechte im Finder und auch anderen Programmen. Deshalb ist su mit Vorsicht zu genießen.

Mit login gelangt man dann direkt in das Homeverzeichnis des jeweiligen Benutzers. Vorteil: man muss, wenn man als non-Admin zu einem Admin wechselt, keine Angst haben, plötzlich in anderen Applicationen Admin-Rechte zu bekommen. Man sollte sich jedoch nie als root einloggen! Bei login werden auch die Umgebungsvariablen des jeweiligen Users benutzt, d.h. die Shell könnte sich auch plötzlich von bash auf tcsh ändern.

ssh, empfiehlt sich anstelle von Login, sobald man nicht an dem Computer sitzt wo man sich einloggt. Hierzu muss man den ssh-Server konfigurieren. Jedoch sollte man dem root-User nicht erlauben, sich per ssh einzuloggen. Leider hat hier Apple die Hausaufgaben nicht gemacht und lässt per default den root User zu! ssh benutzt die eigenen Umgebungsvariablen, d.h. man bleibt in der eigenen Shell mit der eigenen Shell-Configdatei, bei bash z.B. ~/.bashrc.
 
ich habe ein macbook

um die die Datei hosts zu ändern muss ich schinbar root sein ... ich gehe in die shell ungebe su ein da kommt ein passwort abfrage ....

ich habe seiner zeit bei der einrichtung nur zwei passörter vergeben .... und die nimmt er nicht an und gehe ich in die systemverwaltung benutzer rein sehe ich den root user gar nicht ... was nun? ich komme nicht an die datei ran ausserdem würde mich brennend itressieren wie ich den root user berabeiten kann und ein passwort vergeben kann???

Danke für die schnelle hilfe ..
 
@xamibor:

Du mußt z.B. sudo vi /etc/hosts
eingeben (bzw. den editor deiner Wah). Anschließend dein admin-passwort.

Gruß win2mac
 
Besser Du benutzt anstelle von su Sudo. Dazu musst Du als admin Benutzer angemeldet sein. Es funktioniert so:
sudo befehl
Jetzt musst Du das Kennwort des aktiven Benutzers eingeben (unsichtbar).
Dann wird das Kommando befehl mit root privilegien ausgeführt.

Beispiel:
Code:
sudo vi /etc/hosts
Öffnet die hosts Datei mit Schreibberechtigung. dabei ist zu berücksichtigen, dass die Datei auch für root schreibgeschützt ist. Sichern also mit :w!
 
Benutzt man su, sind einige Shell-Umgebungsvariablen nicht auf den neuen Benutzer umgestellt, z.B. befindet man sich immer noch im vorherigen Verzeichnis. [...] Deshalb ist su mit Vorsicht zu genießen.
Man muss es nur richtig machen
Code:
su - $BENUTZERNAME
die manpage hätte es dir auch verraten

Mit login gelangt man dann direkt in das Homeverzeichnis des jeweiligen Benutzers. Vorteil: man muss, wenn man als non-Admin zu einem Admin wechselt, keine Angst haben, plötzlich in anderen Applicationen Admin-Rechte zu bekommen. Man sollte sich jedoch nie als root einloggen! Bei login werden auch die Umgebungsvariablen des jeweiligen Users benutzt, d.h. die Shell könnte sich auch plötzlich von bash auf tcsh ändern.

mit login wird etwas anderes gemacht als mit su.
mit login startet man eine neue login-shell. da werden dann, je nach shell auch andere scripte ausgeführt.

ssh, empfiehlt sich anstelle von Login, sobald man nicht an dem Computer sitzt wo man sich einloggt. Hierzu muss man den ssh-Server konfigurieren. Jedoch sollte man dem root-User nicht erlauben, sich per ssh einzuloggen. Leider hat hier Apple die Hausaufgaben nicht gemacht und lässt per default den root User zu! ssh benutzt die eigenen Umgebungsvariablen, d.h. man bleibt in der eigenen Shell mit der eigenen Shell-Configdatei, bei bash z.B. ~/.bashrc.
ssh hat mit dem lokalen shellzugang ja jetzt mal gar nix zu tun. ssh localhost zu empfehlen statt einfach su - zu nutzen ist schon seltsam.
Ausserdem kann das auch schief gehen da es, gerade was die Umgebungsvariablen angeht auf die konfig des servers ankommt. den kann man nämlich auch so konfigurieren das er einige variablen vom client des user übernimmt! Oft z.b. die spracheinstellungen.

wenn ein user unbedingt befehle unter einem anderen username ausführen können soll empfiehlt es sich sudo zu konfigurieren!
 
Hihihi, ob cilly das nach gut vier Jahren noch interessiert :D
 
Zurück
Oben Unten