Befehle zum Ändern des Benutzers
Unter Linux stehen dir verschiedene Befehle zur Verfügung, mit denen du den Benutzer ändern kannst. Jeder Befehl hat seine eigenen Vor- und Nachteile und ist für bestimmte Szenarien geeignet.
Befehl "su"
Der Befehl su
(Superuser) ermöglicht es dir, zu einem anderen Benutzer zu wechseln und dessen Berechtigungen temporär zu übernehmen.
Syntax:
su [Benutzername]
Beispiel:
Um zum Benutzer alice
zu wechseln, gibst du Folgendes ein:
su alice
Nach erfolgreicher Authentifizierung wird deine Shell auf die Shell des Benutzers alice
umgestellt.
Befehl "sudo"
Der Befehl sudo
(Substitute User Do) ermöglicht es dir, einen Befehl mit den Berechtigungen eines anderen Benutzers auszuführen, ohne zu diesem Benutzer wechseln zu müssen.
Syntax:
sudo [Befehl]
Beispiel:
Um die Datei /etc/passwd
mit den Berechtigungen des Benutzers root
zu bearbeiten, gibst du Folgendes ein:
sudo vi /etc/passwd
Du wirst aufgefordert, das Passwort des Benutzers root
einzugeben, um den Befehl auszuführen.
Befehl "chsh"
Der Befehl chsh
(Change Shell) ermöglicht es dir, deine Standard-Shell zu ändern. Dies kann nützlich sein, wenn du eine andere Shell als die Standard-Shell verwenden möchtest.
Syntax:
chsh [-s <Shell>]
Beispiel:
Um deine Shell in Bash zu ändern, gibst du Folgendes ein:
chsh -s /bin/bash
Du wirst aufgefordert, dein Passwort einzugeben, um die Änderung zu bestätigen.
Befehl "usermod"
Der Befehl usermod
(Modify User) ermöglicht es dir, Benutzerinformationen zu ändern, wie z. B. den Benutzernamen, die UID, die GID und die Shell.
Syntax:
usermod [Optionen] [Benutzername]
Beispiel:
Um den Benutzernamen von alice
in alice_new
zu ändern, gibst du Folgendes ein:
usermod -l alice_new alice
Verwendung des Befehls ’su‘
Der Befehl su
(Substitute User) ermöglicht dir, dich als ein anderer Benutzer anzumelden, ohne dich abzumelden oder eine neue Terminalsitzung zu eröffnen. Dies ist besonders nützlich, wenn du administrative Aufgaben ausführen musst oder auf Dateien und Ressourcen zugreifen musst, die nur einem anderen Benutzer gehören.
Syntax
Die grundlegende Syntax des Befehls su
lautet:
su [Optionen] Benutzername
Optionen
Einige häufig verwendete Optionen des Befehls su
:
-
-c
: Führe einen einzigen Befehl als angegebener Benutzer aus. -
-s
: Gib die zu verwendende Shell für den neuen Benutzer an. -
-m
: Lade die Umgebungsvariablen des neuen Benutzers. -
-l
: Login-Shell starten, als ob sich der neue Benutzer anmeldet.
Verwendung
Um dich als ein anderer Benutzer anzumelden, gib einfach den Befehl su
gefolgt vom Benutzernamen ein:
su benutzername
Du wirst dann zur Eingabe des Passworts des Benutzers aufgefordert. Wenn das Passwort korrekt ist, wechselst du zur Shell des anderen Benutzers.
Beispiel
Angenommen, du möchtest dich als Benutzer admin
anmelden. Du würdest folgenden Befehl eingeben:
su admin
Du wirst dann zur Eingabe des Passworts von admin
aufgefordert. Nachdem du das Passwort eingegeben hast, wechselst du zur Shell von admin
.
Zurückwechseln zum vorherigen Benutzer
Um zum vorherigen Benutzer zurückzuwechseln, kannst du den Befehl exit
eingeben. Dies beendet die aktuelle Shell und du kehrst zur Shell des vorherigen Benutzers zurück.
Verwendung des Befehls ’sudo‘
Der sudo-Befehl (Superuser Do) ermöglicht es dir, Befehle mit erhöhten Rechten auszuführen, ohne dich als Root-Benutzer anmelden zu müssen. Dies ist nützlich, wenn du bestimmte Aufgaben ausführen musst, für die Administratorrechte erforderlich sind, beispielsweise:
- Installieren oder Aktualisieren von Software
- Ändern von Systemeinstellungen
- Verwalten von Benutzerkonten
So verwendest du ’sudo‘
Um den sudo-Befehl zu verwenden, gib einfach "sudo" gefolgt vom Befehl ein, den du ausführen möchtest. Beispielsweise würdest du Folgendes eingeben, um das Software-Repository zu aktualisieren:
sudo apt update
Du wirst dann aufgefordert, dein Passwort einzugeben. Gib dein Passwort ein und drücke die Eingabetaste. Wenn du dein Passwort richtig eingegeben hast, wird der Befehl mit erhöhten Rechten ausgeführt.
Sicherheitserwägungen bei der Verwendung von ’sudo‘
Die Verwendung von sudo ist ein mächtiges Werkzeug, das mit Bedacht eingesetzt werden sollte. Wenn du sudo verwendest, hast du die Möglichkeit, alle möglichen Änderungen an deinem System vorzunehmen, auch solche, die schädlich sein könnten. Es ist wichtig, nur Befehle auszuführen, die du verstehst und denen du vertraust.
Es wird außerdem empfohlen, bei der Konfiguration von sudo-Berechtigungen vorsichtig vorzugehen. Du solltest nur den Benutzern und Gruppen sudo-Berechtigungen erteilen, die sie benötigen. Du kannst die Benutzer- und Gruppenkonfiguration mit dem Befehl "visudo" bearbeiten.
Beispiel für die Konfiguration von sudo-Berechtigungen:
# Erteile dem Benutzer 'username' sudo-Berechtigungen für den Befehl 'apt-get':
username ALL=(ALL) NOPASSWD: /usr/bin/apt-get
Häufige Fehler bei der Verwendung von ’sudo‘
Hier sind einige häufige Fehler bei der Verwendung von sudo:
-
Fehler: sudo: Befehl nicht gefunden
- Dieser Fehler tritt auf, wenn der sudo-Befehl nicht installiert ist. Installiere sudo mit deinem Paketmanager (z. B. apt-get oder yum).
-
Fehler: sudo: Passwort erforderlich für username
- Dieser Fehler tritt auf, wenn du dein Passwort nicht richtig eingegeben hast. Gib dein Passwort erneut ein und versuche es erneut.
-
Fehler: sudo: Zugriff verweigert
- Dieser Fehler tritt auf, wenn du nicht über die Berechtigung zum Ausführen des Befehls als sudo verfügst. Wende dich an deinen Systemadministrator, um sudo-Berechtigungen anzufordern.
Verwendung des Befehls ‚chsh‘
Mit dem Befehl ‚chsh‘ kannst du deine Standard-Login-Shell ändern. Dies ist hilfreich, wenn du eine andere Shell als die vorkonfigurierte verwenden möchtest, beispielsweise Bash, Zsh oder Tcsh.
Syntax
Die allgemeine Syntax des Befehls ‚chsh‘ lautet:
chsh [-s <neue_shell>] <benutzername>
- -s: Gibt die neue Standard-Shell an.
- <neue_shell>: Der Pfad zur neuen Shell, z. B. ‚/bin/bash‘ oder ‚/bin/zsh‘.
-
: Der Benutzername des Kontos, dessen Shell geändert werden soll.
Ändern der eigenen Shell
Um deine eigene Standard-Shell zu ändern, führe den folgenden Befehl aus:
chsh -s <neue_shell>
Ändern der Shell eines anderen Benutzers
Als Root-Benutzer kannst du auch die Shell eines anderen Benutzers ändern. Verwende dazu folgende Syntax:
chsh -s <neue_shell> <benutzername>
Überprüfen der aktuellen Shell
Um deine aktuelle Standard-Shell zu überprüfen, führe den folgenden Befehl aus:
echo $SHELL
Sicherheitserwägungen
Es ist wichtig zu beachten, dass der Befehl ‚chsh‘ Sicherheitsrisiken birgt, da er die Standard-Shell eines Benutzers ändert. Dies kann es Angreifern ermöglichen, Sicherheitsmaßnahmen zu umgehen und auf das System zuzugreifen.
Daher solltest du den Befehl ‚chsh‘ nur verwenden, wenn du dir der Sicherheitsrisiken bewusst bist und entsprechende Maßnahmen getroffen hast, um dein System zu schützen.
Verwendung des Befehls ‚usermod‘
Der Befehl usermod
ist ein vielseitiges Werkzeug zur Verwaltung von Benutzerkonten unter Linux. Mit ihm kannst du verschiedene Aspekte eines Benutzerkontos ändern, einschließlich des Benutzernamens, der UID (Benutzer-ID), der GID (Gruppen-ID) und der Home-Verzeichnisses.
Bearbeiten von Benutzerinformationen
Um den Benutzernamen zu ändern, verwende die Option -l
:
sudo usermod -l neuer_benutzername alter_benutzername
Zum Ändern der UID verwendest du -u
:
sudo usermod -u 1000 benutzername
Für die GID verwendest du -g
:
sudo usermod -g gruppe benutzername
Das Home-Verzeichnis kannst du mit -d
ändern:
sudo usermod -d /home/neues_verzeichnis benutzername
Sperren und Entsperren von Benutzerkonten
Mit usermod
kannst du Benutzerkonten auch sperren und entsperren. Um ein Konto zu sperren, verwende -L
:
sudo usermod -L benutzername
Zum Entsperren verwendest du -U
:
sudo usermod -U benutzername
Hinzufügen und Entfernen von Benutzergruppen
Gruppenzugehörigkeiten kannst du mit den Optionen -G
und -g
bearbeiten. Um einen Benutzer einer Gruppe hinzuzufügen, verwende -G
:
sudo usermod -G gruppe benutzername
Zum Entfernen einer Gruppenzugehörigkeit verwendest du -g
:
sudo usermod -g neue_gruppe -G -gruppe benutzername
Sicherheitserwägungen
Bei der Verwendung von usermod
sind einige wichtige Sicherheitsaspekte zu beachten. Ändere keine Benutzerinformationen, es sei denn, du hast dazu die entsprechende Berechtigung. Das Ändern von Benutzerinformationen kann die Systemstabilität beeinträchtigen.
Sicherheitserwägungen bei der Benutzeränderung
Das Ändern von Benutzern unter Linux kann ein Risiko für die Sicherheit deines Systems darstellen. Daher ist es wichtig, die folgenden Sicherheitsaspekte zu beachten:
Sicherstellung angemessener Berechtigungen
Stelle sicher, dass der neue Benutzer nur die Berechtigungen erhält, die zur Ausführung seiner Aufgaben unbedingt erforderlich sind. Dies kann durch Verwendung des Befehls ’sudo‘ oder ‚usermod‘ erreicht werden.
Überwachung von Benutzeraktivitäten
Überwache die Aktivitäten des neuen Benutzers, um Anzeichen verdächtiger Aktivitäten frühzeitig zu erkennen. Tools wie ‚auditd‘ oder ‚logwatch‘ können für diesen Zweck verwendet werden.
Verwendung starker Passwörter
Verwende für alle Benutzerkonten starke und eindeutige Passwörter. Erwäge die Verwendung eines Passwort-Managers wie ‚KeePassXC‘ oder ‚LastPass‘ zur sicheren Speicherung deiner Passwörter.
Deaktivierung nicht verwendeter Konten
Deaktiviere oder lösche nicht verwendete Konten, um das Risiko unbefugten Zugriffs zu verringern. Dies kann mit dem Befehl ‚userdel‘ erreicht werden.
Überprüfung von Benutzerberechtigungen
Überprüfe regelmäßig die Berechtigungen aller Benutzer, um sicherzustellen, dass sie nicht versehentlich geändert wurden. Dies kann mit dem Befehl ‚ls -l /etc/passwd‘ erreicht werden.
Beschränkung des root-Zugriffs
Beschränke den root-Zugriff nur auf die Personen, die ihn unbedingt benötigen. Verwende stattdessen ’sudo‘ oder ’su‘ für Aufgaben, die erhöhte Berechtigungen erfordern.
Aktivierung von Firewall und IDS
Aktiviere eine Firewall und ein Intrusion Detection System (IDS) auf deinem Server, um verdächtige Aktivitäten zu erkennen und zu blockieren.
Regelmässige Sicherheitsupdates
Führe regelmäßig Sicherheitsupdates durch, um bekannte Schwachstellen zu schließen und dein System zu schützen.
Beheben häufiger Fehler bei der Benutzeränderung
Bei der Änderung von Benutzern unter Linux kannst du auf einige häufige Fehler stoßen. Hier ist eine Anleitung, wie du diese Fehler beheben kannst:
Fehler: "su: Befehl nicht gefunden"
Ursache: Der Befehl su
ist nicht in deiner aktuellen Shell installiert.
Lösung: Installiere den Befehl su
. Unter Ubuntu und Debian kannst du den folgenden Befehl verwenden:
sudo apt install shadow
Fehler: "sudo: Befehl nicht gefunden"
Ursache: Der Befehl sudo
ist nicht in deiner aktuellen Shell installiert.
Lösung: Installiere den Befehl sudo
. Unter Ubuntu und Debian kannst du den folgenden Befehl verwenden:
sudo apt install sudo
Fehler: "chsh: Befehl nicht gefunden"
Ursache: Der Befehl chsh
ist nicht in deiner aktuellen Shell installiert.
Lösung: Installiere den Befehl chsh
. Unter Ubuntu und Debian kannst du den folgenden Befehl verwenden:
sudo apt install util-linux
Fehler: "usermod: Befehl nicht gefunden"
Ursache: Der Befehl usermod
ist nicht in deiner aktuellen Shell installiert.
Lösung: Installiere das Paket shadow-utils
. Unter Ubuntu und Debian kannst du den folgenden Befehl verwenden:
sudo apt install shadow-utils
Fehler: "Zugriff verweigert"
Ursache: Du hast keine ausreichenden Berechtigungen, um den Benutzer zu ändern.
Lösung: Stelle sicher, dass du als Superuser (root) oder als Benutzer mit Sudo-Berechtigungen angemeldet bist.
Fehler: "Benutzer existiert nicht"
Ursache: Der Benutzer, den du ändern möchtest, existiert nicht.
Lösung: Erstelle den Benutzer zuerst mit dem Befehl useradd
. Unter Ubuntu und Debian kannst du den folgenden Befehl verwenden:
sudo useradd neuer_benutzer
Fehler: "Shell nicht gefunden"
Ursache: Die Shell, die du für den Benutzer festlegen möchtest, ist nicht installiert oder nicht in der Datei /etc/shells
aufgeführt.
Lösung: Installiere die Shell oder füge sie zur Datei /etc/shells
hinzu.
Verwalten von Benutzerrechten und Berechtigungen
Als Systemadministrator ist es wichtig, die Rechte und Berechtigungen deiner Benutzer zu verwalten. Dies gewährleistet, dass jeder Benutzer nur auf die Ressourcen zugreifen kann, die er für seine Aufgaben benötigt.
Festlegen von Benutzerrechten
Du kannst Benutzerberechtigungen mit dem Befehl usermod
festlegen. Dieser Befehl verfügt über verschiedene Optionen zum Konfigurieren von Parametern wie:
- -a, –append: Fügt einer Liste von Gruppen Berechtigungen hinzu, ohne bestehende Berechtigungen zu überschreiben.
- -G, –groups: Weist den Benutzer den angegebenen Gruppen zu.
- -d, –home: Legt das Home-Verzeichnis des Benutzers fest.
- -s, –shell: Legt die Standard-Shell des Benutzers fest.
Beispiel:
Zum Hinzufügen des Benutzers john
zur Gruppe wheel
:
usermod -aG wheel john
Einschränken von Benutzerberechtigungen
Gelegentlich musst du möglicherweise die Berechtigungen eines Benutzers einschränken. Dies kann mithilfe von Benutzerrichtlinien erreicht werden, die Zugriffskontrolllisten (ACLs) definieren.
Mit ACLs kannst du Berechtigungen für bestimmte Dateien und Verzeichnisse festlegen. Dies ist nützlich, um vertrauliche Daten vor unbefugtem Zugriff zu schützen.
Zum Erstellen einer ACL für die Datei secret.txt
kannst du den folgenden Befehl verwenden:
setfacl -m u:john:rwx secret.txt
ACLs werden auch von SELinux (Security Enhanced Linux) unterstützt, das eine leistungsstarke Methode zur Durchsetzung von Sicherheitsrichtlinien bietet. SELinux ermöglicht es dir, Kontextlabeln für Dateien und Prozesse zu definieren, um den Zugriff basierend auf dem Label zu kontrollieren.
Konfigurieren von sudo
sudo ist ein leistungsstarkes Tool, mit dem Benutzer Befehle mit Root-Rechten ausführen können. Du kannst sudo so konfigurieren, dass es bestimmte Berechtigungen gewährt, ohne dem Benutzer vollständige Root-Zugriff zu gewähren.
Um die sudo-Einstellungen zu konfigurieren, bearbeite die Datei /etc/sudoers
. Diese Datei definiert Regeln, die angeben, welche Benutzer welche Befehle mit sudo ausführen können.
Beispiel:
Zum Gewähren der Berechtigung für den Benutzer john
, den Befehl command1
mit sudo auszuführen:
john ALL=(ALL) NOPASSWD: /usr/bin/command1
Konfigurieren von standardmäßigen Benutzer-Shells
Die Standard-Shell eines Benutzers legt fest, welche Befehlszeileninterpreter verwendet werden soll, wenn sich der Benutzer anmeldet. Die Konfiguration der Standard-Shell dient dazu, die Arbeitsumgebung jedes Benutzers individuell anzupassen und die Effizienz zu steigern.
Wie überprüfe ich die aktuelle Standard-Shell?
Du kannst die aktuelle Standard-Shell eines Benutzers mit dem folgenden Befehl überprüfen:
chsh -s
Ändern der Standard-Shell
Du kannst die Standard-Shell eines Benutzers mit dem Befehl chsh
ändern. Als Root-Benutzer gibst du den folgenden Befehl ein, gefolgt vom Benutzernamen und dem Pfad zur neuen Shell:
chsh -s /bin/sh username
Für Nicht-Root-Benutzer wird ein Passwort abgefragt. Wenn du die Standard-Shell für deinen eigenen Benutzer ändern möchtest, kannst du den folgenden Befehl ohne Root-Berechtigungen verwenden:
chsh
Empfohlene Shells
Zu den gängigen Optionen für Benutzer-Shells gehören:
- Bash: Eine beliebte Shell, die über umfangreiche Funktionen und Anpassungsmöglichkeiten verfügt.
- Zsh: Eine erweiterte Shell mit verbesserter Vervollständigung, Themen und Plugins.
- Ksh: Eine Shell, die sich durch ihre Kompatibilität mit der Bourne-Shell und ihre skriptbasierten Funktionen auszeichnet.
Auswählen einer Shell
Bei der Auswahl einer Shell solltest du folgende Faktoren berücksichtigen:
- Benutzerpräferenzen: Wähle eine Shell, die zu deinem Arbeitsablauf passt.
- Funktionalitätsanforderungen: Überlege, welche Funktionen für deine Aufgaben wichtig sind.
- Kompatibilität: Vergewissere dich, dass die Shell mit deinen Anwendungen und Skripten kompatibel ist.
Sicherheitserwägungen
- Ändere die Standard-Shell nur mit Bedacht.
- Überprüfe die Berechtigungen der neuen Shell und ihrer Installationsverzeichnisse.
- Erwäge die Verwendung einer Shell, die Sicherheitsfunktionen unterstützt, wie z. B. Bash mit aktivierter Restriktionsstufe.
Benutzerprofile und Umgebungsvariablen
Benutzerprofile und Umgebungsvariablen spielen eine entscheidende Rolle bei der Personalisierung deiner Linux-Umgebung.
Benutzerprofile
Jedes Mal, wenn du dich anmeldest, lädt Linux dein Benutzerprofil. Es handelt sich dabei um eine Sammlung von Konfigurationsdateien, die deine bevorzugten Einstellungen, Umgebungsvariablen und Shell-Konfigurationen enthält.
Zu den gängigen Benutzerprofilen gehören:
- ~/.profile: Globale Konfigurationen für deine Shell
- ~/.bashrc: Konfigurationen für die Bash-Shell
- ~/.zshrc: Konfigurationen für die Zsh-Shell
Umgebungsvariablen
Umgebungsvariablen sind benannte Werte, die bestimmen, wie Programme auf deinem System ausgeführt werden. Sie können Variablen wie deinen Benutzernamen ($USER
), dein aktuelles Verzeichnis ($PWD
) oder den Pfad zum Befehl su
($SUDO
).
Du kannst Umgebungsvariablen auf verschiedene Arten festlegen:
-
Temporär im Terminal:
export VARNAME=value
-
Dauerhaft in deinem Profil:
echo "export VARNAME=value" >> ~/.profile
-
Systemweit in
/etc/profile
oder/etc/environment
Schlussfolgerung
Das Verständnis von Benutzerprofilen und Umgebungsvariablen ist unerlässlich, um deine Linux-Umgebung an deine Bedürfnisse anzupassen. Indem du diese Konfigurationen verwaltest, kannst du ein optimiertes und personalisiertes Benutzererlebnis schaffen.