ASH | サーバ | セキュリティ | Linux | FreeBSD | DB | Web | CGI | Perl | Java | XML | プログラム | ネットワーク | 標準 | Tips集

ファイルサーバ構築(samba)

sambaの概要

 linux上に、windowsが共有できるファイルサーバーを構築します。  sambaは、windowsが理解できるネットワークプロトコルSMBをlinuxに実装し、windowsクライアントから、linuxサーバーのディレクトリやプリンタを共有できるようにします。

sambaのインストール

 sambaをインストールします。

インストール方法

unix> cd /usr/local/src/
unix> zcat ../pub/samba-2.0.3.tar.gz| tar -xvf -
unix> cd samba-2.0.3/source

unix> ./configure
unix> make
unix> make install


 /usr/local/samba/bin/に出来たバイナリを、/usr/sbin/にコピー。
(slackware3.5で、インストール時にsambaを選んでいた場合、ここにファイルが存在するため)
unix> cp /usr/local/samba/bin/* /usr/sbin/

定義ファイルの作成

 smb.confを作成します。

ASHでの設定

/usr/local/samba/lib/smb.conf
 あとで編集が楽なので、/etc/にシンボリックリンクを張っておきます。
unix> ln -s /usr/local/samba/lib/smb.conf /etc/

 定義ファイルのテストは、以下のコマンドで行えます。
unix> testparm

パスワードファイルの作成

win98/winNTSP3での問題

 win98/winNTSP3では、認証がデフォルトで暗号化されているため、通常のlinuxの認証システムが使えません。samba用のパスワードファイルを、新たに作成します。

新規に作成する場合

SAMBAで使うユーザがいない場合はまずユーザを作ります。 このとき、ユーザを追加するときのルールに従って作ります。

unix> cd /usr/local/src/samba-2.0.3/source/script
unix> sh mksmbpasswd.sh < /etc/passwd > /usr/local/samba/private/smbpasswd

 そのサーバーに作られているアカウント全てがsmbpasswdに移されますので、
 編集して必要の無いユーザーは削除します。
unix> vi /usr/local/samba/private/smbpasswd

 sambaのパスワードを設定します。
unix> smbpasswd -e ユーザー名

 注意:ここで作るユーザーとパスワードは、
 windowsクライアントのログオン時に指定するものです。

1.9.18からのパスワードファイルのコンバートする場合

 SAMBA 1.9.18の環境から、バージョンアップする場合は、SAMBA 1.9.18で作成したsmbpasswdファイルは、以下の要領でSAMBA 2.0形式に変換する必要があります。

unix> cd /usr/local/samba/private
unix> mv smbpasswd smbpasswd.old
unix> cat smbpasswd.old | /usr/local/samba/bin/convert_smbpasswd > smbpasswd
 パスワードファイルを、root以外には見えないようにします。
unix> chown -R root /usr/local/samba/private
unix> chmod 500 /usr/local/samba/private
unix> chmod 600 /usr/local/samba/private/smbpasswd

sambaの起動方法

 sambaをデーモンとして起動します。
unix> smbd -D 
unix> nmbd -D

最近のディストリビューションなら、
/etc/rc.d/rc.Mの以下の部分をコメントアウトするだけで自動的に立ち上がるでしょう。
# Start Samba (a file/print server for Win95/NT machines):
if [ -x /etc/rc.d/rc.samba ]; then
. /etc/rc.d/rc.samba
fi


Copyright (C)1995-2002 ASH multimedia lab.
mail : info@ash.jp