anatsuk1のウェブログ

ブログを書いてみたい!

Ubuntu LinuxでファイルサーバーとTime Machineサーバーを構築する!

TimeMachineとSambaとFinderは複雑な関係

ちかごろ、レンタルサーバーにデプロイするコンテンツマネジメントシステムをお試しで使っている。 そろそろ、ブログも引っ越そう!

ある時、SSH接続が切れた。Time Machineの進捗バーは、左と右を長い間、往復して問題を感じた。

Time Machineアドバタイジングと、バックアップストレージの提供は、Sambaが行なっている。 SSHで接続して、VARディレクトリのSambaのログを見る。

PANICが起きてる。

「Time Machineが関係ある!」思い浮かんで、Sambaの設定を見直す!

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にする

[global]セクションの最後にfruitの属性値と設定値を加える!

Netatalkを似せた設定が良いのかと思っていたが、どうも違うよう。

fruit:metadata = streamは注意してね。Panic原因だったかな?と思っている。

   vfs objects = catia fruit streams_xattr
   fruit:copyfile = yes
   fruit:model = MacSamba

   fruit:metadata = stream
   fruit:encoding = native 

   fruit:veto_appledouble = no

   fruit:wipe_intentionally_left_blank_rfork = yes
   fruit:delete_empty_adfiles = yes

vfs_fruitを日本語で説明した、とても役に立つページ。 www.samba.gr.jp

Mac向けSamba設定を説明したSamba公式サイトのWiki wiki.samba.org

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

[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 有効ユーザーのディレクトリアクセスを許可する。
browseable = yes ディレクトリをFinderで見る。
writable = yes 書き込みするディレクトリ。
fruit:time machine = yes [timemachine]セクションはTime Machineの広告をするよ。
fruit:time machine max size = 256G Time Machineのサイズは256GBまでね!

ファイルサーバーだよ

[archive]セクションを追加したよ!

ファイルサーバーの設定。 使っている属性、を知りたい人は、Time Machineサーバーだよ!を見てね!

    path = /var/archive
    valid users = xxxxxxxx

    veto files = /lost+found/
    access based share enum = yes
    browseable = yes

    writable = yes
属性と設定値 効果
veto files = /lost+found/ lost+foundディレクトリをユーザーから隠すよ

まとめ

Ubuntu Linuxに、Sambaをインストールし、ファイル共有、Time Machine広告を実現した。

Sambaの動作はすごく早くてよい、でもTime Machineはちょっと遅い。良いSamba設定ですよ!