avr ~ # cat /etc/init.d/samba-server #!/bin/sh ### BEGIN INIT INFO # Provides: samba-server # Required-Start: $network $local_fs $remote_fs # Required-Stop: $network $local_fs $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Should-Start: slapd # Should-Stop: slapd # Short-Description: start Samba SERVER daemons (nmbd and smbd) ### END INIT INFO # Defaults RUN_MODE="daemons" # Reads config file (will override defaults above) #[ -r /etc/default/samba-server] && . /etc/default/samba-server PIDDIR=/var/run/samba-server NMBDPID=$PIDDIR/nmbd-smb-server.conf.pid SMBDPID=$PIDDIR/smbd-smb-server.conf.pid CONF=/etc/samba/smb-server.conf # 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_daemon_msg "Starting Samba daemons in WKGP UIK and host SERVER" # Make sure we have our PIDDIR, even if it's on a tmpfs install -o root -g root -m 755 -d $PIDDIR NMBD_DISABLED=`testparm -s --parameter-name='disable netbios' $CONF 2>/dev/null` if [ "$NMBD_DISABLED" != 'Yes' ]; then log_progress_msg "nmbd" if ! start-stop-daemon --start --quiet --oknodo --exec /usr/sbin/nmbd -- -D $NMBDOPTIONS -s $CONF then log_end_msg 1 exit 1 fi fi if [ "$RUN_MODE" != "inetd" ]; then log_progress_msg "smbd" if ! start-stop-daemon --start --quiet --oknodo --exec /usr/sbin/smbd -- -D $SMBDOPTIONS -s $CONF then log_end_msg 1 exit 1 fi fi log_end_msg 0 ;; stop) log_daemon_msg "Stopping Samba daemons SERVER" log_progress_msg "nmbd" 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 log_progress_msg "smbd" 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 log_end_msg 0 ;; reload) log_daemon_msg "Reloading /etc/samba/smb.conf" "smbd only on SERVER" start-stop-daemon --stop --signal HUP --pidfile $SMBDPID log_end_msg 0 ;; restart|force-reload) $0 stop sleep 1 $0 start ;; status) status="0" NMBD_DISABLED=`testparm -s --parameter-name='disable netbios' $CONF 2>/dev/null` if [ "$NMBD_DISABLED" != "Yes" ]; then status_of_proc -p $NMBDPID /usr/sbin/nmbd nmbd || status=$? fi if [ "$RUN_MODE" != "inetd" ]; then status_of_proc -p $SMBDPID /usr/sbin/smbd smbd || status=$? fi if [ "$NMBD_DISABLED" = "Yes" -a "$RUN_MODE" = "inetd" ]; then status="4" fi exit $status ;; *) echo "Usage: /etc/init.d/samba {start|stop|reload|restart|force-reload|status}" exit 1 ;; esac exit 0