On Tue, 16 Sep 2008 12:16:42 +0800
Ian Kent <[EMAIL PROTECTED]> wrote:

> On Sat, 2008-09-13 at 12:03 +1000, Matthew Jurgens wrote:
> > Ok, so I updated the script to the RPM version and added the
> > authentication parts:
> > 
> > #!/bin/bash
> > 
> > # This file must be executable to work! chmod 755!
> > key="$1" # key comes is as something like a hostname eg matthew
> > opts="-fstype=cifs,username=$SMB_USER,password=$SMB_PASSWORD"
> > 
> > smbauthfile=/tmp/smbauth.tmp
> > cat << EOT > $smbauthfile
> > username=$SMB_USER
> > password=$SMB_PASSWORD
> > EOT
> > 
> > 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 -A $smbauthfile -gL $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 }
> >         '
> > 
> > 
> > 
> > Now its output is slightly different but the result is still the same
> > -fstype=cifs,username=USER,password=PASSWORD \
> >          "/C" "://xp0/C" \
> >          "/ADMIN$" "://xp0/ADMIN\$" \
> >          "/C$" "://xp0/C\$"
> > 
> > vs the older output
> > -fstype=cifs,username=USER,password=PASSWORD \
> >          /C "://xp0/C" \
> >          /ADMIN\$ "://xp0/ADMIN\$" \
> >          /C\$ "://xp0/C\$"
> > mount:
> > //xp0/C/$ on /smb/xp0/C$ type cifs (rw,mand)
> 
> As I said before, the mount command looks OK, but I wonder if any recent
> CIFS kernel changes are getting confused by the "\" in the location
> (aka //xp0/C\$). That would be a bit of a bummer as autofs needs it but
> getting rid of it before the actual mount isn't straight forward.
> 

Yes. There are some recent changes to the mount.cifs command and CIFS
VFS in kernel to try to handle delimiters a little more intelligently
(they were really broken before in some cases). This mount command does
not look right to me though. You have this:

"://xp0/C\$"

...and the mount helper is interpreting that last \ as a delimiter.
Since you have that in quotes already, you shouldn't need to escape the
trailing $. So I think this would be more likely to work:

"://xp0/C$"

Cheers,
-- 
Jeff Layton <[EMAIL PROTECTED]>

_______________________________________________
autofs mailing list
autofs@linux.kernel.org
http://linux.kernel.org/mailman/listinfo/autofs

Reply via email to