13 Benutzer- und Berechtigungsmanagement

13.1 Linux-Benutzerkonten und Gruppen

In einer Linux-Umgebung sind Benutzerkonten und Gruppen grundlegende Konzepte zur Verwaltung von Zugriffen und Berechtigungen. Jeder Benutzer in einem Linux-System hat ein eigenes Konto, das durch eine eindeutige Benutzer-ID (UID) identifiziert wird. Gruppen ermöglichen es, Benutzer zusammenzufassen und gemeinsame Berechtigungen zu vergeben.

13.1.1 Verwaltung von Benutzerkonten:

13.2 Verwaltung von Benutzerrechten

Berechtigungen in Linux basieren auf einem einfachen, aber leistungsfähigen Modell, das die Berechtigungen für den Besitzer der Datei (user), die Gruppe und alle anderen (others) regelt. Diese Berechtigungen umfassen Lesen (r), Schreiben (w) und Ausführen (x).

13.2.1 Beispiel für Berechtigungen:

-rw-r--r-- 1 user group 4096 Sep 1 10:00 example.txt

In diesem Beispiel hat der Benutzer user Lese- und Schreibrechte, die Gruppe group hat nur Leserechte, und alle anderen haben ebenfalls nur Leserechte.

13.2.2 Berechtigungen ändern:

Die Berechtigungen können mit dem chmod-Befehl geändert werden.

sudo chmod 755 example.txt

Dieser Befehl setzt die Berechtigungen so, dass der Besitzer Lesen, Schreiben und Ausführen darf, während die Gruppe und andere Benutzer nur Leserechte haben.

13.3 sudo und seine Bedeutung in Ansible

sudo ist ein zentrales Werkzeug in der Linux-Administration, das es einem Benutzer ermöglicht, Kommandos mit den Rechten eines anderen Benutzers (normalerweise root) auszuführen. Da viele Ansible-Tasks administrative Rechte benötigen (z.B., Installation von Paketen, Änderung von Systemkonfigurationen), wird sudo häufig in Playbooks verwendet.

13.3.1 Beispiel:

In einem Ansible-Playbook kann sudo wie folgt verwendet werden:

- hosts: all
  tasks:
    - name: Installiere Apache
      apt:
        name: apache2
        state: present
      become: yes
      become_user: root

In diesem Beispiel wird der become-Parameter verwendet, um den Task mit Root-Rechten auszuführen.

sudo ist somit ein essenzielles Werkzeug für die Arbeit mit Ansible, da es ermöglicht, Systemoperationen sicher und kontrolliert durchzuführen.