Hello,

the latest weeks I've been testing with the paramters UID, USER etc. 
provided by the automounter,
indicating the user activating the mount. I've changed the default 
auto.smb script to make use of this var:
(earlier I had another constructing which was not so comprehensive)

---------

#!/bin/bash

key="$1"
opts='-fstype=smbtest,auid=$UID'

SMBCLIENT=/usr/bin/smbclient

[ -x $SMBCLIENT ] || exit 1

# echo $key

$SMBCLIENT -gNL $key 2>/dev/null| awk -v key="$key" -v opts="$opts" 
-F'|' -- '
        BEGIN   { ORS=""; first=1 }
        /Disk/  { if (first) { print opts; first=0 }; sub(/ /, "\\ ", 
$2); print " \\\n\t /" $2, "://" key "/" $2 }
        END     { if (!first) print "\n"; else exit 1 }
        '
--------

Note:
a. I've made this script I little bit simpler by letting it not search 
the smbclient script.
b. the fstype is not smb but smbtest. I've created a wrapper 
mount.smbtest which will filter the parameter
auid out. This value can be used for permissions and authentification
c. the extra opion auid (activating user) which will be assigned when 
the automounter does the mount, not when running this script. That's why 
there are single quotes around it.

Futher I use this wrapper mount.smbtest, which is a little bit too big 
to show here. In pseudo code:

---------

#!/bin/sh

# log the parameters, important to see how this script is called
# and what the value of auid is

set | grep "^BASH_ARGV" >> /var/log/mount.smbtest.log

seperate the value auid from the rest of the paramaters
if this auid is not empty, and does exist (an existing user on the system)
check there are credentials for this user

if so then perform a mount.smb with the credentials, with all the right 
options (mountpoint, unc_address and other options)
else do a guest mount ( with the right options)


----------

When looking to the logfile, sometimes the auid is correct, but in about 
50% of the cases it's empty.

If you would like to test with this I can provide this mount.smbtest script.

Stef Bon



_______________________________________________
autofs mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/autofs

Reply via email to