PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba 3.0.20b: Profile können nicht geladen werden



XeN
28.11.06, 13:52
Hallo,

ich hab hier einen Samba PDC und einen WIN XP Pro Rechner der als Terminal Server fungieren soll.
Die Anmeldung an der Domäne ist kein Problem, funktioniert alles Prima. Nur wird das Profil nicht vom Server geladen. Er meldet immer das er den Pfad nicht finden konnte.
Ich habe auch schon die Einstellungen in der Sicherheitsrichtlinie mit gpedit.msc durchgeführt.

Das Problem sind nicht die Profile selber. Die User sehen sowieso nichts von Ihrem Profil.
Nachdem sich der User dann angemeldet hat wurde dann unter "Dokumente Einstellungen" ein Verzeichnis "username" erstellt. Meldet sich der User dann erneut an, wird das logon Script nicht mehr ausgeführt.

Anbei meine smb.conf



[global]
large readwrite = no
lpq command = lpq -P%p
passwd chat debug = yes
ldap ssl = no
obey pam restrictions = Yes
client signing = No
delete user from group script = /usr/local/sbin/smbldap-groupmod -x "%u" "%g"
client schannel = No
time server = Yes
show add printer wizard = yes
passwd program = /usr/bin/passwd %u
max xmit = 16644
use client driver = No
dns proxy = yes
nt acl support = no
netbios name = panno.lan
ldap passwd sync = Yes
printing = cups
print command = lpr -r -P%p %s
logon script = logon.bat
local master = Yes
workgroup = panno.lan
os level = 34
server signing = No
update encrypted = Yes
ldap admin dn = uid=mailadmin,dc=panno,dc=com
printcap = cups
security = user
add machine script = /usr/local/sbin/smbldap-useradd -w "%u"
delete user script = /usr/local/sbin/smbldap-userdel "%u"
server schannel = No
log file = /var/log/samba/log.%m
ldap user suffix = ou=Users,ou=OxObjects
add group script = /usr/local/sbin/smbldap-groupadd -p "%g"
delete group script = /usr/local/sbin/smbldap-groupdel "%g"
add user to group script = /usr/local/sbin/smbldap-groupmod -m "%u" "%g"
domain master = Yes
encrypt passwords = yes
logon home = \\%L\%U
logon drive = h:
passdb backend = ldapsam:ldap://127.0.0.1/
wins proxy = yes
wins support = Yes
ldap delete dn = Yes
server string = PDC
ldap group suffix = ou=Groups,ou=OxObjects
ldap machine suffix = ou=Computers,ou=OxObjects
load printers = yes
printer admin = @he_EDV
ldap suffix = dc=panno,dc=com
unix password sync = yes
logon path = \\%L\profiles\%U
use sendfile = no
add user script = /usr/local/sbin/smbldap-useradd -m "%u"
set primary group script = /usr/local/sbin/smbldap-usermod -g "%g" "%u"
preferred master = Yes
domain logons = Yes
pam password change = Yes
log level = 1
# log level = 3
# DEBUG
# log level = 99



[profiles]
comment = Network Profiles Service
path = /daten/files/profiles
read only = No
profile acls = yes
writable = Yes
browsable = no

[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
public = yes
writable = no

[print$]
comment = Druckertreiber-Download-Bereich
path = /daten/files/drivers
browseable = yes
guest ok = yes
read only = yes
write list = @he_EDV, @ntadmin, root

[public]
comment = public
path = /daten/files/public/
read only = No
guest only = No
dos filemode = Yes
browsable = Yes
hide files = /desktop.ini/RECYCLER/
vfs objects = recycle
writable = Yes

[netlogon]
comment = Network Logon Service
path = /daten/files/netlogon
write list = @he_EDV, Administrator, root
writable = no
guest ok = yes

[homes]
valid users = %S
path = /daten/files/homes/%U
valid users = %S
read only = No
comment = HOME Directories
browsable = No
create mask = 0644
directory mask = 0775


Hier noch meine logon.bat



@echo off
echo ==========================
echo Laufwerke werden verbunden
echo ==========================
NET USE P: \\panno.lan\profiles
NET USE Y: \\panno.lan\public
NET TIME \\panno.lan /set /yes


die Berechtigungen des profiles Verzeichnisses sehen so aus..



total 0
drwxrwxrwx+ 5 root he_EDV 120 Nov 28 11:58 .
drwxrwxr-x+ 7 root nobody 168 Nov 28 13:00 ..
drwxrwxrwx+ 2 musterf root 48 Nov 28 11:58 musterf
drwxrwxrwx+ 2 musterm root 48 Nov 28 11:58 musterm


Währe fein wenn mir jemand helfen könnte.

mfg

hubrach
29.11.06, 07:20
Also erstmal ist in deiner smb.conf etwas gehörig durcheinander :
z.B. Wenn cups als printing benutzt wird, dann bitte keine Print befehle .

[global]
large readwrite = no Warum ?
lpq command = lpq -P%p Raus
passwd chat debug = yes
ldap ssl = no
obey pam restrictions = Yes
client signing = No Windows braucht das m.E.
delete user from group script = /usr/local/sbin/smbldap-groupmod -x "%u" "%g"
client schannel = No
time server = Yes
show add printer wizard = yes
passwd program = /usr/bin/passwd %u Passwort nicht über LDAP ?
max xmit = 16644
use client driver = No
dns proxy = yes
nt acl support = no Wirklich nicht ?
netbios name = panno.lan Domainname und Rechnername gleich?
ldap passwd sync = Yes
printing = cups
print command = lpr -r -P%p %s Raus
logon script = logon.bat
local master = Yes
workgroup = panno.lan Siehe Rechnername
os level = 34
server signing = No Auto ist besser
update encrypted = Yes
ldap admin dn = uid=mailadmin,dc=panno,dc=com
printcap = cups
security = user
add machine script = /usr/local/sbin/smbldap-useradd -w "%u"
delete user script = /usr/local/sbin/smbldap-userdel "%u"
server schannel = No
log file = /var/log/samba/log.%m
ldap user suffix = ou=Users,ou=OxObjects
add group script = /usr/local/sbin/smbldap-groupadd -p "%g"
delete group script = /usr/local/sbin/smbldap-groupdel "%g"
add user to group script = /usr/local/sbin/smbldap-groupmod -m "%u" "%g"
domain master = Yes
encrypt passwords = yes
logon home = \\%L\%U Gibt es Freigaben mit jedem Usernamen ?
logon drive = h:
passdb backend = ldapsam:ldap://127.0.0.1/
wins proxy = yes
wins support = Yes Bin ich selbst kein WinsServer ? Winssupport heißt nicht Winsserver!!
ldap delete dn = Yes
server string = PDC
ldap group suffix = ou=Groups,ou=OxObjects
ldap machine suffix = ou=Computers,ou=OxObjects
load printers = yes
printer admin = @he_EDV
ldap suffix = dc=panno,dc=com
unix password sync = yes
logon path = \\%L\profiles\%U
use sendfile = no
add user script = /usr/local/sbin/smbldap-useradd -m "%u"
set primary group script = /usr/local/sbin/smbldap-usermod -g "%g" "%u"
preferred master = Yes
domain logons = Yes
pam password change = Yes
log level = 1
# log level = 3
# DEBUG
# log level = 99



[profiles]
comment = Network Profiles Service
path = /daten/files/profiles
read only = No
profile acls = yes
writable = Yes
browsable = no

[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
public = yes
writable = no

[print$]
comment = Druckertreiber-Download-Bereich
path = /daten/files/drivers
browseable = yes
guest ok = yes
read only = yes
write list = @he_EDV, @ntadmin, root

[public]
comment = public
path = /daten/files/public/
read only = No
guest only = No
dos filemode = Yes
browsable = Yes
hide files = /desktop.ini/RECYCLER/
vfs objects = recycle
writable = Yes

[netlogon]
comment = Network Logon Service
path = /daten/files/netlogon
write list = @he_EDV, Administrator, root
writable = no
guest ok = yes

[homes]
valid users = %S
path = /daten/files/homes/%U
valid users = %S
read only = No
comment = HOME Directories
browsable = No
create mask = 0644
directory mask = 0775

XeN
29.11.06, 09:21
Danke für deine Antwort.

Die smb.conf ist durch unzähliges fummeln entstanden. Deswegen kann es sein das da viele Parameter drin sind die ich eigentlich nicht brauche. Die Umstellung auf cups war zum beispiel erst gestern. Habs getestet und es Lief, deswegen hab ich die Print commands drin gelassen.


Habe die smb.conf nun so angepasst.



[global]
passwd chat debug = yes
ldap ssl = no
obey pam restrictions = Yes
client signing = Yes
delete user from group script = /usr/local/sbin/smbldap-groupmod -x "%u" "%g"
client schannel = No
time server = Yes
show add printer wizard = yes
passwd program = /usr/bin/smbpasswd -U %u
passwd chat = *New*password* %n\n *Retype*new*password* %n\n *modifying*
max xmit = 16644
use client driver = No
dns proxy = yes
nt acl support = Yes
netbios name = mail
ldap passwd sync = Yes
printing = cups
logon script = logon.bat
local master = Yes
workgroup = panno.lan
os level = 65
server signing = auto
update encrypted = Yes
ldap admin dn = uid=mailadmin,dc=panno,dc=com
printcap = cups
security = user
add machine script = /usr/local/sbin/smbldap-useradd -w "%u"
delete user script = /usr/local/sbin/smbldap-userdel "%u"
server schannel = No
log file = /var/log/samba/log.%m
ldap user suffix = ou=Users,ou=OxObjects
add group script = /usr/local/sbin/smbldap-groupadd -p "%g"
delete group script = /usr/local/sbin/smbldap-groupdel "%g"
add user to group script = /usr/local/sbin/smbldap-groupmod -m "%u" "%g"
domain master = Yes
encrypt passwords = yes
logon home = \\%L\%U
logon drive = H:
passdb backend = ldapsam:ldap://127.0.0.1/
wins proxy = Yes
ldap delete dn = Yes
server string = PDC
ldap group suffix = ou=Groups,ou=OxObjects
ldap machine suffix = ou=Computers,ou=OxObjects
load printers = yes
printer admin = @he_EDV
ldap suffix = dc=panno,dc=com
unix password sync = yes
logon path = \\%L\profiles\%U
use sendfile = no
add user script = /usr/local/sbin/smbldap-useradd -m "%u"
set primary group script = /usr/local/sbin/smbldap-usermod -g "%g" "%u"
preferred master = Yes
domain logons = Yes
pam password change = Yes
log level = 1


Ich belasse es jetzt mal bei der Global section. Die Freigaben bestehen. Zwar noch nicht für alle. Aber für die mit denen ich es am Testen bin.

Ich werde die neue cfg jetzt mal Testen. Wenn du noch Tips hast, gerne!

Danke nochmal!

hubrach
29.11.06, 09:38
passwd program = /usr/bin/smbpasswd -U %u
immer noch ohne LDAP ?
passwd program = /usr/local/sbin/smbldap-passwd -U %u
passt besser

Rechte auf \profiles stehen auf ?
gib doch mal die Freigaben mit an , vielleicht krankels ja hier ...

hat der Ldap Manager wirklich eine andere suffix als die anderen User ?


Eintarg "printer admin" gibt es nicht mehr ...
mach mal "testparm -v"

hubrach
29.11.06, 09:42
achja
encrypt passwords = yes und obey pam restrictions = yes
geht nicht !!

obey pam restrictions am besten raus damit denn das ist nur dazuda, um unter PAm Passwörter unverschlüsselt zu benutzen ...

XeN
29.11.06, 10:18
Okay, habe ich auch übernommen.

Allerdings bleibt das Problem mit den Anmeldescripten bestehen.

Wenn ich das XP so einstelle das ich im gpedit.msc sage das er nur lokale profile verwenden soll. Ist ja kein Problem und währe uns eigentlich eher recht. Und es meldet sich ein User an für den noch kein Profil angelegt ist, dann wird eines angelegt. Bei diesem Login wird auch das startscript ausgeführt. Es werden die shares geladen und die Drucker.

Wenn ich jetzt in der logon.bat einen neuen Drucker einfüge, oder ein share. Und loge mich mit dem benutzer, welcher jetzt ja ein profil hat, erneut ein. Ist das neue share (oder drucker) nicht vorhanden.

Das ist so unser kern Problem. Wir haben das ganze auch schon auf dem XP Rechner lokal als start script eingestellt. Allerdings bleibt es dabei.

XeN
30.11.06, 15:08
okay, also nach einigem hin und her funktionieren nun die Profile.

Bleibt nur noch das Problem mti der logon.bat. Diese wird komischerweise immer nur dann aufgerufen wenn auf ein profil erstellt wird. Danach übernimmt er keine änderungen die in der logon.bat gemacht werden.

Hat jemand ne idee wo ich schauen könnte?

hubrach
01.12.06, 05:03
Diese wird komischerweise immer nur dann aufgerufen wenn auf ein profil erstellt wird. Danach übernimmt er keine änderungen die in der logon.bat gemacht werden


Heißt das, das er immer die alte Version ausführt, oder keine mehr ?

mit "smbldap-usershow User" kannst du DSir anzeigen lassen welches Loginscript der User tatsächlich ausführt ....

XeN
01.12.06, 07:14
hmmm,

also wenn ich den Befehl ausführe dann zeigt er mir lediglich alle LDAP Attribute des Users an. Dort steht allerdings nichts von Logon script. Allerdings erstelle ich die User mit einem eigenen PHP Admin Script. Da kann es natürlich sein das ich vergessen habe einen Parameter mit anzulegen. Bin davon ausgegangen das er sich die Sachen mit dem Logon script direkt aus der smb.conf holt.

Wie heißt den der Parameter? sambaLogonScript?

Leider kann ich nicht genau sagen ob er das alte Script ausführt oder gar keins. Wenn der User sich das erste mal anmeldet, dann zeigt er das logon script beim anmelden an (ist zum testen so eingestellt). Meldet er sich das zweite mal an dann zeigt er es nicht an. Aber in den Samba Logs sehe ich in jedem fall einen zugriff auf das netlogon share. Der benutzer der zugreift stimmt auch, ebenso die Rechte.

Langsam raucht mir echt der Kopf =\.

hubrach
01.12.06, 07:31
ja das ist es .. der Schalter sambaLogonScript mus gesetzt werden.
Wenn du den Zugriff und die Attribs des Users über LDAP Steuers, schaut samba dort nach .
Beim ersten Login, git es warscheinlich keinen solchen User also nimmt samba das standard loginscript. und legt dann den user an ... der dann im ldap kein loginscript hat

XeN
01.12.06, 07:49
also auch beim ersten Login existiert der User schon im LDAP. Das ist ja das Problemchen. Wir haben die User eigentlich im LDAP gehabt weil der OpenXchange server das gerne so hätte. Da war an Samba noch gar nicht zu denken. Und jetzt tauschen wir halt unsere alten NT Terminal Server aus. Und da dachten wir uns "User sind schon im LDAP, da währe ein Samba zur Authentifizierung doch fein".
Deswegen mussten dann alle User zu Samba Usern Konvertiert werden. Und das war halt einfacher über ein PHP Script.

Ich hab das Attribut jetzt mal von Hand eingetragen. Allerdings auch ohne erfolg. Ich hab da was von einem Attribug "sambaScriptPath" gelesen. Da kann man sowas wohl auch eintragen. Allerdings bekomme ich da einen Fehler das das Attribut unbekannt währe. In der Schema Datei steht es auch nicht drin.

hubrach
01.12.06, 09:15
welche schema dateien hast du den eingebunden ?
Den Scriptpath hab ich auch nicht drin.
Dann nimmt Samba den, der in der smb.conf steht.
Ich hatte auch schon mal so ein Prob.
Es war der Pfad bitte nochmal überprüfen ..

Sind deine Clients Win9X oder XP Rechner ---
nenn mal die login.bat in login.cmd
XP kann damit besser ;-)


poste doch mal den output von usershow .. vielleicht fällt mir noch was auf ..

XeN
01.12.06, 09:30
Erstmal das output von meinem testuser.



dn: uid=musterm,ou=Users,ou=OxObjects,dc=panno,dc=com
preferredLanguage: DE
givenName: max
OXGroupID: 500
userCountry: Germany
objectClass: top,shadowAccount,posixAccount,person,inetOrgPerso n,OXUserObject,sambaSamAccount
lnetMailAccess: TRUE
OXAppointmentDays: 5
mail: max.musterman@panno.com
uid: musterm
uidNumber: 1117
cn: max musterm
loginShell: /bin/bash
alias: alle,musterm,max.musterm
gidNumber: 500
o: Peter Panno GmbH
mailDomain: panno.com
OXTaskDays: 5
description: musterm
homeDirectory: /home/musterm
sn: musterm
OXTimeZone: Europe/Berlin
mailEnabled: OK
sambaSID: S-1-5-21-293459429-2759453797-647889913-3236
sambaPwdMustChange: 9223372036854775807
sambaPasswordHistory: 00000000000000000000000000000000000000000000000000 00000000000000
sambaAcctFlags: [U ]
sambaPrimaryGroupSID: S-1-5-21-293459429-2759453797-647889913-2024
sambaPwdCanChange: 1164791551
sambaLMPassword: 624AAC413795CDC1AAD3B435B51404EE
sambaNTPassword: C5A237B7E9D8E708D8436B6148A25FA1
sambaPwdLastSet: 1164791551
userPassword: {SSHA}eKboZd0uupj1FqI+5jShb932OEnuSe7T
sambaLogonScript: logon.bat
Es ist ja eigentlich nur ein Client. Der der ja quasi unser terminal server ist. Der ist jedenfalls windows XP.

Benenne die mal in .cmd um.

EDIT:
Ändern in .cmd hat auch keinen erfolg gebracht.

hubrach
01.12.06, 09:50
hmm sieht soweit gut aus.
Ist der Sambaserver auch der Ldap server ?


Ist Winbind nicht eingerichtet ?

Was steht im Ldap Log zu dem Rechner ?

XeN
01.12.06, 10:21
der Samba Server ist auch der LDAP Server. Winbind, gute frage. Dachte den richte ich über die smb.conf mit ein?

das LDAP Log wird schwer werden zu filtern. Da da auch der eMail Server und der Groupware Server drauf läuft. Da melden sich ständig leute an oder es kommen eMails rein. Und alles läuft auch über den LDAP.

Ich kanns mal versuchen.

XeN
01.12.06, 10:34
die ausgabe ist zu lang um sie hier posten zu dürfen.

Kann ich das auch per eMail an dich schicken?

hubrach
01.12.06, 10:42
Klar richtest Du winbind über die smb.conf ein, aber die Einträge fehlen mir in deiner smb.conf.
Läuft der Dienst denn ?

was passiert eigendlich wenn du die login.cmd von hand aus der freigabe netlogon aus aufrufst ?

werden denn die Laufwerke weiterhin gemountet, auch wenn der user sich zum x-ten mal einloggt ? Auch wenn die Autostart optionen alle leer sind ..

was passiert, wenn du vom Client aus ein net view \\server machst ... siehst du das verzeichniss netlogon ...

hubrach
01.12.06, 10:43
yep schau in mein Profil

XeN
01.12.06, 10:50
irgendwie kann ich da keine email adresse finden =\

hubrach
01.12.06, 11:18
Ok ich schau dann mal

hubrach
01.12.06, 12:29
Da steht leider nur drin , das der Anfragende die Rechte für die Anfrage besitzt und welche attribute der Eintarg haben muss.
Was fehlt ist die Suchanfrage und die Antwort !!

so wie:
slapd[15185]: conn=7486 op=43 SRCH attr=uid userPassword uidNumber gidNumber cn homeDirectory loginShell gecos description objectClass
Dec 1 13:26:59 fslpz slapd[15185]: conn=7486 op=43 SEARCH RESULT tag=101 err=0 nentries=1 text=

XeN
01.12.06, 12:56
okay ich versuche das mal raus zu bekommen. Ich hatte mir ja nur mit grep alles von musterm anzeigen lassen.

XeN
01.12.06, 13:05
ich schicks nochmal per mail.