Ubuntu ServerでTime MachineとファイルサーバーをSambaで踊る
By Patineboot
SambaとmacOS
macOSからSambaへは、Time Machine、Finder(SMB)が接続を行う。macOSを考慮するSambaコンフィギュレーションを試す。
SambaとFinderは複雑な関係
ファイルサーバーをUbuntu Severは担っている。ファイルサーバー、Time Machineサーバのサービス、両方ともSambaが担当する。Time Machineサーバーを始めたときから、ファイルサーバーへFinderでメディアファイルをコピーすると、 Finderが、絶対に、フリーズして困る。
これは困るのでなんとかしよう!
Sambaのsmb.confを変えよう!
設定ファイルsmb.conf
Sambaの設定ファイルを書き換えよう!Sambaの設定ファイルは/etc/samba/smb.conf
に、あるよ!
設定ファイルは、セクション、属性と設定値、を記述する。
フォーマットは次のとおり。
[セクション] ← セクションの開始。
属性 = 設定値
設定ファイルを書き換えると、ファイルサーバーへログイン時に使用するユーザー、公開ディレクトリのパス、ファイル参照権限、などをカスタマイズできる。
俺はいつも、nanoコマンドで設定ファイルを開いている。
コマンド例 :
sudo nano /etc/samba/smb.conf
登録済みユーザーに限り、ログインする
[global]セクションを変更するよ。
map to guest = Never ← 値を変更したよ。
guest ok = no ← 新しく追加したよ。
登録済みのユーザーに限り、ログイン可能にしたよ。
-
map to guest = Never
Sambaに登録済みユーザー「だけ」、ログインを成功する。
-
guest ok = no
Guestアカウントを無効にする。
macOSを考慮するSamba
2021年2月14日アップデート
自作ツールの開発ワークディレクトリをSambaサーバーの共有フォルダにしてる。
設定ファイルをFinderで削除したとき、初めてみるポップアップを見た。 サーバーへsshで接続してから、lsをすると、削除したファイルと似た名前の隠しファイルできていた!
設定を良く眺めてみて、気分を変えてencodingでnativeにしようと思う。
fruit設定を追加
[global]セクションの最後にfruitの属性値と設定値を加える!
vfs objects = catia fruit streams_xattr
fruit:aapl = yes
fruit:nfs_aces = yes
fruit:copyfile = yes
fruit:zero_file_id = yes
fruit:model = MacSamba
fruit:resource = file
fruit:metadata = netatalk
fruit:locking = none
fruit:encoding = native
fruit:veto_appledouble = yes
fruit:wipe_intentionally_left_blank_rfork = yes
fruit:delete_empty_adfiles = yes
fruit:lockingは、 none。 netatalkでは、Time MachineするとSambaがアボートするので、注意ね。
vfs_fruitを日本語で説明した、とても役に立つページ。
ホームディレクトリへ書き込む
ホームディレクトリは、[home]セクションの書き込み設定を書き換える!
read only = no ← 書き換え
; create mask = 0700 ← コメントアウトを使って行を無効にしたよ
; directory mask = 0700 ← コメントアウトを使って行を無効にしたよ
read only = no: ディレクトリに書き込みするよ。読み込みと実行もするよ。
セクションのcreate maskと、directory maskを無効にして、Sambaのデフォルト値を使用するよ。
- デフォルト値、create mask: 0744だよ。作成者は「フルアクセス」、他ユーザーは「読み出し」だよ。
- デフォルト値、directory mask: 0755だよ。作成者は「フルアクセス」、他ユーザーは「読み出し、移動」だよ。
Time Machineだよ!
[timemachine]セクションを追加したよ!
[timemachine]
path = /var/timemachine
valid users = recorder
access based share enum = yes
browseable = yes
writable = yes
fruit:time machine = yes
fruit:time machine max size = 256G
属性と設定値 | 効果 |
---|---|
path = /var/timemachine | Time Machineを保管するディレクトリ! |
valid users = recorder | ユーザー「recorder」だけ、アクセスする。 |
access based share enum = yes | ユーザー「recorder」はFinderで見る! |
browseable = yes | ディレクトリをFinderで見る。 |
writable = yes | 書き込みするディレクトリ。 |
fruit:time machine = yes | [timemachine]セクションはTime Machine、Sambaに教えるよ。 |
fruit:time machine max size = 256G | Time Machineのサイズは256GBまでね! |
ファイルサーバーだよ
[archive]セクションを追加したよ!
ファイルサーバーの設定。 属性と効果を知りたい人は、Time Machineだよ!を見てね!
path = /var/archive
valid users = xxxxxxxx
access based share enum = yes
browseable = yes
writable = yes
何とかなった!
なんどもFinderでSambaへコピーを繰り返す。Sambaを、実際に動かしながら、設定を発見した。 SambaをチューニングしているときにFinderのフリーズとたくさん遭遇した。なんどもmacOSからFinderを強制終了する。macOSを再起動するシャットダウンも強制終了になる。
コピーが成功したので、Time Machineでバックアップを実行すると、 Time Machineがフリーズする。SambaのパニックがSambaログに残っていた。
Samba設定を見つけて嬉しかった。この先ずっとこの設定で行ける。そう確信した。