PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : samba mehrere Benutzergruppen verschiedene Homedirectorys



emka81
30.11.09, 00:14
Guten Abend werte Forumsgemeinde,

ist es eurer Meinung nach möglich mehrere [Home] Bereiche in der smb.conf zu definieren ?

Konkret:
Firma Abteilungen verschiedene User

zB. lehrlinge, import,export etc.

jetzt haben die User die Homedirectories in /home/lehrlinge oder /home/import etc. wie gebe ich das aber in der smb.conf ein ??

da geht ja "nur" ein path=/home/%U und %G funktioniert nicht, da die Hauptgruppe bei allen auf user gestellt ist ....

versteht ihr was ich meine ?

lg Martin



[homes]
comment = Home Directories
path=/home/lehrlinge/%U
browseable = no
valid users = %S
writable = yes
create mode = 0600
directory mode = 0700

[homes2]
comment = Home Directories
path=/home/import/%U
browseable = no
valid users = %S
writable = yes
create mode = 0600
directory mode = 0700




usw. Kann man diesen Path nicht überhaupt weglassen ?

mamue
30.11.09, 13:05
In meinen LDAP-Einträgen steht so etwas wie:
homeDirectory: /home/sonstwas/userXY
Diese Einstellung hat Vorrang vor der in der smb.conf. Das homeDirectory lässt sich sicher auch mi der passwd abbilden.

HTH
mamue

emka81
30.11.09, 14:18
Bei mir steht im openldap ja auch das Homeverzeichnis drin, bedeutet es dann, wenn ich gar keinen path angebe, dass dann der Homedirectorypfad vom ldap übernommen wird ??

wenn man sich bei den Linux Clients anmeldet ist mir das klar, aber diese smb.conf habe ich noch nicht ganz durchschaut.

wie sieht deine smb.conf aus im Bereich der [Homes] ?

lg Martin

emka81
02.12.09, 23:55
Du hattest RECHT, die Lösung war total simpel, einfach die PATH= Anweisung in der smb.conf im Abschnitt Homes nicht reinschreiben !!

lg Martin

emka81
03.12.09, 09:12
Aber dann bleibt dennoch eine Frage übrig, nämlich wie macht man das dann mit dem Logon Script ? da liegt der PATH ja nicht im ldap also muss ich ihn in der [netlogon] Sektion angeben, aber was mache ich wenn ich eben verschiedene Benutzergruppen / Abteilungen habe ?

Grüße Martin

mamue
08.12.09, 09:30
Es gibt zahlreiche Lösungen, die im Login-script mit ifmember abfragen, in welchen Gruppen der Benutzer ist. Alternativ kannst Du mit "root preexec =" in [netlogon] für jeden Benutzer ein eigenes Login-script erstellen. Am Ende steht als Pfad für das Script entweder auf %U.cmd (serverseitig generiert) oder auf loginscript.cmd (clientseitig mit ifmember). Wenn es nur ganz wenige Benutzer betrifft, die abweichende Einstellungen haben, kann man auch mit include arbeiten und in [netlogon] beispielsweise eine %U.conf einlesen. Wenn %U.conf nicht existiert, weil für diesen Benutzer keine besonderen Einstellungen gelten, passiert nichts, andernfalls überschreiben die in dieser %U.conf getätigten Werte die in der globalen smb.conf. Das drückt etwas auf die Performance, weil die .conf bei jeder neuen Verbindung eingelesen und verarbeitet wird.

HTH
mamue

emka81
09.12.09, 10:26
tja, da muss ich noch viel lesen, aber danke einstweilen, jetzt weiß ich wenigstens nach was ich suchen muss ifmember :)

es handelt sich um eine Schule mit 250 Schüler und die sind in 4 Jahrgänge eingeteilt, pro Jahrgang soll jetzt eben ein anderes Netzlaufwerk eingebunden werden. (zB. Jahrgang_0910, oder Jahrgang_0809 usw.) Das heißt wenn sich Max.Muster einlogged, dann soll er (wenn er zB in die 5te Klasse geht) ein Netzlaufwerk jahrgang_0910 bekommen, wo alle 5 Klassler Zugriff haben, aber nicht die 6 Klassler .....

Es gibt bereits die Gruppen, es sind aber alle in der Hauptgruppe schueler und eben in der nebenGruppe Jahrgang_0910 usw.

Grüße Martin

Welchen Weg würdet ihr einschlagen ?

mamue
09.12.09, 11:36
Ich persönlich mag gerne alles auf dem Server erledigen, sofern möglich. Da weiß man, was man hat. Bei den Clients kann man sich nie so ganz sicher sein.
ich würde jeden Schüler eine entsprechende primäre Gruppe geben, also schueler_09, schueler_10 etc. Mehr als zweistellige Jahreszahlen wird man nie brauchen :-D. Außerdem würde ich die in die Gruppe schueler und vielleicht ganz allgemein users setzen. Darauf aufbauend würde ich per preexec das login-script zusammenbauen, denn über %G teilt mir Samba ja schon die primäre Gruppenzugehörigkeit mit.


[netlogon]
root-preexec=/opt/mein-zeugs/netlogon.sh %G %U
In netlogon.sh
#!/bin/sh
gruppe=$1
user=$2
if [ $gruppe == "schueler_09" ]
then
echo "net use x: \\myServer\schueler09share >> /samba/netlogon/%U.cmd
fi


So in der Art.

HTH
mamue