TMason
2013-Mar-15 20:59 UTC
[Samba] Samba (3.6.12) - Different Home Directories for Different Users
Hello, I am using Samba (3.6.12) with Gentoo Linux (Kernel Version 3.7.10) and I have a system integrated with Active Directory (the Microsoft Windows servers are running 2008 Enterprise Edition, Release 2). All is well on that front (I can log in, directories are created, etc.) What I would like to do now is have different /etc/skel directories for different groups. So, for example, if someone from the Finance department logs in one set of default settings are copied for that person but if someone from sales logs in another set of default settings are copied over for that user. How can I do this with Samba/Linux? Thank you for your time.
Chris Smith
2013-Mar-16 22:02 UTC
[Samba] Samba (3.6.12) - Different Home Directories for Different Users
On Fri, Mar 15, 2013 at 4:59 PM, TMason <c.koeber at live.com> wrote:> What I would like to do now is have different /etc/skel directories for > different groups. So, for example, if someone from the Finance department > logs in one set of default settings are copied for that person but if > someone from sales logs in another set of default settings are copied over > for that user. > > How can I do this with Samba/Linux?Maybe you can use the group variable %G in the add user script as part of the skel name: -k /etc/skel%G and make sure you have a corresponding skeleton directory for each group.
Jim Potter
2013-Mar-17 20:23 UTC
[Samba] Samba (3.6.12) - Different Home Directories for Different Users
Hi,
I have a similar setup (complex home directory setup) and I use the root
preexec option to do it. See the 'id $1 | grep staff' bit below to
check group membership.
I found that 'id auser' works much better than 'groups auser'.
don't
know why, but groups sometimes takes a few moments to run, and the share
is not accessible until the script has finished.
Hope that helps,
Jim
From smb.conf:
[homes]
comment = windows home directory
path = /srv/nas/BEC/%U/home
root preexec = /bin/bash /srv/scripts/home.sh %U /srv/nas/BEC
read only = no
browseable = no
csc policy = documents
hide files = /desktop.ini/$RECYCLE.BIN/recycled/
veto files = /*.bat/
vfs objects = recycle
/srv/scripts/home.sh:
#!/bin/bash
if [ -z "$2" ]
then
echo "no repository specified"
exit 0
fi
if [ ! -d $2/$1 ]
then
mkdir -p $2/$1/home/AutoBackup
mkdir -p $2/$1/myDocs/Desktop
mkdir $2/$1/myDocs/Downloads
mkdir $2/$1/myDocs/My\ Music
mkdir $2/$1/myDocs/My\ Pictures
mkdir $2/$1/myDocs/My\ Videos
mkdir $2/$1/myDocs/OpenOffice\ backups
mkdir $2/$1/myDocs/OpenOffice\ templates
mkdir -p /srv/recycled/$1
ln -ns $2/$1/myDocs $2/$1/home/myDocs
ln -ns /srv/recycled/$1 /srv/users/$1/home/recycled
if (id $1 | grep "staff") >> /dev/null;
then
mkdir -p $2/$1/archive
ln -ns /srv/recycled/$1 $2/$1/archive/recycled
ln -s msdfs:personalTest\\archive $2/$1/archive
fi
chown -R $1:"Domain admins" $2/$1 /srv/recycled/$1
chmod -R 770 $2/$1 /srv/recycled/$1
chmod 570 $2/$1/home
fi
On 15/03/2013 20:59, TMason wrote:> Hello,
>
> I am using Samba (3.6.12) with Gentoo Linux (Kernel Version 3.7.10)
> and I have a system integrated with Active Directory (the Microsoft
> Windows servers are running 2008 Enterprise Edition, Release 2). All
> is well on that front (I can log in, directories are created, etc.)
>
> What I would like to do now is have different /etc/skel directories
> for different groups. So, for example, if someone from the Finance
> department logs in one set of default settings are copied for that
> person but if someone from sales logs in another set of default
> settings are copied over for that user.
>
> How can I do this with Samba/Linux? Thank you for your time.
>