Ich habe einen neuen Benutzer mit erstellt, adduser
aber als ich versuchte, von seinem Konto aus sudo auszuführen, erhielt ich xxxx * is not in the sudoers file. This incident will be reported.
.
Also begann ich, den Befehl zu manipulieren visudo
...
Ich erhalte, dass das Root-Konto die folgende Konfiguration hat:
root ALL=(ALL:ALL) ALL
Aber ich möchte dies für meinen neuen Benutzer nicht duplizieren ...
Ich möchte, dass mein Benutzer xxxx KEINEN Root-Zugriff hat, außer bei Verwendung von sudo.
Bei der Verwendung von sudo möchte ich, dass der xxxx-Benutzer nach dem Root-Passwort und nicht nach seinem eigenen Passwort gefragt wird !!
Danke
Verwende Debian 10
VM, nur SSH
Antwort1
Ich möchte, dass mein Benutzer xxxx KEINEN Root-Zugriff hat, außer bei Verwendung von sudo.
Dies ist eigentlich der Normalzustand für normale Benutzer: Sie müssen nichts tun, außer durch Konfigurieren sudo
festzulegen, welche Befehle zugelassen werden sollen.
root ALL=(ALL:ALL) ALL
Diese Zeile dient nur dazu, die Verwendung von zu ermöglichen, sudo
wenn Sie bereits zum Root-Benutzer gewechselt sind. Die wichtige Zeile, die Nicht-Root-Benutzern Berechtigungen erteilt, ist diese:
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
(Bei einigen Linux-Distributionen kann der erste normale Benutzer, der während der Betriebssysteminstallation erstellt wird, Mitglied der sudo
Gruppe werden und somit automatisch Root-Zugriff erhalten. Dies ist eine Ausnahme und kein Standard für alle Benutzer.)
Die Grundform der Berechtigungsangabe in der sudoers-Datei ist
<who> <where>=(<as_who>) <what>
<who>
gibt an, welcher/welche Benutzer diesen Eintrag verwenden dürfen. Dies kann ein Benutzer, eine Gruppe (mit einem %-Zeichen als Präfix) oder ein zuvor definierter Benutzeralias (im Grunde eine Abkürzung für eine lange Liste von Benutzern und/oder Gruppen) und einige andere Dinge sein.<where>
kann ein Hostname sein: es beschränkt diesen Eintrag auf ein bestimmtes System. Dies kann in einer Unternehmensumgebung nützlich sein, in der Sie eine zentral verwaltete Standarddateisudoers
auf allen Hosts installieren, aber oft wird dies als ALL angegeben, um Probleme zu vermeiden, falls die Hostnamenauflösung nicht funktioniert oder das System falsch konfiguriert ist.(<as_who>)
definiert die Benutzerkonten, unter denen die Befehle ausgeführt werden können. Der Standardwert ist root, Sie können jedoch auch einen Benutzer so einschränken, dass er Befehle mit sudo nur unter bestimmten Nicht-Root-Anwendungskonten ausführen kann.<what>
ist der zuzulassende Befehl (oder die zuzulassenden Befehle, durch Kommas getrennt).
sudoers
Es gibt auch verschiedene Tags und Optionen, aber das Obige ist in aller Kürze der wichtige Teil der Datei.
Bei Verwendung von sudo möchte ich, dass der xxxx-Benutzer nach dem Root-Passwort und nicht nach seinem eigenen Passwort gefragt wird
Dies ist möglich und ganz einfach. Wenn Sie Ihrer sudoers
Datei diese Zeilen hinzufügen:
Defaults:xxxx rootpw,timestamp_timeout=0
xxxx ALL=(ALL:ALL) ALL
dann für Benutzer xxxx
(undnurfür sie), sudo
wird der Befehl nach einem Root-Passwort fragen - und es wird gefragtjedes MalDer sudo
Befehl wird verwendet, anstatt wie standardmäßig vorgesehen bis zu 15 Minuten Zeit für die Verwendung des sudo
Befehls einzuräumen, ohne erneut nach dem Kennwort zu fragen.
Dies ist wichtig, falls Sie den Benutzer überwachen und das Root-Passwort selbst eingeben möchten, wenn es dieser Benutzer benötigt. Wenn Sie diese timestamp_timeout=0
Option verpassen, kann es sein, dass der Benutzer Sie zunächst für eine legitime Aktion zur Eingabe des Root-Passworts auffordert, sich dann innerhalb der nächsten 15 Minuten eine Ablenkung für Sie ausdenkt und es während dieser Zeit für alles verwenden kann, was sudo
er möchte.
Beachten Sie jedoch, dassWenn Sie Ihrem Benutzer das Root-Passwort mitteilen, kann er es su
auch mit dem Befehl verwenden, es sei denn, Sie wenden nicht standardmäßige Einschränkungen auf an su
. Die klassische (und normalerweise einzige) Möglichkeit zur Einschränkung su
besteht darin, vom Benutzer zu verlangen, Mitglied einer bestimmten Gruppe zu sein, da er sonst überhaupt nicht verwenden kann su
. Um diese Einschränkung anzuwenden, bearbeiten Sie /etc/pam.d/su
diesen Teil und suchen Sie ihn am Anfang:
# Uncomment this to force users to be a member of group root
# before they can use `su'. You can also add "group=foo"
# to the end of this line if you want to use a group other
# than the default "root" (but this may have side effect of
# denying "root" user, unless she's a member of "foo" or explicitly
# permitted earlier by e.g. "sufficient pam_rootok.so").
# (Replaces the `SU_WHEEL_ONLY' option from login.defs)
# auth required pam_wheel.so
Entfernen Sie einfach das #
am Anfang der letzten Zeile und der su
Befehl kann nur von den Mitgliedern der root
Gruppe verwendet werden.