|
|
Sambaサーバーの構築
|
SambaサーバーについてSambaの構成と設定の方法SWATの準備と設定SambaのコントロールSambaの全体動作の設定ユーザーアカウントの設定共有ポイントの基本的な設定ホームディレクトリの利用特殊な共有ポイントの設定プリンタサーバーの設定Sambaについてその他 |
ホームディレクトリを活用しましょう一般的にいうと、個人で使用しているパソコンの中身(データ)は他人には見せたくないものです。 従って、 ファイルサーバー 上にパソコンのデータのバックアップを取るような場合、誰もが自由に読み書きできる共有ポイントを利用するのは気持ちの良いものではないはずです。 例えば、 "/var/private/[ユーザー名]" というディレクトリを人数分作成して、それぞれのディレクトリに Samba で適切な設定を行えば、他人にはアクセスできない個人専用の共有ポイントを準備することができます。
"valid users"
ところが実際にこの共有ポイントを作るには、
1.
シェル
プロンプト
から新規の
WBEL
や
CentOS
のユーザーアカウント
"suzuki"
を作成する
2. "/var/private" 以下に、ディレクトリ "suzuki" を作成する。 |
||||||||
|
|
3. "suzuki" ディレクトリの所有者とパーミッションを適切に設定する。
4.Sambaのユーザーアカウントとして
"suzuki"
を登録する
5.
"/etc/samba/smbusers"
に
WindowsOS
のユーザー名のマッピングを行う
6. SWAT で共有ポイントの設定を行う。 と、実にこれだけのプロセスを行わなければなりません。もちろん、ユーザーを削除するときもこれに準じた大変な作業になるでしょう。 また、この方法で次々に共有ポイントが増やしてしまうと、 サーバー 上が共有フォルダだらけになってしまいます。
Sambaの共有ポイントが増えすぎると... さて、実は UNIX 系 OS + Sambaという組み合わせでWindowsOSのファイルサーバーを作る場合、UNIX系OSの特徴を活かした巧妙な仕組みで簡単に個人用の共有ポイントを作成することができます。 その特徴とは、 ホームディレクトリ の存在です。 |
||||||||
|
ムックですが管理人の イチオシテキストです↓ |
ホームディレクトリは、WindowsOSにはそもそもその概念そのものがなく、UNIX系OS特有の仕組みです。 ホームディレクトリは、OSにユーザーアカウントが作成されると同時に、「そのユーザーアカウントのみがアクセス権をもつディレクトリ」として作成されます。 つまり上に挙げた1.のプロセスだけで2〜3までが一挙に行われることになります。 またSambaはその動作の中で様々な変数を利用することで、共有ポイントのパラメータを動的に扱うことができますから、実は6と7のプロセスは一番最初に一度だけ行えば良いように動作させることができます。 という訳ですから、個人専用の共有ポイントをホームディレクトリを利用して作成する場合、
1.
シェル
プロンプト
から新規の
WBEL
や
CentOS
のユーザーアカウント
"suzuki"
を作成する
4.Sambaのユーザーアカウントとして
"suzuki"
を登録する
5.
"/etc/samba/smbusers"
に
WindowsOS
のユーザー名のマッピングを行う
|
||||||||
Samba及びSWATのバージョンが
3.0.25
以降の場合は、更に
"available"
ディレクティブを
"yes"
に設定する必要がありますので注意してください
。
|
というたった三つのステップだけで済むことになります。 また、この方法で作成された個人専用の共有ポイントは、それを利用可能なユーザーのものしか表示されませんから、「サーバーを開くと共有ポイントだらけ」という見苦しさもありません。 以下に、この「ホームディレクトリ」を利用した個人専用共有ポイントの設定について解説します。
|
||||||||
ホームディレクトリの利用はUNIXの常識ここまでこの コンテンツ の情報を頼りに Samba の設定を試てきたとしたら、ひょっとしたら既に自分の ホームディレクトリ に偶然アクセスできたことがあるかもしれません。 実をいうと、 WBEL や CentOS に標準で インストール されるSambaは、 デフォルト でホームディレクトリが共有ポイントとして有効になっているからです。 |
|||||||||
| ゲスト(nobody)用のホームディレクトリはありませんから、ゲストユーザーで ログイン してもホームディレクトリは表示されません。 |
WBELやCentOSのSambaは、Sambaに登録されているユーザーアカウントでログインすると、自動的にWBELやCentOSシステム上のホームディレクトリがそのまま共有ポイントとして利用できるようになっています。 |
||||||||
| 要するに、この コンテンツ の推奨どおりに設定されている場合、ということです。 |
従って "GLOBALS" メニューで、 |
||||||||
|
|
の場合で、なおかつSambaサーバーに接続する
WindowsOS
の
クライアント
のユーザー名が
"/etc/samba/smbusers"
でSambaの
ユーザーアカウント
にマッピングされている場合に限り
登録ユーザーでログインすると現れる共有ポイント この共有ポイントの設定は、 "SHARES" メニューのプルダウンメニューから共有ポイント "homes" を選択し、 Choose Share (ファイル共有の選択)ボタンを左クリックすると見ることができますが、ここには以下のように設定らしい設定はほとんどありません。 実はホームディレクトリの共有ポイントに関する設定は、 "GLOBALS" メニューで設定されています。 ところが、 "GLOBALS" メニューで設定される "/etc/samba/smb.conf" の "[global]" の記述部分を見ても、それらしい設定は何も見当たりません。
共有ポイント "homes" に関する一見特殊ともいえる設定は、いったいどこに記述されているのでしょうか。 実は、共有ポイント "homes" は、Sambaにとっては「間違いなく利用される極めて常識的なもの」であって、 明示的に記述を行わなくてよいデフォルト値 として扱われているため、一見なにも設定が行われていないかのようになっているわけです。 |
||||||||
Samba及びSWATのバージョンが
3.0.25
以降の場合は、デフォルトで
"available"
ディレクティブは
"No"
に設定されています
。
|
もしも、このホームディレクトリを利用したSambaの共有ポイントを利用したくない場合には、 "SHARES" メニューのプルダウンメニューから "homes" を選択して Choose Share (ファイル共有の選択)を左クリックし、表示された設定画面を少し下にスクロールして "available" ディレクティブ を "No" に設定します。 "available"〜共有ポイントの有効/無効の切り替え |
||||||||
このディレクティブについてはこちら
の説明も参考にしてください。
|
Samba 及び SWAT のバージョンが "3.0.25" 以前の デフォルト のパラメータは "Yes" 、つまり「有効」です。一方それ以降のバージョンでは "No" 、つまり「無効」に設定されているはずです。 「無効」に設定すると、その共有ポイントの他の設定の内容に係わらずその共有ポイントは全く利用できなくなります。 「もうこの共有ポイントは二度と使うことがない」という場合は共有ポイントそのものを削除してしまっても構いませんが、そうすると設定まですべて消去されてしまいますので復活が面倒になります。 ところがこの ディレクティブ を利用して「無効」に設定しておけば、その共有ポイントの他のディレクティブはそのまま残しておくことができますので、後で「やっぱり有効にしたい」と思ったときに面倒がありません。 先にも説明したとおり、このディレクティブはSamba及びSWATのバージョンによってデフォルトの設定が異なりますので、設定には注意が必要です。 "homes"共有ポイントの有効/無効の確認
設定が終わったら、
Samba
の同じ設定画面から
Commit Changes
(設定を反映)ボタンを左クリックし、Sambaの再起動などを行って設定を有効化してください
|
||||||||
| インターネットエクスプローラーのアドレスバーに "\\web1" と直接 NetBIOS 名をタイプするのが簡単です。 |
設定が有効になったら、 サブネット 内の任意の WindowsOS クライアント から、適当な方法でSambaサーバーに接続してみてください。 設定の内容に応じて、ホームディレクトリの共有ポイントの表示、非表示が確認できると思います。
|
||||||||
ホームディレクトリを直接使用する場合の問題さて、既にデフォルトで利用可能になっている共有ポイント "homes" ですが、そのまま利用するには困る部分があります。 |
|||||||||
| 実際には、もっとたくさんのファイルが見えるかもしれません。 |
試しに共有ポイント "tanaka" を開くと、どこかで見たことのあるファイルなどが既にいくつか見えるはずです。
共有ポイント"tanaka"の中身 ホームディレクトリは、その ユーザーアカウント が利用する アプリケーション の初期設定ファイルである ドットファイル のデフォルトの格納ディレクトリであるだけでなく、 WBEL や CentOS で使用する各ファイルの保存場所でもあります。 |
||||||||
|
WBEL4及びCentOS4ではその他に、
"Desktop"
というフォルダが見えるはずです。
これは X-Windowシステム 上のデスクトップに配置したファイルの保管場所で、 "pine-4.44-...rpm" はこの中に見つかるかもしれません。 また、 メールサーバー で IMAP を利用した(している)場合は
、メールの保管場所のフォルダやファイルも見つかるはずです。
|
例えば
".bashrc"
は、
これらのファイルは基本的にWBELやCentOSのシステム上でしか使わないものですし、初期設定ファイルなどは間違えて削除すると困ることがありますから、できればこういうディレクトリをSambaの共有ポイントと共用することは避けたいところです。 そこで、ホームディレクトリ以下にSamba専用の空のディレクトリを作成し、共有ポイントをそのディレクトリに設定しなおすことをお勧めします。 ディレクトリパスを変更する
まず、
サブネット
内の適当な
クライアント機
から、
ユーザーアカウント
"tanaka"
で
SSHクライアント
から
構築中のLinuxサーバー
に
ログイン
します
|
||||||||
の説明に従って、予め
"/etc/skel"
以下に、ディレクトリ
"samba"
を作成しておけば、ユーザーアカウント作成と同時にこのディレクトリが自動で作成されるようになります。
この場合、右の作業は全く不要になります。 |
それから ホームディレクトリ 以下に mkdir コマンドで "samba" ディレクトリを作成しますが、 デフォルト では パーミッション "775" で作成されてしまうので、厳密に自分専用のディレクトリにするために "-m" オプションを使ってパーミッションを "755" で作成してください。
フォルダの作成が終わったら、 SWAT に接続して "SHARES" メニューに移動し、プルダウンメニューから "homes を選択して設定画面を表示してください。 |
||||||||
| デフォルトでは空欄になっているはずです。その場合は /home/%u が設定されているものと解釈してください。 |
この中の
"path"
ディレクティブ
"%u" は、 ログイン するSambaのユーザーアカウント名を表す 変数 としてSamba上で扱われるものです。 例えば "tanaka" でログインが行われる場合、 "homes" 共有ポイントのディレクトリ パス は、自動的に "/home/tanaka/samba" として扱われることになります。 "homes"共有ポイントの変更の確認
設定が終わったら、
Samba
の同じ設定画面から
Commit Changes
(設定を反映)ボタンを左クリックし、Sambaの再起動などを行って設定を有効化してください
|
||||||||
| インターネットエクスプローラーのアドレスバーに "\\web1" と直接 NetBIOS 名をタイプするのが簡単です。 |
設定が有効になったら、 サブネット 内の任意の WindowsOS クライアント から、適当な方法でSambaサーバーに接続してみてください。 |
||||||||
|
|
ディレクトリ パス の変更前と全く同じ方法で接続を行っても、今度は何もファイルが表示されなくなっているはずです。
ディレクトリパス変更後の共有ポイント"tanaka"の中身 これで安心してSambaのホームディレクトリが利用できるようになりました。
|
||||||||
"ゴミ箱"の設置についてホームディレクトリ を共有ポイントとして利用する場合、そのディレクトリは特定のユーザーが利用することになります。
ということは、
Samba
で「ゴミ箱機能
もしも [global] セクション以下にゴミ箱機能設置のための ディレクティブ とパラメータを記述していない場合は、 [homes] セクション以下に記述しておけば、すべての ユーザーアカウント のホームディレクトリに ".recycle" フォルダが設置され、ゴミ箱機能を利用することができるようになります。
まず、
サブネット
内の適当な
クライアント機
から
SSHクライアント
で
構築中のLinuxサーバー
に
ログイン
します
それから
su
コマンド
で
アカウント
を
"root"
に変更し、
nano
エディタで
"/etc/samba/smb.conf"
を開きます
↓
nanoで"/etc/samba/smb.conf"を開く ファイルが編集できるようになったら、 [homes] セクション以下に、次のように追加記述してください。
設定が終わったら、
Samba
の同じ設定画面から
Commit Changes
(設定を反映)ボタンを左クリックし、Sambaの再起動などを行って設定を有効化してください
|
|||||||||
| インターネットエクスプローラーのアドレスバーに "\\web1" と直接 NetBIOS 名をタイプするのが簡単です。 |
設定が有効になったら、 サブネット 内の任意の WindowsOS クライアント から、適当な方法でSambaサーバーに接続してみてください。 |
||||||||
|
".recycle"
フォルダはすぐには現れないことがあります。
「設定を間違えたかな?」と見直しをする前に、ウインドウの "表示(V)" メニューから "最新の情報に更新(R)" を実行してみてください。 |
ホームディレクトリ内に適当なファイルをコピーし、そのファイルを選んでマウスを右クリックし、 削除(D) を選ぶか、 Delete キーを押して削除してみてください。 ".recycle" ファイルが出現するはずです。
共有ポイント"tanaka"の中に現れた".recycle"フォルダ これで安心して サーバー 上のファイルを削除できるようになりました。
|
|
|
共有ポイントの基本的な設定
<<Previous
|
Next>>
特殊な共有ポイントの設定
|
| このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。 |
| ”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。 |