[Samba] how to use root preexec on user share with %U not as root user
Jelle de Jong
jelledejong at powercraft.nl
Thu Apr 30 20:40:47 UTC 2020
On 2020-04-30 10:12, Rowland penny via samba wrote:
> On 30/04/2020 00:25, Jelle de Jong via samba wrote:
>> Hello everybody,
>>
>> I am trying to get samba 4 to make a user dir without the use of ADUC
>> to set the homeDirectory, but with samba-tool user create only.
>>
>> I created a root preexec but the %U is filled with root and not the
>> username of the user.
>>
>> I need to user [users] and not the old [homes] because I got a GPO for
>> redirection to the //server/users/%USERNAME% and I need this folder to
>> be created before the first logon of the user otherwise it seems to go
>> bad.
>>
>> [users]
>> path = /srv/storage/users/
>> read only = No
>> root preexec = /usr/local/bin/samba-mkdir-home %U
>>
>> PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin/
>> if [ ! -e /srv/storage/users/$1 ]; then
>> mkdir /srv/storage/users/$1
>> chown "$1":"domain user" /srv/storage/users/$1
>> fi
>>
>> Kind regards,
>>
>> Jelle de Jong
>>
> Define 'first logon'.
>
> If it is logging on via ssh or direct to the computer (via lightdm etc),
> then you need you would use pam_mkhomedir instead
>
> That doesn't work if just connecting to a Samba share, so you have two
> options here:
>
> Create a share:
>
> [users]
>
> path = /path/to/users
>
> read only = no
>
> Restart Samba
>
> The first option is:
>
> Go to ADUC, select a user, right click, select 'Options' and then the
> 'Profiles' tab. At the bottom of the 'Profiles' tab select a letter e.g.
> 'H:' then the shares UNC e.g. //Samba_servers_hostname/users/username,
> now click 'Apply', this should create the users homedir on the Samba
> server.
>
> The second option relies on adding a line to the share:
>
> root preexec = /path/to/a/script %H %U
>
> This will cause the script to be run whenever a user connects to the
> share and pass the users homedir path and username to the script. With
> this option, you do not need to touch the users profile tab in ADUC.
First logon is I use samba-tool to add the user then I go to an Windows
10 Pro domain member system and logon to the machine. The
\\SAMBA01\users\lgaga folder will not be there.....
amba-tool user create lgaga passwd --login-shell /bin/bash --given-name
"Lady Gaga" --home-drive=H --home-directory="\\\SAMBA01\users\lgaga"
Could you or others share (sent) the /path/to/a/script you use because
when I try to use mine above script the user always is root, and I need
a smarter script that sets the setfacl correct with Windows ACL instead
of posix acl.
Kind regards,
Jelle de Jong
More information about the samba
mailing list