Sambaサーバ構築、5つのべからず:2008年版
− 若葉マーク管理者に捧げる −LinuxやUNIXをWindowsのファイルサーバ/プリントサーバとしてしまうことができる「Samba」は、手軽にファイル共有環境を構築することができ、サーバ管理入門にもぴったりです。インターネット上の関連情報も豊富ですが、しっかり出所を確かめないと誤った設定を招く恐れがあります。
オープンソース・ソリューション・テクノロジ株式会社
代表取締役 チーフアーキテクト 小田切 耕司
2008/4/22
Windowsとのファイル交換を手軽に実現するSamba
Sambaは、LinuxやUNIXをWindowsのファイルサーバ/プリントサーバとしてしまうことができるオープンソースソフトウェア(OSS)です。Sambaの導入によって、LinuxとWindowsが混在する環境で、手軽に情報共有を行えるようになります。
Sambaは、大きく以下の4つの機能を提供します。
- Windowsクライアント向けのファイルサーバ:SMB(Server Message Block)サーバおよびCIFS(Common Internet File System)サーバ
- Windowsクライアント向けのプリンタサーバ
- Windowsクライアントの認証統合を実現するドメインコントローラ
- Linux/UNIXのOSやアプリケーションの認証をWindows Active Directoryへ統合するWinbind機能
最近ではLinuxの利用者が増えたとはいえ、クライアントでは90%以上のユーザーがWindowsを使っています。このため、WindowsとLinuxとのファイル交換/認証統合を可能にするSambaは大変実用性が高く、企業ユーザーも多数います。またこれを踏まえて、Windowsのバージョンアップ追随や不具合対応のために、日々改良が続けられています。
| 関連記事: | |
| Samba 3.0の全貌 改訂版[前編]〜 Samba 3.0のインストールと国際化の現状 〜 http://www.atmarkit.co.jp/flinux/special/samba3b/samba01.html |
|
| Samba 3.0の全貌 改訂版[後編]〜 Active Directory参加機能とセキュリティ拡張 〜 http://www.atmarkit.co.jp/flinux/special/samba3b/samba04.html |
|
| Samba Tips! http://www.atmarkit.co.jp/flinux/special/samba3b/samba01.html |
|
うのみにしない! ネット上の情報
Sambaの開発にはSamba Teamが当たっており、4月15日時点での最新のバージョンは3.0.28aです。本家Webサイトに各種リソースが用意されているほか、日本Sambaユーザー会では日本語の情報を得ることができます。
Sambaの歴史は古く、1992年に開発されてから16年以上たっています。といいながら、まだ枯れているわけではありません。マイクロソフトによる仕様変更への追随と機能追加のために、Sambaの仕様変更もすさまじいものがあります。
このため、1年前にSambaについて書かれたドキュメントですらすぐに古くなってしまい、陳腐化してしまう傾向があるので、注意が必要です。場合によっては、古い資料が初心者に害(設定誤り)を及ぼすケースもしばしば見受けられます。
いまは、インターネット上でさまざまな資料が公開されており、特にSambaの構築手順を記したブログなどは星の数ほどあります。出来たてほやほやのサーバ管理者がまず参考にするのも、こうした資料ではないでしょうか?
ところがこれらの資料は玉石混交です。中には、初心者による誤った資料や古くて役に立たない情報も多数含まれています。まとめた本人に悪気はないのでしょうが、一度その資料が検索エンジンの上位に登録されてしまうと、それが何度も参照され、同じ過ちを繰り返す人が多数発生してしまいます。実際、日本Sambaユーザー会のメーリングリストはいつも同じ質問(同じ過ち)であふれ返っています。
この記事ではそうした背景を踏まえ、「昔は正しかったけれど、いまは時代遅れになってしまった情報」やメーリングリストで繰り返し質問されている事項を少しだけ紹介しようと思います。これからSambaサーバ構築にチャレンジする際には、ぜひ目を通してください。
もちろん、私が書いているこの記事も、1年もすれば古い資料になってしまい、設定誤りの原因になる可能性があります。よって、以下のことに注意してください。
- 今回の記事が対象とするのは、Samba 3.0.26以降3.2未満の内容です
すでにサポート終了となったSamba 2.xやもうすぐリリースされるSamba 3.2以降には当てはまりせん。また、Samba 3.0.0〜3.0.23には不具合も多く、最新バージョンのSamba 3.0.28aと互換性のない部分が多々あります(バグが多いので(?)Samba 3.0.23以下は使わないようにしましょう)
- この記事の有効期限は2008年いっぱいと考えてください
Samba 3.2や4.0が出たら役に立たない可能性があります。
では本題に移りましょう。この記事では以下の5つの「べからず」について解説しようと思います。
- EUC、シフトJIS(SJIS)は使うべからず
- smbpasswdファイルは使うべからず
- smbpasswdコマンドは使うべからず
- security=share/server/domainは使うべからず
- smb.confを編集して共有の作成をするべからず
いずれも、見出しを見て「えー、うそだ!」と思う方もいるかもしれません。注意を喚起するために少し大げさな表現になっていますが、例外もありますので、記事内容をよく読んで、技術的なバックグラウンドを理解し、見出しが真にいいたいことを理解していただきたいと思います。
EUC、シフトJIS(SJIS)は使うべからず
1998年に私がSamba 1.9日本語版を作ってから、Samba 2.0日本語版、Samba 2.2国際化版と、Sambaは長年、マルチバイト(特に日本語)に対応するように開発されてきました。
一方クライアント側を見ると、Windows 95/98/Me系では「CP932」といわれるシフトJIS系の文字コードが使われてきましたが、Windows 2000/XP以降では「UNICODE(UCS2)」が利用されています。
Samba 2.2までは、WindowsクライアントとはCP932(シフトJIS系)で通信し、Linux/UNIXのファイルに変換するところでEUCなどに変換していました。当時は、LinuxがまだシフトJISやUNICODEに対応していなかったため、Linux OSが問題を起こさないEUCが推奨されていたからです。
ちなみに、SolarisやHP-UX、AIXなど一部のUNIXはそのころからシフトJISに対応していましたが、LinuxはいまだにシフトJISに対応していません。今後、上記のUNIXを含め、文字コードとしてUTF-8が主流になっていく中、(Red Hat)LinuxがシフトJISをサポートすることは期待できないでしょう。
さて、このCP932からEUCへの変換は、Samba 2.xの内部にコード変換テーブルを持つことにより行われていました。しかしSamba 3.0からは、Windowsクライアントとの通信がUNICODEに変わりました。これを機にコード変換の処理も、Samba内部からglibcやlibiconvの外部ライブラリに任せることになりました。
これにより、せっかくSamba 2.xでCP932からEUCへのマッピングを修正したのに、また日本語を正しく扱えなくなるという問題が発生したのでした。
しかしこれも、Samba 3.0国際化版の開発により「EUCJP-MS」というマイクロソフト独自の文字コードをEUCにマッピングする方法で無事解決されました。このため、つい最近(具体的にいうとRed Hat Enterprise Linux 3)までは、EUCJP-MSを使う設定が推奨となっていました。
ところが、Windows VistaやMac OS XでJIS X 0213(JIS2004)がサポートされるようになると、状況はまたまた一転します。これらの文字はEUCやシフトJISではマッピングできないのです。これらの文字をSambaで利用できるようにするには、Samba側でUNICODE(UTF-8)を使う必要があります。
|
| 画面1 Vistaからサポートされる特殊な文字 |
|
| 図1 Sambaにおける文字コード変換の変遷 |
Red Hat Enterprise Linux 4からはデフォルトのOS文字コードがUTF-8になってきていることに加え、今後のVistaやWindows 2008への対応を考えると、EUCやシフトJISは使わず、UTF-8を使うことが推奨されます。
1/2 |
|
||||
|
||||
| Linux Square全記事インデックス |
| Linux Squareフォーラム サーバ構築・運用関連記事 |
| 連載:Heartbeatでかんたんクラスタリング(連載中) オープンソースソフトウェアの「Heartbeat」を使ってHAクラスタを実現し、サービスを「落とさない」仕組みを実現します |
|
| 特集:Apache 2.2でWebサイトをパフォーマンスアップ! 最新安定版Apache 2.2は、何が変わったのか? 最新のApacheを新機能の使い方とともに解説する |
|
| 連載:実用 Apache 2.0運用・管理術(全8回) 本連載では、Apache 2.0の運用や管理方法を解説する。まず必須設定と基本的なセキュリティ対策を行い今後の運用に備える |
|
| 連載:実用
BIND 9で作るDNSサーバ(全15回) 本連載では、BIND 9の構築/運用方法を解説していく。実際に役立つことを目的に、セキュリティや大規模運用などのテーマを取り上げていく |
|
| 連載:実用qmailサーバ運用・管理術(全14回) 本連載を通して、qmailによるメールサーバの高度な構築・運用・管理術を紹介。SPAM対策やML管理からサーバでのウイルスチェックなどまで |
|
| 特集:Samba
3.0の全貌 改訂版 Samba 3.0リリースから8カ月。ここであらためて、Samba 3.0系列の新機能、インストール方法、国際化の現状を解説する |
|
|
ホワイトペーパー(TechTargetジャパン)
- natテーブルを利用したLinuxルータの作成 (2010/2/9)
natテーブルを用い、市販のブロードバンドルータと同等かそれ以上の機能を備える「Linuxルータ」を作成してみましょう - Web監視機能を賢く利用する (2010/2/2)
プロセスの稼働確認だけでは、サービスが正常に提供できているか分からないことも。そこで使いたいのがWeb監視です - ものいわぬOpenLDAPサーバのログ管理 (2010/1/20)
不満をいわないコンピュータが相手だからこそ、常にログが確認できる状態を整備することが重要になります - ネットワークアクセス権も放棄せよ (2010/1/12)
新しいセキュリティ機構「disablenetwork」を提案する1通のメールから始まった議論が、LSMも巻き込む話へと拡大しました
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | 企業の仮想化に足りない“発想”とは? 仮想化運用管理のキモは意外なところに! New! |
| ◆ | 操作もマニュアルも分かりやすい! ユーザー視点で開発されたPC管理ツール New! |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |

| ◆ | セキュリティを知り尽くす上野氏が登壇! @ITメールソリューションLive! in Tokyo |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
| ◆ | 世界に通用するストレージの作り方とは? 製品に込めた思いを富士通の開発者に聞く |

| ◆ | OSSで手間も時間も、障害も減った―― 「マピオンの事例」オープンソース活用法 |
| ◆ | 「ノートPCの持ち出し禁止」で大丈夫? 情報漏えいを防ぐ管理手法とインフラは? |
| ◆ | 1日の処理を1秒に――MySQLの達人が語る 「コスト削減」できるチューニング |

| ◆ | ドキュメント作成を自動化して、SEの作業 効率を大幅アップ! Visio 2007の魅力 |
| ◆ | 急速に広がるHyper-Vでのサーバ仮想化 そのベストプラクティスをデルが解説 |
| ◆ | @IT主催セミナーで語られた、「担当者に 求められるセキュリティ対策」をレポート |

| ◆ | @IT「Windows 7」 特設サイトオープン! 最新情報・移行ノウハウを公開しています |








