Zentyal Forum, Linux Small Business Server

International => German => Topic started by: zentypenguin on September 21, 2013, 05:52:59 pm

Title: Zentyal 3.2 - Samba: Home-Verzeichnisse für User eine Verzeichnisebene tiefer
Post by: zentypenguin on September 21, 2013, 05:52:59 pm
Hallo,

Ich bastele schon eine ganze Weile am Zentyal-Server, unter anderem, um ihn auch mit Linux-Clients sinnvoll einsetzen zu können. Bislang habe ich es geschafft, dass sich User, die auf dem Server eingerichtet sind, sich auf einem Linux-Client anmelden können und das mappen von Verzeichnissen klappt auch inzwischen ganz gut.

Als nächsten Schritt möchte ich eigentlich zwei Exports verwenden, eines, um die allgemeinen Shares zu mouten, und eines, um die User-Verzeichnisse zu mounten, so dass lokale systemrelevante User-Verzeichnisse nicht sichtbar sind. Und dann soll das mit Windows-Boxen ja auch noch weiter klappen.

Leider ist das Home-Verzeichnis im Samba aber festgelegt. Wie kann ich die Konfiguration so anpassen, dass die Home-Verzeichnisse der produktiven User unterhalb des Verzeichnisses /home/userdata/ angelegt werden, so dass ich das Verzeichnis "userdata" dann exportieren kann, statt "home"?

Ich vermute mal, dass es nicht damit getan ist, nur die Samba-Konfiguration anzupassen. Ich fürchte ja, dass man im LDAP auch noch Anpassungen durchführen müsste.

Gibt es eine Möglichkeit, die richtige Konfiguration in /etc/zentyal/hooks/ anzulegen und wie müsste das dann aussehen?

Ich stelle mir den Verzeichnisbaum etwa so vor:

/home/
/home/userdata/
/home/userdata/user1
/home/userdata/user2
/home/userdata/user3
/home/userdata/...
/home/samba/profiles
/home/samba/shares
/home/samba/shares/share1
/home/samba/shares/share2
/home/samba/shares/...

Und dann eben als exports /home/userdata/ und /home/samba/shares/

Würde mich freuen, wenn jemand mir Hinweise geben könnte, wie ich das umsetzen kann.

Mit herzlichen Grüßen,

Ralf
Title: Re: Zentyal 3.2 - Samba: Home-Verzeichnisse für User eine Verzeichnisebene tiefer
Post by: zentypenguin on September 23, 2013, 10:07:02 pm
Hallo,

ich bin schon ein Stückchen weiter gekommen.

Habe die Datei /etc/zentyal/samba.postsetconf mit fogendem Inhalt angelegt:
Code: [Select]
#!/bin/sh
sed -i 's/path = \/home\/\%S$/path = \/home\/userdata\/\%S/' /etc/samba/smb.conf
    exit 0
Damit erreiche ich, dass das Home-Verzeichnis in der smb.conf nach meinen Wünschen angepasst ist.

Allerdings werden neue User immer noch im /home angelegt.

Also, wie ich befürchtet habe, es muss mehr getan werden.

Aber ich habe bislang keine weitere Konfiguration gefunden, in der das Home-Verzeichnis irgendwie definiert wird.

Auch die Datei /etc/adduser.conf, wo das Home-Verzeichnis definiert wird, scheint für die Userverwaltung nicht verwendet zu werden.

Gibt es überhaupt eine Möglichkeit?

Am schönsten wäre natürlich, wenn man beim Anlegen eines Users einen alternativen Pfad zum Home angeben könnte, der dann auch im Ldap gespeichert würde und in allen Bereichen berücksichtigt wird.
Ob das mal gibt?

Vielen Dank für Eure Hinweise,

Ralf
Title: Re: Zentyal 3.2 - Samba: Home-Verzeichnisse für User eine Verzeichnisebene tiefer
Post by: mwolf2013 on September 24, 2013, 10:19:11 pm
Hi,

ich hab hier mal n paar howtos zusammengestellt..basiert zwear auf 3.0.2 aber ist schonmal ein ansatz :)

- H: Laufwerksmapping entfernen

nano /usr/share/perl5/EBox/SambaLdapUser.pm
 
oder
 
nano /usr/share/perl5/EBox/Samba.pm
 
Suche nach "HomeDrive"
 
Zeile remmen
 
        # Mount user home on network drive
        my $drivePath = "\\\\$netbiosName.$realmName";
        EBox::info("Setting home network drive for user '$samAccountName'");
-->>>   #$sambaUser->setHomeDrive($self->{samba}->drive(), $drivePath, 1);
        $sambaUser->save();
 
 
Danach Userobjekt ändern -> fertig


- Wenn Samba langsam Audit deaktivieren

nano /usr/share/zentyal/stubs/samba/smb.conf.mas
 
Suche nach "full_audit"
 
aus my $objects entfernen (2x)
 
-->>>   % my $objects = 'acl_xattr';
 
 
Danach Dateifreigabe neustarten (Weboberfläche) -> fertig


- Profiles Share ändern

nano /usr/share/zentyal/stubs/samba/smb.conf.mas
 
Suche nach "profiles"
 
Pfad ändern
 
% if ($mode eq 'dc') {
%   if ($roamingProfiles) {
[profiles]
-->>>    path = /home/samba/prof
    browseable = no
    read only = no
%   }
 
 
Danach Dateifreigabe neustarten (Weboberfläche) -> fertig

viel Spaß
Title: Re: Zentyal 3.2 - Samba: Home-Verzeichnisse für User eine Verzeichnisebene tiefer
Post by: zentypenguin on September 29, 2013, 05:43:24 pm
Hallo mwolf2013,

vielen Dank für Deine Antwort. Mir stellt sich hier aber die Frage, wie nachhaltig diese Änderungen sind, wenn ich sie in /usr/share/perl5/EBox/.. durchführe. Wird das nicht überschrieben, sobald ein Update rein kommt?

Gibt es da keine Möglichkeit, für die Module, die für den Pfad verantwortlich sind, Hooks zu verwenden? Die wären nach einem Update ja immer noch vorhanden, wenn ich das richtig verstanden habe.

Mit herzlichen Grüßen,

Ralf