Ich habe viele Blog-Beiträge gesehen, die besagen, dass es genug ist, dies zu tun
aptitude install sudo
su root
adduser USERNAME sudo
Das schützt aber nur aptitude
:
aptitude install sendmail
Wenn Sie nach dem Passwort fragen, müssen Siesudo
ausgeführt werdenaptitude
apt-get install sendmail
fragt nicht nach dem Passwort, es sind keinesudo
Berechtigungen erforderlichWenn Sie geschützte Dateien bearbeiten, z. B. Dateien, in denen
etc
kein Kennwort abgefragt wird, sind keinesudo
Berechtigungen erforderlichSie können Dienste ausführen und stoppen, z. B.
apache
werden Sie nicht nach einem Kennwort gefragt, es sind keinesudo
Berechtigungen erforderlich
Wie kann ich das beheben? Dies ist meine Sudoers-Datei:
This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$
# Host alias specification
# User alias specification
# Cmnd alias specification
Dies ist die Ausgabe von sudo -l
:
Matching Defaults entries for root on this host:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User root may run the following commands on this host:
(ALL : ALL) ALL
(ALL : ALL) ALL
sudo
root
not-root-user
debian
Lynob
quelle
quelle
su root
, sind Sie in als angemeldetenroot
Benutzer, so dass Sie vollen Zugriff auf alles haben.sudo
Melden Sie sich von der Shell ab, die als ausgeführt wird, um wieder eine normale Verwendung zu erhalten, die für privilegierte Vorgänge verwendet werden mussroot
.Antworten:
Sie haben keine Sudo-Regel hinzugefügt, daher können Sie Sudo für nichts verwenden.
Der Befehl
adduser USERNAME sudo
fügt den angegebenen Benutzer der aufgerufenen Gruppe hinzusudo
. Eine Gruppe mit diesem Namen muss existieren. Erstellen Sie es mit,addgroup sudo
wenn dies nicht der Fall ist. Nach dem Hinzufügen des Benutzers zur Gruppe muss sich der Benutzer abmelden und wieder anmelden, damit die Gruppenmitgliedschaft wirksam wird.sudo
ist kein spezieller Gruppenname. Es ist eine Konvention, Benutzern in der aufgerufenen Gruppe zu erlaubensudo
, Befehle als root über dassudo
Dienstprogramm auszuführen . Dies erfordert die folgende Zeile in dersudoers
Datei:Führen Sie diese aus
visudo
, um die sudoers-Datei zu bearbeiten. Bearbeiten Sie sie niemals direkt.Ich habe keine Ahnung, warum Sie glauben, dass "das nur die Eignung schützt". Eignung ist nichts Besonderes. Sobald Sie einen Benutzer zum Ausführen von Befehlen als Root autorisiert haben, kann dieser Benutzer
sudo aptitude …
odersudo apt-get …
odersudo service …
odersudoedit
Dateien bearbeiten , für deren Bearbeitung Root-Berechtigungen erforderlich sind. Wenn Sie sich in der sudoers-Datei befinden, werden die Berechtigungen Ihres Benutzers nicht direkt geändert. Sie können damitsudo
Befehle als root ausführen. Befehle werden nur dann als root ausgeführt, wenn Sie sie durchlaufensudo
. Einige Programme tun dies möglicherweise automatisch, insbesondere GUI-Programme, bei denen die Benutzeroberfläche ohne spezielle Berechtigungen ausgeführt wird und nur das Backend als root ausgeführt wird, Befehle, die als root ausgeführt werden, jedoch immer von ausgeführt werdensudo
.quelle
sudo -l
als Wurzel gelaufen . Selbst wenn es nützliche Definitionen für Benutzer gibt, wären sie nicht angezeigt worden. Daher kann Ihre Vermutung "Sie haben keine Sudo-Regel hinzugefügt" falsch sein.sudoers
Datei ist in Frage.sudo -l
Ausgabe konzentrierte, aber zum Glück ... Es scheint, dass der Inhalt der Frage nicht die gesamte Datei sein kann, da er nicht mit der Ausgabe übereinstimmt. Zumindest behauptet meinesudo
Version nicht "Benutzer root kann die folgenden Befehle ausführen" mit einersudoers
ohne Befehlsdefinition (wie der in der Frage).sudo -l
nur gesagt "User root darf sudo nicht auf darkstar ausführen." Und diesudo
Gruppe befindet sich standardmäßig in der sudoers-Datei bei wheezy. Die erforderlichen Einträge wurden möglicherweise in eine Datei unter verschoben/etc/sudoers.d
. Was auch immer die sudoers-Datei enthält, sie würde auf keinen Fall das tun, was Fischer annimmt.Was möglicherweise passiert ist, ist: sudo speichert Ihr Passwort zwischen. Nachdem Sie die Implementierung von sudo auf Ihrem System korrekt abgeschlossen haben, müssen Sie das Kennwort für den ersten Befehl eingeben. Danach wird es für einige Zeit zwischengespeichert. In diesem Fall führen Sie die Sequenz aus
Dann müssen Sie beim ersten Befehl ein Passwort eingeben, beim zweiten jedoch nicht (zumindest solange Sie sich noch innerhalb des Timeouts befinden). Dies scheint das Gefühl zu haben, dass nur der erste Befehl geschützt wird, nicht jedoch der zweite. Ohne weitere Informationen (vollständige Shell-Transkripte) kann man nicht sagen ...
quelle
Wenn Sie der obigen Antwort folgen, gehen Sie den richtigen Weg. Zumindest in meiner Debian Jessie habe ich einen weichen Link zu / usr / bin des Befehls im Pfad / sbin erstellt. Zum Beispiel: / sbin / ifup, ich habe einen Softlink (ln -s) zu / usr / bin davon gesetzt und ich kann ihn verwenden.
Eine andere wichtige Sache ist, NOPASSWD so zu setzen:
quelle