Linux 奮戦記

第2部 CentOSとsamba

 

最低山極悪寺 珍宝院釈法伝

最終更新  2005年07月14日

第3章 samba

samba3

 インストールされているsambaのバージョンは、レッドハット系では、
rpm -q samba
で表示される。
 現在のシステムは、最新のsamba-3.0.10-1.4Eである。

 samba2とsamba3の違いについては、以下のサイトが参考になる。

http://www.atmarkit.co.jp/flinux/special/samba3b/samba01.html

smb.conf ファイルの設定 日本語関連

 samba の設定ファイルである smb.conf は、以前、 /etc に置かれていたが、今回のシステムでは、 /etc/samba/ に置かれる。samba の設定をするには、このファイルを直接編集するか、swat と呼ばれるブラウザで表示される画面を通じて編集する。samba2 の時に、SWAT の使い勝手が悪かったせいで、私は、直接、テキストエディタで編集する方に慣れてしまっているので、今回もこちらを選ぶ。
 Samba 2.2 系列までは、いわゆる文字コード(符号化形式)の変換を Samba 自身が行っていたが、Samba 3.0 系列では、Unicode(UCS-2、UTF-8) や CP850 など一部の文字コードを除き、標準的な iconv() 関数を利用するように改められたらしい。これに伴って、日本語表示のために smb.conf には、以下のように追記する。

-

[global]

# Windows側で利用されている文字コードを指定。
# 日本語を利用する場合は、CP932または同等の文字コードを設定する

dos charset = CP932

# UNIX上のファイルシステムに用いられている文字コード(符号化形式)。
# ただし、Sambaが内部的に使用する文字コードやsmb.confをはじめとする各種設定ファイルの文字コードも同時に変更される

unix charset = UTF-8

# SWATの画面に表示される文字コードを指定。
# バージョン3.0.2以降は、unix charsetと同じコードにする。

display charset = UTF-8

 charsetについては、EUCJP-MSを使用するサイトもあるようで、このあたりは、今ひとつ自信がない。この設定で、機種依存文字の文字化けを懸念して、testTUVWXYZ.txtというファイルを作ってサーバーに置いてみたが、Linux側で見ても、問題なく表示されている。よって、問題が生じるまで、この設定で行くことにする。そもそも、利用者が限定されているLANなので、これまで、ユーザーには、機種依存文字の使用を避けるように言い続けてきた。よって、機種依存文字を使ったファイル名は存在しないはずである。

smb.conf ファイルの設定 セキュリティ

 以下の記述を追記する。

#ユーザーごとにパスワードを設定する
security = user
#暗号化パスワードを使う
encrypt passwords = yes
パスワードファイルの設定
smb passwd file = /etc/samba/smbpasswd
#UNIXとsambaのパスワードを同期させる
unix password sync = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *passwd

smb.conf ファイルの設定 共有フォルダ

 ファイルの共有については、大別して、寺と保育園と個別ユーザーの3種類のディレクトリを用意する。個別ユーザー用ディレクトリは、Linuxユーザーとして登録したときに作成してあるので、ファイルサーバー用のディレクトリを作成する。作成とアクセス権の設定を、今回は、GUI(gnomeのファイルブラウザ)で行った。
 ディレクトリの構造は、2通りが考えられる。

1) samba で設定するのは /home/samba_server/ だけにして、この下に/寺と/保育園のディレクトリを作り、フォルダとファイルのアクセス権で、ユーザーのアクセスを制御する
2) samba で /home/samba_server/寺 と /home/samba_server/保育園 のふたつの共有フォルダを作成する

 ふたつの方法の違いは、例えば、/保育園にだけアクセスできるユーザーにも、/寺というディレクトリが見えることくらいである。今後、データ量は増えても、ユーザー数やディレクトリ構造に大きな変化がないので、1)の方法を採用する。samba登録ユーザー以外にはアクセスできないようにするため、アクセス権は、770とする。
 以下をsmb.confに追記する。

[DataCenter]
browseable = yes
comment = SAMBA %v
path = /home/kyouyuu
public = yes
read only = no
guest ok = no
create mask = 0770

smb.conf ファイルの設定 その他

 workgroup名とログファイルを設定する。
 設定を確認する。

testparm
で、コメント行を省略した設定値だけが表示される。

 sambaについては、以下のリンクが役に立つ。

http://www.atmarkit.co.jp/flinux/samba/sambatips01/sambatips1.html