[Samba] Autofs and Fedora 11

Ian Shay iancshay at comcast.net
Thu Sep 17 20:29:06 MDT 2009


Hi!
I'm having trouble accessing Samba shares via autofs.

Let me begin by saying that I can access the samba shares
directly using smbclient without any trouble. For example:
     smbclient //Matsa/Pisi
works fine.

I first started out by copying a config line from an older
system (redhat 7) that has in its auto.misc:
(all on one line, of course)

pisi
-fstype=smb,guest,uid=501,gid=100,username=guest,fmask=666,dmask=777
   ://Matsa/Pisi

On my current system this does not work:
     # cd /misc/pisi
     bash: cd: /misc/pisi: No such file or directory

Then, I realized there is this mechanism for dynamically
finding smb shares in the latest autofs, so I added to
auto.master
     /smb    /etc/auto.smb  --timeout=60
and got the following results:
     # ls /smb/Matsa
     Hammer  Matsa  Pisi  print$  SharedDocs  Simple
     # ls /smb/Matsa/Pisi
     ls: cannot open directory /smb/Matsa/Pisi: No such file or
directory

None of the logs (/var/log/messages and /var/log/samba/*)
have any entries.

This is a new Fedora 11 install.
autofs version: autofs-5.0.4-38
samba version: samba-3.3.2-0.33.fc11

If it would help, here is what happens when I evoke auto.smb:
     # /etc/auto.smb Matsa
     -fstype=cifs \
              "/Simple" "://Matsa/Simple" \
              "/Matsa" "://Matsa/Matsa" \
              "/SharedDocs" "://Matsa/SharedDocs" \
              "/print$" "://Matsa/print\$" \
              "/Pisi" "://Matsa/Pisi" \
              "/Hammer" "://Matsa/Hammer"

And here are the contents of the actual file /etc/auto.smb:
#!/bin/bash

# This file must be executable to work! chmod 755!

key="$1"
opts="-fstype=cifs"

for P in /bin /sbin /usr/bin /usr/sbin
do
         if [ -x $P/smbclient ]
         then
                 SMBCLIENT=$P/smbclient
                 break
         fi
done

[ -x $SMBCLIENT ] || exit 1

$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
                   dir = $2
                   loc = $2
                   # Enclose mount dir and location in quotes
                   # Double quote "$" in location as it is
special
                   gsub(/\$$/, "\\$", loc);
                   print " \\\n\t \"/" dir "\"", "\"://" key
"/" loc "\""
                 }
         END     { if (!first) print "\n"; else exit 1 }
         '

I also tried adding some options to the above script:
opts="-fstype=smb,guest,uid=501,gid=100,username=guest,fmask=666,dmask=777,file_mode=0666,dir_mode=0777"

but it did not help.

Any suggestions would be greatly appreciated! I tried
reading the manuals and doing web searches, but couldn't
find out what I was doing wrong.

Ian


More information about the samba mailing list