Sambaの設定

 Samba とは、LinuxマシンをWindows NetWorksに参加できるようにするプログラムです。 要はLinuxマシンにある共有ファイルをWindowsマシンからアクセスできるようになります。 ここでは Samba のサーバーの設定の仕方について掲載します。(Sambaクライアントはしていません。) Macintosh の場合は”Netatalk”というパッケージを使用しますので、ここでは説明してません。

≪ 項目 ≫
1.Sambaの設定
2.Sambaユーザーの設定

 1.Sambaの設定

 まず、Samba のインストールします。Samba はパッケージ版を使用してます。

 ”samba-2.2.7a-8jaJP.i586.rpm
 ※ 2004/08/17時点の最新版です。

 以下のコマンドを実行してインストールします。

 rpm -ihv samba-2.2.7a-8jaJP.i586.rpm

 Samba の設定ファイルは”/etc/samba/smb.conf”で行います。この”smb.conf”はセクションと呼ばれるいくつかのブロックに分かれます。
 以下がセクションの説明です。
セクション意味
global共通のパラメータの定義を行います。
printers共有プリンタに関するパラメータの定義を行います。
homes各Sambaユーザーのホームディレクトリィに対応するファイルの共有に関するパラメータの定義を行います。
PUBLIC全Sambaユーザーを対象としたPublicスペースのパラメータの定義を行います。
PRINT$プリンタドライバの置き場所を定義します。
NETLOGONドメインログオンのためNetLogon共有を有効にします。
SAMBADOCSamba ドキュメントをアクセスできるようにするサービスの定義です。
CDROMCD-ROMドライブにアクセス可能にするサービスの定義です。

 ”/etc/samba/smb.conf”は設定内容が多いので、各セクション毎の特に必要なパラメータを抜粋して説明します。

 ◆ global

[global] 
 coding system = euc <<--(1)
 client code page = 932 <<--(2)
 security = user <<--(3)
 workgroup WORKGROUP <<--(4)
 encrypt passwords = Yes <<--(5)
 log file = /var/log/samba/log.%m <<--(6)
 max log size = 50 <<--(7)

(1)、(2) は、日本語文字コードの指定です。クライアントコンピュータの方に合わせます。日本語指定なので、EUC932と指定してください。

(3) は、クライアントがサーバーに向けてどのようなユーザー名とパスワード情報を渡すか指定します。user, share, server, domain で指定します。 user はユーザーレベルで認証を行います。share はユーザー認証を行いません。server はサーバーレベルで、domain はドメインレベルで認証を行います。
ここではLinuxユーザーがそのままSamabユーザーとするので”user”を指定してください。

(4) は、WORKGROUP名を指定します。指定したWORKGROUPの中にサーバーが表示されるようになります。

(5) は、暗号化されたパスワードを扱うかどうかを、Yes か No で指定します。ここでは暗号化するので Yes を指定します。

(6) は、ログの置きパスの指定及び、(7) はログのサイズを指定します。特に変更する理由が無い場合はデフォルトのままで。

 ◆ printers

[printers] 
 path = /var/spool/samba <<--(1)
 printable = Yes <<--(2)
 browseable = No <<--(3)

(1) は、印刷データのスプーリングに使用するディレクトリィを指定します。

(2) は、共有印刷サービス利用の可否を、Yes か No で指定します。共有プリンターが無い場合は No しておきます。

(3) は、共有をクライアントのブラウザリストに、共有プリンタ名を表示するかを、Yes か No 指定します。

 ◆ homes

[homes] 
 read only = No <<--(1)
 browseable = No <<--(2)

(1) は、共有するファイルを読み込み専用にするかどうかを、Yes か No で指定します。Yes を指定した場合は書き込みできません。

(2) は、接続したきたユーザーの共有ファイルをクライアントのブラウザリストに表示するかを、Yes か No で指定します。

 ◆ PUBLIC

[PUBLIC] 
 path = /var/samba/public <<--(1)
 read only = No <<--(2)
 force create mode = 0666 <<--(3)
 force directory mode = 0777 <<--(4)
 guest only = no <<--(5)
 guest ok = Yes <<--(6)

(1) は、全Sambaユーザーに対して共有するディレクトリィのパスを指定します。

(2) は、共有ファイルを読み込み専用にするかどうかを、Yes か No で指定します。Yes を指定した場合は書き込みできません。

(3) は、ファイルを新規作成するさいデフォルトで設定するパーミッションを指定します。

(4) は、ディレクトリィを新規作成するさいデフォルトで設定するパーミッションを指定します。

(5) は、ゲストユーザーのみアクセス可能にするかどうかを、Yes か No で指定します。Yes を指定した場合は、Sambaユーザーではアクセスできません。

(6) は、ゲストユーザーのアクセスの可否を指定します。

その他のセクション(NETLOGON、SAMBADOC、CDROM)については、特にデフォルトのままでも問題無いです。


 2.Sambaユーザーの設定

 ◆ Sambaユーザーの作成

 ここでは、globalセクションで”security = user”と指定したやり方での説明なので、Samba 用のユーザーとパスワードを作成します。ユーザー作成はLinuxユーザーと同じなので (Samba ユーザーは”/etc/passwd”に存在するユーザーでないといけません。)”useradd”コマンドで追加します。 その後 Samba 用パスワードを作成します。(”/etc/passwd”とは違うパスーワードを作成する必要があります。)
 以下のコマンドを実行してパスワードを設定します。

 smbpasswd -a << ユーザー名 >>

以上で Samba 設定は終わりです。Sambaの起動の仕方は以下の通りです。

 /etc/rc.d/init.d/smb start

Samba 起動した後、Windowsのクライアントマシンの、”マイネットワーク”からアクセスして確認してください。
もし、Sambaサーバーのホスト名が出力されないようであれば、IPアドレスでSambaサーバーを検索してください。
アクセス出来たのなら、ログイン名とパスワードを入力する画面がでますので、Linuxユーザーと先ほど作成したパスワードを入力して共有できるか確認をしてください。

 ◆ Sambaユーザーの削除

 Samba 用のユーザーの削除の仕方は以下の通りです。

 smbpasswd -x << ユーザー名 >>

 Samba 用のユーザーが削除されるだけであって、Linuxのユーザーが削除されるわけではないので注意してください。


先頭に戻る  TOPページに戻る