pixel24
Anmeldungsdatum: 20. Februar 2008
Beiträge: 473
|
Hallo zusammen, ich betreibe hier einen ADS/Samba4/Kerberos als zentralen Anmeldeserver. Die Linux-Clients (Ubuntu 20.04) sind mittels ADS-Join in die Domäne aufgenommen. Bei der Anmeldung am Client werden sowohl /home als auch die ganzen SMB-Shares per pam_mount dynamisch eingebunden:
| <volume user="*" fstype="nfs4" sec="krb5i" server="srv01.lan.example.com" path="/home/%(DOMAIN_USER)" mountpoint="/home/%(DOMAIN_USER)" options="rw,nolock,nocto,soft,fsc,_netdev,exec,nosuid"/>
<volume fstype="cifs" vers="3.1" sec="krb5i" pgrp="domain users" path="//srv01.lan.example.com/Bilder" mountpoint="/data01/Bilder/" cruid="%(USERUID)" options="fsc,iocharset=utf8" />
<volume fstype="cifs" vers="3.1" sec="krb5i" pgrp="domain users" path="//srv01.lan.example.com/Buchhaltung" mountpoint="/data01/Buchhaltung/" cruid="%(USERUID)" options="fsc,iocharset=utf8" />
|
Das /home per NFSv4, die restlichen Freigaben per CIFS. Das nur als Hintergrund-Info. Nun setze ich gerade einen Media-Server auf der Musik und Videos bereitstellt. Diesen habe ich mit Ubuntu 20-04-Server aufgesetzt. Auch mit dieser VM habe ich einen ADS-Join gemacht. 'getent ....' liefert alle ADS- User/-Gruppen. Da die Inhalte für den Medien-Server auf dem zentralen Fileserver (srv01.lan.example.com) liegen müsste ich die die Freigaben statisch per /etc/fstab einbinden und hier beginnen meine Probleme. Das passiert ja dann als root und dieser exisitiert im ADS nicht und demzufolge existiert kein Kerberos-Ticket. Anmelde-Daten in die /etc/fstab schreiben möchte ich natürlch auch nicht. Im ADS gibt es den Benutzer 'Administrator'. Für diesen existiert auch ein entsprechendes Kerberos-Ticket. UID, CRUID sind hier ohne @EXAMPLE.COM. Die Freigabe auf dem Server ist 'Musik'. Der Versuch es händisch einzuhängen klappt so nicht:
| mount -t cifs -o username=Administrator,cruid=Administrator,sec=krb5i,vers=3.0 //srv01.lan.example.com/Musik /data01/Musik
mount error(2): No such file or directory
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)
|
| [16013.207090] CIFS: Attempting to mount //srv01.lan.example.com/Musik
[16013.238524] CIFS VFS: Verify user has a krb5 ticket and keyutils is installed
[16013.238687] CIFS VFS: \\srv01.lan.gehr.club Send error in SessSetup = -126
[16013.239084] CIFS VFS: cifs_mount failed w/return code = -2
|
Hat jemand einen Tipp für mich wie ich die Shares eingehängt bekomme ohne Passwörter in eine Datei schreiben zu müssen? Beste Grüße
pixel24
|
kB
Supporter, Wikiteam
Anmeldungsdatum: 4. Oktober 2007
Beiträge: 9659
Wohnort: Münster
|
pixel24 schrieb: […] wie ich die Shares eingehängt bekomme ohne Passwörter in eine Datei schreiben zu müssen?
Gar nicht bzw. Du musst Dich entscheiden, ob der Server eine passwortlose Anmeldung erlauben soll oder nicht. Beides zusammen geht logischerweise nicht. Du hast diese Möglichkeiten:
root kann für die Anmeldung am Server einen anderen Benutzernamen verwenden, z.B. Hausknecht . Dafür muss root natürlich das Passwort von Hausknecht kennen, d.h. dies muss in irgendeiner Datei stehen.
root meldet sich ohne Passwort als Gast an, was der Server natürlich zulassen müsste. Dann kann man aber nicht schreiben.
|
pixel24
(Themenstarter)
Anmeldungsdatum: 20. Februar 2008
Beiträge: 473
|
ich komme da einfach nicht weiter. Der Ubuntu-Server den ich exakt so in den ADS genommen habe wie die Ubuntu-Clients will das Share einfach nicht mounten. Zunächst mal ein ganz einfacher Test mit meinem Benutzer (der ja die Shares am Desktop mountet): | root@media01:~# mount //srv01.lan.example.com/Musik-Download /data01/Musik-Download/ -o vers=3.0,username=g.mueller,password=************,domain=lan.example.com
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)
Mär 23 10:43:10 media01 kernel: CIFS: Attempting to mount //srv01.lan.example.com/Musik-Download
Mär 23 10:43:10 media01 kernel: Status code returned 0xc000006d STATUS_LOGON_FAILURE
Mär 23 10:43:10 media01 kernel: CIFS VFS: \\srv01.lan.example.com Send error in SessSetup = -13
Mär 23 10:43:10 media01 kernel: CIFS VFS: cifs_mount failed w/return code = -13
|
|
Newubunti
Anmeldungsdatum: 16. Februar 2008
Beiträge: 5149
|
Ich würde den Zugriff erst mal mittels smbclient prüfen: smbclient //srv01.lan.example.com/Musik-Download -U g.mueller Wie sehen denn die Rechte für /data01/Musik-Download/ aus? Wegen Deiner Anfrage bezüglich root-Administrator: https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Domain_Member#Mapping_the_Domain_Administrator_Account_to_the_Local_root_User LG,
Newubunti
|
pixel24
(Themenstarter)
Anmeldungsdatum: 20. Februar 2008
Beiträge: 473
|
Nun funktioniert es zumindest mit in der fstab eingetragenem Passwort. Ich habe den Benutzer 'jelly' angelegt der eigentlich nichts darf außer auf die Medien-Freigaben (Musik, Musik-Downloads und Video) zuzugreifen. In der fstab habe ich eingetragen:
| //srv01.lan.example.com/Musik-Download /data01/Musik-Download cifs rw,_netdev,relatime,vers=3.1.1,cache=strict,uid=administrator,gid=domain\040users,file_mode=0660,dir_mode=0770,iocharset=utf8,soft,nounix,serverino,mapposix,fsc,username=jelly,password=*********** 0 0
|
Newubunti schrieb: Wegen Deiner Anfrage bezüglich root-Administrator: https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Domain_Member#Mapping_the_Domain_Administrator_Account_to_the_Local_root_User
Das werde ich mir anschauen. Ich habe die letzten Stunden damit verbracht das über ein Kerberos-Ticket zu lösen. Wenn ich die Dokus richtig verstehe kann ich mit cruid=.... in Verbindung mit sec=krb5X angeben wer der Besitzer des Credentials Cache ist. Allerdings wurde beim Mount immer die falsche Datei aus /tmp/krb..... verwendet. Das werde ich mir in Ruhe noch anschauen und berichten.
|
pixel24
(Themenstarter)
Anmeldungsdatum: 20. Februar 2008
Beiträge: 473
|
Hat eventuell jemand eine Idee warum der o.g. Eintrag in der /etc/fstab beim Start nicht automatisch eingehängt wird? 'noauto' ist nicht gesetzt. Manuell mit 'mount /data01/Musik-Download' klappt auch.
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11257
Wohnort: München
|
Nutzt du zufälligerweise den NetworkManager auf dem Client? Da hat das network-online.target die unangenehme Eigenschaft nicht auf eine stehende Netzwerkverbindung zu warten, was dazu führt, dass das Mounten von Netzwerkfreigaben beim Start nicht klappen kann - einen Workaround dafür gibt es z.B. in https://blog.agchapman.com/auto-mounting-network-file-systems-with-systemd/
|
pixel24
(Themenstarter)
Anmeldungsdatum: 20. Februar 2008
Beiträge: 473
|
seahawk1986 schrieb: Nutzt du zufälligerweise den NetworkManager auf dem Client? Da hat das network-online.target die unangenehme Eigenschaft nicht auf eine stehende Netzwerkverbindung zu warten, was dazu führt, dass das Mounten von Netzwerkfreigaben beim Start nicht klappen kann - einen Workaround dafür gibt es z.B. in https://blog.agchapman.com/auto-mounting-network-file-systems-with-systemd/
Werde ich später nachschauen. Dache nicht dass dies bei Ubuntu-Server der Fall ist.
|
Newubunti
Anmeldungsdatum: 16. Februar 2008
Beiträge: 5149
|
Hallo, Bei Ubuntu Server hast Du systemd-networkd und keine NetworkManager. Trotzdem ist das Mounten während des Systemstarts problematisch. Probiere mal folgende zusätzliche Option in der fstab: x-systemd.automount,x-systemd.device-timeout=10 Die Freigabe wird dann nicht während des Systemstarts sondern automatisch beim ersten Zugriff eingebunden. LG,
Newubunti
|
pixel24
(Themenstarter)
Anmeldungsdatum: 20. Februar 2008
Beiträge: 473
|
Newubunti schrieb: Bei Ubuntu Server hast Du systemd-networkd und keine NetworkManager. Trotzdem ist das Mounten während des Systemstarts problematisch. Probiere mal folgende zusätzliche Option in der fstab: x-systemd.automount,x-systemd.device-timeout=10 Die Freigabe wird dann nicht während des Systemstarts sondern automatisch beim ersten Zugriff eingebunden.
Ok, das schein zu funktionieren. Habe die VM einige mal neu gestartet und die Mounts wurden eingebunden. Ich werde es mal beobachten und berichten. Das Thema den Mount ohne in die fstab geschriebene Zugangsdaten bzw. mit einem KErberos-Ticket werde ich mir Morgen noch anschauen. Deshalb setzte ich den Post noch nicht auf gelöst. Ich bekomme beim Zugriff auf die Shares noch eine Menge Kernel-Meldungen. Da dies aber nicht mehr zur Beitrags-Überschrift passt mache ich einen neuen auf. Vielen Dank an alle für die Hilfe!!
|
Newubunti
Anmeldungsdatum: 16. Februar 2008
Beiträge: 5149
|
IMO sind in Deinem Mount-Kommando viel zu viele Optionen drin - was nicht ungewöhnlich ist, wenn man versucht etwas überhaupt erst mal ans Laufen zu bekommen. Ich würde mich auch darauf konzentrieren, das auf das nötigste zu reduzieren. Bezüglich Kerberos und Mount schau mal im Ansatz hier, Stichwort "autofs". Generell für das Mounten von cifs im systemd-Umfeld: Suche nach "mount cifs samba systemd boot". Im Ansatz auch gut, aber ohne auf Kerberos einzugehen:
https://forums.opensuse.org/showthread.php/531683-How-to-automatically-mount-a-CIFS-SAMBA-share-at-boot-in-SystemD-without-automount und der dort verlinkte Artikel:
https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ LG,
Newubunti
|