NixOS und Konfiguration

Ein Benutzer erreicht den Nix-Daemon nicht

Nix scheitert am Daemon-Socket oder seiner Zulassungsregel. Unterscheide Socket-Zugriff, allowed-users und weitreichende trusted-users-Rechte.

Auf dieser Seite
  1. Symptome und Geltungsbereich
  2. Mögliche Ursachen
  3. Sicher prüfen
  4. Nächste Schritte nach Befund
  5. Quellen und Prüfung
  6. Verwandte Probleme

Symptome und Geltungsbereich

  • Nix meldet verweigerten Zugriff beim Verbinden zum Daemon-Socket.
  • Der Daemon lehnt einen Benutzernamen vor dem Bau ab.

Betroffene Umgebung

Mehrbenutzer-Nix mit nix-daemon.socket und Zulassung über allowed-users.

Erkennbare Meldungen (synthetische Beispiele)
error: cannot connect to socket at '/nix/var/nix/daemon-socket/socket': Permission denied

Prüfe Verbindungsrechte getrennt von Daemon-Vertrauensprivilegien.

error: user 'example' is not allowed to connect to the Nix daemon

Der Daemon ist erreichbar, aber seine Zulassungsregel lehnt die Identität ab.

Mögliche Ursachen

Das sind mögliche Erklärungen, keine bestätigte Diagnose. Mehrere unabhängige Fehler können gleichzeitig vorliegen.

  • Durchsuchungsrechte im Socket-Pfad oder Socket-Rechte können den Verbindungsaufbau verhindern.
  • allowed-users kann verbundene Benutzer ablehnen; trusted-users verleiht Zusatzrechte und ist nicht die normale Baufreigabe.

Sicher prüfen

Führe jeweils einen Befehl in der passenden Sitzung aus. Lies zuerst die Erklärung. Großgeschriebene Platzhalter brauchen deine Werte; Werkzeuge und Rechte unterscheiden sich je nach Distribution. Die Website zeigt Befehle an und führt sie niemals aus.

Prüfschritt 1

Lies Socket-Pfadmetadaten; der Daemon wird weder kontaktiert noch neu gestartet.

namei -l /nix/var/nix/daemon-socket/socket

Ergebnis einordnen: Prüfe Pfaddurchsuchung und Socket-Rechte für den tatsächlichen Benutzer. Ein fehlender Socket ist etwas anderes als verweigerter Zugriff.

Prüfschritt 2

Liest gezielte globale Regelzeilen; prüfe gegebenenfalls eingebundene Dateien.

rg -n 'allowed-users|trusted-users|include' /etc/nix/nix.conf

Ergebnis einordnen: Ohne ausdrückliches allowed-users kann der dokumentierte Standard gelten. trusted-users erlaubt umfassendere Store-Verwaltung statt nur Bauen.

Prüfschritt 3

Liest die System-Socket-Unit; kein Neustart oder Verbindungsversuch.

systemctl status nix-daemon.socket --no-pager

Ergebnis einordnen: Inaktive, fehlende und unzugängliche Sockets brauchen verschiedene Maßnahmen. Nutze ohne systemd die jeweilige Installationsverwaltung.

Nächste Schritte nach Befund

Vorgesehenen Socket-Zugriff herstellen

Wenn Socket-Rechte von der vorgesehenen Unit-Regel abweichen, korrigiere deklarative Socket-Konfiguration oder Installationseigentümer und stelle den Socket durch seine Verwaltung bereit. Melde dich nach beabsichtigter Gruppenänderung neu an.

Vorsicht: Mache nicht den gesamten /nix-Baum schreibbar und ändere Store-Eigentümer nicht rekursiv. Ein Daemon-Neustart während Bauten benötigt Abstimmung.

Wiederherstellung / Rücknahme: Stelle frühere Socket-Werte und Gruppenmitgliedschaft zurück; lasse den ursprünglichen Manager den Socket wieder bereitstellen.

Hat dir dieser Hinweis geholfen?

Hinweis teilen#

Normale Daemon-Zulassung erteilen

Wenn die Verbindung funktioniert, der vorgesehene Benutzer aber ausgeschlossen ist, ergänze ihn oder seine passende Gruppe in allowed-users. Begrenze trusted-users auf Identitäten mit benötigten Verwaltungsrechten.

Vorsicht: Vertrauenswürdige Nix-Benutzer können den Store ähnlich weitreichend wie root beeinflussen. Eine Socket-Ablehnung begründet diese Rolle nicht.

Wiederherstellung / Rücknahme: Stelle frühere Zulassungsliste und Daemon-Konfiguration zurück; neue Bauausgaben werden durch Regelrücknahme nicht gelöscht.

Hat dir dieser Hinweis geholfen?

Hinweis teilen#

Quellen und Prüfung

Diese Anleitung basiert auf Originalquellen von Projekten oder Distributionen und wurde am genannten Datum redaktionell geprüft. Das ist eine Quellenprüfung, kein Nachweis einer auf deiner Hardware reproduzierten Lösung. Log-Beispiele sind synthetische Testdaten. Versionsabhängige Details müssen zur installierten Ausgabe passen.