Führen Sie sudo von einem Konto aus, das kein Administrator ist

19

Okay, ich bereite mich auf die Anschaffung einer neuen Maschine vor und überlege, wie ich die Dinge besser organisieren kann. Derzeit verwende ich ein Administratorkonto als Hauptanmeldekonto, aber ich weiß, dass dies wahrscheinlich nicht die beste Vorgehensweise ist. Daher möchte ich auf meinem Computer auf ein separates Administratorkonto und ein Nicht-Administratorkonto wechseln.

Ich bin jedoch ein Entwickler und arbeite viel im Terminal. Manchmal muss ich Befehle über ausführen sudo, aber das funktioniert natürlich nicht so, wie ich es normalerweise ausführen würde (geben Sie sudo foodas Kennwort des aktuellen Kontos ein) ). Was ich wissen möchte, ist, dass ich die Details für ein Administratorkonto auf meinem Computer kenne. Ist es möglich, Befehle über sudo(oder ähnlich) von einem Nicht-Administratorkonto aus auszuführen , ohne dass ich mich jedes Mal bei einem anderen Konto anmelden muss? Könnte ich zum Beispiel irgendwie den Dialog zur Eingabe des Administratorpassworts auslösen?

Haravikk
quelle
Ich bin mir nicht sicher, ob dies mit OSX funktionieren würde, aber wenn ich Lösungen auf Linux-Systemen (zB Ubuntu) sehe, bei denen der Benutzer 'su' über 'sudo' ausführen darf. Auf diese Weise können Sie einfach 'sudo su' eingeben, Ihr Benutzerpasswort eingeben und erhalten eine Root-Shell. Ich liebe diese Lösung, weil kein separates Admin-Konto und Passwort erforderlich ist
Weberik
Ich denke, es ist erwähnenswert, dass es auf UNIX-ähnlichen Systemen vollkommen in Ordnung ist, in einem sudoer-Konto zu laufen, wenn Sie der Administrator sind. Das Äquivalent zu Windows-Xp-esque admin würde die ganze Zeit bei root angemeldet sein.
Linuxios

Antworten:

25

Scheint, als könnten Sie den SU- Befehl verwenden, um in Terminal zu einem anderen Benutzer zu wechseln. Sobald Sie zum Administrator gewechselt haben, können Sie sudo-Befehle verwenden, die mit dem Kennwort des Administratorkontos verknüpft sind.

Wenn ich zum Beispiel an einem der Macs meines Endbenutzers bin und etwas mit erhöhten Rechten ausführen muss (zum Beispiel angezeigt), ohne mich abzumelden und in das Administratorkonto (ladmin), würde ich Folgendes verwenden (fett gedruckt):

Mr-Rabbits-Mac: ~ notadminuser $ su ladmin

Dies fordert Sie zur Eingabe des Passworts für das Ladmin-Konto auf. Sobald Sie es eingegeben haben, wird eine Bash-Eingabeaufforderung angezeigt. Von hier aus kann ich alle gewünschten sudo-Befehle ausführen und das Passwort von ladmin nach Bedarf eingeben ...

bash-3.2 $ sudo chown user2 / some / ordner

Dadurch wird der Befehl chown unter Verwendung des jetzt angemeldeten ladmin-Benutzers ausgeführt, wobei das Passwort des ladmin-Kontos abgefragt wird. Wenn Sie fertig sind, können Sie exit eingeben , um zur Eingabeaufforderung Ihres angemeldeten Benutzers zurückzukehren.

Screenshot eines ähnlichen Prozesses, bei dem nur sudo zum Ausführen des Befehls ls verwendet wird (nur zum Beispiel). Bildbeschreibung hier eingeben

Mr Rabbit
quelle
1
Aha! Das scheint genau das zu sein, was ich brauche, danke! Keine Notwendigkeit, sudoers-Datei hinzuzufügen, ich hatte das Gefühl, es gäbe eine Möglichkeit, dies zu tun. Ich konnte es mir nicht vorstellen, danke für die großartige Antwort!
Haravikk
4

Geben Sie loginim Feld Terminal ein Leerzeichen ein your admin nameund drücken Sie die Eingabetaste. Geben Sie dann Ihr Administratorkennwort ein, drücken Sie die Eingabetaste und Sie sind als Administrator angemeldet, der sudo-Befehle ohne zusätzliche Konfiguration oder zu ändernde Dateien ausgeben kann.

Seisdrum
quelle
4

Fügen Sie der sudoersDatei Ihren vorhandenen Benutzernamen hinzu. Verwenden Sie dazu den visudoBefehl und fügen Sie folgende Zeilen hinzu:

Benutzerberechtigungsspezifikation

root ALL = (ALL) ALL

<randomuser> ALL = (ALL) ALL

% admin ALL = (ALL) ALL

Oder was auch immer Sie sich geben möchten. dann kannst du sudo whatevernach Herzenslust rennen . Das ist /etc/sudoersübrigens so.

MDMoore313
quelle
4
-1 Niemals selbst bearbeiten /etc/sudoers. Verwenden Sie visudo.
Max Ried
-4

Gehen Sie zum Verzeichnisdienstprogramm, entsperren Sie es und wählen Sie dann im Menü Bearbeiten die Option "Root-Benutzer aktivieren". Geben Sie ein eindeutiges Kennwort für das Root-Konto ein und geben Sie es zur Bestätigung erneut ein. Wenn Sie dies von jedem Konto aus erledigt haben, können Sie die Terminal.app öffnen. Führen Sie "login" aus und geben Sie root bei der Anmeldung ein und geben Sie dann das soeben eingerichtete root-Passwort ein. Sie sollten gut zu gehen sein! ;)

Andrew U.
quelle
9
Es ist nicht erforderlich, den Root-Benutzer dafür zu aktivieren.
Édouard
So könnte ich in jeden Mac gehen, der gebootet wird, Terminal.app öffnen und den LOGON-Befehl eingeben. Geben Sie root ein und was dann als Passwort? Bitte erleuchten Sie mich: /
Andrew U.
3
Ich meine, Sie müssen dem Root-Benutzer nicht ermöglichen, das zu tun, was das OP verlangt. Wenn Sie gehen und verwenden login, können Sie sich auch bei einem Administratorkonto anstelle von root anmelden.
Édouard