ましまろと一緒に
OSM (オープンソースマガジン) 2006年 06月号 [雑誌]
も買って来ました。「UNIX使いに真のMACPOWERを! Undocumented Mac OS X」のコーナーで今回の特集の内容が「Mac OS XとWindowsファイル共有」でした。
今ではMac OS XもWindowsファイル共有の機能(Windows側での共有領域にアクセスしたりMac OS X側がファイル共有をWindowsクライアントに向けて提供できたり)を標準で備えておりますが結構最近の事なんですよね。Mac OS X v10.2からだったかな。
でも標準搭載されて随分便利になりましたよね。基本的にはそのWindows向けファイル共有機能はSamba Ver3とFreeBSDのcontribにあるsmbfs、更にはMac OS Xの事情に応じて若干の+αで作られていると。雑誌の最初にも書かれているけどジョブズさんの姿勢として現実を直視し得意分野では強みを生かして競争力を高めるがそうでない分野に関してはその分野の標準に合わせる。Mac OS XのUNIX部分(Darwinの部分か?)及び今回のWindows共有部分なんてまさにそうでない分野のような感じでうまく得意分野と標準が融合して作られているOSだと思います。
で、+αの部分は各オープンソースアプリの若干のコード追加及びopendirectoryモジュール、opendirectorysamモジュール、darwin_acls VFSモジュール等。
v10.4からはWindowsNT以降ではおなじみなアクセス権限に関する設定のACL(Access Common List)に対応しており10.3以前に増してWindowsとの親和性が深まりました。ACLの注釈の所に
>細かに設定出来る事が災いしてか、なかなか活用されていない
はあるかもね・・・・いわゆるUNIX系のユーザー、グループ、その他の読み、書き、実行に比べると詳細に設定が出来ますので。使いこなせば逆に柔軟な運用もできるわけですが・・・
後、同じく注釈のところで「常駐しない事に注目するべきである」とありますが言われてみればそうですね。10.4であればsmbd、nmbdはlaunchd経由で接続ごとに起動、10.3以前であればxinetdとかで制御していたわけで。今のLinuxはどうだかわからんけどsmbdとか常駐だったよね。
そしてMac OS XとMac OS X Serverでの違いも説明されています。これは知らなかったというか知っておいた方がヨサゲ。GUIで設定した場合のsmb.confの動きが異なるんですわ、単なるMac OS Xなら設定できる項目は少ないし(少ないからこそ、本格的にSambaの機能を使う場合は他のエディタで直接書き換える必要が出てくるわけですけど)コントロールパネルから設定を変えてもsmb.confの必要部分だけが書き換わります。なのでsmb.confを直接編集して運用、その後コントロールパネルの方から何か設定を変えても直接編集した部分は残っていると。
しかしMac OS X Serverは違う。smb.confを直接編集しワークグループマネージャーやサーバー管理で何か設定した場合は手書きで編集した部分が消えてしまう。理由としてはsmb.conf.templateファイルに記載されている内容をベースにワークグループマネージャーやサーバー管理で設定した内容を結合しsmb.confを作っているから、みたいです。Serverではsmb.conf.templateに設定を書き加える形でsmb.confが生成されてしまうと。
なので独自の追記を行いたい場合は前もってsmb.conf.templateにも書いておきましょうね、という事です。Mac OS X v10.3.9の中を見てみたら
/private/etc/smb.conf.template
にそういうファイルがありました。なるほどね~、そういう設定だったのね~。
そういう面ではクライアントOSに比べ、smb.confを直接編集する際には注意点は多いものの、ワークグループマネージャー等がある分、便利になっている。
移動プロファイルについてもいくつか説明が掲載されています。基本的にServerであればsmb.confのhomesセクションに加えprofilesセクションが定義されデフォルトではこのprofilesの共有ボリュームに各ユーザーの移動プロファイルが保存される。これも以前、家のMac OS X Server v10.3でドメイン参加のテストをした時に作られてました。デフォルトでは
/Users/Profiles
に作成されていましたわ。
更に
/etc/netlogon/Default Users
というディレクトリを作成し、そこにプロファイルを格納する事で新規ユーザーを作成する際のひな形を作成出来るんだそうな。
Mac OS X Serverのシステムポリシーを使用する場合はやっぱりWindows NT Server等に付属する「ポリシーエディター」を使いWindows上で作成し
/etc/netlogon/
に格納しておくのだという。
まあいろいろありましたがこれは勉強になった・・・Server OSも10.5になったらActive Directoryとかに対応してくれるかな?
関連
Sambaのすべて
高橋 基信 
★オープンソースマガジン
★Professional Mac OS X
★アップルMac OS X Serverドキュメント
★Mac OS X Server本
------------2020年11月8日 15:44追記------------
久々にOS X Server(Mac OS X 1011.6とSever 5.2)でその辺り、触ってみようと思ったらsmb.confファイルとかがこのエントリで指定しているあたりにない。でググると
★SMBに乗り換えたMac――WindowsとMacのファイル共有のいま(後編) (1/2):その知識、ホントに正しい? Windowsにまつわる都市伝説(27) - @IT
もいう別もんですね・・・・・・
「OS X 10.7 Lionが登場したとき、一部のスキャナー複合機では、Macの共有フォルダーに対するスキャン結果の送信ができないというトラブルが話題になりました。アップル独自の実装が原因で、SMBのプロトコル互換性がなくなっただとか、ネットワークスキャン機能が未実装だとかいう人がいましたが、本当の原因はNBTのTCPポート139(という事は445指定出来ればいけてたのか・・・・)を使用しなくなったことにあります。」
このあたり、前に見た覚えがあるな・・・・他のエントリで言及してっかな・・・・
man smbd
で確かに
the smbd utility first appeared in Mac OS 10.7.
となってるのでベースはSambaなのかもしれませんが、ほぼ別物か・・・・・
設定ファイルは/etc/nsmb.confを編集かな?
「NetBIOS名の名前解決やブラウジング、WINS(Windows Internet Naming Service)サーバーへの対応のために、NetBIOSネームサービス(UDPポート137)とNetBIOSデータグラムサービス(UDPポート138)には引き続き対応しています。これはSMBサーバー機能のことで、SMBクライアント機能の方はNBTのTCPポート139にも対応しています。繰り返しになりますが、MacにおけるSMBサーバー機能とSMBクライアント機能は別々の実装なのです。」
ややこしいがSMBのクライアントとサーバーはもう別管理、という事で・・・・・
------------2020年11月8日 15:44追記ここまで------------