ubuntuusers.de

Für diese Funktion musst du eingeloggt sein.

Samba - Zugriff mit Systemusern nicht möglich

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

MaddiK

Anmeldungsdatum:
17. Januar 2007

Beiträge: 14

Wohnort: Köln

Guten Morgen zusammen,

ich habe gerade ein akutes Problem mit einem Ubuntu Server auf dem aktuell Ubuntu 12.04 LTS im Einsatz ist. Es gibt rund 40 Systembenutzer (und auch einige Gruppen). Samba selbst ist in der Version 3.6.3 im Einsatz.

Nach einem kurzen Ausflug zu Samba 4 (Alpha) und anschließendem remove / purge des Samba 4 bin ich zurück zu Samba 3.6.3 gekehrt. Die Freigaben aus der gesicherten smb.conf sind auch alle da, allerdings funktionieren die Zugriffsberechtigungen nicht mehr. Bisher war es so, dass ich einen neuen Systembenutzer angelegt habe und Samba automatisch auf die Berechtigungen gemäß der Nutzer- und Gruppenzuordnung zurückgegriffen hat. Dies funktioniert nicht mehr.

Die smb.conf von der bisherigen, funktionstüchtigen Installation wurde natürlich von mir gesichert und befindet sich wieder im Einsatz.

Ich hoffe auf eure Hilfe.

Viele Grüße, MaddiK

Max-Ulrich_Farber

Avatar von Max-Ulrich_Farber

Anmeldungsdatum:
23. Januar 2007

Beiträge: 8010

Nach einem kurzen Ausflug zu Samba 4 (Alpha) und anschließendem remove / purge des Samba 4 bin ich zurück zu Samba 3.6.3 gekehrt.

Die stabile Version von Samba-4 unterscheidet sich wesentlich von der Alpha. Sie enthält praktisch alle Features von Samba-3. Beim Upgrade von Ubuntu 12.04 auf 14.04 oder 16.04 wird diese dann automatisch Samba-3 ersetzen.

Die Freigaben aus der gesicherten smb.conf sind auch alle da, allerdings funktionieren die Zugriffsberechtigungen nicht mehr.

Um hierzu etwas sagen zu können, müsste folgendes bekannt sein:

  1. die betreffenden Einträge in smb.conf oder, noch besser, die gesamte smb.conf. Aber bitte als Codeblock posten, sonst wird es unlesbar.

  2. die Ausgaben von getfacl <Freigabe> in einem Terminal des Servers für die betreffenden Freigaben

  3. Falls die Freigaben mittels cifs-vfs auf Linux-Clients gemountet sind, ein Beispiel einer Mount-Befehlszeile bzw. des betreffenden Eintrags in /etc/fstab.

Gruß – Max-Ulrich

MaddiK

(Themenstarter)

Anmeldungsdatum:
17. Januar 2007

Beiträge: 14

Wohnort: Köln

Max-Ulrich_Farber schrieb:

Hallo Max-Ulrich,

vielen Dank für deine Hilfestellung.

Nach einem kurzen Ausflug zu Samba 4 (Alpha) und anschließendem remove / purge des Samba 4 bin ich zurück zu Samba 3.6.3 gekehrt.

Die stabile Version von Samba-4 unterscheidet sich wesentlich von der Alpha. Sie enthält praktisch alle Features von Samba-3. Beim Upgrade von Ubuntu 12.04 auf 14.04 oder 16.04 wird diese dann automatisch Samba-3 ersetzen.

Das Upgrade von 12.04 LTS ist längst überfällig und wird bei der nächsten sich bietenden Gelegenheit in Angriff genommen. Gibt es denn generell Erfahrungen zum Thema "Release-Upgrade" bei Ubuntu Server? Wir möchten Samba 4 insbesondere wegen SMB3 einsetzen - unsere Mac-Clients tun sich verdammt schwer mit SMB2 (was aber an Apples eigener (verdammter) SMBX Implementierung liegt.

Die Freigaben aus der gesicherten smb.conf sind auch alle da, allerdings funktionieren die Zugriffsberechtigungen nicht mehr.

Um hierzu etwas sagen zu können, müsste folgendes bekannt sein: 1. die betreffenden Einträge in smb.conf oder, noch besser, die gesamte smb.conf. Aber bitte als Codeblock posten, sonst wird es unlesbar.

  1. die Ausgaben von getfacl <Freigabe> in einem Terminal des Servers für die betreffenden Freigaben

  2. Falls die Freigaben mittels cifs-vfs auf Linux-Clients gemountet sind, ein Beispiel einer Mount-Befehlszeile bzw. des betreffenden Eintrags in /etc/fstab.

Die Einträge in der smb.conf werde ich gleich einfügen. Ich glaube aber mittlerweile herausgefunden zu haben woran es liegen dürfte. Da als "passdb backend" in der smb.conf "tdbsam" angegeben ist, speichert samba seine Benutzerinformationen nicht in /etc/samba/sambapasswd sondern in /var/lib/samba/passdb.tdb ab. Wenn ich diese Datei abfrage ist sie leer, lege ich mit "smbpasswd -a user" ein neues Passwort fest wird der User hier eingetragen und der Zugriff funktioniert. Ich habe die ursprünglichen Dateien unter "/var/lib/samba/passdb.tdp" nicht gesichert und gestern daher wohl fröhlich mit dem purge vernichtet :-/

Wenn ich richtig liege müsste ich nun also folgende zwei Dinge erreichen: 1. Ich müsste die vorhandene /etc/passwd quasi an samba "übergeben" (dafür gibt es wohl ein Script, wenn ich das richtig gesehen habe) 2. Ich muss sicherstellen dass neue Linux-Systemuser auch direkt an Samba übergeben werden. (Dies werde ich eben einmal mit einem Testuser ausprobieren).

Kannst du meine Annahmen hier evtl. bestätigen?

Gruß – Max-Ulrich

Viele Grüße, Matthias

MaddiK

(Themenstarter)

Anmeldungsdatum:
17. Januar 2007

Beiträge: 14

Wohnort: Köln

Hier die relevanten Auszüge aus der "/etc/samba/smb.conf":

#======================= Global Settings =======================

[global]
	log file = /var/log/samba/log.%m
	passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
	obey pam restrictions = yes
	map to guest = bad user
	encrypt passwords = true
	passdb backend = tdbsam
	passwd program = /usr/bin/passwd %u
	dns proxy = no
	netbios name = SERVER
	delete readonly = yes
	server string = SERVER
	unix password sync = yes
	workgroup = ARBEITSGRUPPE
	os level = 20
	syslog = 0
	usershare allow guests = yes
	panic action = /usr/share/samba/panic-action %d
	max log size = 1000
	pam password change = yes
    max protocol = SMB2
    
####### Authentication #######

# "security = user" is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.

security = user

#======================= Share Definitions =======================

[grafik]
	path = /srv/kompletter-Pfad-zu/Grafik
	browsable = yes
	valid users = Benutzer1,@Gruppe1,@Gruppe2
	read only = no
	force group = BENUTZERGRUPPE
	acl check permissions = yes
	acl group control = yes
	acl map full control = yes

Viele Grüße, Matthias

Max-Ulrich_Farber

Avatar von Max-Ulrich_Farber

Anmeldungsdatum:
23. Januar 2007

Beiträge: 8010

Ich befürchte, dass Deine Analyse des Problems stimmt. ☹ In der Tat ist die Speicherung der Passwörter im Klartext in /etc/samba/sambapasswd schon seit Langem nicht mehr aktuell. Wenn Du /var/lib/samba/passdb.tdb gelöscht hast, dann sind AFAIK die Informationen über die Samba-User weg 😢 .

Ich müsste die vorhandene /etc/passwd quasi an samba "übergeben" (dafür gibt es wohl ein Script, wenn ich das richtig gesehen habe)

Dass das gehen soll, wundert mich. Erstens enthält die /etc/passwd ja auch die vielen System-User, die gar keinen Samba-Account brauchen. Und zweitens hat Samba keinen Zugang zum Password-hash des Systems, d.h. die System-Passwörter können von Samba nicht ermittelt werden. Die Synchronisation der Passwörter funktioniert also nur in der entgegengesetzten Richtung: Samba kann nur das System-Passwort an des Samba-Passwort anpassen. Letzteres fehlt nun aber leider...

Ich sehe deshalb für Dich keine andere Lösung, als die Namen und Passwörter der Samba-Benutzer wieder einzeln mit sudo smbpasswd -a <Username> einzugeben. Du kannst aber gerne noch weiter suchen, ob es irgend einen Trick gibt, doch meines Erachtens kann etwas Anderes grundsätzlich nicht gehen, wenn nur /etc/passwd als Information zur Verfügung steht. Die System-Passwörter müssen so geschützt sein, dass es praktisch unmöglich ist, sie zu ermitteln.

Gruß – Max-Ulrich

EDIT:

Auf die smb.conf bin ich jetzt gar nicht eingegangen.Ich bin mir nicht sicher, ob acl group control = yes wirklich in Deinem Sinne ist. Siehe dazu man smb.conf.

Antworten |