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 deniedPrüfe Verbindungsrechte getrennt von Daemon-Vertrauensprivilegien.
error: user 'example' is not allowed to connect to the Nix daemonDer 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/socketErgebnis 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.confErgebnis 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-pagerErgebnis 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?
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?
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.
- Nix manual — multi-user mode (Projekt- oder Distributionsdokumentation)
- Nix manual — allowed-users and trusted-users (Projekt- oder Distributionsdokumentation)