So erstellen Sie einen Linux-Benutzer, bei dem sudo nach dem Root-Passwort und nicht nach dem aktuellen Benutzer fragt

So erstellen Sie einen Linux-Benutzer, bei dem sudo nach dem Root-Passwort und nicht nach dem aktuellen Benutzer fragt

Ich habe einen neuen Benutzer mit erstellt, adduseraber 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 sudofestzulegen, welche Befehle zugelassen werden sollen.

root    ALL=(ALL:ALL) ALL

Diese Zeile dient nur dazu, die Verwendung von zu ermöglichen, sudowenn 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 sudoGruppe 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 Standarddatei sudoersauf 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).

sudoersEs 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 sudoersDatei diese Zeilen hinzufügen:

Defaults:xxxx rootpw,timestamp_timeout=0
xxxx    ALL=(ALL:ALL) ALL

dann für Benutzer xxxx(undnurfür sie), sudowird der Befehl nach einem Root-Passwort fragen - und es wird gefragtjedes MalDer sudoBefehl wird verwendet, anstatt wie standardmäßig vorgesehen bis zu 15 Minuten Zeit für die Verwendung des sudoBefehls 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=0Option 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 sudoer möchte.

Beachten Sie jedoch, dassWenn Sie Ihrem Benutzer das Root-Passwort mitteilen, kann er es suauch 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 subesteht 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/sudiesen 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 suBefehl kann nur von den Mitgliedern der rootGruppe verwendet werden.

verwandte Informationen