Linux Benutzerkontenverwaltung + sudo: wie am besten einstellen?

Linux Betriebssystem

Volvo-Berti

Well-known member
Themenstarter
Registriert
10 März 2006
Beiträge
2.747
moinsen in die Runde,

ich hab mal eine Frage zur Benutzerkontenverwaltung und sudo.

Aktuell ist es so, das ich nach der Installation von Linux ein weiteres Konto angelegt habe und das mit Admin-Rechten versehen habe. Anschließend hab ich mein Konto auf normalen User gesetzt. Grund ist das Kennwort, was auch meine Holde kennt :whistle:😇

Jetzt ist es so, das zB sudo-Befehle im Terminal weder mein Passwort noch das des Admins annehmen. Beispielsweise "sudo tlp-stat" zur Anzeige des Batteriestatus. Da muss ich immer zum Admin-Konto wechseln, das ist natürlich nicht praktisch.

Wenn meine Erinnerung mich nicht trügt, war das früher anders, oder nicht?
 
1. Welche Distribution?
2. Bist du in der sudoers Gruppe?
(3. Mit sudo hebelst du aber auch die Trennung der Konten teilweise wieder aus)
(4. Hast du su -c mal "ausprobiert"?)
 
1. Mint aktuelle Version
2. ja, jetzt, nachdem ich mal fix geschaut habe, was das bedeutet...
(3. naja, ich möchte nicht jedes Mal zwischen den Konten springen)
(4. nein)
 
Ich vermute, du versuchst mit User A (deinem normalen Account) per sudo etwas auszuführen. Das schlägt fehl, da User A nicht mehr in der Gruppe sudoer ist. Das Passwort des User B (Admin, bzw. in der Gruppe sudoer) funktioniert ebenfalls nicht, weil du den Befehl ja als User A ausführst. Du müsstest also erstmal per "su User B" den Benutzer wechseln und kannst dann den gewünschten Befehl absetzen. Alternativ, wie @Korfox schon schrieb, kommst du auch per "su -c BEFEHL User B" ans Ziel.
 
Hilfreich wäre, sowohl den Inhalt von /etc/sudoers zu kennen, als auch die Ausgaben des Kommandos "id" für alle beteiligten User.

Darüber hinaus könnte es PAM-Richtlinien geben, die angepasst werden müssen, um einem anderen/zusätzlichen User zusätzlich root-Rechte zu verschaffen. Das übersteigt aber meine Kenntnisse.

(Dieses Thema dürfte ein Paradebeispiel dafür sein, dass das Verstecken der Komplexität von Unix hinter grafischen Helferlein seine Grenzen hat.)
 
Moin,

das ist im Grunde ganz einfach. Wie Du schreibst, Volvo-Berti, hast Du klassisch einen User root und einen eingeschänkten User.

Nimm Deinen eingeschränkten User aus der Gruppe sudo heraus. Dann öffne die Datei /etc/sudoers als Root und fülle in die passende Sektion Deine Ausnahmen ein, zum Beispiel:

Code:
# User privilege specification
root    ALL=(ALL:ALL) ALL
Volvo-Berti    ALL=/usr/bin/apt upgrade, /usr/bin/apt update
Volvo-Berti    ALL=NOPASSWD:/usr/bin/tlp-stat, /usr/sbin/tlp
 
Muss die sudoers nicht mit einem speziellen sudo-Editor bearbeitet werden?
 
Nimm Deinen eingeschränkten User aus der Gruppe sudo heraus. Dann öffne die Datei /etc/sudoers als Root
Das könnte(!) in der Reihenfolge schwierig sein. Falls kein root-Paswort vergeben ist, kann man nicht mehr (einfach) root-Rechte erlangen, wenn man dem einzigen User der root-Rechte erlangen konnte, diese entzieht.


Muss die sudoers nicht mit einem speziellen sudo-Editor bearbeitet werden?
Nein, musst du nicht. Du kannst auch einen anderen Editor als den für visudo hinterlegten nutzen. Allerdings fehlt dir dann das Sicherheitsnetz von visudo, und du kannst deine /etc/sudoers durch Syntaxfehler unbrauchbar machen.
 
Das könnte(!) in der Reihenfolge schwierig sein. Falls kein root-Paswort vergeben ist, kann man nicht mehr (einfach) root-Rechte erlangen, wenn man dem einzigen User der root-Rechte erlangen konnte, diese entzieht.
Dass die Benutzer passend eingerichtet und berechtigt sind, also Root aktiv ist UND ein root ein Passwort gesetzt hat UND eine ANmeldung als Root im Terminal bereits erfolgt ist, hatte ich einmal vorausgesetzt. :D Bei Mint muss man dieses selber durchführen und aufpassen, als Debian- Nutzer bin ich hier etwas verwöhnt.
 
Ich gehe davon aus, dass @Volvo-Berti das Problem mit #3.2 bereinigt hat und sich der Konzepte durchaus bewusst ist und das in #3.3 andeutet.
 
Bei Mint muss man dieses selber durchführen und aufpassen, als Debian- Nutzer bin ich hier etwas verwöhnt.
Vorsicht: Wenn du im Debian-Installer kein root-Passwort vergibst, dann wird für den ersten User automatisch eine sudo-Konfiguration nach Ubuntu-Vorbild angelegt, und du kannst dich durch "passende" Manipulation von /etc/sudoers unter Debian genauso aussperren wie unter Ubuntu/Mint! ;)
 
uff, viele Infos...also:

ich habe via
Code:
sudo usermod -aG sudo USERNAME
den normalen Account zugefügt. Nun kann ich anscheinend quasi sudo-Befehle ausführen mit dem password des normalen Accounts...ist das normal?

vielleicht wäre es eine gute Idee, wenn ich den wieder rausnehme und das so einrichte, wie @Ravensberger vorschlägt. Allerdings weiß ich noch nicht, wie das geht. hab da aktuell auf die Schnelle keine Infos gefunden.
kann es das hier sein?
Code:
sudo usermod -G root Username
?
 
Nun kann ich anscheinend quasi sudo-Befehle ausführen mit dem password des normalen Accounts...ist das normal?
Das hängt vom Inhalt deiner /etc/sudoers ab.

vielleicht wäre es eine gute Idee, wenn ich den wieder rausnehme und das so einrichte, wie @Ravensberger vorschlägt. Allerdings weiß ich noch nicht, wie das geht. hab da aktuell auf die Schnelle keine Infos gefunden.
Indem du deine /etc/sudoers editierst - vorzugsweise mit visudo.

kann es das hier sein?
Code:
sudo usermod -G root Username
?
Das könnte "lustig" werden, denn du nimmst hier zwar den User in die Gruppe root auf (was nicht zu den "best practices" gehört), schmeißt ihn aber zugleich aus allen anderen Gruppen.
 
den normalen Account zugefügt. Nun kann ich anscheinend quasi sudo-Befehle ausführen mit dem password des normalen Accounts...ist das normal?

Das ist halt wieder die Frage des Ansatzes. So benutzt der zusätzliche User sein PW für administrative Sachen, kennt aber nicht das PW des anderen, ersten oder weiterer User(s), der quasi automatisch als sudo eingerichtet wurde. Da ist die Frage, ob das besser ist oder die Kenntnis des ersten sudo-PW.
 
hier mal die /etc/sudoers
Code:
 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:/sbin:/bin:/snap/bin"

# This fixes CVE-2005-4890 and possibly breaks some versions of kdesu
# (#1011624, https://bugs.kde.org/show_bug.cgi?id=452532)
Defaults        use_pty

# This preserves proxy settings from user environments of root
# equivalent users (group sudo)
#Defaults:%sudo env_keep += "http_proxy https_proxy ftp_proxy all_proxy no_proxy"

# This allows running arbitrary commands, but so does ALL, and it means
# different sudoers have their choice of editor respected.
#Defaults:%sudo env_keep += "EDITOR"

# Completely harmless preservation of a user preference.
#Defaults:%sudo env_keep += "GREP_COLOR"

# While you shouldn't normally run git as root, you need to with etckeeper
#Defaults:%sudo env_keep += "GIT_AUTHOR_* GIT_COMMITTER_*"

# Per-user preferences; root won't have sensible values for them.
#Defaults:%sudo env_keep += "EMAIL DEBEMAIL DEBFULLNAME"

# "sudo scp" or "sudo rsync" should be able to use your SSH agent.
#Defaults:%sudo env_keep += "SSH_AGENT_PID SSH_AUTH_SOCK"

# Ditto for GPG agent
#Defaults:%sudo env_keep += "GPG_AGENT_INFO"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
wir     ALL=/usr/bin/apt update, /usr/bin/apt full-upgrade
wir     ALL=NOPASSWD:/usr/bin/tlp-stat, /usr/sbin/tlp

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "@include" directives:

@includedir /etc/sudoers.d
Beitrag automatisch zusammengeführt:

Das hängt vom Inhalt deiner /etc/sudoers ab.

Indem du deine /etc/sudoers editierst - vorzugsweise mit visudo.

Das könnte "lustig" werden, denn du nimmst hier zwar den User in die Gruppe root auf (was nicht zu den "best practices" gehört), schmeißt ihn aber zugleich aus allen anderen Gruppen.
naja, im Zweifelsfall kann ich das Linux neu installieren, wenn alle Stricke reißen sollten...ist ja auch zum Üben und zum Spass.
Das ist halt wieder die Frage des Ansatzes. So benutzt der zusätzliche User sein PW für administrative Sachen, kennt aber nicht das PW des anderen, ersten oder weiterer User(s), der quasi automatisch als sudo eingerichtet wurde. Da ist die Frage, ob das besser ist oder die Kenntnis des ersten sudo-PW.
es gibt außer mir quasi keinen anderen User. d.h. ich könnte hingehen und den normalen Account wieder auf root-Rechte setzen und den root-Account löschen. Das wäre zumindest vom Handling das Einfachste.
 
es gibt außer mir quasi keinen anderen User. d.h. ich könnte hingehen und den normalen Account wieder auf root-Rechte setzen und den root-Account löschen. Das wäre zumindest vom Handling das Einfachste.

Dann benötigst Du ergo den zusätzlichen sudo-Zugriff für z.B. Deine Frau gar nicht? Wenn sie oder wer auch immer "nur" damit arbeitet, ist es sowieso eher nicht gut, weitere Accounts mit root-Rechten zu versehen.

Aber praktisch kannst Du das so machen, dass Du Dich wieder als sudo einsetzt und dann das zusätzliche Benutzerkonto entfernst.

Edit:

Wenn Du Dir das etwas einfacher machen willst, kannst Du auch vor dem Ändern von Konfigurationen diese sichern durch z.B.

sudo cp /etc/sudoers /etc/sudoers.old
Edit by Mornsgrans: mv durch cp ersetzt

Dann bleibt die originale Datei erhalten und Du kannst diese im Falle eines Aussperrens sogar aus einem Live-System zurück umbenennen.
 
Zuletzt bearbeitet von einem Moderator:
für meine Frau :love:,? sie ist nur normale Nutzerin eines PC zu Hause, und das auch nur sehr selten.
 
Zuletzt bearbeitet:
Code:
# User privilege specification
root    ALL=(ALL:ALL) ALL
wir     ALL=/usr/bin/apt update, /usr/bin/apt full-upgrade
wir     ALL=NOPASSWD:/usr/bin/tlp-stat, /usr/sbin/tlp
Du hast also einen User "wir", der die folgenden Kommandos nach Passworteingabe ausführen darf:
Code:
/usr/bin/apt update
/usr/bin/apt full-upgrade
Außerdem darf der User "wir" diese Kommandos ohne Passworteingabe ausführen:
Code:
/usr/bin/tlp-stat
/usr/sbin/tlp

Code:
# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
Mitglieder der Gruppe "sudo" dürfen außerdem alle Kommandos nach Passworteingabe ausführen. Das ist (vermutlich) eine Standardeinstellung von sudo unter Mint und würde deine Beobachtung aus #14 erklären.

Die Frage ist nun:
Möchtest du, dass sich dein System wie beschrieben verhält?
 
  • ok1.de
  • IT Refresh - IT Teile & mehr
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben