#
# smb.conf サンプル (Samba 2.0.10 日本語版対応)
#

# ここで示されているオプションについての詳細な説明に付いては smb.conf
# のマニュアルページを参照してください。
# Samba には多くのオプションがあります。
#
# ; (セミコロン) および # (ハッシュ) で始まるすべての行はコメントであり、
# 無視されます。この例では # はコメントに、; は有効化してもよいだろうオ
# プションを示します。

# 注意: このファイルを修正した場合は、必ず「testparm」コマンドを用いて、
# 基本的な文法エラーがないかどうかをチェックしてください。

#======================= 全体的な設定 ==================================
[global]

# client code page はクライアントが利用する言語を指定します。
# 932 は日本語を表します

    client code page = 932

# coding system は、クライアントがシフトJIS コードで送信した日本語のファ
# イル名を UNIX のファイルシステムに書き込むときの文字コードを指定しま
# す。
#
#  ===このオプションは重要ですので注意して設定してください===
#
# EUC:   EUC で書き込みます。
#        多くのUNIX上で日本語対応した ls コマンド等で日本語ファイル名
#        を表示することができます。
#        多くの日本語対応しているコマンドで、ファイル名を正しく扱えま
#        すが、日本語対応していないコマンドでは問題が発生する可能性も
#        あります。
#        外字については、変換できないので使えません。
#
# SJIS:  シフトJIS で書き込みます。
#        一部のUNIX上では日本語対応したlsコマンド等で日本語ファイル名
#        を表示できます。
#        シフトJISに対応していない場合、UNIX 上でのコマンド実行時に不
#        具合が発生することがあります
#        なお、SJIS にした場合、このファイル自身の文字コードを nkf コ
#        マンドなどを利用して、SJIS に変更してください。
#
# JIS8, J8BB, J8BH, J8@B, J8@J, J8@H:
#        8 ビット JIS コードで書き込みます。
#        各々異なったシフトイン、シフトアウトコードを選べます。
#        一部のUNIX上では日本語対応したlsコマンド等で日本語ファイル名
#        を表示できます。
#
# JIS7, J7BB, J7BH, J7@B, J7@J, J7@H:
#        7 ビット JIS コードで書き込みます。
#        各々異なったシフトイン、シフトアウトコードを選べます。
#        一部のUNIX上では日本語対応したlsコマンド等で日本語ファイル名
#        を表示できます。
#
# JUNET, JUBB, JUBH, JU@B, JU@J, JU@H:
#        JUNET コードで書き込みます。
#        各々異なったシフトイン、シフトアウトコードを選べます。
#        一部のUNIX上では日本語対応したlsコマンド等で日本語ファイル名
#        を表示できます。
#
# CAP:   Macintosh 用のファイルサーバソフトである CAP と互換性のある方
#        法でファイル名を書き込みます。
#        UNIX 上でのファイル名は ASCII 文字に変換されたものが表示され
#        ます。
#        場合によっては UNIX 上でのコマンド実行時に不具合が発生する可
#        能性があります。
#
# HEX:   文字コードを ASCII コードに変換する独自の方式でファイル名を書
#        き込みます。
#        UNIX 上でのファイル名は ASCII 文字に変換されたものが表示され
#        ます。
#        UNIX 上でのコマンド実行時に不具合が発生することはありません。
#
# EUC3:  Samba 2.0.7 日本語版リリース2.0以降で指定可能です。
#        EUCを拡張したeucJP-openという規格で書き込みます(Solarisなどで
#        は対応しています)。
#        UNIX 上で日本語対応した ls コマンド等で日本語ファイル名を表示
#        することができます。
#        日本語対応しているコマンドの多くで、ファイル名を正しく扱えま
#        すが、日本語対応していないコマンドでは問題が発生する可能性も
#        あります。
#        外字と機種依存文字(厳密にはNEC選定IBM拡張文字とIBM拡張文字)に
#        ついてはEUCとの互換性がありませんが、EUCと異なり外字を扱うこ
#        とが可能です。
#
# UTF8:  Samba 2.0.7 日本語版リリース2.0以降で指定可能です。
#        UTF-8で書き込みます。
#        ほとんどのUNIXでは対応していません。
#
# UTF8-NFC, UTF8-NFD, UTF8-NFKC, UTF8-NFKD:
#        Samba 2.0.9 日本語版リリース1.1以降で指定可能です。
#        Unicode 正常化形式に従ったUTF-8で書き込みます。
#        ほとんどのUNIXでは対応していません。
#
# UTF8-Mac:
#        Samba 2.0.9 日本語版リリース1.1以降で指定可能です。
#        Mac OS X で使われているUTF-8で書き込みます。
#        Mac OS X 以外の環境では対応していません。

    coding system = EUC

# workgroup は、NTドメイン名、またはワークグループ名を指定してください。
# 既にワークグループやNTドメインがあれば、その名前に合わせるとよいでしょ
# う。

    workgroup = SAMBA

# server string は、NT の [コントロールパネル] - [サーバ] - [説明] フィー
# ルドや Windows 95/98 の [コントロールパネル] - [ネットワーク] - [コ
# ンピュータの識別] タブの [コンピュータの説明] フィールドで設定される
# コンピュータの情報を指定します。
# この情報は、エクスプローラで、[表示] - [詳細] を選択して、 [ネットワー
# クコンピュータ] アイコンを開くと見ることができます。

    server string = Samba %v

# security, password server は、Samba の認証モードを指定します。
# 各認証モードの項には、関連したパラメータの記述も書いてあります。
# 認証モードを変更する場合には、その認証モードに関連して有効にしたパラ
# メータを全てコメントにしてください。
#
#  ===このオプションは重要ですので注意して設定してください===
#
# ------------------------------------------------------------
# 1. NT ドメインのドメインコントローラに認証を任せる場合
#   NT ドメインのアカウントから Samba にアクセスさせたいときは、この設
#   定を使ってください。
#   必ず DOMAIN_MEMBER.txt を参照して必要な設定を行なってから、以下を
#   有効にしてください。
#   workgroup に、所属したい NT ドメイン名を指定してください。また 
#   encrypt passwords = yes に設定してください。
#
#   password server に記述する名前は、UNIX マシン上で解決可能な名前で、
#   かつ実際のドメインコントローラのコンピュータ名と一致している必要が
#   あります。* を指定すると、Windows NT と同様のロジックで自動的にサー
#   バを検出します。* の指定は Samba 2.0.6 から有効です。

;   security = domain
;   password server = PDC_NETBIOS_NAME BDC_NET_BIOS_NAME
;   password server = * 
;   encrypt passwords = yes

#   add/delete user script は、ドメインコントローラが認証したユーザを
#   自動的に Samba マシンに追加する機能を提供します。
#   詳細は smb.conf(5) を参照してください。

;   add user script = /usr/sbin/smb-useradd.sh %u
;   delete user script = /usr/sbin/smb-userdel.sh %u

#   delete user script はバグのため Samba 2.0.7 までの Samba では利用
#   できません。Samba 2.0.7 日本語版を利用するかソースファイルを修正す
#   る必要があります。

#   信頼するドメインのアカウントによる接続を抑止する場合

;   allow trusted domains = no

# ------------------------------------------------------------
# 2. 別のサーバ(含むドメインコントローラ, NT Workstation, Samba サーバ)
#   に認証を任せる場合
#   password server には、信頼しているサーバだけを設定してください。
#
#   password server に記述する名前は、UNIX マシン上で解決可能な名前で、
#   かつ実際のサーバのコンピュータ名と一致している必要があります。

;   security = server
;   password server = SERVER_NETBIOS_NAME

#   encrypt password は、どうしても必要な場合以外 yes にしてください。
;   encrypt passwords = yes

#   add user script は認証サーバが認証したユーザを、自動的に Samba 
#   マシンに追加する機能を提供します。
#   詳細は smb.conf(5) を参照してください。

;   add user script = /usr/sbin/smb-useradd.sh %u

# ------------------------------------------------------------
# 3. UNIX マシンで認証を行なう場合
#   通常はこちらを選択してください。

    security = user

#   encrypt passwords はパスワードの暗号化を制御します。
#   暗号化を有効にした場合は、smbpasswd コマンドを使って 
#   /etc/smbpasswd に Samba でアクセスするユーザを追加してください。暗
#   号化せずに運用することもできますが、推奨しません。
#   詳細は Samba のドキュメントの ENCRYPTION.txt を参照してください。

    encrypt passwords = yes

# ------------------------------------------------------------
# 4. ユーザベースの認証を行なわない場合
#  必要な設定に付いては、smb.conf(5) を参照してください。

;   security = share
;   encrypt passwords = yes

# ------------------------------------------------------------

# guest account はゲストとして認証されたときに利用されるアカウントを規
# 定します。デフォルトは nobody ですが、一部のプラットフォームでは印刷
# できないなどの問題が発生するようです。以下の例のように、Samba 専用の
# アカウントを利用することを勧めますが、そうでない場合は ftp にしておく
# のがよいでしょう。

;    guest account = smbguest
;    guest account = ftp

# map to guest は security = share 以外で、失敗した認証の扱いを規定し
# ます。詳しくは smb.conf(5) を参照してください。
#
# Never:        認証は失敗します。
#
# Bad User:     認証を要求したユーザが存在しない場合、guest account と
#               して認証されます。
#               NT で Guest を有効にした場合と類似の動作を行ないます。
#
# Bad Password: 失敗した認証は、全て guest account として認証されます。

    map to guest = Bad User

# domain master, local master, preferred master, os level は、Samba の
# ブラウジング機能を規定します。
# domain master は、Samba が Windows 95/98 のログオンサーバとして機能
# するかどうかの制御も行ないます。
# 詳細は smb.conf(5) を参照してください。
#
# 以下、何とおりかのテンプレートを提示します。この設定の意味を正しく理
# 解するには、Microsoft ネットワークのブラウジング機能に付いて熟知する
# 必要があります。これ以外の設定にしても構いませんが、自分が何を行なっ
# ているかを充分理解した上で行なってください。
#
# 各テンプレートには、関連したパラメータの設定が記述されています。利用
# するテンプレートを変更する場合には、そのテンプレートに関連して有効に
# したパラメータを全てコメントにしてください。
#
#  ===このオプションは重要ですので注意して設定してください===
#
# ------------------------------------------------------------
# 1. 同一サブネット内に、workgroup パラメータで設定したドメイン/ ワー
#   クグループに所属する Windows NT/2000 マシンが存在する場合
#   これは最も問題が発生する可能性の低い設定です。

;   domain master = no
;   local master = no
;   preferred master = no
;   os level = 0

#  ------------------------------------------------------------
# 2. 同一サブネット内に、workgroup パラメータで設定したドメイン/ ワー
#   クグループに所属する Windows NT/2000 マシンが存在しない、もしくは
#   しない可能性がある場合
#   これは、ほぼ Samba 2.0.5a までのデフォルト設定です。

   domain master = no
   local master = yes
   preferred master = no
   os level = 2

# ------------------------------------------------------------
# 3. Samba を Windows 95/ 98 のログオンサーバとして機能させる場合
#   ただし、workgroup パラメータで設定したドメインが既に存在している場
#   合、以下の設定は絶対に行なわないでください。
#
#   === 以下の設定は、workgroup パラメータの値を必ず確認してから行なっ
#       てください。誤って設定すると Microsoft ネットワーク全体が機能
#       不全に陥ります ===

;   domain master = yes
;   local master = yes
;   preferred master = yes
;   os level = 32
;   domain logons = yes

#   ログオンスクリプトを設定します。
#   スクリプトはクライアント上で実行されるので、Windows の実行可能ファ
#   イルか、スクリプトファイルを指定します。
#
#   ユーザがログオンしたマシン名ごとに指定されたログオンスクリプトを起
#   動します。
;   logon script = %m.bat

#   ログオンしたユーザ名ごとに指定されたログオンスクリプトを起動します。
;   logon script = %U.bat

#   共通のログオンスクリプトを起動します。
;   login script = login.bat

#   移動プロファイルを保存する場所の指定とホームディレクトリの指定
#	%N はこのサーバの NetBIOS 名、%U はユーザ名に置換されます。
;   logon path = \\%N\%U\profile
;   logon home = \\%N\%U

#   Samba 2.0.6 で Windows 95/98 に対して提供する移動プロファイルの場
#   所を指定する場合、logon home で以下のように設定します。logon path 
#   は無視されます(Samba 2.0.6 のドキュメントバグです)。

;   logon home = \\%N\%U\profile

# ------------------------------------------------------------

# WINS 機能の選択
# wins support, wins server は、Samba の WINS 機能を制御します。
# 以下、何通りかのテンプレートを提示します。
#
# 各テンプレートには、関連したパラメータの設定が記述されています。利用
# するテンプレートを変更する場合には、そのテンプレートに関連して有効に
# したパラメータを全てコメントにしてください。
# 
# domain master = yes にして、ログオンサーバ提供を提供する場合は、WINS 
# の利用を推奨します。

# ------------------------------------------------------------
# 1. ネットワーク上に WINS サーバが存在せず、利用もしない場合
#   Samba のデフォルトの設定です。

   wins support = no

# ------------------------------------------------------------
# 2. ネットワーク上に WINS サーバが存在する場合
#   既存の WINS サーバの IP アドレスを指定します。 

;   wins server = w.x.y.z
;   wins support = no

# ------------------------------------------------------------
# 3. ネットワーク上に WINS サーバが存在せず、WINS サーバを利用したい場
#   合
#   Samba を WINS サーバとして設定します。

;   wins support = yes

#   以下のオプションの意味に付いては smb.conf(5) を参照してください。
#   通常は設定の必要はありません。

;   wins proxy = yes

# ------------------------------------------------------------

# dns proxy は Samba が解決できない NetBIOS 名の解決を DNS に問い合わ
# せるかどうかを制御します。
# 既定値は yes ですが、余計なトラヒックを押える意味でも、この機能を利
# 用している場合以外は no にすることを推奨します。

    dns proxy = no

# hosts allow はセキュリティ上重要です。この設定によって、ホスト単位で
# 接続を制限することが可能です。以下のコメントになっている例では 2 つ
# のクラス C のネットワークと「ループバック」インターフェースからの接
# 続に限って許可するという制限を行なっています。詳細は smb.conf(5) を
# 参照してください。
# 指定がない場合、全てのインタフェースから接続できます。

;   hosts allow = 192.168.1. 192.168.2. 127.

# utmp を有効にすることで、last コマンドで Samba サーバへの接続履歴を
# 表示することができるようになります。ただし、以下のオプションを利用す
# るには、コンパイル時に --with-utmp オプションを付けてコンパイルを行
# なう必要があります。

;   utmp = yes

# ほとんどの場合、このオプションを設定することで、より良い性能を得ること
# ができるでしょう。詳しくは Speed.txt やマニュアルページを参照してくだ
# さい。

    socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

# 奥山さんによるパフォーマンス解析の結果を反映する設定
# まず、以下の行を有効にしてください。

;   include = smb.conf.%a

# smb.conf と同じディレクトリに smb.conf.Win95 というファイルを作成し
# て、以下の1行を追加します

;   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=1072

# smb.conf と同じディレクトリに smb.conf.WinNT というファイルを作成し
# て、以下の1行を追加します

;   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=2920

# 共有のデフォルト設定
# ------------------------------------------------------------
# 
# 以下は、作成した共有のデフォルト設定を設定します。
# ここで行なった設定は、個別の共有セクション中で上書きすることが可能で
# す。
#   

#   規定の create mask は archive 属性を owner の実行ビットに反映させ
#   るために 0744 になっていますが、全てのファイルに実行権がついて気持
#   悪いという場合は、以下のように設定してください。
#   ただし、Windows 側のアーカイブ属性が Samba 上で失われます。
#   良く分からない方は修正しないままで結構です。

;   create mask = 0644
;   map archive   = no

#   NTFS と同様に親ディレクトリのアクセス権を引き継がせたい場合は、以
#   下を有効にしてください(2.0.7から)。

;   inherit permissions = yes

#   follow symlinks を有効にすることで、シンボリックリンクの追跡を止め
#   させることが可能です。これを行なわないと、ユーザが /etc 等へのシン
#   ボリックリンクを作成することで、/etc 内のファイルの閲覧が可能にな
#   るといった問題が発生するので、一般ユーザが書き込み可能なディレクト
#   リでは、no にしておいたほうが安全でしょう。既定値は yes です。

;   follow symlinks = no

#   oplocks は、Samba が Windows クライアントに対して提供するキャッシュ
#   機能を制御します。共有内のファイルを UNIX からもアクセスする場合は、
#   no に設定してください(SGI を除く)。

    oplocks = no

#   Samba の提供するディレクトリ内で Visual Studio でコンパイルを行な
#   う場合は、以下を設定しましょう。

;   dos file time resolution = yes
;   fake directory create times = yes

# ------------------------------------------------------------

# ========================== 各共有の定義 ===========================

# ------------------------------------------------------------
# domain master = yes にして、ログオンサーバ提供を提供する場合は、以下
# を有効にして、netlogon 共有を作成してください

;[netlogon]
;   comment     = Network Logon Service
;   path        = /home/samba/netlogon
;   writable    = no
;   guest ok    = yes

# ------------------------------------------------------------
# /etc/printcap で定義されているプリンタを共有するには、[printers] 共
# 有を有効にしてください。
# [printers] 共有を有効にしない場合でも、個々のプリンタを個別に共有す
# ることは可能です。

;[printers]
;   comment = All Printers in /etc/printcap
;   path = /var/spool/samba
;   browseable = no
;   writable = no
;   printable = yes

# guest ok = yes にすると、ゲストアカウントで印刷が可能となります。
;   guest ok = no

# ------------------------------------------------------------
# 各人のホームディレクトリを共有するには、[homes] 共有を有効にします。
#
[homes]
    comment      = %U's Home Directories
    browseable   = no
    writable     = yes

# デフォルトでは、UNC で指定することで、他人のホームディレクトリにも接
# 続が可能です。これを禁止する場合は、以下を設定してください。
;   valid users  = %S

# ------------------------------------------------------------
# 特定のプロジェクトのメンバのみが利用可能な共有の例です。
# この共有を利用するには project-a グループが定義されている必要があり
# ます。 
# force create mode でグループに書き込み権を与えており、force group で
# 全員を project-a グループとしてアクセスさせているので、project-a グ
# ループに所属する原因が互いの作成したファイルにアクセス可能になります。
# また、project-a グループは write list で指定されていますので、read
# only パラメータの設定に関わらず、この共有に書き込むことが可能です。
# 事前に最低でも
#   chmod g+w /home/samba/project-a
#   chgrp project-a /home/samba/project-a
# を行なっておく必要があります。

;[project-a]
;    comment = Project-A Space on %h
;    path = /home/samba/project-a
;    read only = yes
;    force group = project-a
;    force create mode = 0664
;    force directory mode = 0775

# この共有に対して(のみ)のホスト単位でのアクセス制御が可能です
;   hosts allow = 192.168.10.

# 以下は、アクセス制御のテンプレートです
# 1. 認証されないユーザも含めた部外者の読み取りは許可する場合
;    guest ok = yes
;    write list = @project-a

# 2. 認証されたユーザであるが project-a グループに所属しない部外者の
#   読み取りは許可する場合
;    write list = @project-a

# 3. 部外者からは一切のアクセスを許可しない場合
;    valid users = @project-a
;    write list = @project-a

# ------------------------------------------------------------
# 全員が読み込み可能な共有の例です。ここでは anonymous ftp のディレク
# トリを共有しています。全員をユーザ ftp として認証することで、許可さ
# れないアクセスの可能性を極力低くします。
# この共有を利用するには anonymous ftp が利用可能であり、一般的な設定
# が行なわれている必要があります。

;[pub]
;    comment = Public Archive Directory on %h
;    path = /home/ftp/pub
;    guest ok = yes
;    guest only = yes
;    guest account = ftp

# ------------------------------------------------------------
# 全員が誰の作成したファイルでも読み書き可能なディレクトリの例です。
# この共有を利用するには public グループが定義されている必要があります。 
# 
# とりあえず共有したい場合は便利ですが、決して推奨されるものではありま
# せん。
# 事前に最低でも
#   chmod g+w /home/samba/public
#   chgrp public /home/samba/public
#  を行なっておく必要があります。

;[public]
;        comment = Public Space
;        path = /home/samba/public
;        guest ok = yes
;        read only = no
;        force group = public
;        force create mode = 0664
;        force directory mode = 0775
;        map archive = no

# ------------------------------------------------------------
# サーバ上の CD-ROM ドライブを共有する場合の例です。CD-ROM なので読み
# 込み専用に設定します。
#

;[cdrom]
;    comment       = CD-ROM on %h
;    path          = /mnt/cdrom
;    read only     = yes

# クライアントからのアクセス開始/ 終了時に自動で mount, umount を行な
# いたい時の例です。
# 以下をそのまま利用すると、アクセス開始時に既に/mnt/cdrom がマウント
# されているかどうかに関わらず、アクセス終了時には umount してしまいま
# すので、UNIX 上からも mount や umount を行なうことも考慮するなら、も
# う少し複雑な制御が必要でしょう。

;    root preexec  = /sbin/mount /mnt/cdrom
;    root postexec = /sbin/umount /mnt/cdrom

# ------------------------------------------------------------
# 同じディレクトリを Netatalk でも共有する場合の例です。
# 日本語ファイル名を利用したい場合は、coding system = CAP に設定してく
# ださい。 
# Netatalk が作成する制御用のファイルやディレクトリは veto files パラ
# メータにより Samba 経由では参照できなくなっているので、Windows 側か
# らアクセスするときに誤って制御ファイルにアクセスしてしまう心配はあり
# ません。
# また delete veto files により、ディレクトリを削除するときに限り、
# veto files で指定したファイルも自動的に削除されます。ただし、UNIX 上
# でパーミッションがないために削除できないファイルが存在するときは除き
# ます。

;[mac]
;    comment = Space for both Mac and Win
;    path = /home/samba/mac
;    read only = no
;    
;    veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/    
;    delete veto files = yes

# ------------------------------------------------------------
# Samba 2.0.5a 日本語版および Samba 2.0.7 以降で可能な、日本語共有の例
# です。
# Samba 2.0.5a 日本語版を利用するときは、smb.conf をシフトJIS で保存す
# る必要があります。Samba 2.0.7 以降を利用するときは、coding system パ
# ラメータで設定した文字コードで記述してください。

;[共有]
;   comment = 一時共有(読み込みのみ)
;   volume = 共有
;   path = /home/samba/tmp
;   read only = yes


# 作成者: たかはしもとのぶ <monyo@samba.gr.jp>
# 更新日: 25th Jun. 2001

# 25th Jun.2001: Mac OS X 関連の設定を追加
#
# 1st Jun.2001: /tmpを共有の例にしていたものを変更
#
# 3rd Nov.2000: Samba 2.0.7 での新機能に関する設定の追加
#               奥山さんのチューニング設定を追加
# 3rd Oct.2000: 一部表記を修正
