Discussion:
[e1] Samba 8.5.0 (Status 'testing')
(zu alt für eine Antwort)
Thomas Bork
2019-08-25 10:43:27 UTC
Permalink
Hi @all,

es steht eine eisfair-Samba-Version 8.5.0 mit dem Status 'testing' für
eisfair-1 zur Verfügung.

In dieser Version gibt es ein paar Fehlerbehebungen für die
Konfiguration als Member-Server (SAMBA_PASSWORD_SERVER ist nicht leer).

#######################################################################
Zur Erinnerung:

1.
Läuft ein Samba im Netz mit 4.9.x als PDC, läuft ein anderer Rechner mit
Samba 4.9.x als Member-Server (SAMBA_PASSWORD_SERVER ist nicht leer) und
man möchte auf die Freigaben des Member-Servers von einem
Windows-Rechner zugreifen, der nicht in die Domäne integriert wurde,
kann man sich nicht mehr wie bisher möglich mit

Benutzer und Passort

authentifizieren, sondern man muss zwingend

Domäne\Benutzer und Passwort verwenden.


2.
Konfigurationen mit einem externen Samba-Passwort-Server
(SAMBA_PASSWORD_SERVER ist nicht leer) benötigen ab Samba 4.8.x einen
zusätzlichen Dienst (winbindd).

Sauber funktioniert das aber alles nur, wenn die User _nur_ auf dem
externen Server existieren. Lokal dürfen diese nicht angelegt sein. Hat
jemand vorher (vor Samba 4.9.x) schon SAMBA_PASSWORD_SERVER gesetzt,
wurden erfolgreich authentifizierte User aber automatisch als
System-User angelegt. Das muss man nun rückgängig machen:

Zuerst müssen die von solcherart angelegten System-Usern abgelegten
Dateien den Usern auf dem PDC übereignet werden. Dann sollten diese
System-User auf dem Member-Server gelöscht werden.

Alle folgenden Informationen beziehen sich jeweils auf dem Member-Server:

Anzeige der Samba-User:
pdbedit -Lw | grep -v "^.*$:" | sort -t: -k2n

Hier darf keine Ausgabe mehr erfolgen, wenn alles bereinigt wurde!

Anzeige der durch ältere Versionen automatisch angelegten System-User:
getent passwd | grep 'samba_auto_user'

Hier darf keine Ausgabe mehr erfolgen, wenn alles bereinigt wurde!

Anzeige der Samba-User des PDC (SAMBA_PASSWORD_SERVER):
wbinfo -u

Anzeige der Domänengruppen des PDC (SAMBA_PASSWORD_SERVER):
wbinfo -g

Anzeige der Informationen eines spezifischen Users des PDC
(SAMBA_PASSWORD_SERVER):
getent passwd DOMAENE\\USERNAME
#######################################################################


Das interne Changelog:

8.4.1 --> 8.5.0
---------------
- 4.9.11 (4.9.11-for-eisfair-1-patch-1, status testing).
- /etc/init.d/samba:
- If SAMBA_PASSWORD_SERVER is set and winbindd is running,
show available domain groups and users from running PDC
in status.
- Only warn for not running winbindd in stop, if
SAMBA_PASSWORD_SERVER is set.
- /var/install/config.d/samba.sh:
- If SAMBA_PASSWORD_SERVER is set, set adminuser
to SAMBA_WORKGROUP\root.
- Only check for user and groups in do_check_user_group,
if SAMBA_PASSWORD_SERVER is not set. Domain user and groups
are only visible with running winbindd and samba.sh is
executed, if winbindd is not running.
- Only check for local samba users in user mapping if
SAMBA_PASSWORD_SERVER is not set and SAMBA_MANUAL_CONFIGURATION
is yes, because with SAMBA_PASSWORD_SERVER set you should not
have any local samba users.
- Set write list for samba printer drivers share [print$]
to adminuser and not root.



Dieses Paket bei https://pack-eis.de:
=====================================
https://www.pack-eis.de/index.php?p=32315

Changelog:
==========
https://www.pack-eis.de/?action=showfile&pid=32315&filename=usr/share/doc/samba/changes.txt


Das dazugehörige devel-Paket bei https://pack-eis.de:
=====================================================
https://www.pack-eis.de/index.php?p=32316

Changelog:
==========
https://www.pack-eis.de/?action=showfile&pid=32316&filename=usr/share/doc/samba-dev/changes.txt


Ich danke allen Mitgliedern des Teams für Tests und Unterstützung und
wünsche allen Anwendern weiterhin viel Spass mit eisfair!


Das Posting geht parallel an spline.eisfair und spline.eisfair.dev.
Produktive Rückmeldungen bitte an spline.eisfair.dev.
--
der tom
[eisfair-team]
Marcus Roeckrath
2019-08-25 13:03:56 UTC
Permalink
Hallo Thomas,
Post by Thomas Bork
es steht eine eisfair-Samba-Version 8.5.0 mit dem Status 'testing' für
eisfair-1 zur Verfügung.
Ich bekomme auf einem System ein Problem

/var/install/config.d/samba.sh: line 606: [: abc:x:2001:100:xxx: binary
operator expected
/var/install/config.d/samba.sh: line 606: [: abc:x:2001:100:xxx: binary
operator expected
/var/install/config.d/samba.sh: line 606: [: abc:x:2001:100:xxx: binary
operator expected
/var/install/config.d/samba.sh: line 606: [: def:x:2011:100:www: binary
operator expected

Auf dem System sind die Klarnamen der User mit Leerzeichen angelegt, z. B.:

abc:x:2001:100:xxx yyy:/home/abc:/bin/bash

IMHO sollten die if in diesem ganzen Block so ausgeführt werden, um nicht
über mögliche und erlaubte Leerzeichen zu stolpern:

if [ -z "$getentoutput" ]
--
Gruss Marcus
Holger Bruenjes
2019-08-25 14:00:34 UTC
Permalink
Hallo Marcus
Post by Marcus Roeckrath
IMHO sollten die if in diesem ganzen Block so ausgeführt werden, um nicht
if [ -z "$getentoutput" ]
hmm, dass hat nichts mit Leerzeichen zu tun,

test -z und test -n muessen immer mit Anfuehrungszeichen ausgefuehrt
werden, sonst ist der status immer true


Holger
Marcus Roeckrath
2019-08-25 14:53:10 UTC
Permalink
Hallo Holger,
Post by Holger Bruenjes
Post by Marcus Roeckrath
IMHO sollten die if in diesem ganzen Block so ausgeführt werden, um nicht
if [ -z "$getentoutput" ]
hmm, dass hat nichts mit Leerzeichen zu tun,
test -z und test -n muessen immer mit Anfuehrungszeichen ausgefuehrt
werden, sonst ist der status immer true
Das schliesst aber nicht die Fehlermeldung aus, wenn die Variable
Leerzeichen enthält:

Mit Leerzeichen "xxx yyy" in der passwd für den Klarnamen des Users:

/var/install/config.d/samba.sh: line 606: [: abc:x:2001:100:xxx: binary
operator expected

Mit xxx_yyy also keinem Leerzeichen mehr ist die Fehlermeldung weg!

IMHO muss die Variable beim -z Test nicht in " stehen und liefert korrekte
Auswertungen, wenn eben keine Leerzeichen zu einem Syntaxfehler führen, wie
folgende Einzeiler zeigen:

# if [ -z $t ] ; then echo true ; else echo false ; fi
true
# if [ -z "$t" ] ; then echo true ; else echo false ; fi
true
# t=1 ; if [ -z $t ] ; then echo true ; else echo false ; fi
false
# t=1 ; if [ -z "$t" ] ; then echo true ; else echo false ; fi
false

Anders sieht das beim -n Test aus, wo direkt das erste Beispiel fälschlich
true liefert:

# if [ -n $x ] ; then echo true ; else echo false ; fi
true
# if [ -n "$x" ] ; then echo true ; else echo false ; fi
false
# x=1 ; if [ -n $x ] ; then echo true ; else echo false ; fi
true
# x=1 ; if [ -n "$x" ] ; then echo true ; else echo false ; fi
true
--
Gruss Marcus
Thomas Bork
2019-08-25 15:39:03 UTC
Permalink
Post by Marcus Roeckrath
Mit xxx_yyy also keinem Leerzeichen mehr ist die Fehlermeldung weg!
Ist gut ihr beiden, oder haben wir jetzt Sommerloch? ;-)

Ich lade gleich eine neue Version hoch.
--
der tom
[eisfair-team]
Marcus Roeckrath
2019-08-25 15:42:42 UTC
Permalink
Hallo Thomas,
Post by Thomas Bork
Post by Marcus Roeckrath
Mit xxx_yyy also keinem Leerzeichen mehr ist die Fehlermeldung weg!
Ist gut ihr beiden, oder haben wir jetzt Sommerloch? ;-)
Morgen sind für mich die Schulferien zuende. :-(
Post by Thomas Bork
Ich lade gleich eine neue Version hoch.
Ok, danke.
--
Gruss Marcus
Marcus Roeckrath
2019-08-25 17:27:14 UTC
Permalink
Hallo Thomas,
Post by Thomas Bork
Post by Marcus Roeckrath
Mit xxx_yyy also keinem Leerzeichen mehr ist die Fehlermeldung weg!
Ist gut ihr beiden, oder haben wir jetzt Sommerloch? ;-)
Ich lade gleich eine neue Version hoch.
Damit ist das Problem verschwunden.
--
Gruss Marcus
Thomas Bork
2019-08-26 18:12:15 UTC
Permalink
Post by Marcus Roeckrath
Damit ist das Problem verschwunden.
Danke fürs Feedback.
--
der tom
[eisfair-team]
Loading...