anatsuk1のウェブログ

ブログを書いてみたい!

Ubuntu ServerでTime MachineとファイルサーバーをSambaで踊る。

SambaとFinderは複雑な関係

ファイルサーバーをUbuntu Severは担っている。ファイルサーバー、Time Machineサーバのサービス、両方ともSambaの担当する。Time Machineサーバーを始めたときから、ファイルサーバーへFinderでメディアファイルをコピーすると、Finderが、絶対に、フリーズして困る。

これは困るのでなんとかしよう!

Sambaのsmb.confを変えよう!

設定を変更する

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アカウントを無効にする。

Mac向けのSambaにする


2021年2月14日アップデート

自作ツールの開発ワークディレクトリをSambaサーバーの共有フォルダにしてる。

設定ファイルをFinderで削除したとき、初めてみるポップアップを見た。 サーバーへsshで接続してから、lsをすると、削除したファイルと似た名前の隠しファイルできていた!

設定を良く眺めてみて、気分を変えてencodingでnativeにしようと思う。


[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を日本語で説明した、とても役に立つページ。

www.samba.gr.jp

ホームディレクトリへ書き込む。

[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でバックアップを実行すると、TimeMachineがフリーズする。SambaのパニックがSambaログに残っていた。

Samba設定を見つけて嬉しかった。この先ずっとこの設定で行ける。そう確信した。