Ich habe eine NOPASSWD-Zeile in / etc / sudoers (bearbeitet mit visudo
)
gatoatigrado ALL=(ALL) NOPASSWD: /bin/set-slow-cpufreq
Die Ausgabe ist jedoch,
gatoatigrado@coral:~> sudo -n /bin/set-slow-cpufreq
sudo: sorry, a password is required to run sudo
Diese Art von Befehlen funktioniert auf einem OpenSuSE-Rechner, jedoch nicht unter Ubuntu 11.10. Was mache ich falsch?
Hinweis : Ich kann keine relevanten Systemprotokollmeldungen finden, z tail -f /var/log/syslog
. B. über .
bearbeiten
Hier ist / etc / sudoers.
Defaults env_reset
# things I've tried copying from an opensuse machine
Defaults always_set_home
Defaults env_keep = "LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS XDG_SESSION_COOKIE"
root ALL=(ALL:ALL) ALL
gatoatigrado ALL=NOPASSWD: /bin/set-slow-cpufreq
%admin ALL=(ALL) ALL
%sudo ALL=(ALL:ALL) ALL
sudoers
, ist die Reihenfolge der Regeln nicht unerheblich.Antworten:
Sie sollten diese Zeile nach der Zeile mit der Regel für die
sudo
Gruppe einfügen, da in dersudoers
Manpage Folgendes angegeben ist:quelle
/etc/sudoers
und es funktioniert jetzt. Vollständige Erklärung hier für Leute, die interessiert sind: techglimpse.com/ubuntu-sudoers-nopasswd-option-not-workingWenn Sie die Befehle anpassen, über die
sudo
Sie sie ausführen können, sollten Sie diese Änderungen im Idealfall in einer separaten Datei unter vornehmen,/etc/sudoers.d/
anstatt diesudoers
Datei direkt zu bearbeiten . Sie sollten auch immer verwendenvisudo
, um die Datei (en) zu bearbeiten.Beispiel:
sudo visudo -f /etc/sudoers.d/slowcpu
Geben Sie Ihre Zeilenberechtigung ein:
gatoatigrado ALL=NOPASSWD: /bin/set-slow-cpufreq
Speichern und
visudo
beenden Sie dann und Sie werden gewarnt, wenn Sie Syntaxfehler haben.Sie können ausführen
sudo -l
, um die Berechtigungen anzuzeigen, die Ihrem Benutzer erteilt wurden. Wenn einer der benutzerspezifischenNOPASSWD
Befehle VOR einem%groupyouarein ALL=(ALL) ALL
Befehl in der Ausgabe angezeigt wird, werden Sie zur Eingabe Ihres Kennworts aufgefordert.Wenn Sie feststellen, dass Sie viele dieser sudoers.d-Dateien erstellen, möchten Sie sie möglicherweise nach Benutzer benannt erstellen, damit sie leichter zu visualisieren sind. Beachten Sie, dass die Reihenfolge der DATEINAMEN und der REGELN in der Datei sehr wichtig ist. Die zuletzt geladene Datei gewinnt, unabhängig davon, ob MEHR oder WENIGER als die vorherigen Einträge zulässig ist.
Sie können die Reihenfolge der Dateinamen steuern, indem Sie ein Präfix von 00-99 oder aa / bb / cc verwenden. Beachten Sie jedoch auch, dass Dateien, die kein numerisches Präfix haben, nach den nummerierten Dateien geladen werden Einstellungen. Dies liegt daran, dass abhängig von Ihren Spracheinstellungen die "lexikalische Sortierung", die die Shell verwendet, zuerst Zahlen sortiert und dann bei der Sortierung in "aufsteigender" Reihenfolge Groß- und Kleinbuchstaben verschachtelt.
Versuchen Sie es mit
printf '%s\n' {{0..99},{A-Z},{a-z}} | sort
und, umprintf '%s\n' {{0..99},{A-Z},{a-z}} | LANG=C sort
zu sehen, ob Ihre aktuelle Sprache gedruckt wirdAaBbCc
usw., oder bestimmen SieABC
dannabc
, welches das beste Präfix für den "letzten" Buchstaben ist.quelle
id
und sehen, zu welchen Gruppen Sie gehören.Ich bin auch nur darauf gestoßen.
Meine Situation ist, dass ich ein Remote-System einrichte, das kopflos ausgeführt wird. Ich habe die vollständige Festplattenverschlüsselung aktiviert (andernfalls kann ein Angreifer mit physischem Zugriff alles tun, was er oder sie möchte). Ich möchte mich nur mit dem Pub-Schlüssel authentifizieren (ich werde das Passwort deaktivieren, damit das Schema "Etwas haben, etwas wissen" ein Passwort ist geschütztes Schlüsselpaar - Root Login ist natürlich komplett deaktiviert)
Das Ubuntu-Installationsprogramm fordert Sie auf, einen Benutzer ohne Rootberechtigung anzugeben, der der Gruppe hinzugefügt wird
sudo
. Ich habe mich dann manuell dersudoers
Datei hinzugefügt mitsudo visudo
:HINWEIS: Wenn Sie nopasswd auf Ihrem Laptop verwenden, müssen Sie Ihren Computer immer sperren, wenn Sie weggehen. Andernfalls kann ein gelegentlicher Angreifer viel gefährden, während Sie aufstehen, um Sahne in Ihren Kaffee zu füllen
Ich musste mich immer noch mit einem Passwort authentifizieren.
Die Antwort von enzotib ist der Schlüssel zu dem, was los ist. Das Gruppen-Sudo wird in sudoers nach der Eingabe meines Benutzernamens angezeigt.
Anstatt meinen Eintrag unter die sudo-Zeile zu verschieben, entfernte ich einfach die zuvor hinzugefügte Zeile und fügte
NOPASSWD
sie dann dem Eintrag für hinzu%sudo
Das scheint zu funktionieren. Verwenden Sie nopasswd wieder nur, wenn Sie es wirklich brauchen (in meinem Fall war es genau das, was ich brauchte, für die meisten Benutzer, die ein Passwort für sudo-Aktivitäten benötigen, am besten)
Zusätzliche WARNUNG: Bearbeiten Sie Sudoer immer mit visudo. (sudo visudo) Wenn Sie ein anderes geöffnetes Fenster auf den Root-Benutzer umschalten, können Sie außerdem alle Fehler beheben, die Sie beim Ändern der sudoers-Datei möglicherweise gemacht haben.
quelle
sudo
, einen Cmd mit Ihren eigenen Berechtigungen auszuführen, um zusätzlich zum Ausführen des angeforderten Befehls einen weiteren Benutzer zur sudo-Gruppe hinzuzufügen.Löschen Sie auf dem Remote-System die Verschlüsselung, aber lassen Sie alles einem Root-Benutzer wie in der Gruppe "Administratoren" gehören - das ist nicht 0!
Sie können
#sudo -g Administrators
diejenigen ändern , die vollen Zugriff benötigen - nicht in dersudo
Datei, sondern im.login
Profil. Jedes Standardskript kann jetzt als "root" auf die Fernbedienung zugreifen und Sie können die zu schützenden Dateien schützen.Eine andere handliche "Gruppe" ist "Sandbox" mit einem Login-Verzeichnis im Browser-Cache und kann dieses frei lesen und sonst nichts. Verwenden Sie das erste Zeichen in Großbuchstaben.
quelle