日本 Samba ユーザ会 (Samba Users Group Japan)
Samba 2.2 日本語版インストール
(5) 細かな環境設定
前記のmake installでSambaのモジュールはインストールされるが、以下のSambaやOSに関係する設定ファイルはインストールされないので自分で設定しなければならない
smb.conf
Sambaの設定ファイル。これがないとSambaは動作しない。
設定する場所は、--with-configdir=で指定した場所だ。
存在しなくてSWATが生成してくれるが、ソースのexampleディレクトリの中に入っているsmb.confを探してコピーすると良いだろう。
smbpasswd
Sambaユーザ用のパスワード格納するファイルである。
--with-privatedir=で指定した場所に作成するが、なければsmbpasswdコマンドが(ワーニングメッセージを出すが)自動的に作成してくれる。
/etc/services
inetd/xinetd経由でSWATを使用するなら、/etc/servicesに(すでにないか確認して)以下の行を追加する。
swat 901/tcp
Webmin経由でSWATを使用するなら上記は必要ない。
スーパサーバ(inetdもしくはxinetd)の設定
SWATを使用するために、システムがinetdを使用しているかxinetdを使用しているかよく確認し、以下のどちらかを設定する。
(inetdの場合)/etc/inetd.confに以下の行を追加
swat stream tcp nowait.400 root /usr/sbin/swat swat
注)1行で記述すること。Swatのパス(/usr/sbin/swat)が正しいか良く確認すること。
xinetdの場合、図2 の内容が記述されたファイルを/etc/xinetd.d/swat として新規に作成する。
図2./etc/xinetd.d/swat の例
service swat
{
port = 901
socket_type = stream
wait = no
only_from = localhost
user = root
server = /usr/sbin/swat
log_on_failure += USERID
disable = no
}
注)swatのパス(/usr/sbin/swat)が正しいか良く確認すること。
/etc/pam.d/samba
SWATでの認証のために以下の内容が記述されたファイルを/etc/pam.d/sambaとして新規に作成する。
図5./etc/pam.d/samba の例
#%PAM-1.0
auth required /lib/security/pam_stack.so service=system-auth
account required /lib/security/pam_stack.so service=system-auth
password required /lib/security/pam_stack.so service=system-auth
session required /lib/security/pam_stack.so service=system-auth
ソースファイルのpakage/RedHatディレクトリにあるsamba.pmdをコピーしても良い。
/etc/logrotate.d/samba
Sambaのログを定期的に切り換えるために、以下の内容が記述されたファイルを/etc/logrotate.d/sambaとして新規に作成する。
/var/log/samba/log.nmbd {
postrotate
/usr/bin/killall -HUP nmbd
endscript
}
/var/log/samba/log.smbd {
postrotate
/usr/bin/killall -HUP smbd
endscript
}
ソースファイルのpakage/RedHatディレクトリにあるsamba.logをコピーしても良い。
起動スクリプト(/etc/rc.d/init/smbもしくは/etc/init.d/smb)
システム起動時にSambaも自動的に起動させるために、以下の内容が記述されたファイルをシステムで既定された場所に新規に作成する。
RedHat系は通常/etc/rc.d/init/smbであり、最近のFHSに準拠したディストリビューンでは、/etc/init.d/smbである。
(RedHat7.xではシンボリックリンクで同一ディレクトリになっている)
#!/bin/sh
#
# chkconfig: 345 91 35
# description: Starts and stops the Samba smbd and nmbd daemons \
# used to provide SMB network services.
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
# Check that smb.conf exists.
[ -f /etc/samba/smb.conf ] || exit 0
# See how we were called.
case "$1" in
start)
echo -n "Starting SMB services: "
daemon smbd -D
daemon nmbd -D
echo
touch /var/lock/subsys/smb
;;
stop)
echo -n "Shutting down SMB services: "
killproc smbd
killproc nmbd
rm -f /var/lock/subsys/smb
echo ""
;;
status)
status smbd
status nmbd
;;
restart)
echo -n "Restarting SMB services: "
$0 stop
$0 start
echo "done."
;;
*)
echo "Usage: smb {start|stop|restart|status}"
exit 1
esac
また、Winbindを利用する場合は、以下の起動スクリプトも作成する必要がある。
#!/bin/sh
#
# chkconfig: 345 91 35
# description: Starts and stops the Samba winbindd daemons.
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
# Check that smb.conf exists.
[ -f /etc/samba/smb.conf ] || exit 0
# See how we were called.
case "$1" in
start)
echo -n "Starting winbind services: "
daemon winbindd
echo
touch /var/lock/subsys/winbindd
;;
stop)
echo -n "Shutting down winbind services: "
killproc winbindd
rm -f /var/lock/subsys/winbindd
echo ""
;;
status)
status winbindd
;;
restart)
echo -n "Restarting winbind services: "
$0 stop
$0 start
echo "done."
;;
*)
echo "Usage: winbind {start|stop|restart|status}"
exit 1
esac
このファイルを設定した後、
# chkconfig smb on
および
# chkconfig winbind on
とすることでシステム起動時にSambaも自動的に起動する。
ソースファイルのpakage/RedHatディレクトリにあるsmb.initをコピーしても良い。
|