From: "steve" <[email protected]>
To: <[email protected]>
Sent: Monday, July 02, 2012 4:09 PM
Subject: Re: [Samba] smb.conf for around 2500 users


On 02/07/12 21:17, Matthieu Patou wrote:
On 07/02/2012 08:39 AM, steve wrote:
Samba4 with Linux and Windows clients wanting to get the same home
folder data.

Hi
A college has students arranged with Linux home directories according
to which year they belong to and which class within that year, a or b
or whatever, they belong to e.g.:
/home2/students/year7/year7a/student1
/home2/students/year7/year7a/student2
...
...
/home2/students/year13/year13a/student2500

To get at the same data on windows, I was thinking of a share for each
of the classes e.g.
[year7a]
path = /home2/students/year7/year7a
read only = No
browsable = No
...
...
[year13a]
path = /home2/students/year13/year13a
read only = No
browsable = No

and mapping a drive letter to the share e.g.
map Z: to \\server\year7a\%USERNAME%

That would make lots of shares but would make it readable to non admins.

Is there a limit on the number of shares per installation?
Any other ideas of how to go about it? e.g. I thought about OU's but
we do not want to administer from Windows.

Did you thought about making a new directory ie.
/home2/students/data with a link to each real user and then sharing data
like that

[data]
path = /home2/students/data
read only = No
browsable = No

And then use ADUC or ldbedit to specify the connect to attribute and set
it to \\servername\data\%username%

Hi Matthieu,
That looks promising. Will cifs symlink, or are we still at ext4 level here?

Are you saying that a real student e.g.
/home2/students/year7/year7a/steve
has a symlink in
/home2/students/data
??
Would that be e.g. for student steve:
ln -s /home2/students/year7/year7a/steve /home2/students/data/steve
(or is the link the other way around?)

All students then have a link in
/home2/students/data/<name>
irrespective of which class they are in.

For all students, I then map, e.g.  Z:
 to
\\servername\data\%USERNAME%

Am I close?


Well, that would probably work but we have a similar problem and took a different approach. We configure a net share through a logon script for our users. In our smb.conf, we configure samba to call a perl script called sambalogon like this:

root preexec = /usr/local/sbin/sambalogin %U %m %M %G %L
root postexec = rm -f /var/lib/samba/netlogon/%U.bat

The preexec script generates a Windows batch script that maps the user's home to their X: drive. The postexec command deletes the Windows batch file. In the perl script, we do an ldap query to get the user's home and then put a "net use" command into the batch script that maps their home to their X: drive.

#!/usr/bin/perl
open LOGON, ">/var/lib/samba/netlogon/$user.bat";
print LOGON "\@ECHO OFF\r\n";
my $home = &gethome ($user, $group);
if ($home)
 { print LOGON "NET USE X: \\\\$home\\homes\r\n"; }

The exact contents of the gethome function is left as an excersize for the reader.
--
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba

Reply via email to