Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>sudo im Terminal

sudo im Terminal

Skywalker
Skywalker17.06.1307:09
Moin, moin,

Mal eine Frage:
Mit dem Befehl sudo soll man sich im Terminal eines normalen Users als Admin anmelden können.
Das funktioniert bei mir aber nicht.
Wenn ich sudo+Admin Name eingebe, dann wird nach dem Passwort gefragt.
Gebe ich jetzt aber das Passwort meines Admin ein, dann kommt die Meldung, das das Passwort falsch ist.
Oder geht sudo nicht mit einem normalen Admin, sondern nur mit dem Super User?
0

Kommentare

BlackSeb
BlackSeb17.06.1307:27
sudo = superuser do 😉
„MacBook Pro M3 Max (14C/36GB) / iPhone 13 Pro (256GB) / iPad 7. Generation (32GB) / Apple TV 4K (2. Generation)“
0
Skywalker
Skywalker17.06.1307:37
Also muss ich den superuser extra aktivieren, damit sudo im Terminal funktioniert?
0
X-Jo17.06.1307:49
Ein Benutzer mit Verwaltungsrechten (Admin-Account) genügt.
0
jgraux17.06.1308:02
Du kannst Dich im Terminal auch als anderen User einloggen, mit su.
Wenn Dein Admin-User z.B. karl heißt, dann tippst Du

su - karl

und danach das Passwort Deines Admin-Users.
Danach kannst Du dann (als Admin) auch sudo aufrufen.
0
Marcel Bresink17.06.1308:52
Mit dem Befehl sudo soll man sich im Terminal eines normalen Users als Admin anmelden können.

Das stimmt so nicht. "sudo" heißt "switch user and do". Mit dem Befehl kann ein Admin einen Befehl als irgendein anderer Benutzer ausführen. Gibt man keinen bestimmten Benutzer an, dann wird der Befehl als "alleroberster Systemadministrator" (Superuser root) ausgeführt.
Gebe ich jetzt aber das Passwort meines Admin ein, dann kommt die Meldung, das das Passwort falsch ist.

Ja, auch das geht nämlich anders. Bei sudo musst Du Dein eigenes Kennwort angeben, nicht das Kennwort des Nutzers, auf den Du umschaltest.

Soll ein Nicht-Admin sudo ausführen, müsstest Du vorher per "su" (switch user) auf einen Admin-Benutzer umschalten, wie jgraux schon erwähnt hat. Da ist es dann tatsächlich so, dass das Kennwort des Benutzers eingegeben werden muss, auf den man umschaltet.
0
sierkb17.06.1309:08
Siehe das, was BlackSeb und jgraux gesagt haben:

sudo = super user do

Dazu musst Du aber erstmal super user sein bzw. jemand, dem das Recht eingeräumt worden ist, dieses Kommando überhaupt erfolgreich auszuführen. Genau das darf und kann standardmäßig unter OSX nämlich nicht jeder, sondern im Grunde nur 2 Leute: der super user (root) selber und eine weitere Person, nämlich der admin-Benutzer bzw. jener Benutzer, der mit Admin-Rechten versehen und festgelegt worden ist. Nur diese beiden Personen dürfen das sudo-Kommando überhaupt erst ausführen, alle anderen Nutzer nicht. Festgelegt, welcher Benutzer bzw. welche Benutzergruppe in Bezug auf das sudo-Kommando welche höheren Weihen erlangen dürfen soll, ist das in der Datei /etc/sudoers. Standardmäßig stehen unter OSX dort nur der super user (root) selbst und eben der Admin-Nutzer drin.

Im Klartext: das sudo-Kommando darf nicht jeder ausführen. Das dürfen standardmäßig nur root und der Admin-Benutzer ausführen, und als normaler Nutzer muss man erstmal Admin-Nutzer werden bzw. in dessen Rolle schlüpfen, um als dieser (und damit mit höheren Rechten ausgestattet) dann das sudo-Kommando überhaupt erst ausführen zu dürfen. Ist man kein Nutzer mit derlei Rechten, kommt es zu der Verweigerung, die Du erlebt und beschrieben hast.

Und in die Rolle des Admins schlüpft man, so wie jgraux richtig geschrieben hat, mittels

su Admin-Name

und dessen Passwort.

Damit ist man also in die Rolle des Admins geschlüpft. Und erst dann kann man mittels

sudo Programm/Anweisung

und dem Admin-Passwort das betreffende Programm bzw. die betreffende Anweisung mittels des sudo-Kommandos erfolgreich ausführen (lassen).
0
SpaceHotte17.06.1309:20
BlackSeb
sudo = superuser do 😉
Nein, substitute user do. Mit sudo -u ist es möglich, einen Befehl als ein beliebiger anderer User auszuführen (sofern man in der sudoers steht), der Standard ist nur root. Ich empfehle dazu die man pages:
sudo - execute a command as another user
0
sierkb17.06.1309:21
Nitpicking:
Das stimmt so nicht. "sudo" heißt "switch user and do".

Ganz korrekt heißt "su" auch nicht switch user, sondern eigentlich: substitude user bzw. substitude user identity

sudo heißt demzufolge: substitude user identity (and) do

man su
su -- substitute user identity
[..]The su utility requests appropriate user credentials via PAM and switches to that user ID (the default user is
the superuser). A shell is then executed.
[..]
man sudo
sudo - execute a command as another user
[..]
sudo allows a permitted user to execute a command as the superuser or another user, as specified in the sudoers file.

The real and effective uid and gid are set to match those of the target user as specified in the passwd file and the group vector is initialized based on the group file (unless the -P option was specified). If the invoking user is root or if the target user is the same as the invoking user, no password is required.
Otherwise, sudo requires that users authenticate themselves with a password by default (NOTE: in the default configuration this is the user's password, not the root password). Once a user has been authenticated, a time stamp is updated and the user may then use sudo without a password for a short period of time (5 minutes unless overridden in sudoers).
[..]
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.