samba 3 をインストール - end0tknrのkipple - web写経開発
以前も同様のエントリを記載していますが、久しぶりにsambaをinstallしたら、忘れている部分もあったのでメモ。
sambaのインストール
設定ファイルだけは、/etc/samba/smb.conf にインストールしています
$ wget ftp://ftp.samba.gr.jp/pub/samba/samba-3.6.24.tar.gz $ tar -zxvf samba-3.6.24.tar.gz $ cd samba-3.6.24/source3 $ ./configure --with-configdir=/etc/samba $ make $ su - # make install
設定ファイルのコピー&編集
設定ファイルはsrcファイル群に含まれていますので、編集はご自身の環境に応じてお願いします
# cp /tmp/samba-3.6.24/packaging/RHEL/setup/smb.conf /etc/samba/
自動起動
# cd /etc/rc.d/init.d # cp /tmp/samba-3.6.24/packaging/RHEL/setup/smb.init ./smb # chkconfig smb on
自動起動scriptもsrcファイル群に含まれていましたが、私の環境では、なぜか自動起動できませんでした。(原因は詳しく調べていません)
そこで、以前から使用しているsambaの自動起動スクリプトを使用して問題なく自動起動できるようになりました。
samba-3.6.24/packaging/RHEL/setup/smb.init
こちらは動作しなかったscriptです
#!/bin/sh # # chkconfig: - 91 35 # description: Starts and stops the Samba smbd and nmbd daemons \ # used to provide SMB network services. # # pidfile: /var/run/samba/smbd.pid # pidfile: /var/run/samba/nmbd.pid # config: /etc/samba/smb.conf SMB_HOME=/usr/local/samba export LD_LIBRARY_PATH=$SMB_HOME/lib # Source function library. if [ -f /etc/init.d/functions ] ; then . /etc/init.d/functions elif [ -f /etc/rc.d/init.d/functions ] ; then . /etc/rc.d/init.d/functions else exit 0 fi # Avoid using root's TMPDIR unset TMPDIR # Source networking configuration. . /etc/sysconfig/network if [ -f /etc/sysconfig/samba ]; then . /etc/sysconfig/samba fi # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 # Check that smb.conf exists. [ -f /etc/samba/smb.conf ] || exit 0 # Check that we can write to it... so non-root users stop here [ -w /etc/samba/smb.conf ] || exit 0 # Check whether "netbios disabled" is true ISNETBIOSDISABLED=$(testparm -s 2>/dev/null | \ sed -n '/\[global\]/,/^$/p' | \ grep "disable netbios = Yes" | \ awk 'BEGIN{FS=" = "}{print $2}') RETVAL=0 start() { KIND="SMB" echo -n $"Starting $KIND services: " daemon $SMB_HOME/sbin/smbd $SMBDOPTIONS RETVAL=$? echo KIND="NMB" if [ x"$ISNETBIOSDISABLED" != x"Yes" ]; then echo -n $"Starting $KIND services: " daemon $SMB_HOME/sbin/nmbd $NMBDOPTIONS RETVAL2=$? echo [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && touch /var/lock/subsys/smb || \ RETVAL=1 else [ $RETVAL -eq 0 ] && touch /var/lock/subsys/smb || \ RETVAL=1 fi return $RETVAL } stop() { KIND="SMB" echo -n $"Shutting down $KIND services: " killproc smbd RETVAL=$? [ $RETVAL -eq 0 ] && rm -f /var/run/smbd.pid echo KIND="NMB" if [ x"$ISNETBIOSDISABLED" != x"Yes" ]; then echo -n $"Shutting down $KIND services: " killproc nmbd RETVAL2=$? [ $RETVAL2 -eq 0 ] && rm -f /var/run/nmbd.pid [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && rm -f /var/lock/subsys/smb echo "" else [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/smb echo "" fi return $RETVAL } restart() { stop start } reload() { echo -n $"Reloading smb.conf file: " killproc smbd -HUP RETVAL=$? echo return $RETVAL } rhstatus() { status smbd status nmbd } case "$1" in start) start ;; stop) stop ;; restart) restart ;; reload) reload ;; status) rhstatus ;; condrestart) [ -f /var/lock/subsys/smb ] && restart || : ;; *) echo $"Usage: $0 {start|stop|restart|reload|status|condrestart}" exit 1 esac exit $?
/etc/rc.d/init.d/smb
こちらは動作した以前か使用しているscriptです。入手元は...忘れました
#!/bin/sh # # chkconfig: - 91 35 # description: Starts and stops the Samba smbd daemon \ # used to provide SMB network services. # # pidfile: /var/run/samba/smbd.pid # config: /etc/samba/smb.conf SMB_HOME=/usr/local/samba # Source function library. if [ -f /etc/init.d/functions ] ; then . /etc/init.d/functions elif [ -f /etc/rc.d/init.d/functions ] ; then . /etc/rc.d/init.d/functions else exit 1 fi # Avoid using root's TMPDIR unset TMPDIR # Source networking configuration. . /etc/sysconfig/network if [ -f /etc/sysconfig/samba ]; then . /etc/sysconfig/samba fi # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 1 # Check that smb.conf exists. [ -f /etc/samba/smb.conf ] || exit 6 RETVAL=0 start() { KIND="SMB" echo -n $"Starting $KIND services: " daemon $SMB_HOME/sbin/smbd $SMBDOPTIONS RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/smb || \ RETVAL=1 return $RETVAL } stop() { KIND="SMB" echo -n $"Shutting down $KIND services: " killproc $SMB_HOME/sbin/smbd RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/smb return $RETVAL } restart() { stop start } reload() { echo -n $"Reloading smb.conf file: " killproc $SMB_HOME/sbin/smbd -HUP RETVAL=$? echo return $RETVAL } rhstatus() { status $SMB_HOME/sbin/smbd return $? } # Allow status as non-root. if [ "$1" = status ]; then rhstatus exit $? fi # Check that we can write to it... so non-root users stop here [ -w /etc/samba/smb.conf ] || exit 4 case "$1" in start) start ;; stop) stop ;; restart) restart ;; reload) reload ;; status) rhstatus ;; condrestart) [ -f /var/lock/subsys/smb ] && restart || : ;; *) echo $"Usage: $0 {start|stop|restart|reload|status|condrestart}" exit 2 esac exit $?
参考url
例えば、次のurlを参考にさせて頂きました
https://sites.google.com/site/centosdesabagouzhu/5-sambainsutoru