Problem
Bei wirklich jedem Start hat der Nextcloud-Client (Bookworm) mir das Passwort zu beiden angebundenen NC-Servern erneut abgefragt.
Die Lösung
Es muss eine Passwort/Keyring-Anwendung installiert sein, damit der Client die Zugangsdaten dort drin speichert.
Ich hatte vor kurzem mit meinem Arbeitsplatzrechner ein größeres Problem u. a. auch wegen dem gnome-keyring-manager, weswegen ich den deinstalliert hatte. Mittlerweile habe Debian Bookworm mal komplett neu installiert - mit einer Paketliste ohne die Anwendung. Nachdem ich das Paket jetzt wieder installiert habe, funktioniert alles wieder einwandfrei.
[Tip] Nextcloud Client fragt immer wieder das Passwort ab
- heisenberg
- Beiträge: 4123
- Registriert: 04.06.2015 01:17:27
- Lizenz eigener Beiträge: MIT Lizenz
Re: [Tip] Nextcloud Client fragt immer wieder das Passwort ab
Das folgende Konzept bindet die NextCloud-Instanz auch bei einem Linux ohne Desktop oder ohne eine App von Nextcloud ein.
Bei Bedarf das davfs nachinstallieren:
Die Frage bei der Installation, ob das SUID-Bit in der Datei /sbin/mount.davfs gesetzt werden soll, mit “Ja” beantworten.
Wenn auch normale Nutzer ihre NC-Ressourcen mounten können sollen, diese in die Gruppe aufnehmen:
Falls vorher root, nun als Nutzer anmelden:
Verzeichnisse und Dateien anlegen:
Die Datei mit den Credentials anlegen: und mit sichern.
Diese Datei enthält z. B. http(s)://meinecloud.domain.tld/remote.php/dav/files/nutzername nutzername passwort
Falls vorher nutzername, nun mit exit zurück zu root-Rechten und die /etc/fstab ergänzen: http(s)://meinecloud.domain.tld/remote.php/dav/files/nutzername /home/nutzername/nextcloud davfs user,rw,noauto,_netdev 0 0
Nun kann die NC-Instanz – als Benutzer nutzername (!) – mit eingebunden werden. Versucht man das von root aus, klappt das nicht ohne Abfrage der Credentials.
Ich habe es daher auch noch nicht hinbekommen, daß WebDav-Remotes wie CIFS schon beim Booten eingebunden werden. Vielleicht hat von Euch jemand eine Idee, wie das machbar ist. Aktuell versuche ich einen systemd Service mit den Rechten von nutzername zu starten, aber das klappt bis jetzt nicht wirklich.
Es geht bei mir um lokale VMs mit Debian 11/12 ohne grafische Oberfläche, in denen ich zwar einen normalen Nutzer angelegt habe, mich jedoch immer mit root anmelde.
LG/A
Bei Bedarf das davfs nachinstallieren:
Code: Alles auswählen
sudo apt-get install davfs2
Wenn auch normale Nutzer ihre NC-Ressourcen mounten können sollen, diese in die Gruppe aufnehmen:
Code: Alles auswählen
sudo usermod -aG davfs2 `nutzername`
Code: Alles auswählen
su - nutzername
Code: Alles auswählen
mkdir ~/nextcloud ~/.davfs2
Code: Alles auswählen
touch ~/.davfs2/secrets
Code: Alles auswählen
chmod 600 ~/.davfs2/secrets
Diese Datei enthält z. B. http(s)://meinecloud.domain.tld/remote.php/dav/files/nutzername nutzername passwort
Falls vorher nutzername, nun mit exit zurück zu root-Rechten und die /etc/fstab ergänzen: http(s)://meinecloud.domain.tld/remote.php/dav/files/nutzername /home/nutzername/nextcloud davfs user,rw,noauto,_netdev 0 0
Nun kann die NC-Instanz – als Benutzer nutzername (!) – mit
Code: Alles auswählen
mount ~/nextcloud
Ich habe es daher auch noch nicht hinbekommen, daß WebDav-Remotes wie CIFS schon beim Booten eingebunden werden. Vielleicht hat von Euch jemand eine Idee, wie das machbar ist. Aktuell versuche ich einen systemd Service mit den Rechten von nutzername zu starten, aber das klappt bis jetzt nicht wirklich.
Es geht bei mir um lokale VMs mit Debian 11/12 ohne grafische Oberfläche, in denen ich zwar einen normalen Nutzer angelegt habe, mich jedoch immer mit root anmelde.
LG/A
Noch'n Forum: https://techtalk.syntaxys.de/
Re: [Tip] Nextcloud Client fragt immer wieder das Passwort ab
Ich nutze Nextcloud aber nicht per WebDAV. Bzgl. deines Problems habe ich vielleicht hier was gefunden. Ich habe deine Zeile mal entsprechend umgeändert. Ob es hilft, weiß ich nicht.syntaxys hat geschrieben:Ich habe es daher auch noch nicht hinbekommen, daß WebDav-Remotes wie CIFS schon beim Booten eingebunden werden. Vielleicht hat von Euch jemand eine Idee, wie das machbar ist.
Code: Alles auswählen
http(s)://meinecloud.domain.tld/remote.php/dav/files/nutzername /home/nutzername/nextcloud davfs noauto,_netdev,rw,uid=user,gid=group,x-systemd.automount,x-systemd.mount-timeout=10s,x-systemd.idle-timeout=10m 0 0
Re: [Tip] Nextcloud Client fragt immer wieder das Passwort ab
Danke, den Beitrag hatte ich auch gefunden, aber das klappt nicht. Ich bekomme beim Booten z. B. diese Meldung:
EDIT, das ist die Lösung:
Es reicht nicht, daß die Credentials für den WebDav-Mount im Nutzerverzeichnis ~/.davfs2/secrets hinterlegt sind. Wenn das Remote-FS auch von root eingebunden werden soll, dann müssen die Zugangsdaten auch in /etc/.davfs2/secrets hinterlegt sein. Ich hatte den Fehler gemacht, diese in /root/.davfs2/secrets zu hinterlegen, dort werden sie aber nicht ausgelesen.
Nun kann kann man sich einen Dienst anlegen, der die Nextcloud-Instanz beim Booten einbindet:
Bitte username und uid entsprechend anpassen und dem Einhängepunkt auch die Besitzer-/Nutzerrechte geben.
Fazit:
Bei einer grafischen Oberfläche und der Nutzung der Nextcloud-App (die ja auch nur per WebDav arbeitet) oder eines anderen Mount-Managers für Remote-Systeme, verwendet man die Lösung von @heisenberg wie eingangs erwähnt.
Wenn man keine grafische Oberfläche nutzt, kann man die Nextcloud-Instanz per System-Service beim Booten einbinden, so wie hier beschrieben. Dazu sind die Vorarbeiten nötig, wie in meiner Antwort dazu hier beschrieben.
Der Vorteil bei der Einbindung von Nextcloud per WebDav ist die konsistente Synchronisation des Datenbestands.
Viele Erfolg damit!
LG/A
@heisenberg:
Sorry, ich kann leider mangels Rechten für Neulinge, die eingehegt werden müssen , nicht auf PMs antworten, daher mache ich das hier.
Ich fand, daß der Beitrag thematisch hierher passt, weil es ja grundsätzlich um's automatische Mounten von Nextcloud-Instanzen beim Booten geht – ob jetzt mit oder ohne grafische Oberfläche ist ja letztlich egal – und ich das gleiche Problem habe. Aber wenn der Beitrag hier nicht passt, dann kann den gerne jemand umhängen.
Code: Alles auswählen
Mar 28 12:00:43 debian11-vm mount.davfs: davfs2 1.6.0
Mar 28 12:00:43 debian11-vm systemd[1]: home-syntaxys-nextcloud.mount: Mount process exited, code=exited, status=255/EXCEPTION
Mar 28 12:00:43 debian11-vm systemd[1]: home-syntaxys-nextcloud.mount: Failed with result 'exit-code'.
Mar 28 12:00:43 debian11-vm systemd[1]: Failed to mount /home/syntaxys/nextcloud.
Mar 28 12:00:43 debian11-vm systemd[1]: Dependency failed for Remote File Systems.
Mar 28 12:00:43 debian11-vm systemd[1]: remote-fs.target: Job remote-fs.target/start failed with result 'dependency'.
Es reicht nicht, daß die Credentials für den WebDav-Mount im Nutzerverzeichnis ~/.davfs2/secrets hinterlegt sind. Wenn das Remote-FS auch von root eingebunden werden soll, dann müssen die Zugangsdaten auch in /etc/.davfs2/secrets hinterlegt sein. Ich hatte den Fehler gemacht, diese in /root/.davfs2/secrets zu hinterlegen, dort werden sie aber nicht ausgelesen.
Nun kann kann man sich einen Dienst anlegen, der die Nextcloud-Instanz beim Booten einbindet:
Code: Alles auswählen
root@debian11:/# mkdir -p /mnt/webdav/nextcloud/username
root@debian11:/# cat <<EOT >> /etc/systemd/system/mnt-webdav-nextcloud-username.mount
Description=Mount WebDAV Service
After=network-online.target
Wants=network-online.target
[Mount]
What=http(s)://meinecloud.domain.tld/remote.php/dav/files/nutzername
Where=/mnt/webdav/nextcloud/username
Options=uid=1000,file_mode=0664,dir_mode=2775,grpid
Type=davfs
TimeoutSec=15
[Install]
WantedBy=multi-user.target
EOT
Code: Alles auswählen
root@debian11:/# systemctl start mnt-webdav-nextcloud-username.mount
root@debian11:/# systemctl enable mnt-webdav-nextcloud-username.mount
root@debian11:/# systemctl status mnt-webdav-nextcloud-username.mount
● mnt-webdav-nextcloud-username.mount - Mount WebDAV Service
Loaded: loaded (/etc/systemd/system/mnt-webdav-nextcloud-username.mount; enabled; vendor preset: enabled)
Active: active (mounted) since Fri 2024-03-29 09:42:09 CET; 23min ago
Where: /mnt/webdav/nextcloud/username
What: https://meinecloud.domain.tld/remote.php/dav/files/nutzername
Tasks: 1 (limit: 2280)
Memory: 2.0M
CPU: 86ms
CGroup: /system.slice/mnt-webdav-nextcloud-username.mount
└─1690 /sbin/mount.davfs https://meinecloud.domain.tld/remote.php/dav/files/nutzername /mnt/webdav/nextcloud/username -o rw uid=1000 file_mode=0664 dir_mo>
Mär 29 09:42:05 debian11 systemd[1]: Mounting Mount WebDAV Service...
Mär 29 09:42:05 debian11 mount.davfs[724]: davfs2 1.6.0
Mär 29 09:42:06 debian11 mount[724]: /sbin/mount.davfs: Warnung: der Server kann Dateien nicht sperren
Mär 29 09:42:09 debian11 systemd[1]: Mounted Mount WebDAV Service.
Bei einer grafischen Oberfläche und der Nutzung der Nextcloud-App (die ja auch nur per WebDav arbeitet) oder eines anderen Mount-Managers für Remote-Systeme, verwendet man die Lösung von @heisenberg wie eingangs erwähnt.
Wenn man keine grafische Oberfläche nutzt, kann man die Nextcloud-Instanz per System-Service beim Booten einbinden, so wie hier beschrieben. Dazu sind die Vorarbeiten nötig, wie in meiner Antwort dazu hier beschrieben.
Der Vorteil bei der Einbindung von Nextcloud per WebDav ist die konsistente Synchronisation des Datenbestands.
Viele Erfolg damit!
LG/A
@heisenberg:
Sorry, ich kann leider mangels Rechten für Neulinge, die eingehegt werden müssen , nicht auf PMs antworten, daher mache ich das hier.
Ich fand, daß der Beitrag thematisch hierher passt, weil es ja grundsätzlich um's automatische Mounten von Nextcloud-Instanzen beim Booten geht – ob jetzt mit oder ohne grafische Oberfläche ist ja letztlich egal – und ich das gleiche Problem habe. Aber wenn der Beitrag hier nicht passt, dann kann den gerne jemand umhängen.
Noch'n Forum: https://techtalk.syntaxys.de/