[Samba] access share on machine running server again

Dave S samba at pusspaws.net
Mon Mar 27 12:56:23 GMT 2006


Hi all,

A while ago I posted about needing to access samba shares on the same machine 
that the samba server was running on.

Someone posted a script to mount the shares and all was well till I upgraded 
my PC hadware and had a small accident :(

I have tried modifing /etc/init.d/samba adding ...

              mount -t smbfs //127.0.0.1/common /mnt/samba/common -o 
credentials=/home/dave/.smbpw,uid=dave,gid=dave,fmask=660,dmask=770 
> /dev/null
                mount -t smbfs //127.0.0.1/windows /mnt/samba/windows -o 
credentials=/home/dave/.smbpw,uid=dave,gid=dave,fmask=660,dmask=770 
> /dev/null
                mount -t smbfs //127.0.0.1/archive /mnt/samba/archive -o 
credentials=/home/dave/.smbpw,uid=dave,gid=dave,fmask=660,dmask=770 
> /dev/null

and 

             umount //127.0.0.1/common
             umount //127.0.0.1/windows
             umount //127.0.0.1/archive

To the appropriate bits, this works most of the time but fails to mount 1 or 
more shares randomly. Thinking this was because the samba demons had not had 
time to startup properly I added a 10s delay, still random fail to mounts.

Does anyone have any ideas ?

Oh yes, if I open an xterm and '/etc/init.d/samba restart' it always mounts 
the shares AOK

Dave


#!/bin/sh
#
# Start/stops the Samba daemons (nmbd and smbd).
#
#

# Defaults
RUN_MODE="daemons"

# Reads config file (will override defaults above)
[ -r /etc/default/samba ] && . /etc/default/samba

NMBDPID=/var/run/samba/nmbd.pid
SMBDPID=/var/run/samba/smbd.pid

# clear conflicting settings from the environment
unset TMPDIR

# See if the daemons are there
test -x /usr/sbin/nmbd -a -x /usr/sbin/smbd || exit 0

. /lib/lsb/init-functions

case "$1" in
        start)
                log_begin_msg "Starting Samba daemons.."

                if ! start-stop-daemon --start --quiet --oknodo 
--exec /usr/sbin/nmbd -- -D; then
                        log_end_msg 1
                        exit 1
                fi

                if [ "$RUN_MODE" != "inetd" ]; then
                        if ! start-stop-daemon --start --quiet --oknodo 
--exec /usr/sbin/smbd -- -D; then
                                log_end_msg 1
                                exit 1
                        fi
                fi


                mount -t smbfs //127.0.0.1/common /mnt/samba/common -o 
credentials=/home/dave/.smbpw,uid=dave,gid=dave,fmask=660,dmask=770 
> /dev/null
                mount -t smbfs //127.0.0.1/windows /mnt/samba/windows -o 
credentials=/home/dave/.smbpw,uid=dave,gid=dave,fmask=660,dmask=770 
> /dev/null
                mount -t smbfs //127.0.0.1/archive /mnt/samba/archive -o 
credentials=/home/dave/.smbpw,uid=dave,gid=dave,fmask=660,dmask=770 
> /dev/null


                log_end_msg 0
                ;;
        stop)
                log_begin_msg "Stopping Samba daemons..."

                start-stop-daemon --stop --quiet --pidfile $NMBDPID
                # Wait a little and remove stale PID file
                sleep 1
                if [ -f $NMBDPID ] && ! ps h `cat $NMBDPID` > /dev/null
                then
                        # Stale PID file (nmbd was succesfully stopped),
                        # remove it (should be removed by nmbd itself IMHO.)
                        rm -f $NMBDPID
                fi

                if [ "$RUN_MODE" != "inetd" ]; then
                        start-stop-daemon --stop --quiet --pidfile $SMBDPID
                        # Wait a little and remove stale PID file
                        sleep 1
                        if [ -f $SMBDPID ] && ! ps h `cat $SMBDPID` 
> /dev/null
                        then
                                # Stale PID file (nmbd was succesfully 
stopped),
                                # remove it (should be removed by smbd itself 
IMHO.)
                                rm -f $SMBDPID
                        fi
                fi


                umount //127.0.0.1/common
                umount //127.0.0.1/windows
                umount //127.0.0.1/archive


                log_end_msg 0

                ;;
        reload)
                log_begin_msg "Reloading /etc/samba/smb.conf (smbd only)..."

                start-stop-daemon --stop --signal HUP --pidfile $SMBDPID

                log_end_msg 0
                ;;
        restart|force-reload)
                $0 stop
                sleep 1
                $0 start
                ;;
        *)
                log_success_msg "Usage: /etc/init.d/samba {start|stop|reload|
restart|force-reload}"
                exit 1
                ;;
esac

exit 0


More information about the samba mailing list