Linux/Benutzer/Root: Unterschied zwischen den Versionen

Aus Foxwiki
Subpages:
Zeile 213: Zeile 213:


= TMP =
= TMP =
== Weblinks ==
* [http://technet.microsoft.com/de-de/library/cc780702.aspx Microsoft TechNet: Warum Sie Ihren Computer nicht als Administrator ausführen sollten]


[[Kategorie:Microsoft Windows]]
[[Kategorie:Microsoft Windows]]
[[Kategorie:Unixoides Betriebssystem]]
[[Kategorie:Unixoides Betriebssystem]]

Version vom 15. Dezember 2024, 10:40 Uhr

root - Benutzer mit vollständigem Zugriff auf ein Linux-System (Administrator)

Beschreibung

Das Root-Konto oder Superuser-Konto ist das Benutzerkonto, das bei der Installation eines Betriebssystems angelegt werden muss und mit weitreichendsten Zugriffsrechten ausgestattet ist

Dieses Konto ist nicht für die alltägliche Verwendung des Systems gedacht, sondern nur für besondere Verwaltungsaufgaben, weil es mit umfassenden Risiken verbunden ist

Unixoide Systeme

Auf unixoiden Systemen wird jedes Benutzerkonto mit einer Zahl assoziiert: der sogenannten „UID“ (User ID)

  • Das erste Benutzerkonto auf jedem System hat die UID 0 und besitzt auf historischen Unix-Systemen alle Rechte über die Ressourcen des Systems
  • Da dieses Konto für die Installation des Rechners notwendig ist und daher alle Dateien und Verzeichnisse aus diesem Benutzerkonto hervorgehen, kann man hier von einer „Wurzel“ (englisch root) sprechen
  • Nach dem Beenden der Installation kann man dieses Konto zur Verwaltung (Administration) des Systems verwenden
  • Um als root zu arbeiten, kann man sich entweder entsprechend einloggen oder auf der Unix-Shell mit dem Befehl su die Identität wechseln

Moderne Unix-Systeme wie z. B. Solaris implementieren feingranulare Rechtesysteme

  • Auf solchen Systemen bedeutet die Erlangung der UID 0 nicht zwangsläufig auch die Erlangung sämtlicher Rechte

Der Benutzer mit den Root-Rechten hat als einziger Benutzer auf einem Unix-Computer uneingeschränkte Rechte, was sich insbesondere bei Dateiverwaltung (Dateirechte etc.) und Benutzung von Systemressourcen (Arbeitsspeicher, Geräte) auszeichnet

  • Eine besondere Position wird dem root auch bei der Verwaltung des Kernels sowie der Prozesskontrolle eingeräumt: So kann der Root sämtliche Prozesse nach Belieben verändern und damit beispielsweise den Computer neu starten
  • Bei einem Kernel, der dynamisch ladbare Module unterstützt, kann Root indirekt mit dem Kernelspace auf nächster Ebene agieren

Sollte ein böswilliger Cracker das Passwort des Benutzers Root herausfinden, so ist dieser vollständig kompromittiert

  • Um im Anschluss an einen erfolgreichen Angriff die eigene Anwesenheit vor dem Systemadministrator zu verbergen, nutzen Angreifer sogenannte Rootkits

Üblicherweise unterscheidet sich die Eingabeaufforderung des Benutzers Root von der anderer Benutzer durch eine abschließende Raute (#) statt eines Dollarzeichens ($)

  • Systemadministratoren sprechen in diesem Falle von einem Rootprompt

macOS

Bei der Installation von macOS wird ein Konto für den Systemadministrator mit Namen root angelegt und eines für den Admin mit wählbarem Namen

  • Bei macOS Server erhalten beide Konten dasselbe Passwort, während beim normalen macOS das Konto root kein Passwort erhält und gesperrt wird
  • Dem Admin ist nicht nur einiges verwehrt, was für root möglich ist, sondern auch umgekehrt

Debian und Ubuntu

Bei der Installation von Debian kann ebenfalls eine direkte Verwendung des Root-Kontos unterbunden werden

  • Unter dem auf Debian basierenden Ubuntu gibt es bei der normalen Installation nicht einmal die Möglichkeit, anders zu verfahren
  • Aus Sicherheitsgründen hat die Benutzergruppe admin dort aber keine weitergehenden Berechtigungen, als sudo auszuführen
  • So können sich ihre Mitglieder zeitweilig die Rechte des Superusers verschaffen
  • In der Regel wird sudo automatisch aufgerufen, sobald die Rechte des Superusers erforderlich sind

Es ist allerdings mittels des Befehls sudo passwd jederzeit möglich, den Root-Account dauerhaft freizuschalten, indem man ihm ein gültiges Kennwort zuweist

toor

toor ist das rückwärts geschriebene Wort für root und stellt einen alternativen Root-Account dar, speziell auf BSD-Derivaten

  • Das Konto hat ebenfalls die UID 0, unterscheidet sich aber durch eine andere Konfiguration, vor allem durch eine andere Shell vom Root-Konto

Üblicherweise hat ein Konto (normalerweise root) eine umfangreiche Shell (wie bash oder zsh), während der jeweils andere Account (normalerweise toor) nur eine minimale Shell hat

  • Der Sinn dahinter ist, ein Konto mit Systemadministrationsfähigkeiten bereitzuhalten, selbst wenn die Standard-Shell des einen Kontos nicht mehr gestartet werden kann (wenn zum Beispiel die Partition, auf der die Shell liegt, nicht gemountet werden kann). „toor“ ist außerdem das Passwort für den root-Account bei den bekannten BackTrack Distributionen und bis Version 2020.1 auch bei Kali Linux
  • Ab Version 2020.1 ist root nicht mehr das Standardkonto, sondern kali mit kali als Passwort

Microsoft

Während MS-DOS und das ursprüngliche Windows bis zur Millennium Edition (DOS-Linie bis Windows 9x) nur ein einziges Benutzerkonto zuließen, das zwangsläufig alle Berechtigungen hatte, unterstützt die Windows-NT-Linie mehrere Benutzerkonten mit unterschiedlichen Berechtigungen

  • Das Root-Konto hat hier den Benutzernamen Administrator
  • Allerdings existiert ein weiteres Benutzerkonto mit höheren Berechtigungen als denen des Administrators
  • Dieses heißt SYSTEM, wird jedoch normalerweise nicht zur Administration des Computers benutzt

Das Benutzerkonto mit dem Namen Administrator ist auf dem Anmeldebildschirm in Windows XP standardmäßig nicht sichtbar, kann aber dennoch verwendet werden, indem der klassische Anmeldedialog, entweder über die Einstellungen oder durch zweimaliges Drücken der Tastenkombination {{#if:trim|Strg}} + {{#if:trim|Alt}} + {{#if:trim|Entf}}, auch bekannt als „Klammergriff“, auf dem Anmeldebildschirm aufgerufen wird Unter Windows Server 2008 R2 existiert ebenfalls ein Benutzerkonto mit dem Namen Administrator, der schon beim ersten Start des Systems nach der Installation eingerichtet werden muss und genauso auch bei Windows Server 2012 Standard/Datencenter die höchsten Privilegien besitzt

Root-Zugriff einschänken

Wenn ein Administrator aus diesen oder anderen Gründen Bedenken hat, Benutzern die Anmeldung als root zu gestatten, sollte

  • das root-Passwort geheim gehalten werden und
  • der Zugriff auf den Runlevel 1 oder den Einzelbenutzermodus sollte durch den Passwortschutz des Bootloaders verhindert werden (Bootloader-Passwörter)
Es gibt vier verschiedene Möglichkeiten, wie ein Administrator sicherstellen kann, dass keine Root-Anmeldungen zulässig sind

Ändern der Root-Shell

Um zu verhindern, dass sich Benutzer direkt als Root anmelden, kann der Systemadministrator die Shell des Root-Kontos in der Datei /etc/passwd auf /sbin/nologin setzen

Deaktivierung der Root-Shell
Auswirkungen Keine Auswirkungen
Verhindert den Zugriff auf die Root-Shell und protokolliert alle derartigen Versuche

Folgende Programme können nicht auf das Root-Konto zugreifen

  • login
  • gdm
  • kdm
  • xdm
  • su
  • ssh
  • scp
  • sftp
Programme, die keine Shell benötigen, wie FTP-Clients, E-Mail-Clients und viele Setuid-Programme

Folgende Programme werden „nicht" am Zugriff auf das Root-Konto gehindert

  • sudo
  • FTP-Clients
  • E-Mail-Clients

Deaktivieren des Root-Zugriffs über ein Konsolengerät (tty)

Um den Zugriff auf das Root-Konto weiter einzuschränken, können Administratoren die Root-Anmeldung an der Konsole deaktivieren, indem sie die Datei /etc/securetty bearbeiten

  • In dieser Datei sind alle Geräte aufgeführt, bei denen eine Anmeldung des Root-Benutzers zulässig ist
  • Wenn die Datei überhaupt nicht vorhanden ist, kann sich der Root-Benutzer über jedes Kommunikationsgerät im System anmelden, sei es über die Konsole oder eine Raw-Netzwerkschnittstelle
  • Dies ist gefährlich, da sich ein Benutzer über Telnet als Root auf seinem Computer anmelden kann, wobei das Passwort im Klartext über das Netzwerk übertragen wird

Standardmäßig erlaubt die Datei /etc/securetty von Red Hat Enterprise Linux dem Root-Benutzer nur die Anmeldung an der physisch an den Computer angeschlossenen Konsole

  • Um die Anmeldung des Root-Benutzers zu verhindern, entfernen Sie den Inhalt dieser Datei, indem Sie als Root den folgenden Befehl an einer Shell-Eingabeaufforderung eingeben
echo > /etc/securetty

Um die Unterstützung von securetty in den Anmeldungsmanagern KDM, GDM und XDM zu aktivieren, fügen Sie die folgende Zeile

auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so

zu den unten aufgeführten Dateien hinzu:

  • /etc/pam.d/gdm
  • /etc/pam.d/gdm-autologin
  • /etc/pam.d/gdm-fingerprint
  • /etc/pam.d/gdm-password
  • /etc/pam.d/gdm-smartcard
  • /etc/pam.d/kdm
  • /etc/pam.d/kdm-np
  • /etc/pam.d/xdm
Warnung
Eine leere /etc/securetty-Datei verhindert nicht, dass sich der Root-Benutzer über die OpenSSH-Tool-Suite remote anmeldet, da die Konsole erst nach der Authentifizierung geöffnet wird
Deaktivieren von Root-Anmeldungen
Auswirkungen Hat keine Auswirkungen
Verhindert den Zugriff auf das Root-Konto über die Konsole oder das Netzwerk

Der Zugriff auf das Root-Konto wird für die folgenden Programme verhindert

  • login
  • gdm
  • kdm
  • xdm
  • Andere Netzwerkdienste, die ein TTY öffnen
Programme, die sich nicht als root anmelden, aber administrative Aufgaben über setuid oder andere Mechanismen ausführen

Folgende Programme werden „nicht" am Zugriff auf das root-Konto gehindert

  • su
  • sudo
  • ssh
  • scp
  • sftp

Deaktivieren von SSH-Anmeldungen als root

Um Anmeldungen als root über das SSH-Protokoll zu verhindern, bearbeiten Sie die Konfigurationsdatei des SSH-Daemons, /etc/ssh/sshd_config, und ändern Sie die Zeile, die lautet

#PermitRootLogin yes

wie folgt

PermitRootLogin no
Deaktivieren von Root-SSH-Anmeldungen
Auswirkungen Hat keine Auswirkungen
Verhindert den Root-Zugriff über die OpenSSH-Tool-Suite
  • Folgende Programme können nicht auf das Root-Konto zugreifen
  • ssh
  • scp
  • sftp
Programme, die nicht Teil der OpenSSH-Tool-Suite sind

PAM zur Einschränkung des Root-Zugriffs auf Dienste verwenden

PAM ermöglicht über das Modul /lib/security/pam_listfile.so eine hohe Flexibilität beim Ablehnen bestimmter Konten

  • Der Administrator kann dieses Modul verwenden, um auf eine Liste von Benutzern zu verweisen, die sich nicht anmelden dürfen
  • Um den Root-Zugriff auf einen Systemdienst zu beschränken, bearbeiten Sie die Datei für den Zieldienst im Verzeichnis /etc/pam.d/ und stellen Sie sicher, dass das Modul pam_listfile.so für die Authentifizierung erforderlich ist

Im Folgenden wird ein Beispiel dafür gegeben, wie das Modul für den vsftpd FTP-Server in der PAM-Konfigurationsdatei /etc/pam.d/vsftpd verwendet wird (das \-Zeichen am Ende der ersten Zeile ist „nicht" erforderlich, wenn die Anweisung in einer einzelnen Zeile steht)

auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/vsftpd.ftpusers onerr=succeed

Hierdurch wird PAM angewiesen, die Datei /etc/vsftpd.ftpusers zu konsultieren und allen aufgeführten Benutzern den Zugriff auf den Dienst zu verweigern

  • Der Administrator kann den Namen dieser Datei ändern und separate Listen für jeden Dienst führen oder eine zentrale Liste verwenden, um den Zugriff auf mehrere Dienste zu verweigern

Wenn der Administrator den Zugriff auf mehrere Dienste verweigern möchte, kann eine ähnliche Zeile zu den PAM-Konfigurationsdateien hinzugefügt werden, z. B. /etc/pam.d/pop und /etc/pam.d/imap für Mail-Clients oder /etc/pam.d/ssh für SSH-Clients

Weitere Informationen zu PAM finden Sie im Kapitel „Pluggable Authentication Modules (PAM)" im „Reference Guide"

Deaktivieren von Root mit PAM
Auswirkungen Hat keine Auswirkungen
Verhindert den Root-Zugriff auf Netzwerkdienste, die PAM-fähig sind
  • Der Zugriff auf das Root-Konto wird für die folgenden Dienste verhindert
  • login
  • gdm
  • kdm
  • xdm
  • ssh
  • scp
  • sftp
  • FTP-Clients
  • E-Mail-Clients
  • Alle PAM-fähigen Dienste
Programme und Dienste, die nicht PAM-fähig sind


Anhang

Siehe auch

Links

Weblinks
  1. https://de.wikipedia.org/wiki/Root-Konto


TMP