Ich habe einige Probleme beim Verstehen sudo
. Ich bin an einem Terminal als Nicht-Administrator / Nicht-Root-Benutzer angemeldet. Dieser "normale" Benutzer befindet sich nicht in der sudoers-Datei (und sollte meiner Meinung nach auch nicht sein).
Jetzt versuche ich, einen Befehl auszuführen, der Administrator- / Root-Rechte und auch Zugriff auf Verzeichnisse meines normalen Benutzers erfordert - daher bin ich nicht in der Lage
zu einfach su
in einen Admin- oder Root-Benutzer.
Nach meinem Verständnis sudo -u root
sollte aber den Trick machen
Es akzeptiert das Passwort für nicht root
(oder admin wenn ich es mit meinem normalen probiere
admin user). Es akzeptiert nur das Passwort des "normalen" Benutzers, wie es scheint
um anzuzeigen, dass die -u username
Option funktioniert nicht so, wie ich es erwarte
Arbeit.
Meine Erwartung ist das sudo -u root some_command
ausführt some_command
mit den Rechten von root und fragt daher auch nach dem Passwort von root.
Offensichtlich nicht.
TL; DR: Wie führe ich einen Befehl aus, der einen Administrator erfordert? Privilegien UND hat Zugriff auf die Dateien des "angemeldeten (normalen) Benutzers" ohne Hinzufügen des normalen Benutzers zur sudoers-Datei?
Ich habe den Root-Benutzer unter Mac OS X 10.7 aktiviert.
quelle
su
ohne Angabe eines Benutzers sind Sie gut.Wenn Sie unter Mac OS X nicht wirklich einen separaten Root-Benutzer "brauchen", ist es oft viel einfacher, einfach eine Root-Shell zu verwenden
sudo -s
In Ihrem Fall sind Benutzer ohne Administratorrechte nicht in / etc / sudoers enthalten. Sie müssten also die Benutzer / Gruppen, die sudo akzeptieren soll, manuell hinzufügen.
Sobald dies erledigt ist, erbt sudo fast alle netten Dinge von Ihrer Shell, wie PATH und andere Variablen, erhöht aber Ihren Nicht-Administrator-Benutzer sofort auf root. Der Nachteil beim Aktivieren von root ist die Zeit und das Sicherheitsrisiko, dass sich jemand lokal oder remote als root anmeldet.
Merken Sie sich,
sudo
fragt nach dem Passwort des Benutzers, der sich im Anmeldefenster angemeldet hat.su -
will das Passwort des root-Accounts,sudo -s
Verwendet die Eskalation von Berechtigungen, um das Kennwort des aktuellen Benutzers zu verwenden, um root zu werden, ohne eines zu benötigen (oder in Ihrem Fall die tatsächliche ) root-Passwort.quelle
Wenn Sie ein Standardkonto verwenden (normalerweise aus Sicherheitsgründen) und einen Administrator-Benutzernamen und ein Kennwort kennen, können Sie dies tun
su -l admin_user
. Nachdem Sie das Passwort eingegeben haben, sind Sie nun für alle Effekte der Administrator. Dann kannst dusudo
nach Herzenslust. Jetzt geradelogout
um zu Ihrem ursprünglichen normalen Konto zurückzukehren.quelle
Meine ausführbare Terminal-Datei kann nicht das erreichen, was sie selbst will, aber indem sie diese nervige Operation ausführt:
Öffnen Sie App & gt; Dienstprogramm & gt; Terminal.app.
~ Benutzer $ sudo / PATH_TO_TERMINAL_EXEC
Administratorrechte erhalten;
Erledigt.
... das ist es, was in terminal_executable steckt
... was ich schon ausprobiert habe ist
oder
Ich habe gerade das Fenster #! / bin / bash erhalten, nachdem ich nach dem Passwort gefragt habe, kann aber aufgrund von Berechtigungen keinen Code ausführen.
quelle