PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba Integration in eine NT-Domäne



bubba1
16.03.04, 11:58
Hallo,

habe mal eine grundsätzliche Frage zu Samba und dessen Integration in eine NT4.0-Domäne.

Und zwar ist folgendes:

Ein bestehendes Netzwerk mit ca. 200 WindowsClients und einem NT4.0 PDC soll um einen Samba-FileServer erweitert werden.
Jeder Domänbenutzer soll beim login vom WindowsClient auf den Samba sein persönliches Verzeichniss bekommen um seine Daten dort abzuspeichern. Dieses soll automatisiert geschehen, also keine Benutzer oder Verzeichnisse soll lokal auf dem Samba selber angelegt werden.

Hier mal meine smb.conf:




[global]
workgroup = test
netbios name = Sambaserver
server string = Samba-Fileserver
interfaces = 172.16.x.x/255.255.0.0
security = domain
password server = *
encrypt passwords = yes
printing = cups
map to guest = Never
os level = 16
preferred master = no
name resolve order = wins bcast
logfile = /var/log/samba/%m.log
max log size = 25
log level = 1
socket options = SO_KEEPALIVE IPTOS_LOWDELAY TCP_NODELAY
username map = /etc/samba/smbusers

add user script = /usr/sbin/useradd %U -d /Daten/%U -m

# Winbind-Konfiguration
winbind separator = +
winbind uid = 10000-20000
winbind gid = 10000-20000
template shell = /bin/bash
template homedir = /daten/%D/%U

[%U]
comment = Mein Verzeichniss
path = /daten/%U
browseable = yes
read only = No
create mask = 0640
directory mask = 0777



Der Domäne bin ich so beigetreten:

smbpasswd -j test -r ntpdc -U Administrator

Durch security = domain wird ja zum login der NTPDC befragt. Also die Passwortabfrage erledigt der NTPDC.
Durch das add user script wird ja automatisch beim ersten login das perönliche Benutzerverzeichniss angelegt und ein Eintrag in der /etc/passwd vorgenommen.
Klappt soweit auch alles wunderbar.

Wofür ist denn jetzt genau die winbind-Sache?
Wenn ich nämlich die Winbindkonfiguration aus der [global] wegnehme und den winbindd stoppe funktioniert trotzdem alles.
Ist winbind nur dafür da mir die Domänenbenutzer aufzulisten, mit
wbinfo -u oder wbinfo -g ?

Weis da jemand mehr?

[WCM]Manx
16.03.04, 12:13
... falsch gedacht!

IMHO darfst/sollst Du das adduser script gar nicht verwenden!
Denn damit werden die User lokal am Samba angelegt, und du muss zwei Benutzerdatenbaken warten (bye bye single sign on ;) )

Du solltest winbind allein verwenden (die nsswitch.conf anpassen, PAM konfigurieren usw.)
Wenn winbind funktioniert, sollten die Benutzer mit "getent passwd" sichtbar sein.

Die Auto-HOME creation sollte mit PAM realisierbar sein.
PAM Module: pam_mkhomedir
http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/pam-6.html

Grüße

Manx

bubba1
16.03.04, 12:22
Mit getent passwd listet er mir ja die Benutzer auf.
Das sind dann wohl aber die, die mit dem add user script angelegt worden sind, oder?

Winbind zeigt mir auch alle Domänbenutzet mit wbinfo -u an.
Auch ist die secret mit wbinfo -t gut.

Die die nsswitch.conf habe ich schon angepasst.
Habe dort ich folgendes eingetragen:

passwd: files winbind
shadow: files winbind
group: files winbind

Was hat es mit PAM aufsicht?

Das add user script kann ich dann weglassen wenn PAM läuft?

[WCM]Manx
16.03.04, 12:34
Hi!

PAM läuft ja sowieso.
Das musst Du im Groben verstanden haben!
Lies mal etwas in "The Linux-PAM System Administrators' Guide".
Die Samba Howto Collection ist ein guter Tipp:
http://at.samba.org/samba/docs/man/winbind.html
Der Thread ist interessant (mit Beispielen untestet):
http://lists.linux.org.au/archives/lias/2003-May/msg00033.html

Grüße

Manx

emba
16.03.04, 12:41
winbind ist dafür da, dass du auf deinem samba domain member pc keine unix-gruppen/user anlegen musst, auf die die samba user, welche vom PDC authentifiziert werden, im filesystem abgebildet werden


Mit getent passwd listet er mir ja die Benutzer auf. Das sind dann wohl aber die, die mit dem add user script angelegt worden sind, oder?

getent passwd sollte wahrlich alle unix user auflisten, auch die, die nicht lokal sondern auf dem pdc existieren (mit seperator "+" erkennbar)
ansonsten kann samba den authentifizierten windows-user nicht lokal abbilden

wbinfo -u listet nur die smb-user auf, welche er sich vom PDC holt

das adduser script wird dazu verwendet, unix-user accounts on-the-fly anzulegen, wenn diese noch nicht existieren

bei dir ist dies aber durch winbind nicht notwendig
mit pam hat das nix zu tun

greez

bubba1
16.03.04, 13:18
wbinfo -u listet mir folgendes auf:

DOMAINE+user

Das sind alles die User, die auf dem NTPDC angelegt sind.


getent passwd ergibt bei mir z.B. folgendes (ein user rausgegriffen):

user1:x:543:100::/daten/user1:/bin/bash

Der + Seperator wird hier aber nicht angezeigt.
Schätze mal das da das Problem liegt........

Wenn ich in meiner smb.conf das add user script weglasse, kann sich aber kein neuer User anmelden. winbind erstellt bei mir nämlich nicht automatisch das homeverzeichniss.
Woran liegt das denn?

Langsam verzweifel ich.........

emba
16.03.04, 14:46
Wenn ich in meiner smb.conf das add user script weglasse, kann sich aber kein neuer User anmelden. winbind erstellt bei mir nämlich nicht automatisch das homeverzeichniss. Woran liegt das denn?

ich denke, du möchtest nicht, dass automatisch die accounts auf deinem samba rechner angelegt werden?
dann lass das add script weg !

das muss winbind regeln, wenn es ordentlich konfiguriert ist
dazu schau bitte in die samba dokus

winbind soll auch nicht automatisch die verz. erstellen, sondern, wie manx schon sagte, macht das pam und das entsprechende modul

zum testen kannst ja das verzeichnis manuell anlegen


Der + Seperator wird hier aber nicht angezeigt. Schätze mal das da das Problem liegt........
jep, dann sind die accounts local

greez

bubba1
16.03.04, 14:57
Habe schon Tage Dokus über Winbind usw. gelesen.
Komme da aber irgendwie nicht weiter.

Das Problem ist wohl PAM, weil wbinfo -t usw. klappt ja.
Bei PAM habe ich übrigens auch nichts geändert und weis auch nicht was ich da ändern soll.

getent passwd listet mir ja nur die lokal angemeldeten user aus /etc/passwd auf, also nicht die vom NTPDC.

Weis echt nicht mehr weiter.....

Benutze übrigens Suse8.2

[WCM]Manx
16.03.04, 16:28
... googlen, googlen, ich kann's leider nicht testen.

z.B http://www.sin.khk.be/~dj/ "Creation of home directories"
z.B http://www.linuxquestions.org/questions/showthread.php?s=&forumid=3&threadid=153836

Grüße

Manx

bubba1
17.03.04, 08:37
Hallo,

mittlerweile funktioniert winbind.
Ein getent passwd listet mir alle Domänbenutzer auf.
Musste in /pam.d/samba die pam_winbind.so Einträge machen.

Ein Problem habe ich aber noch.
Es sollen ja automatisch beim login Benutzerverzeichnissen angelegt werden.

Soll angeblich mit /pam.d/login gehen.

session required pam_mkhomedir.so skel=/etc/skel/ umask=0022

Der Eintrag funktioniert aber nicht.

Das ist die Freigabe des Verzeichnisses in der smb.conf:

[%U]
comment = Mein Verzeichniss
path = /daten/%U
browseable = yes
read only = No
create mask = 0640
directory mask = 0777

Vermute das das Problem die Pfadangabe (path = /daten/%U) ist.
Muss man in der /pam.d/login den Pfad bei pam_mkhomedir mitangeben?

[WCM]Manx
17.03.04, 09:29
Hi!

Wie schaut's mit den Berechtigungen aus.
Schau mal in /var/log/auth.log (für Debian)
Wenn da sowas drin steht:


Mar 17 13:06:16 p166 sshd[310]: Accepted password for elvis from 192.168.123.1 port 33019 ssh2
Mar 17 13:06:16 p166 sshd[310]: nss_ldap: reconnecting to LDAP server...
Mar 17 13:06:16 p166 sshd[310]: nss_ldap: reconnected to LDAP server after 1 attempt(s)
Mar 17 13:06:16 p166 PAM_unix[312]: (ssh) session opened for user elvis by (uid=10000)
Mar 17 13:06:16 p166 PAM-mkhomedir[312]: unable to create home directory /home/elvis/
Mar 17 13:06:16 p166 sshd[312]: fatal: PAM session setup failed[6]: Permission denied

... hast Du ein Rechte Problem!
Ich hab's mit ssh getestet (da gehört "session required pam_mkhomedir.so ..." in /etc/pam.d/ssh) und hatte das Problem, dass der user "elvis" in der Gruppe "domusers" ist.
/home gehörte aber der Gruppe "staff" und "others" hatten kein "w"

Grüße

Manx

bubba1
17.03.04, 09:41
Hallo,

Wenn ein User sich verbinden ergibt tail -f /var/log/message:
Can´t change directory to /daten/user (no such file or directory)

habe mal in der [%U] die Pfadangabe geändert in:
path = /daten/

Jetzt jetzt kann ich auf mein Verzeichniss zugreifen.
Aber es wird trotzdem kein Verzeichniss angelegt.
Jeder user bekommt einfach eine Verbindung zu /var/tmp.

Die Rechte meiner Meinung nach stimmen.

[WCM]Manx
17.03.04, 09:57
... es wird doch bei SuSE ein auth.log geben?

pam_mkhomedir versuch mit der ID des users ein Verzeichnis in /daten anzulegen.
Poste bitte ein "ls -al /daten" (die Zeile mit dem . [punkt] reicht ;) )
Sollte so aussehen:


# cd /daten
/daten# ls -al
insgesamt ...
drwxrwxr-x 5 root GRUPPENNAME_der_Benutzer 47 2004-03-09 14:17 .
...

Sprich entweder Bekommen alle Schreibrechte = drwxrwxrwx, oder die Gruppe muss stimmen, in der der Windows-Benutzer ist!

Grüße

Manx

bubba1
17.03.04, 10:10
Hier mein ls -al /daten:

ist nur der erste Eintrag mit dem Punkt

drwxrwxrwx 5 root root 4096 Mar 17 11:11

GRUPPENNAME_der_Benutzer ist bei mir root. Nicht so gut oder?

Wie bekomme ich den die Gruppe raus in der der Windows-Benutzer ist?

[WCM]Manx
17.03.04, 10:14
... wenn alle schreiben dürfen, passt das ja auch.
Schon in's auth.log geschaut?

Ich versuch's auch mal mit Samba.

Manx

[WCM]Manx
17.03.04, 11:52
Hi!

Hast Du auch:
"obey pam restrictions = yes" in der smb.conf [global]?

Grüße

Manx

[WCM]Manx
17.03.04, 12:03
o.k bei mir funktioniert's jetzt!
Samba 3:
[global]
...
obey pam restrictions = yes

und "session required pam_mkhomedir.so ..." in /etc/pam.d/samba

Manx

bubba1
17.03.04, 16:15
Hi,

habe mir leider heute mein Linux zerschossen.
Kann mich nicht mehr einloggen. Die Benutzerdatenbank ist wohl hinüber :-(
Werde ich wohl alles neu installlieren müssen.

Wenn ich mein Samba wieder soweit am laufen habe, melde ich mich nocheinmal. Hoffe das dann alles läuft wie es soll.

[global]
...
obey pam restrictions = yes

hatte ich noch nicht drin, werde ich ausprobieren :-)
Was bedeutet das eigentlich?
Bei encrypt passwords = yes wird das doch immer ignoriert, oder?


Schon mal vielen Dank für Deine Hilfe.....

bubba1
18.03.04, 17:43
@Manx

Rechner läuft wieder und Samba.
Habe Deine Tipps befolgt. und es funzt jetzt.
Vielen Dank :)

Eine Frage habe ich aber noch.
Wa bedeutet genau

obey pam restrictions = yes ?????

Ohne funktioniert es nämlich nicht.
Wenn man encrypt passwords = yes wie ich verwendet, soll das angeblich nichts bewirken.
Aber ohne klppt es mit dem anlegen der Homeverzeichnisse nicht.

[WCM]Manx
18.03.04, 17:57
... bitte sehr ;)

man smb.conf


obey pam restrictions (G)
When Samba 3.0 is configured to enable PAM support (i.e. --with-pam), this parameter will control whether
or not Samba should obey PAM's account and session management directives. The default behavior is to use
PAM for clear text authentication only and to ignore any account or session management. Note that Samba
always ignores PAM for authentication in the case of encrypt passwords = yes. The reason is that PAM mod_
ules cannot support the challenge/response authentication mechanism needed in the presence of SMB pass_
word encryption.

... IMHO: mit "encrypt passwords = yes" ignoriert Samba die auth Direktiven in PAM, mit "obey pam ..." werden zumindest "session" und "account" befolgt.

Grüße

Manx