先輩の手順書 ホームへ


2007年10月  

   ホーム >  Fedora7 >  Windowsファイルサーバの設定。Samba(サンバ)の設定

Windowsファイルサーバの設定。Samba(サンバ)の設定

 Unix , Linux上でWindowsネットワーク用のファイルサーバ(共有フォルダー等)を構築する事が出来ます。そのサーバソフトウェアの一つとしてSambaがあります。ここでは、SambaをFedora7へインストールおよび環境設定する手順を示します。
 Windowsネットワークには、「ドメイン」と「ワークグループ」の2種類の管理手法があり、Sambaはどちらにも対応していますが、ここでは「ワークグループ」についての手順を紹介します。「ドメイン」の手順についてはここでの手順を参考にしてSambaヘルプを参照して下さい。
 手順概要

  1. Sanbaパッケージのインストール
  2. Sambaを動作させるための初期設定
  3. Sambaの運用管理

なお、本ページ記載内容に理解出来ない部分がある方は「 Unix , Linux が初心者の予備知識」 を参照してください。

1.Sanbaパッケージのインストール

1−1. パッケージマネージャの起動

メニュー: アプリケーション/ソフトウェアの追加・削除 をクリックします。
パッケージマネージャ(ソフトウェアの追加・削除)が実行しない場合は、「パッケージマネージャの起動」を参照してください。


1−2. @「ブラウズ」タグを選択し、Aその中の「サーバー」項目を選択し、B「Windowsファイルサーバー」項目をチェック状態にします。C【適用】ボタンをクリックしパッケージインストール実行します。

1−3. 下記の案内が表示されます。



1−4. 無事インストールされれば下記案内が表示されます。

2.Sambaを動作させるための初期設定

 Sambaパッケージはインストールしても実行状態になりませんのでコンピュータ起動時実行する設定を行います。

2−1. サービスの設定を起動

メニュー: システム/管理/サービス を実行します。
起動には、root特権が必要です。
サービス設定が実行しない場合は、「サービスの設定の起動」 を参照してください。


2−2. コンピュータ起動時のSamba起動設定と現在起動
@ Sambaパッケージがインストールされていれば、「smb」項目が表示されますのでチェック状態にします。
A 【保存】ボタンをクリックします。
B コンピュータ再起動でも「smb」は起動しますが、【開始】ボタンで開始させます。
無事起動すれば下記案内が表示されます。

2−3. ファイヤーウォールを有効にしている場合Sambaに対して特別な設定が必要となります。その設定を行います。
(1)ファイアウォール設定を起動します。

メニュー:システム/管理/Firewall and SELinux  

(セキュリティレベルとファイヤーウォールの設定)

(2)ファイヤーウォールのオプションでSambaの設定
@ ファイヤウォールのオプション タグをクリック
A 信頼できるサービスの項目で「Samba」をチェック状態にします。
B 【OK】ボタンクリックで設定を登録します。
Sambaで使用しているポート
smbd TCP/139,TCP/445
nmbd UDP/137,UDP/138
をこの設定でブロック解除します。
(3)以下の案内が表示されます。
2−4. SELinux (セキュリティレベル)を有効にしている場合Sambaに対して特別な設定が必要となります。その設定を行います。

(1)SELinux 設定を起動します。

メニュー:システム/管理/SELinux Management で設定画面を起動します。

(2)SELinux の Samba ポリシーの設定

SELinuxが有効状態においてSambaでの設定項目には下記があります。

  • Allow Samba to share any file/directory read only
  • Allow Samba to share any file/directory read/write
  • Allow Samba to share nfs directories
  • Allow Samba to share users home directories
  • Allow Samba to write files in directories labeled public_content_rw_t
  • Allow Samba to act as the domain controller,add users,groups and change passwords
  • Allow users to login with CIFS home directories

 この中で、初期から必要と思われる項目2点を有効(チェック状態)とします。
 SELinuxが有効時、単に共有フォルダー登録しても機能しません。ホームディレクトリ以外のディレクトリを共有フォルダーに登録した場合、そのディレクトリに、「Public_content_rw_t」ラベルを設定する必要があり、さらに"Allow Samba to write files in directories labeled public_content_rw_t"(「Public_content_rw_t とラベルされたディレクトリ内のファイルを書き込み許可する」)を有効にする必要があります。「SELinux有効の場合のディレクトリラベル設定」参照
 また、ホームディレクトリを共有フォルダーとして公開するには、"Allow Samba to share users home directories"(「ユーザーのホームディレクトリーの共有を許可する」)を有効にする必要があります。
 なお、 nfs や CIFS 関係等も設定する機会があるかと思いますが、他の項目の目的と合わせて必要時にヘルプ等を参照して使用してください。
 
 また、本SELinux管理画面は以前にくらべ大きく変更されました。参考に以前の画面を示します。

  • Sambaに nfs ディレクトリの共有を許可する
  • Sambaに Public_content_rw_t とラベルされたディレクトリ内のファイルを書き込み許可する
  • Samba にユーザーのホームディレクトリーの共有を許可する
  • nmbd デーモンの SELinux 保護を無効にする
  • smbd デーモンの SELinux 保護を無効にする
  • winbind デーモンの SELinux 保護を無効にする
  • ユーザーに CIFS ホームディレクトリでのログインを許可する

2−5. Windowsワークグループ名の登録
(1)Sambaサーバー設定 の起動

メニュー:システム/管理/Samba をクリックします。

(2)サーバー設定 起動

メニュー:プレファレンス/サーバー設定 をクリックします。

(3)

@ 【基本】タグをクリックします。
A ワークグループ名を入力します。(Windowsネットワークでの名前です。)
ここは必ず入力してください。
B ネットワークブラウズ表示した場合に記載される名称等です。

2−6. Sambaサーバにおけるセキュリティ設定

(1)メニュー:システム/管理/サーバー設定/Samba をクリックします。

(2)サーバー設定 起動

メニュー:プレファレンス/サーバー設定 をクリックします。

(3)【セキュリティ】タグをクリックします。

認証モード 「ユーザー」を設定します。
今回は、ワークグループ用として、ユーザーを設定します。他に、ドメイン、共有、サーバー、ADSがありますので目的に合わせて設定します。
認証サーバ <なし> (ユーザーの場合設定無し)
ケルペロス領域 <なし> (ユーザーの場合設定無し)
暗号化パスワード 「はい」
セキュリティ強化のため「はい」を薦めます。
ゲストアカウント 「ゲストアカウントなし」
セキュリティ強化のため「なし」を薦めます。
この設定により、ユーザ登録の無い利用者の接続は出来ません。
設定する場合、一般的にLinuxの匿名である「bobody」が妥当と思います。

3.Sambaの運用管理

3ー1.Sambaユーザの設定

 共有フォルダーにログオンするユーザはSamba内で独自に管理しています。その為、Linuxユーザとして登録したものとは別に新たに登録が必要です。登録はSambaを利用するユーザのみ行います。
3-1-1 メニュー:システム/管理/Samba をクリックします。

3-1-2 メニュー: プレファレンス/Sambaのユーザー をクリックします。

3-1-3 【ユーザーの追加】ボタンをクリックします。

3-1-4 必要項目を入力します。

Unixユーザ名とWindowsユーザ名を一組で登録します。
両者同じ名前にする必要は無いですが、混乱を防ぐため同名が良いかと思います。
例えば、Sambaにログオンする場合、Windowsユーザ名で行いますが、その共有フォルダーで参照されるホームディレクトリーはUnixユーザ名のものとなります。

Unixユーザー名 class="green"Unix(Linux,Fedora)側で登録してあるユーザ名を選択します。共有フォルダー、ファイルに対して実際にアクセスするのはこのユーザとなります。
Windowsユーザ名 共有フォルダー等使用時にログオンするユーザ名です。ログオン時の認証に使用し、その後Unix,Linux内部動作のアクセス権はUnixユーザ名にて行います。
Sambaのパスワード 共有フォルダー等使用時にログオンするパスワードです。(Windowsユーザ名に対してのパスワード)
Unixユーザ名に対するパスワードと同じにする必要はありません。

3-1-5 修正、削除

登録ユーザ名を選択し、【ユーザの編集】、又は【ユーザの削除】ボタンをクリックします。

3−2.共有フォルダーの作成

ログオンユーザホームディレクトリ以外に共有フォルダーを作成する場合の手順を示します。
3-2-1 メニュー:システム/管理/Samba をクリックします。

3-2-2 Sambaサーバー設定 で【共有を追加】ボタンをクリックします。

3-2-3 【基本】タグをクリックし、その内容を入力します。
ディレクトリ 共有フォルダーとして実際に使用するUnix側ディレクトリを入力します。
共有名 共有フォルダーとして公開する名前を入力します。
記述 ブラウズ表示のとき、記述される内容を入力します。未入力可能
書き込み可能 その共有フォルダーの書き込み可能チェック
可視 その共有フォルダー名をブラウズ等でリスト表示するかどうかの指定です。可視しない場合、フォルダーやフォルダー内リストがブラウザリストとしてその名前が表示されません。ただ、名前がリスト表示されないのみで、フォルダーやファイルは通常と同じように扱えます。
3-2-4 【アクセス】タグをクリックし、その内容を入力します。
特定のユーザのみアクセスを許可する Sambaユーザ登録のリストが表示されますので、許可するユーザを選択します。
誰でもアクセスを許可する
  • 登録ユーザ全てに対してアクセスを許可します。
  • 未登録ユーザにアクセスを与えるものではありません。未登録ユーザにもアクセスを与える設定はゲスト設定です。
  • ここでアクセスを許可されても、ここのファイルやディレクトリに対して、Unixユーザに対してアクセス権がない場合、アクセス等のエラー発生があります。(Unix上のセキュリティ設定においてのエラー発生です。)
    またこれは、上記特定ユーザについても同じ事が言えます。

3-2-5 次のような案内表示される場合があります。

共有フォルダーとして指定したディレクトリが存在しない場合エラー発生します。
ディレクトリを作成してください。
例:

# mkdir /WinShare


3-2-6 無事登録できればリスト表示されます。

3-2-7 SELinux有効の場合のディレクトリラベル設定
SELinux有効の時、一般的に共有フォルダーとしたディレクトリに「public_content_rw_t」ラベルを付ける必要があります。
命令書式

chcon -R -t public_content_rw_t <folder>

例:

# chcon -R -t public_content_rw_t /WinShare/

なおかつ、「2−4.セキュリティレベル(SELinux)を有効にしている場合のSamba 設定」で行った、「Sambaに Public_content_rw_t とラベルされたディレクトリ内のファイルを書き込み許可する」項目が有効となっている事を確認してください。
3-2-8 ディレクトリアクセス権が問題とならないかの確認および設定。
 実際のディレクトリやファイルのアクセスはSambaで登録したUnix側ユーザ名にて行われます。そのユーザが共有フォルダーをアクセスする場合、その権限が目的に適合しているか確認および設定をします。
 一般的設定であれば、所有者に対しては読み書き可能ですが、グループ、その他ユーザに対しては読みのみ可能となっていると思います。共有フォルダーとして公開するディレクトリのアクセス権が現在設定で問題ないか確認し、問題あれば設定します。
 例えば、所有者、グループ、その他ユーザに対して読み書き可能とする場合の書式、

chmod 777 <directory>  

とします。
例:

# chmod 777 /WinShare


3-2-9 Windowsのネットワークブラウザ等通常の操作でSamba共有フォルダー参照できる事を確認します。
例えば
Windowsのマイネットワーク/ネットワーク全体/Microsoft Windows Network/Workgroup/Samba Server (ホスト名) で、
  • ホームディレクトリ参照設定していれば、ホームディレクトリが表示されます。
  • 共有フォルダーが作成されており、可視可能となっていれば、それが表示されます。

3−3.Samba関係の設定ファイル

  • Samba設定ファイルは、 /etc/samba ディレクトリに主にテキスト形式で納められています。
    lmhosts
    secrets.tdb
    smb.conf
    smbpasswd
    smbusers
  • Samab設定をグラフィカルな画面操作でなく、各ファイルをテキストエディタで直接編集することは出来ますが以下の点の注意が必要です。初心者の方は行わない方が良いです。
    • 修正後その設定が直ちに機能するとは限りません。コンピュータの再起動、service smb reload , testparm , 等が必要となります。(必要ない場合もあります。)
    • パスワード等が暗号化したテキストとして保存されている部分があります。そのような部分は直接修正してはいけません。誤って修正保存してしまった場合、パスワード等が壊れた状態になっていますので、パスワード命令やグラフィカル設定画面等で再設定します。

「先輩の手順書」へ 問い合わせ

このページの対象者 (「先輩の手順書」Linux Fedora7)

  • Sambaパッケージのインストール方法。
  • Linux , FedoraでWindowsファイルサーバーを構築するには。
  • Sambaがブロックされてしまっている。
  • Sambaでホームディレクトリが公開されない。
  • Sambaで共有フォルダー設定したが公開されない。表示されない。
  • Sambaで共有フォルダー参照できるが書き込みできない。
  • Sambaで共有フォルダー読み込みできるが書き込みできない。
  • "public_content_rw_t"て何?
  • Samba設定ファイルをエディターで修正して大丈夫か?