Sambaとは、UNIX が動作しているマシンにおいて、Microsoftネットワーキング プロトコルを使用したサービスを提供できるようにするためのプログラム群です。 Sambaを導入することにより、Windowsマシンから、UNIXのファイルシステムと プリンタに直接アクセスが可能になります。それにより、UNIXホストを ファイルサーバ及びプリントサーバとして動作させ、Windowsが動作している マシンから利用することが可能になります。
その他にも Sambaは、ブラウズサーバとしての機能も備えており、UNIXホストは Windowsの「ネットワークコンピュータ」に表示されます。
また、Sambaにはクライアントの機能もあり、Windowsマシンをサーバとして、 サーバのWindowsマシンからのファイルコピーや、Windowsマシンに接続してある プリンタを UNIXマシンから利用することもできます。
また、Sambaを使用して UNIXマシンを WINSサーバに仕立てあげることも可能に なります。
このように Sambaは非常に様々な機能があり、UNIXとWindowsの接続に関して 非常に優れたサービスを提供します。
Sambaのホームページは、以下になります。
http://www.samba.org
上記のURLには、最新の Samba FAQ、最新バージョンの Samba に関する注意点、 参考情報へのリンクがあります。
日本へのミラーサイトは、以下になります。
http://mirror.nucba.ac.jp/samba/samba.html
また、日本では、日本Sambaユーザ会が設立されています。URLは以下になります。
http://www.samba.gr.jp/
上記のWebページには、日本語マニュアル、各種ドキュメント、メーリングリストなど 非常に有用な情報が公開されています。
Sambaのインストールですが、FreeBSD や Linux などは、バイナリパッケージが 用意されていますので、そちらを使用するのが便利です。しかしここでは、 ソースファイルからコンパイルしてインストールすることにします。 なお、インストールに使用するプラットフォームは FreeBSD を用います。
今回は、上記の日本Sambaユーザ会のURL
http://www.samba.gr.jp
より、Sambaの日本語版をインストールします。上記のURLより samba-2.0.5a-JP1.tar.gzをダウンロードして、解凍・展開し、ディレクトリを 移動します。% tar xvfz samba-2.0.5a-JP1.tar.gz % cd samba-2.0.5a/sourceその後、プラットフォームに対応した Makefile を作成するため、configure スクリプトを実行します。% ./configureその後、以下のようにしてコンパイル及びインストールを行います。% make % su Password: # make install以上の操作により、/usr/local/samba/ に Sambaのプログラム・マニュアル等が インストールされます。また、マニュアルの探索パスを追加するため、 /etc/manpath.config ファイルに、以下の2行を追加します。MANDATORY_MANPATH /usr/local/samba/man MANPATH_MAP /usr/local/samba/bin /usr/local/samba/man以上で Sambaのインストールは終了です。
Sambaの設定は、smb.conf ファイルにより行います。ソースファイルより Sambaを インストールした場合は、/usr/local/samba/lib/smb.conf となります。 smb.conf ファイルの設定パラメータは、非常に多くのパラメータがあります。 パラメータは「名前=値」となります。ここでは、代表的なものについて説明します。[global]セクション
このセクションは、特定のサービスではなく、Samba全体に適用されるパラメータを 設定します。また、ここで設定するパラメータは、他のセクションにも継承されます。 代表的な設定パラメータについて、以下に説明します。
- config file = 設定ファイルの場所
設定ファイルの場所を指定します。指定しなければ、デフォルトの設定ファイル (/usr/local/samba/lib/smb.conf)を使用します。- include = インクルードするファイルのパス (デフォルト:なし)
インクルードするファイルを指定します。条件別に設定ファイルを使い分ける 場合に使用すると便利です。- netbios name = 任意 (デフォルト:ホストのDNS名の最初の部分)
Sambaサーバをネットワーク上に通知するときに使うNetBIOS名を設定します。 デフォルトは、サーバのDNS名の最初の部分です。- workgroup = 任意 (デフォルト:WORKGROUP)
Sambaサーバの所属するワークグループ名を設定します。- server string = 任意 (デフォルト:Samba %v)
Sambaサーバがクライアントに返すコメント文字列を設定します。- local master = yes/no (デフォルト:yes)
yes に設定すると、nmbd はマスターブラウザになろうとします。 しかし、ブラウザ選定に立候補するだけで、必ずしも nmbd が マスターブラウザになれるとは限りません。- preferred master = yes/no (デフォルト:no)
yes に設定すると、nmbd はブラウザ選定で、自らを「優先マスター」で あると通知します。Sambaをドメインマスターブラウザにする場合は、 このパラメータを yes に設定します。- os level = 数値(デフォルト:0)
ブラウザ選定で、Sambaが自らを通知するときに使うオペレーティングシステムの レベルを指定します。デフォルトの0に設定すると、Sambaは全てのブラウザ選定に 落選します。Sambaをマスターブラウザにしたい場合は、このレベル値を高く 設定します。- wins server = WINSサーバのホスト名またはIPアドレス
複数サブネット間のブラウズを実現するため、WINSサーバを立ち上げている 場合、WINSサーバのホスト名(FQDN)、またはIPアドレスを指定します。 WINSサーバは、複数サブネットにわたるネットワークの全てのNetBIOS名を 登録します。- domain master = yes/no (デフォルト:no)
yes に設定すると、nmbd はドメインマスターブラウザになろうとします。 yes に設定した場合は、wins server パラメータで WINSサーバを指定するか、 wins support = yes として、SambaをWINSサーバとしてセットアップします。- remote announce = IPアドレス/ワークグループ
Sambaが任意のワークグループを任意のIPアドレスにアナウンスしたい場合、 アナウンスするIPアドレス/ワークグループを "/"(スラッシュ)で分けて、 IPアドレス/ワークグループのように指定します。- wins support = yes/no (デフォルト:no)
Samba を WINSサーバとして機能させる場合には yes と設定します。 ネットワーク上に Windows NT Server がある場合は、通常はそちらを WINSサーバにします。- wins proxy = yes/no (デフォルト:no)
yes に設定すると、Sambaは代理WINSサーバとして機能し、ほかのホストに 代わって WINSサーバに照会することで、ブロードキャスト名の問い合わせを 処理します。- dns proxy = yes/no (デフォルト:yes)
yes に設定すると、WINSサーバになっている nmbd は、照会された NetBIOS名が 登録されていないことに気付いたときに、照会された NetBIOS名を DNS を 使用して解決しようとします。- interface = Sambaサービスを提供するネットワークインターフェースのIPアドレス/ネットマスク
複数のネットワークインターフェースを備えている場合、Sambaサービスを行う ネットワークインターフェースのIPアドレスとネットマスクを指定します。 IPアドレスとネットマスクを "/"で区切って、例えば "192.168.0.1/25"や "192.168.0.1/255.255.255.0"のように指定します。- socket address = ソケットを監視するネットワークインターフェースのIPアドレス
複数のネットワークインターフェースを備えている場合、この socket address パラメータによって、smbdとnmbdが接続を監視したいソケットを指定します。 全てのインターフェースを Sambaにより監視させたい場合には、このパラメータを 設定しません。- socket options =
ソケットオプションを設定し、低レベルのネットワークインターフェースを 調整します。以下のようなオプションがあります。通常は、SO_REUSEADDR と TCP_NODELAY を指定すれば十分です。
SO_KEEPALIVE TCP/IPスタックは、定期的に ACKを送信して、接続の状態を監視していますが、 ネットワークの障害などにより、クライアントが無効になった時点で接続を切るように して、サーバのリソースを節約します。 SO_REUSEADDR ローカルソケットアドレスを再利用できます。 SO_BROADCAST ブロードキャストメッセージを送信できます。 IPTOS_LOWDELAY,IPTOS_THROUGHPUT IPデータグラムパケットにある「サービスタイプ」フィールトを指定します。 SO_SNDBUF(*) 送信バッファのサイズを指定します。 SO_RCVBUF(*) 受信バッファのサイズを指定します。 SO_SNDLOWAT(*) 送信データの最低のサイズを指定します。 SO_RCVLOWAT(*) 受信データの最低のサイズを指定します。 TCP_NODELAY パケットの送信遅延が可能な限り少なくなり、大幅なパフォーマンスの改善が 見込めます。 - keep alive = 数値 (デフォルト:0)
NetBIOSの「生存確認」パケットの送信間隔を秒数で設定します。サーバは このパケットを使用して、クライアントの生存を確認できます。デフォルトの 0 を指定すると、生存確認パケットは送信されません。- dead time = 数値 (デフォルト:0)
クライアントが非アクティブになった場合に、セッションを自動的に切断する までの時間を分単位の整数で指定します。デフォルトの0を指定すると、 セッションは遮断されません。- name resolv order = NetBIOS名の解決方法と試行順序 (デフォルト:lmhosts host wins bcast) SambaがNetBIOS名を解決するときに利用する手段と試行順序を指定します。 以下の4つの解決方法から任意の順番を指定します。
lmhosts Sambaのlmhostsファイルから名前解決を行います。 host システム標準の方法(/etc/hostsファイル、NIS、DNSにより検索)により名前解決を 行います。 wins WINSサーバに名前を問い合わせます。 bcast ブロードキャストにより名前を問い合わせます。 - security = user/share/domain/server (デフォルト:share)
ユーザ認証の方法を設定します。
share 共有レベルのセキュリティでアクセス許可を行います。決まった固定ユーザで アクセスする場合には、この方法を用います。 user ユーザレベルのセキュリティでアクセス許可を行います。UNIXアカウントを持つ 個別のユーザでアクセスする場合には、この方法を用います。 domain ユーザレベルのセキュリティでアクセス許可を行い、ユーザ認証は Windowsドメインにしてもらうため、パスワードの管理が不要です。 server ユーザレベルのセキュリティでアクセス許可を行い、ユーザ認証は ほかのWindowsサーバやSambaサーバにしてもらうため、パスワードの管理が不要です。 行います。 - encrypt passwords = yes/no (デフォルト:no)
ユーザ認証に Samba が暗号化パスワードを使用するかどうかを設定します。 yes に設定すると暗号化パスワードを使用します。 UNIX本来のユーザ認証を使用する場合には、このパラメータを no に設定し、 securityパラメータを share か user に設定します。ただし、この場合は 平文パスワードがネットワーク上に流れることになります。- password level = 数値 (デフォルト:0)
パスワードが大文字でもかまわない文字数を定義します。デフォルトの0だと 全部大文字か全部小文字の2種類のパスワードしか使用できません。- username level = 数値 (デフォルト:0)
ユーザ名が大文字でもかまわない文字数を定義します。デフォルトの0だと 全部大文字か全部小文字の2種類のユーザ名しか使用できません。- smb passwd file = パスワードファイルの場所 (デフォルト:/usr/local/samba/private/smbpasswd)
Sambaで使用するパスワードファイルのパスがデフォルトと異なる場合に、 そのパスを指定します。- password server = パスワード認証を行うサーバマシン(デフォルト:なし)
ユーザ認証をサーバが行う(security=serverの場合)、認証を行うサーバマシンを 指定します。この場合、encrypt passwords = yes に設定します。- username map = ユーザ名マップファイルのパス(デフォルト:なし
UNIXとWindowsでユーザ名が異なる場合は、その対応関係を記述したファイルを 作成し、そのファイルのパスを指定します。このファイルの書式は、各行に UNIXユーザ名、有効なWindowsユーザ名のリストを等号でつなぎます。名前の リストには @group という形式で UNIXグループへの参照を含めることも可能です。 例えば、以下のような形式になります。
root = Administrator admin- domain logons = yes/no (デフォルト:no)
yes に設定すると、Windows95のドメインログオンのサポートが有効になります。 その場合、SambaはWindows95のドメインログオンを処理し、ユーザを認証して、 リソースの「ユーザレベル」セキュリティ用のユーザーリストを提供します。- hosts equiv = ホスト名のリストが入ったファイルのパス(デフォルト:なし)
パスワード無しでSambaへの接続を許可したいホスト名のリストが入った ファイルへのパスを指定します。このオプションはクライアントが完全に 信頼できる場合にのみ使用します。- log file = ログファイルのパス名 (デフォルト:/usr/local/samba/var/log.smb)
Sambaのログファイルの場所を指定します。- max log size = ログファイルの最大サイズ (デフォルト:5000)
ログファイルの最大サイズをキロバイト単位で指定します。- debug level = デバッグレベル (デフォルト:0)
ログファイルのデバッグレベル(数値が大きいほど詳細な情報を記録します)を 指定します。デバッグレベルは1〜10まで設定できます。- syslog = 数値 (デフォルト:1)
どのSambaデバッグメッセージをどの優先順位で syslog に記録するかを 設定します。例えば、syslog = 2 で、debug level = 5 の場合、 デバッグレベル0,1のログが syslog と Sambaログに記録され、 デバッグレベル2,3,4,5のログは Sambaログだけに記録されます。- client code page = (デフォルト:850)
クライアントが使用する文字コードセットを指定します。 クライアントが以下の4種類の文字コードセットを使用している場合には、 このパラメータを適切に設定します。日本語Shift JIS を使用する場合は、 932 を指定します。
- 日本語Shift JIS (932)
- 韓国語 (949)
- 繁体中国語 (950)
- 簡体中国語 (936)
- coding system =
Sambaホスト上のファイルシステムで使用される日本語文字コードを指定します。 FreeBSDやLinuxのようなPC-UNIX などでは、euc を指定します。 以下の文字コードを指定できます。
sjis SJIS euc EUC jis7 JIS 7単位符号 jis8 JIS 8単位符号 junet jis7 + JUNETルール hex 7bit ASCII文字以外のコードを 1byteごとに「':' + 16進数2桁」という形式で格納 cap CAP(The Columbia AppleTalk Package)と同じ形式で格納 - load printers = yes/no (デフォルト:no)
yes に設定すると、printcap ファイルで定義されているプリンタを Samba が 共有します。- printcap name = printcapファイルの場所 (デフォルト:/etc/printcap)
printcapファイルの場所(デフォルトは /etc/printcap)を指定します。 Sambaはprintcapファイルを使用して、システム上の利用可能なプリンタを 判断します。- lpq cache time = 時間 (デフォルト:10)
Sambaは、lpqコマンドの出力をキャッシュに入れて、呼び出し回数が多い場合に 備えていますが、このキャッシュに入れる時間間隔を秒数で指定します。- printer driver file = プリンタドライバ定義ファイルの場所 (デフォルト:/usr/local/samba/lib/printers.def)
プリンタドライバ定義ファイルの場所を指定します。 このファイルにより、Windows95マシンへのプリンタドライバの自動インストールを サポートすることができます。- status = yes/no (デフォルト:yes)
yes にすると、アクティブな全ての接続を状態ファイルに記録します。 smbstatusコマンドは、このファイルを使用してアクティブな状態を報告します。- root directory = 仮想ルートディレクトリ (デフォルト:/)
Sambaでの仮想ルートディレクトリを指定します。このディレクトリ以下にない ファイルやディレクトリには、アクセスできません。- time server = yes/no (デフォルト:no)
yesに設定すると、nmbdが自らをタイムサーバとして通知し、タイムサーバとして 機能します。- time offset = 数値 (デフォルト:0)
GMT(グリニッジ標準時)をローカル時刻に変換するために、追加する分数を 指定します。- case sensitive = yes/no (デフォルト:no)
ファイル名の参照時に、大文字/小文字を区別するかを設定します。yesに 設定すると、全てのファイル参照で、大文字/小文字が区別されます。 ただし、この場合は Microsoftクライアントでは必ず問題が生じます。- default case = lower/upper
このパラメータでは、以下の mangle case、preserve case、 short preserve case の各オプションを対象にして、ファイル名に大文字/小文字 のどちらを常用するかを指定します。- preserve case = yes/no (デフォルト:no)
- short preserve case = yes/no(デフォルト:no)
この2つのパラメータは、SMBクライアントから渡されたファイル名をそのまま 使ってファイルを新規作成するかを指定します。preserve case を no に設定 すると、ファイル作成時に、default case パラメータの設定に従って、 ファイル名が必ず変換されます。short preserve case パラメータでは、 8.3形式(ファイル名8文字+拡張子3文字)に従ったファイル名を、クライアントから 渡されたままの大文字/小文字にh玄関されます。- mangle case = yes/no (デフォルト:no)
このパラメータでは、default case の設定に従っていないファイル名を クライアントに渡す前に変換するかどうかを指定します。- allow hosts = ホスト名またはIPアドレス (デフォルト:なし)
接続を許可するホストを定義します。以下の4種類のパターンで指定できます。- deny hosts = ホスト名またはIPアドレス (デフォルト:なし)
接続を拒否するホストを定義します。以下の4種類のパターンで指定できます。
ホスト名 「.」で始まるパターン文字列がクライアントのホストの最後の構成要素と一致 したら、文字列とホストが一致したことになります。例えば、「.t.kanazawa-u.ac.jp」 は、金沢大学工学部の全てのコンピュータを表します。 IPアドレス 「.」で終わるパターン文字列がクライアントのIPアドレスの最初の構成要素と一致 したら、文字列とホストが一致したことになります。例えば、「133.28.」は金沢大学 の全てのコンピュータを表します。 ネットグループ 「@」で始まるパターン文字列は、NISネットグループを表します。このグループの メンバーであれば、ホストが一致します。 ネットワーク/ネットマスク n.n.n.n/m.m.m.m のように、ネットワーク/ネットマスクの形式で表現します。 例えば、「192.168.1.0/255.255.255.0」は 192.168.1.0〜192.168.1.255 の ホスト範囲を表します。 [homes]セクション
このセクションは、全ユーザのホームディレクトリへのアクセスを設定します。 代表的な設定パラメータについて、以下に示します。
- browseable = yes/no (デフォルト:yes)
ブラウズリストにサービスを表示するかどうかを設定します。 表示しない場合でも、ネットワークブラウザに表示されないだけで、 サービスへのアクセスは可能です。 [homes]セクションでは、"no"とします。- comment = サーバが返すコメント
netview コマンドの出力結果のサービスの横に表示する文字列を指定します。- valid users = ユーザ名 (デフォルト:なし)
サービスへのアクセスを許可するユーザ、グループをカンマで区切って 指定します。グループ名は、最初に「@」を付けて、@group のように指定します。- invalid users = ユーザ名 (デフォルト:なし)
サービスへのアクセスを拒否するユーザ、グループをカンマで区切って 指定します。グループ名は、最初に「@」を付けて、@group のように指定します。- public = yes/no (デフォルト:no)
- guest only = yes/no (デフォルト:no)
public または guest only を yes にすると、ゲストアクセスが許可されます。 ゲストとして接続したクライアントのアクセス権は、guest account パラメータで 設定したユーザ名のアカウントになります。- guest account = ゲストアカウント (デフォルト:nobody)
パブリックサービス(public または guest ok が yes に設定されている場合) への接続に使用する UNIXアカウントを指定します。- max connections = 数値(デフォルト:0)
サービスへの同時接続数の最大数を指定します。デフォルトの0では、 同時接続数は無制限になります。- read only = yes/no (デフォルト:yes)
- writable = yes/no (デフォルト:no)
共有ディレクトリに対するアクセス制限を設定します。このパラメータは反対語で "read only = no" は "writable = yes" に相当します。- read list = ユーザ名、グループ名 (デフォルト:なし)
- write list = ユーザ名、グループ名 (デフォルト:なし)
読み取り(read list)、書き込み(write list)を許可するユーザ名、グループ名を カンマで区切って指定します。グループ名は @で始めます。- create mode = パーミッション (デフォルト:0744)
- directory mode = パーミッション (デフォルト:0744)
ファイルやディレクトリの作成時に、Sambaで、ファイルやディレクトリの 作成のパーミッションを設定します。[printers]セクション
このセクションは、プリンタの共有の設定をします。 代表的なパラメータについて、以下に示します。
- comment = サーバが返すコメント
netview コマンドの出力結果のサービスの横に表示する文字列を指定します。- path = プリンタスプールのパス
プリンタスプールのパスを指定します。このディレクトリは、誰でも書き込み 可能にしておく必要があります。- printable = yes/no (デフォルト:no)
yesに設定すると、Sambaはサービスをファイルスペースサービスではなく、 プリンタとみなします。- printer = プリンタ名 (デフォルト:なし)
印刷ジョブのスプール先となるローカルプリンタ名を指定します。- printing = 印刷システム (デフォルト:システムに適した値)
印刷システムのタイプを指定します。デフォルトではシステムに適した値が 自動的にセットされます。また、以下のプリンタを制御する各種コマンドの デフォルト値も自動的にセットされます。パラメータ値には、 以下の8種類があります。
パラメータ値 対応するプリンタ定義 bsd BSD sysv System V hqux HP-UX aix AIX qnx QNX plp PLP lprng LPRng(LPR next generation) softq SOFTQ - print command =プリントコマンド
printing = の値 デフォルト値 sysvまたはhqux lp -c -d%p %s; rm %s qnx lp -r -P%p %s softq lp -d%p -s %s それ以外 lpr -r -P%p %s - lpq command = 印刷ジョブ表示コマンド
printing = の値 デフォルト値 sysvまたはhqux lpstat -o%p softq qstat -l -d%p それ以外 lpq -P%p - lprm command = 印刷ジョブ削除コマンド
printing = の値 デフォルト値 sysvまたはhqux cancel %p-%j softq qstat -s -j%j -c それ以外 lprm -P%p %j - lppause command = 印刷ジョブ一時停止コマンド
printing = の値 デフォルト値 sysvまたはhqux lp -i %p-%j -H hold softq qstat -s -j%j -h それ以外 なし - lpresume command = 印刷ジョブ再開コマンド
printing = の値 デフォルト値 sysvまたはhqux lp -i %p-%j -H resume softq qstat -s -j%j -r それ以外 なし - queuepause command = プリンタキューの一時停止コマンド
printing = の値 デフォルト値 sysvまたはhqux lpc stop %p または disable %p それ以外 なし - queueresume command = プリンタキューの再開コマンド
printing = の値 デフォルト値 sysvまたはhqux lpc start %p または enable %p それ以外 なし - postscript = yes/no (デフォルト値:no)
yesに設定すると、プリンタは印刷ジョブをPostscriptファイルとみなします。- public = yes
- writable = yes
- create mode = 0700
- printer name = lp,lpres
- browseable = yes
共有ディレクトリセクション
このセクションでは、ユーザのホームディレクトリ以外のディレクトリを共有する ための設定を行います。
- path = 共有ディレクトリのパス (デフォルト:/tmp)
共有ディレクトリのパス名を指定します。- browseable = yes/no (デフォルト:yes)
ブラウズリストにサービスを表示するかどうかを設定します。 表示しない場合でも、ネットワークブラウザに表示されないだけで、 サービスへのアクセスは可能です。- comment = サーバが返すコメント
netview コマンドの出力結果のサービスの横に表示する文字列を指定します。- valid users = ユーザ名 (デフォルト:なし)
サービスへのアクセスを許可するユーザ、グループをカンマで区切って 指定します。グループ名は、最初に「@」を付けて、@group のように指定します。- invalid users = ユーザ名 (デフォルト:なし)
サービスへのアクセスを拒否するユーザ、グループをカンマで区切って 指定します。グループ名は、最初に「@」を付けて、@group のように指定します。- public = yes/no (デフォルト:no)
- guest only = yes/no (デフォルト:no)
public または guest only を yes にすると、ゲストアクセスが許可されます。 ゲストとして接続したクライアントのアクセス権は、guest account パラメータで 設定したユーザ名のアカウントになります。- guest account = ゲストアカウント (デフォルト:nobody)
パブリックサービス(public または guest ok が yes に設定されている場合) への接続に使用する UNIXアカウントを指定します。- max connections = (デフォルト:0)
サービスへの同時接続数の最大数を指定します。デフォルトの0では、 同時接続数は無制限になります。- read only = yes/no (デフォルト:yes)
- writable = yes/no (デフォルト:no)
共有ディレクトリに対するアクセス制限を設定します。このパラメータは反対語で "read only = no" は "writable = yes" に相当します。- read list = ユーザ名、グループ名 (デフォルト:なし)
- write list = ユーザ名、グループ名 (デフォルト:なし)
読み取り(read list)、書き込み(write list)を許可するユーザ名、グループ名を カンマで区切って指定します。グループ名は @で始めます。- admin users = 管理ユーザ名 (デフォルト:なし)
共有ディレクトリに対する管理アクセス権を与えるユーザを指定します。 該当するユーザは root としてファイル操作を行うことができます。- create mode = パーミッション (デフォルト:0744)
- directory mode = パーミッション (デフォルト:0744)
ファイルやディレクトリの作成時に、Sambaで、ファイルやディレクトリの 作成のパーミッションを設定します。
これらの設定ファイルの編集が終わったら、Samba を起動します。 起動は以下のようにして行います。# /usr/local/samba/bin/smbd -D # /usr/local/samba/bin/nmbd -Dシステムの起動時に自動的にSambaデーモンが起動するようにするために、 FreeBSDでは /etc/rc.local ファイルに、Linux では /etc/rc.d/rc.local ファイルに 以下の内容を追加します。# # Starting Samba Server # if [ -f /usr/local/samba/bin/smbd -a -f /usr/local/samba/lib/smb.conf ]; then echo -n 'Starting smbd:' /usr/local/samba/bin/smbd -D echo ' smbd.' fi if [ -f /usr/local/samba/bin/nmbd -a -f /usr/local/samba/lib/lmhosts ]; then echo -n 'Starting nmbd:' /usr/local/samba/bin/nmbd -D echo ' nmbd.' fi編集後、再起動すれば Samba デーモンが起動します。