Website-Suche

So ändern Sie die Berechtigungen für Docker-Ordner unter Linux dauerhaft


Docker ist ein leistungsstarkes Tool, mit dem Sie Anwendungen in isolierten Umgebungen, sogenannten Containern, ausführen können. Manchmal müssen Sie jedoch möglicherweise die Berechtigungen von Docker-Ordnern ändern, um sicherzustellen, dass Ihre Anwendungen auf die erforderlichen Dateien und Verzeichnisse zugreifen können.

Dieser Artikel führt Sie durch den Prozess des dauerhaften Änderns von Docker-Ordnerberechtigungen auf einem Linux-System.

Grundlegendes zu Docker-Ordnerberechtigungen

Standardmäßig speichert Docker seine Daten, einschließlich Images, Container und Volumes, in bestimmten Verzeichnissen auf Ihrem Linux-System. Das gebräuchlichste Verzeichnis ist /var/lib/docker.

Die Berechtigungen dieser Ordner bestimmen, wer die darin enthaltenen Dateien lesen, schreiben oder ausführen kann. Wenn die Berechtigungen zu restriktiv sind, funktionieren Ihre Anwendungen möglicherweise nicht ordnungsgemäß.

Warum Docker-Ordnerberechtigungen ändern?

Es gibt mehrere Gründe, warum Sie möglicherweise die Berechtigungen für Docker-Ordner ändern müssen:

  • Möglicherweise möchten Sie den Zugriff auf bestimmte Benutzer oder Gruppen einschränken oder gewähren.
  • Einige Anwendungen erfordern bestimmte Berechtigungen, um ordnungsgemäß zu funktionieren.
  • Das Anpassen von Berechtigungen kann dazu beitragen, Ihre Docker-Umgebung zu schützen.

Schritte zum dauerhaften Ändern von Docker-Ordnerberechtigungen

Das dauerhafte Ändern der Berechtigungen für Docker-Ordner beinhaltet das Ändern des Besitzes und der Berechtigungen der Docker-Verzeichnisse.

So können Sie es tun:

Schritt 1: Identifizieren des Docker-Verzeichnisses

Zuerst müssen Sie ermitteln, wo Docker seine Daten speichert, der Standardspeicherort ist /var/lib/docker und Sie können dies bestätigen, indem Sie den folgenden Befehl ausführen:

docker info | grep "Docker Root Dir"

Dieser Befehl gibt das Docker-Stammverzeichnis aus, das in der Regel /var/lib/docker ist.

Schritt 2: Beenden des Docker-Dienstes

Bevor Sie Änderungen vornehmen, müssen Sie den Docker-Dienst mit dem folgenden systemctl-Befehl stoppen, um Konflikte oder Datenbeschädigungen zu verhindern:

sudo systemctl stop docker

Schritt 3: Ändern des Besitzes des Docker-Verzeichnisses

Um die Eigentümerschaft des Docker-Verzeichnisses zu ändern, verwenden Sie den Befehl chown. Wenn Sie z. B. den Besitz in einen Benutzer mit dem Namen john und eine Gruppe mit dem Namen docker ändern möchten, führen Sie Folgendes aus:

sudo chown -R john:docker /var/lib/docker

Die Option -R stellt sicher, dass die Besitzänderung rekursiv auf alle Dateien und Unterverzeichnisse innerhalb des Docker-Verzeichnisses angewendet wird.

Schritt 4: Ändern der Berechtigungen des Docker-Verzeichnisses

Als nächstes müssen Sie die Berechtigungen des Docker-Verzeichnisses mit dem Befehl chmod ändern. Um z. B. dem Besitzer vollständige Berechtigungen und der Gruppe Lese- und Ausführungsberechtigungen zu erteilen, würden Sie Folgendes ausführen:

sudo chmod -R 750 /var/lib/docker

750 bedeutet hier:

  • 7 Für den Besitzer: Lese-, Schreib- und Ausführungsberechtigungen.
  • 5 für die Gruppe: Lese- und Ausführungsberechtigungen.
  • 0 für andere: keine Berechtigungen.

Nachdem Sie den Besitz und die Berechtigungen geändert haben, starten Sie den Docker-Dienst neu, um die Änderungen zu übernehmen:

sudo systemctl start docker

Überprüfen Sie abschließend, ob die Änderungen korrekt angewendet wurden, indem Sie den Besitz und die Berechtigungen des Docker-Verzeichnisses mit dem folgenden Befehl überprüfen:

ls -ld /var/lib/docker

Mit diesem Befehl werden der Besitz und die Berechtigungen des Docker-Verzeichnisses angezeigt.

Die Änderungen dauerhaft machen

Die Änderungen, die Sie an den Docker-Ordnerberechtigungen vorgenommen haben, bleiben auch bei Neustarts erhalten. Wenn Docker jedoch aktualisiert oder neu installiert wird, werden die Berechtigungen möglicherweise auf die Standardeinstellungen zurückgesetzt.

Um sicherzustellen, dass die Änderungen dauerhaft sind, können Sie einen systemd-Dienst oder einen Cron-Job erstellen, der die Berechtigungen bei jedem Systemstart anwendet.

Option 1: Verwenden eines Systemd-Dienstes

Erstellen Sie eine neue systemd-Dienstdatei.

sudo nano /etc/systemd/system/docker-permissions.service

Fügen Sie der Datei den folgenden Inhalt hinzu.

[Unit]
Description=Set Docker folder permissions
After=docker.service

[Service]
Type=oneshot
ExecStart=/bin/chown -R john:docker /var/lib/docker
ExecStart=/bin/chmod -R 750 /var/lib/docker

[Install]
WantedBy=multi-user.target

Speichern Sie die Datei, und aktivieren Sie die Ausführung des Diensts beim Booten.

sudo systemctl enable docker-permissions.service

Option 2: Verwenden eines Cron-Jobs

Öffnen Sie den crontab-Editor.

crontab -e

Fügen Sie der crontab-Datei die folgende Zeile hinzu, um die Berechtigungen bei jedem Neustart anzuwenden.

@reboot /bin/chown -R john:docker /var/lib/docker && /bin/chmod -R 750 /var/lib/docker

Speichern und schließen Sie die Datei.

Schlussfolgerung

Das Ändern von Docker-Ordnerberechtigungen unter Linux ist ein unkomplizierter Prozess, der Ihnen helfen kann, die Zugriffssteuerung zu verwalten, Anwendungsanforderungen zu erfüllen und die Sicherheit zu erhöhen.

Wenn Sie die in diesem Artikel beschriebenen Schritte ausführen, können Sie den Besitz und die Berechtigungen von Docker-Verzeichnissen dauerhaft ändern, um sicherzustellen, dass Ihre Docker-Umgebung reibungslos und sicher funktioniert.

Denken Sie daran, die Änderungen zu überprüfen, und erwägen Sie die Verwendung eines systemd-Dienstes oder eines Cron-Jobs, um die Änderungen dauerhaft zu machen.

Verwandte Artikel: