Linux -> サーバ構築 -> Samba

smb.conf設定内容

設定項目について

設定例

※Sambaでドメインコントローラを構築する場合の設定例:
[global]
   [セクション名]*Samba全体に有効なパラメータの設定

   * 基本設定 *
   workgroup       = SMBDOM      ドメイン名を指定PDCに設定した場合のDMBのNetBIOS名<#1B>
   netbios name    = SMBPDC      このNetBION名<#20>はファイルサーバ名
   server string   = Samba %v    フォルダに表示される名前。表示名を短くしたい場合は
                                "server string =" を指定
   socket options  = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192    パフォーマンスを向上させる設定

   * 文字コード *
   display charset = EUCJP-MS   Sambaのコマンド表示の文字コード/[EUCJP-MS|UTF-8|CP932]
   unix charset    = EUCJP-MS   Unix上で使用する文字コード/[EUCJP-MS|UTF-8|CP932]
   dos charset     = CP932      Windowsで使用する文字コード/[CP932]

   * バックエンドデータベースの指定 *
   passdb backend  = tdbsam                      バックエンドデータベースを指定
                     tdbsam                    : Samba3.0からサポート passdb.tdbに格納
                     smbpasswd                 : 初期値 smbpasswdファイルに格納
                     ldapsam:ldap://localhost  : LDAPにユーザ情報を格納

   security         = user   ユーザ認証形態を指定

   * ドメインコントローラ設定 *
   os level         = 64
   domain logons    = yes
   domain master    = yes
   local master     = yes
   preferred master = yes    LMB機能を提供。ドメインコントローラの場合は必須。
                             LMBのNetBIOS名<#1D>=PDC名

   admin users = Administrator    ドメイン認証ユーザを指定。
                                  認証ユーザを複数指定する場合は,(カンマ)で区切る。
                                  グループ指定する場合はグループ名の前に+(プラス)例:+admin

   logon script = logon.%G.bat      このように設定するとグループ別のスクリプトを分ける事ができる
   logon drive  = H:                pdbeditコマンドで、ユーザ個別に指定する事も可能
   logon path   = \\%L\profiles\%U              同上
   logon home   = \\%L\%U\profiles              同上

   * パスワード変更に関する設定 *
   unix password sync = yes                 Windowsでのパスワード変更をUNIXアカウントにも反映させる
   passwd program     = /usr/bin/passwd %u  パスワード変更時に使用するUNIX側のコマンド
   passwd chat        = Changing*\n*New*password* %n\n *Re*new*password*%n\n *success*
   encrypt passwords  = yes                 Samba3.x以降は初期値

   log level = 0
   log file  = /var/log/samba/log.%m

   *** その他の機能 [option]***
   * 隠しファイル *
   hide files = /.*/profiles/ 表示させたくない(隠し)ファイルを /(スラッシュ)で区切って指定する。
                              但しフォルダオプションで[全てのファイルを表示する]に設定した場合は
                              表示される

[netlogon]
   path = /export/groups/%G/   ログオンスクリプトの配置ディレクトリ
                                %Gとする事で各グループ用フォルダにのログオンスクリプトが配置できる
   browseable = no
   read only  = yes

[jal]                           jalグループの共用フォルダ
   comment        = %G Home
   path           = /export/groups/jal
   read only      = no
   create mask    = 0660
   directory mask = 0770
   browseable     = no
   dos filetimes  = yes         これがないとファイルを保存してもタイムスタンプが更新されない。

   * ゴミ箱 *
   vfs object         = audit recycle
   recycle:repository = .trash
   recycle:keeptree   = yes

[homes]
   comment        = %U Home
   read only      = no
   create mask    = 0600
   directory mask = 0700
   browseable     = no
   dos filetimes  = yes         これがないとファイルを保存してもタイムスタンプが更新されない。

                                      変数一覧
                                      -------------------------------
                                      %U  ユーザ名
                                      %u  ユーザ名(接続中ユーザ)
                                      %G  グループ名
                                      %g  グループ名(接続中ユーザ)
                                      %h  Sambaのホスト名
                                      %m  クライアントのNetBIOS名
                                      %L  SambaのNetBIOS名
                                      %I  クライアントのIPアドレス
                                      %D  ドメイン名

                               
                               * read only の反意シノニム
                                   read only = yes と同じ意味で writable = no
                                   read only = no  と同じ意味で writable = yes
                                 どちらを指定してもよい。




smb.confのデバック

smb.conf の記述にミスがないかをチェックする。
testparmコマンドの実行
# testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[tmp]"
Loaded services file OK.   ←OKと表示されれば問題なし
Server role: ROLE_DOMAIN_PDC
Press enter to see a dump of your service definitions

各用途にあわせた設定内容

各用途にあわせた設定を記述する。
[global] セクション以外は同じ設定なので省略。

ファイルサーバ

ファイルサーバとして最低限必要な設定のみ。
[global]
   workgroup       = HANEDA
   netbios name    = HANEDAF

   socket options  = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

   security        = user
   passdb backend  = tdbsam

   dos charset     = CP932
   unix charset    = EUCJP-MS
   display charset = EUCJP-MS

[common]
   path           = /export2/common
   read only      = No
   browseable     = Yes
   create mode    = 0666
   directory mode = 0777


プライマリドメインコントローラ(PDC)

クライアント(PC)からSambaサーバにドメインログオンできるようになりユーザ管理をSambaで行う事が可能。
また、ログオンスクリプトを使用するとSambaサーバにあるユーザのホームディレクトリ
およびその他共通のディレクトリをログオン時に自動的にマウントする事ができる。

ドメインコントローラとして設定する際のポイント

  ・ドメイン認証用アカウントの作成(指定)。"admin users = root"
  ・ドメインログオンするクライアント(PC)のコンピュータアカウントの作成。
  ・グループマッピングの設定。
  ・Windowsからのパスワード変更に関する設定。
SambaサーバをPDCとして構築する場合の smb.conf
[global]
   workgroup      = NARITA
   netbios name   = NARITAF

   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

   security       = user
   passdb backend = tdbsam

   dos charset     = CP932
   unix charset    = EUCJP-MS
   display charset = EUCJP-MS
 
                        ## PDCに関する記述 ##
   os level         = 64
   preferred master = yes
   local master     = yes
   domain master    = yes
   domain logons    = yes
   admin users      = root

                        ## unixパスワードとの同期に関する記述 ##
   unix password sync = yes
   passwd program     = /usr/bin/passwd %u
   passwd chat  = Changing*\n*New*password* %n\n *Re*new*password* %n\n *success*
   encrypt passwords  = yes

                        ## ログオンスクリプトを使用する場合の記述 ##
   logon script = logon.%G.bat
   logon drive  = H:
   logon home   = \\%L\%U\home


PDC + LDAP連携

[global]
   workgroup    = HANEDA
   netbios name = HANEDAF

   server string  = Samba Server %v
   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

   display charset = EUCJP-MS
   unix charset    = EUCJP-MS
   dos charset     = CP932

   security = user
   passdb backend  = ldapsam:ldap://localhost  ## ユーザDBにLDAPを使用する ##

   os level         = 64
   domain logons    = yes
   domain master    = yes
   preferred master = yes
   local master     = yes

   admin users  = Administrator

   logon script = logon.%G.bat
   logon drive  = H:
   logon path   = \\%L\profiles\%U
   logon home   = \\%L\%U\profiles

                         ## LDAPに関する記述 ##
   ldap admin dn       = cn=Manager,dc=example.dc=com
   ldap suffix         = dc=example.com
   ldap group suffix   = ou=Groups
   ldap user suffix    = ou=People
   ldap machine suffix = ou=Computer

   log level = 0
   log file  = /var/log/samba/log.%m

[netlogon]
   path       = /export2/group/%G/
   browseable = No
   read only  = yes

[homes]
   comment            =
   read only          = No
   browseable         = Yes
   hide dot files     = yes
   create mode        = 0600
   directory mode     = 0700
   vfs object         = audit recycle
   recycle:repository = .trash
   recycle:keeptree   = yes
   hide files         = /.*/Maildir/profile/

[jal]
   path           = /export2/jal/group
   read only      = No
   browseable     = Yes
   create mode    = 0660
   directory mode = 0770

[common]
   path           = /export2/common
   read only      = No
   browseable     = Yes
   create mode    = 0666
   directory mode = 0777



先頭へ

      Document-Folder          一覧
HP-UX
HULFT
JAVA
JP1
JavaScript
Linux
MAC
PHP
Perl
Python
Ruby
SOA
Solaris
Unix全般
Windows
XML
エクセル
スタイルシート
セキュリティー
データベース
ネットワーク
パソコン
ブラウザ
プログラム構文
仮想化
          RSS-Folder
ニュース
   アットマーク・アイティ(@IT)
   シンクイット(ThinkIT)
   インターネットコム
   インターネットウォッチ
   日経IT-Pro
   日経パソコン
   CNET Japan
   ZD-NetJapan
   MYCOM
   RBB-Today
ベンダー
   日本IBM
   日本HP
   サンマイクロシステムズ
   NEC
   富士通
   日立
ソフトウェア
   マイクロソフト
   トレンドマイクロ
   オラクル
   サイボウズ
   Mozilla
   野村総合研究所
   (その他ソフトウェア企業)
更新履歴 一覧
 07/08 PERF
プログラム構文
 07/07 PERF
プログラム構文
 06/25 オブジェクトプログラミング2
Perl>サンプル
 07/12 クローン作成
仮想化>vCenter
 07/12 vyatta設定
ネットワーク>vyatta
 07/12 vyattaインストール
ネットワーク>vyatta
 07/12 リポジトリサーバ
Linux>サーバ構築
 07/05 VMwareのインストール
仮想化>VMware
 07/05 PXEブート
仮想化>KVM
 07/01 DHCPでのPXEブート
仮想化>KVM
 06/27 qcow2仮想DISK作成
仮想化>KVM
 06/13 NWの設定
仮想化>VMwareEsxi
 06/13 IPアドレスの変更
仮想化>VMwareEsxi
 06/12 自動ssh
Unix全般>シェル>Bash
 06/12 diffプログラミング
Python
Google