Sambaの設定ファイル(smb.conf)について
Sambaの設定ファイル(smb.conf)について
smb.confとは
smb.confとは
Sambaでは「smb.conf」という設定ファイルに設定を行っていきます。
ファイルサーバ(Sambaシステム)を構築する上で必要な、
- アクセス設定(アクセス可能なIPアドレスなど)
- 文字コード
- 共有するフォルダ
などの設定ができます。
格納先
/etc/samba/smb.conf
各セクションについて
smb.confでは、主に以下4つのセクションに分けることができます。
- globalセクション([global])
- printersセクション([printers])
- homesセクション([homes] )
- 個別の共有セクション([共有名])
globalセクション:[global]
Samba全体に関わる設定を行います。globalセクションで設定した項目は、その他のセクション(printersセクション、homesセクションなど)の内容に適用されます。
しかしglobalセクションで設定された項目が、他のセクションでも設定があった場合、そのセクションの範囲内で設定内容が上書きされます。
printersセクション:[printers]
Sambaサーバをプリンタとして使用するための設定です。当資料ではプリンタの設定は行わないため、詳しい説明は致しません。
homesセクション:[homes]
ユーザのホームディレクトリに関する共有設定です。
CentOSに登録されたユーザは、自身のホームディレクトリ(home/ユーザ名)に、ファイルサーバとして(エクスプローラを介して)アクセスできるようになります。
例えばユーザ「yamada」の場合、CentOS上におけるホームディレクトリは「home/yamada」ですので、ファイルサーバとして「home/yamada」にアクセスできるようになります。
※ 例:ユーザ「yamada」の場合
「/home/yamada」のフォルダにエクスプローラからアクセス可能
※ 例:ユーザ「user01」の場合
「/home/user01」のフォルダにエクスプローラからアクセス可能

※ 個別の共有セクション:[共有名]※例:[Share]
指定した共有フォルダへアクセスさせたい場合の設定です。
こちらはユーザ名に限らず、指定した共有フォルダに同じようにアクセスできるようになります。
※ 例:共有フォルダ:「/home/share/」の場合
※ ユーザ「yamada」の場合
先ほどの「/home/yamada」に加え、「/home/share/」のフォルダにエクスプローラからアクセス可能
ユーザ「user01」の場合
「/home/user01」、「/home/share/」フォルダにエクスプローラからアクセス可能

次のページから、セクション別に具体的な「smb.conf」の設定内容について解説します。
以下の図は、今回演習で作成いただく「smb.conf」の内容になります。
「/etc/samba/smb.conf」の設定例
1 | [global] |
2 | workgroup = WORKGROUP |
3 | server string = SAMBA SERVER Version % v |
4 | netbios name = CentOS01 |
5 | wins support = yes |
6 | security = user |
7 | passdb backend = tdbsam |
8 | dos charset = CP932 |
9 | #printing = cups |
10 | #printcap name = cups |
11 | load printers = no |
12 | disable spoolss = yes |
13 | #cups options = raw |
14 |
15 | [homes] |
16 | comment = Home Directories |
17 | browseable = no |
18 | read only = no |
1 | #[printers] |
2 | # comment = All Printers |
3 | # path = /var/tmp |
4 | # printable = Yes |
5 | # create mask = 0600 |
6 | # browseable = No |
7 | #[print$] |
8 | # comment = Printer Drivers |
9 | # path = /var/lib/samba/drivers |
10 | # write list = @printadmin root |
11 | # force group = @printadmin |
12 | # create mask = 0664 |
13 | # directory mask = 0775 |
14 | [Share] |
15 | comment = Share Folder for All Users |
16 | path = /home/share/ |
17 | browsable = yes |
18 | read only = no |
globalセクションの各設定項目について
主な項目一覧
- workgroup:Windowsのワークグループを設定する項目
- server string:ファイルサーバの説明を記載する項目
- netbios name: SambaサーバのNetBIOS名を指定する項目
- wins support: WINSサーバを有効にするための項目
- security: 認証(ログイン)方式を指定するための項目
- passdb backend:パスワードを保存するデータベースの形式を指定する項目
- dos charset: 文字コードを指定するための項目
-
hosts allow(deny):アクセス許可(拒否)するホスト
(IPアドレス)を指定するための項目(※今回は使用しません)
「/etc/samba/smb.conf」の設定例
1 | [global] |
2 | workgroup = WORKGROUP |
3 | server string = SAMBA SERVER Version % v |
4 | netbios name = CentOS01 |
5 | wins support = yes |
6 | security = user |
7 |
8 | passdb backend = tdbsam |
9 |
10 | dos charset = CP932 |
11 | #printing = cups |
12 | #printcap name = cups |
13 | load printers = no |
14 | disable spoolss = yes |
15 | #cups options = raw |
主な項目一覧(プリンタ関連)
以下、プリンタ関連の設定になりますが、当資料では詳しくは扱いません。
- printing
- printcap name
- load printers
- disable spoolss
- cups options
workgroup (※設定例: workgroup = WORKGROUP)
WindowsOS(ホストOS)が所属するワークグループを設定します。
Windowsのワークグループは以下の手順で確認できます。
【Windowsのワークグループの確認手順】
- スタートメニュー > 設定
- 詳細情報 > 関連設定 > このPCの名前を変更(詳細設定)
- システムプロパティ > コンピュータ名> ワークグループ

【Windowsのワークグループの確認手順】
3. システムプロパティ > コンピュータ名> ワークグループ

netbios name (※設定例 netbios name = CentOS01)
SambaサーバのNetBIOS名ですあり、名前解決の際に利用するドメイン名を指定します。
以下の「wins support項目」を「yes」に設定すると、指定のドメイン名でアクセスできるようになります。
例えば「CentOS01」と指定すれば、IPアドレス(192.××..)だけでなく「CentOS01」でファイルサーバにアクセスできるようになります。
wins support(※設定例 wins support = yes )
WINSサーバ(WindowsのネットワークにおけるDNSサービス)を有効にするために項目です。
つまりはIPアドレスと「netbios name」で指定したものの紐づけを行います。
※ 名前解決、DNSサーバについて詳しくは当資料の「DNSサーバ構築」を参考ください

security (※設定例 security = user)
ファイルサーバへアクセスする際の、認証(ログイン)方式を指定するための項目です。
デフォルトでは、ユーザ名、パスワードが求められる「user」が設定されています。

homeセクションの各設定項目について
ホームディレクトリ(例:home/yamadaなど)において適用される内容です。
主な項目一覧
comment
コメントを記述するための項目
browseable
詳しくは「 browseable項目について」にて説明します。
read only
ファイルサーバ上の(ホームディレクトリの)ファイルを読み取り専用で開くか、どうかの設定を行う項目
Writeable
ファイルサーバ上のファイルへの編集できるかどうかを指定する項目(※今回は使用しません)

個別の共有セクションの各設定項目について
セクション名は、[任意の共有名](※演習では[Share])と表記します。
共有ディレクトリ(例:home/share)において適用される内容です。
※ 主な項目一覧
path
ファイルサーバとして共有したいディレクトリのパスを指定します。
※共有セクション上で設定する場合、ユーザに限らず、共有したいフォルダを指定します。
browseable
詳しくは「 browseable項目について」にて説明します。
read only
ファイルサーバ上の(共有ディレクトリの)ファイルを読み取り専用で開くか、どうかの設定を行う項目

browseable項目について
ネットワークコンピュータ上に「ファイルサーバの指定のフォルダ」を表示(ブラウジング(※))させるための項目です。
こちらの項目を「yes」に指定すると、エクスプローラからファイルサーバにアクセスした際に、指定のフォルダが表示されます。
homeセクション([home])の場合
「 browseable = yes」を設定すると、「home/ユーザ名」に加え、「homes(ユーザのホームディレクトリと同じ内容が表示されます。)」が表示されます。
共有セクション(例:[Share])の場合
「 browseable = yes」を設定すると、「home/セクション名(home/Share)」フォルダが表示されます。
※ ブラウジングとは:同じネットワーク内のコンピュータの一覧を表示するための機能です。Windows PCの「マイネットワーク」を開いた際に確認できる一覧を指します。
browseable項目について
ネットワークコンピュータ上に「ファイルサーバの指定のフォルダ」を表示(ブラウジング(※))させるための項目です。
こちらの項目を「yes」に指定すると、エクスプローラからファイルサーバにアクセスした際に、指定のフォルダが表示されます。

homeセクション([home])の場合
「 browseable = yes」を設定すると、「home/ユーザ名」に加え、「homes(ユーザのホームディレクトリと同じ内容が表示されます。)」が表示されます。
共有セクション(例:[Share])の場合
「 browseable = yes」を設定すると、「home/セクション名(home/Share)」フォルダが表示されます。
※ ブラウジングとは
同じネットワーク内のコンピュータの一覧を表示するための機能です。Windows PCの「マイネットワーク」を開いた際に確認できる一覧を指します。
以下、ユーザ名が「yamada」、共有セクションが「Share」の場合を例に表示されるフォルダの一覧です。
