For the Slackware correct way
You need something like this in your /etc/rc.d/rc.M file:
Code:
# Start Samba (a file/print server for Win95/NT machines).
# Samba can be started in /etc/inetd.conf instead.
if [ -x /etc/rc.d/rc.samba ]; then
. /etc/rc.d/rc.samba start
fi
And then you need a file called rc.samba in /etc/rc.d/ that is executable:
Code:
#!/bin/sh
#
# /etc/rc.d/rc.samba
#
# Start/stop/restart the Samba SMB file/print server.
#
# To make Samba start automatically at boot, make this
# file executable: chmod 755 /etc/rc.d/rc.samba
#
samba_start() {
if [ -x /usr/sbin/smbd -a -x /usr/sbin/nmbd -a -r /etc/samba/smb.conf ]; then
echo "Starting Samba: /usr/sbin/smbd -D"
/usr/sbin/smbd -D
echo " /usr/sbin/nmbd -D"
/usr/sbin/nmbd -D
fi
}
samba_stop() {
killall smbd nmbd
}
samba_restart() {
samba_stop
sleep 2
samba_start
}
case "$1" in
'start')
samba_start
;;
'stop')
samba_stop
;;
'restart')
samba_restart
;;
*)
# Default is "start", for backwards compatibility with previous
# Slackware versions. This may change to a 'usage' error someday.
samba_start
esac
And I'm not sure why you'd want samba to start as another user but you can pass a su <username> -c <command> for the actual command to start as another user, etc.
Also in slackware, if you installed Samba during initial install or used the tgz slackware packages to install Samba, you can edit your /etc/inetd.conf file as well to start the daemons.