ubuntuusers.de

webDAV für verschiedene User bei Anmeldung einbinden

Status: Gelöst | Ubuntu-Version: Ubuntu 12.04 (Precise Pangolin)
Antworten |

superDAU

Avatar von superDAU

Anmeldungsdatum:
3. September 2007

Beiträge: 384

Wohnort: Erkelenz

Hallo liebe Ubuntu-Spezialisten,

ich habe folgende Situation:

- Server mir ownCloud-Wolke

- PCs mit MEHREREN Usern

- jeder User soll an jedem PC Zugriff auf seine "Wolke" haben, und das direkt als Ordner /Wolke im /home-Verzeichnis.

Jetzt soll bei jedem User die eigene "Wolke" nach dem Login eingebunden werden.

Über die fstab kann ich zwar einbinden, allerdings gehören die Dateien dann ROOT, auch habe ich hier bisher nur einen User eingehängt. webDAV hilft mir leider auch nicht weiter.

Über die Autostart klappt es leider auch nicht, da das Script SUDO benötigt. Hier mein aktuelles Script:

#!/bin/bash
echo "Benutzer\nPasswort\nj"|sudo mount -t davfs https://Server /home/Benutzer/Wolke 
sudo chown -R Benutzer:Benutzer /home/Benutzer/Wolke/

Ich habe viel gefunden, aber leider niemanden mit meinem Problem. Ich freue mich auf Tipps und Anregungen.

Vito_Leone

Anmeldungsdatum:
4. September 2009

Beiträge: 204

Hallo superDAU,

bist Du bei Deinen Recherchen denn auch auf diese Seite gestoßen?

Gruß, Vito

superDAU

(Themenstarter)
Avatar von superDAU

Anmeldungsdatum:
3. September 2007

Beiträge: 384

Wohnort: Erkelenz

Hallo,

nein, die Seite habe ich bisher noch nicht gesehen. Werde ich am Wochenende mal austesten.

Danke für den Tipp.

Klappt der mount denn? Das darf doch eigentlich nur root!

mfg Christian

Vito_Leone

Anmeldungsdatum:
4. September 2009

Beiträge: 204

Hallo Christian!

Klappt der mount denn? Das darf doch eigentlich nur root!

Ich habe zwar keine Erfahrung mit owncloud, habe aber mal mit davfs ein wenig experimentiert und erinnere mich an die "secret"-Datei. Meines Wissens wird bei davfs auf fuse (Filesystem in Userspace) zurückgegriffen, das dem normalen Nutzer das Mounten ermöglicht. Ansonsten lohnt es sich für Dich vielleicht auch, Dir mehr Informationen über mount bzw fstab und sudo anzulesen.

Im Wikieintrag zu mount steht zum Beispiel:

Mit einer der Optionen user oder users kann zudem das Einbinden ohne Root-Rechte erlaubt werden

Desweiteren glaube ich mich daran erinnern zu können, dass ich mal gelesen habe, dass man bei sudo nicht nur auf einen Befehl Ausführrechte geben kann, sondern sogar die erlaubten Parameter anhängen kann (sprich: ein bestimmter mount-Befehl kann erlaubt werden, aber das mounten an sich wird damit nicht allgemein für den Benutzer zugelassen).

Lass von Dir lesen, ob und wie Du das Problem lösen konntest.

Mit Grüßen

Vito

superDAU

(Themenstarter)
Avatar von superDAU

Anmeldungsdatum:
3. September 2007

Beiträge: 384

Wohnort: Erkelenz

Also, ich habe jetzt mit der Anleitung von ownCloud.org und WebDAV gearbeitet.

Bisher klappt es leider nur wie folgt:

- Benutzer und Passwort werden abgefragt.

- Das Zertifikat muss manuell akzeptiert werden.

Werde gleich mal den AutoStart versuchen...

Das klappt leider auch nicht. Wie konfigurierte ich denn den davfs2 richtig, damit die Konfiguration und die Login-Daten der User genommen werden?

mfg Christian Klein

superDAU

(Themenstarter)
Avatar von superDAU

Anmeldungsdatum:
3. September 2007

Beiträge: 384

Wohnort: Erkelenz

Ich habe eine funktionierende Lösung (leider noch nicht perfekt) ☹

Der Anleitung folgen.

davfs2 ist natürlich vorher installiert (siehe auch WebDAV )

davfs2 konfigurieren (Yes, User dürfen mounten)

Alle <benutzer>, die eine Wolke haben, in die Gruppe davfs2 schieben.

sudo usermod -aG davfs2 <benutzer>

In der fstab für jeden <Benutzer> einen Eintrag erstellen /etc/fstab

# Wolke(n) für <benutzer> einbinden
https://[Server]/files/webdav.php /home/[user]/Wolke davfs user,rw,noauto 0 0
https://[Server]/files/webdav.php /home/[user]/Wolke davfs user,rw,noauto 0 0

Statt [Server] natürlich der Pfad zur eigenen OwnCloud http://www.owncloud.org/ eingeben.

Statt [user] den Benutzernamen eintragen (für jeden Benutzer eine eigene Zeile).

Für jeden <benutzer> im home-Verzeichnis einen Ordner Wolke anlegen.

Für jeden <benutzer> im home-Verzeichnis einen Ornder .davfs2 und .autostart anlegen. Dank dem "." am Anfang werden die Ordner im Normalfall nicht angezeigt. Der Autostart ist für das Start-Script nach der Anmeldung (kommt noch).

Im Ordner .davfs2 die Dateien davfs2.conf und secrets anlegen. Hier mal eine davfs2.conf

# davfs2 configuration file 2009-04-12
# version 9
# ------------------------------------

# Copyright (C) 2006, 2007, 2008, 2009 Werner Baumann

# Copying and distribution of this file, with or without modification, are
# permitted in any medium without royalty provided the copyright notice
# and this notice are preserved.


# Please read the davfs2.conf (5) man page for a description of the
# configuration options and syntax rules.


# Available options and default values
# ====================================

# General Options
# ---------------

# dav_user        davfs2            # system wide config file only
# dav_group       davfs2            # system wide config file only
# ignore_home       kernoops,distccd  # system wide config file only
# kernel_fs       fuse
# buf_size        16                 # KiByte

# WebDAV Related Options
# ----------------------

# use_proxy       1                 # system wide config file only
# proxy                             # system wide config file only
# servercert
# clientcert
secrets         /home/<benutzer>/.davfs2/secrets # user config file only
servercert 	/home/<benutzer>/.davfs2/certs/private/<mein_zertifikat>.pem
servercert 	/etc/davfs2/certs/private/<mein_zertifikat>.pem

# ask_auth        1
# use_locks       1
# lock_owner      <user-name>
# lock_timeout    1800              # seconds
# lock_refresh    60                # seconds
# use_expect100   0
# if_match_bug    0
# drop_weak_etags 0
# allow_cookie    0
# precheck        1
# ignore_dav_header 0
# server_charset
# connect_timeout 10                # seconds
# read_timeout    30                # seconds
# retry           30                # seconds
# max_retry       300               # seconds
# add_header

# Cache Related Options
# ---------------------

# backup_dir      lost+found
# cache_dir       /var/cache/davfs2 # system wide cache
#                 ~/.davfs2/cache   # per user cache
# cache_size      50                # MiByte
# table_size      1024
# dir_refresh     60                # seconds
# file_refresh    1                 # second
# delay_upload    10
# gui_optimize    0

# Debugging Options
# -----------------

# debug           # possible values: config, kernel, cache, http, xml,
                  #      httpauth, locks, ssl, httpbody, secrets, most

Wichtig sind die Zeilen secrets und servercert. Das Servercert macht bei mir leider Mucken! Das erledige ich aber durch das Start-Script (kommt noch).

Und hier die secrets

# Wolke für <benutzer> einbinden
https://[Server]/files/webdav.php [benutzer] [passwort]

Der Start muss identisch dem Eintrag in der /etc/fstab sein. Statt [benutzer] den Usernamen für die OwnCloud und statt [passwort] das Passwort für die OwnCloud.

Wenn Euer eigenes Zertifikat keine Probleme macht, könnt ihr euch jetzt mit:

mount ~/Wolke

anmelden. Bei mir gibt es leider folgende Fehlermeldung:

mount: Konnte /home/christian/owncloud nicht in /etc/fstab oder /etc/mtab finden
christian@Buero:~$ mount ~/Wolke
/sbin/mount.davfs: das Server-Zertifikat passt nicht zum Namen des Servers
  Aussteller:    [meine Zertifikatsangaben]
  Inhaber:       [meine Zertifikatsangaben]
  Name:          [meine Zertifikatsangaben]
  Fingerabdruck: [meine Zertifikatsangaben]
Du solltest das Zertifikat nur akzeptieren, wenn du überprüft hast,
dass der Fingerabdruck stimmt. Der Server könnte gefälscht sein oder
ein Angreifer könnte sich in die Verbindung zum Server eingeschaltet haben.
Ich akzeptiere das Zertifikat für diese Sitzung [j,N]: 

Dies Problem habe ich im Start-Script gelöst!

Jetzt in den Ordner /home/[benutzer]/.autostart gehen und die Datei webDAV anlegen. Meine Datei sieht wie folgt aus:

#!/bin/bash
echo "j"|mount ~/Wolke

Mit dem echo "j" sorge ich dafür, dass die Abfrage mit einem "j" beantwortet wird, das Zertifikat also angenommen wird. Diese Datei muss nun ausführbar gemacht werden. Dies wird über Nautilus mittels rechter Maustaste → Eigenschaften - Zugriffsrechte - Datei als Programm ausführen gesetzt. Wenn euer Zertifikat funktioniert, sieht eure webDAV nur wie folgt aus:

#!/bin/bash
mount ~/Wolke

Jetzt wird bei einem Test die OwnCloud schon eingebunden. Allerdings soll das ganz ja mit der Anmeldung erfolgen, also weiter: Der Autostart wird auf die Datei ~/.autostart/webDAV eingerichtet.

Jetzt sollte Euro OwnCloud bei der Anmeldung automatisch eingebunden werden.

Antworten |