Gelöst: samba 4, [homes]-Share und apparmor in Leap 15.3, Zugriffsprobleme
Hallo, das folgende Problem hat mich viel Nerven gekostet, vielleicht rettet dieser Beitrag ja jemanden in ähnlicher Lage: Um den Kollegen (und Kolleginnen :) von Windows aus Zugriff auf ihre UNIX-Homedirectories zu geben, läuft hier seit Jahren ein samba 3 auf dem NFS-Server. Nach Abschalten einiger Altlasten soll der alte NFS- und samba-Server nun endlich abgelöst werden. Die Einrichtung einer entsprechenden Konfiguration mit samba 4 als Domain Member gestaltete sich unerwartet schwierig: in einem ungeheuren Wust von Fehler- und Warnmeldungen in den samba-Logs, von denen ich inzwischen weiß, dass sie nichts mit dem eigentlichen Problem zu tun hatten, fand sich leider keine einzige, die apparmor erwähnte. Auch im Syslog keine Hinweise. Was mich letztlich auf die Spur von apparmor brachte, war die Meldung beim scheiternden Zugriffsversuch auf mein Homedirectory von Windows aus: Error opening file . (NT_STATUS_ACCESS_DENIED) (local_flags=0) (flags=0) ("Ach nee! Echt jetzt?" ist man versucht auszurufen. Soooo genau hätte man's gar nicht wissen wollen.) Das führte mich letztlich zu diesem mit 10 Jahren eigentlich doch viel zu alten Thread: https://forums.opensuse.org/showthread.php/466799-Problem-migrating-to-new-S... Folgendermaßen läuft das jetzt in 15.3, vermutlich auch in den entsprechen anderen Distributionen: Beim Start von smbd wird /usr/share/samba/update-apparmor-samba-profile ausgeführt, das liest das Konfigurationsfile /etc/samba/smb.conf und erzeugt ein apparmor-Profilfile /etc/apparmor.d/local/usr.sbin.smbd-shares Dabei werden wohl alle Pfadangaben aus den definierten Shares in smb.conf ausgewertet und entsprechend im Profil eingetragen. Leider funktioniert das nicht für das [homes]-Share, das ja keine Pfadangaben enthält. Sobald ich zum Test mein Homedirectory auf z.B. /home/<username> gelegt und /etc/passwd entsprechend angepasst hatte, funktionierte der Zugriff über samba. Nur der Zugriff auf die echten Speicherorte /san/shares/... und /vdsk/... wollte ums Verrecken nur die oben angegebene Fehlermeldung liefern. Zu Abhilfe habe ich jetzt in smb.conf dummy-Shares definiert, die /usr/share/samba/update-apparmor-samba-profile dazu bringen, die entsprechende Pfade im apparmor-Profile einzutragen. Und auf einmal geht's! Auszug aus meiner smb.conf: # smb.conf is the main Samba configuration file. [global] workgroup = SAMDOM passdb backend = tdbsam printing = cups printcap name = cups printcap cache time = 750 cups options = raw map to guest = Bad User logon path = \\%L\profiles\.msprofile logon home = \\%L\%U\.9xprofile logon drive = P: usershare allow guests = No netbios name = SRV-MEMPHIS bind interfaces only = yes interfaces = localhost bond0 wins server = 192.168.122.111 192.168.122.126 wins support = No kerberos method = secrets and keytab realm = SAMDOM.DE security = ADS template homedir = /home/%D/%U winbind refresh tickets = yes username map = /etc/samba/smbusers mangled names = No strict locking = No wide links = Yes unix extensions = no hosts allow = 192.168.0.0/255.255.0.0 debug class = yes debug prefix timestamp = yes # log level = 4 tdb:5 passdb:5 kerberos:5 auth:5 winbind:5 auth_audit:5 log level = 2 vfs:4 acls:3 auth_audit:4 log file = /var/log/samba/log.%U [homes] comment = Home Directories valid users = %S, %D%w%S browseable = No read only = No inherit acls = Yes [san-shares] comment = dummy for apparmor path = /san/shares valid users = nobody browseable = no [vdsk] comment = dummy for apparmor path = /vdsk valid users = nobody browseable = no -- Viele Grüße ------------------------------------------------------------------------ Michael ________________________________________________________________________ PROSTEP AG, Dolivostraße 11, D-64293 Darmstadt HR: Amtsgericht Darmstadt, HRB 8383 Vorstand: Dr. Bernd Pätzold (Vorsitz), Reinhard Betz, Dr. Karsten Theis Aufsichtsrat: Dr. Heinz-Gerd Lehnhoff (Vorsitz) ________________________________________________________________________
participants (1)
-
Michael Behrens