git版samba46を使って、NetatalkとSambaを共存

2017年3月22日FreeBSD,Mac,NAS,netatalk

FreeBSD11のsamba44でNetatalkとSambaの共存ができるようになりました。

FreeBSDでもNetatalkとSambaとの共存が出来てた

ですが、この修正が正しく取り込まれたSamba46で試したいところです。Samba46をPortしていただきましたので、試してみました。

  • Netatalkのインストールと設定
  • Samba46のインストールと設定
  • 確認

1. Netatalkのインストール

Netatalkの最新バージョンは3.1.11ですが、FreeBSDでは、まだ3.1.10が最新です。

# pkg search netatalk3
netatalk3-3.1.10_2,1           File server for Mac OS X

とりあえず、これをインストールします。

# pkg install netatalk
# vi /usr/local/etc/afp.conf
# mkdir -p /export/b
# chmod 777 /export/b

/etc/rc.confに、次の設定を足します。

# -- netatalk # Sat Mar 18
dbus_enable="YES"
avahi_daemon_enable="YES"
avahi_dnsconfd_enable="YES"
netatalk_enable="YES"

/usr/local/etc/afp.confは、以下のページを参考にしています。ありがとうございます。

;
; Netatalk 3.x configuration file
;

[Global]
mac charset = MAC_JAPANESE
afpstats = yes
log file = /var/log/netatalk.log
vol preset = my_default_values

[my_default_values]
ea = samba
veto files = /lost+found/
delete veto files = Yes
file perm = 0660
directory perm = 0770

[Homes]
basedir regex = /usr/home
home name = $u-paralles
spotlight = yes
file perm = 0600

[b]
path = /export/b
spotlight = yes

起動します。

# /usr/local/etc/rc.d/netatalk start

2. Samba46のインストールと設定

Samba46のportを作っていただきました。これを利用します。

# pkg install git
# git clone https://github.com/yuichiro-naito/freebsd-ports
# cd freebsd-ports/net/samba46/
# make config-recursive
# make install clean

/etc/rc.confに、次の設定を足します。

# -- Samba4 # Sat Mar 18
samba_server_enable="YES"

/usr/local/etc/smb4.confは、以下のページを参考にしています。ありがとうございます。

testparmの結果です。

# Global parameters
[global]
bind interfaces only = Yes
dos charset = CP932
interfaces = em0 192.168.1.0/24
server string = Freebsd SMB3 Server
local master = No
log file = /var/log/samba4/log.%m
max log size = 50
load printers = No
unix extensions = No
map to guest = Bad User
passwd chat = * %n\n * %n\n *
passwd program = /usr/bin/passwd %u
security = USER
unix password sync = Yes
dns proxy = No
wins support = Yes
streams_xattr:store_stream_type = no
streams_xattr:prefix = user. ●
fruit:resource = file ★
fruit:metadata = netatalk ★
fruit:encoding = native
idmap config * : backend = tdb
delete veto files = Yes
hide files = /.DS_Store/Network Trash Folder/TheFindByContentFolder/TheVolumeSettingsFolder/Temporary Items/.TemporaryItems/.VolumeIcon.icns/Icon?/.FBCIndex/.FBCLockFolder/
map archive = No
store dos attributes = Yes
veto files = /lost+found/
kernel oplocks = Yes
ea support = Yes
map acl inherit = Yes
hosts allow = 127.0.0.0/8 192.168.1.0/24
hosts deny = all
read only = No
vfs objects = catia fruit streams_xattr

[homes]
comment = Home Directories
browseable = No
oplocks = No

[b]
comment = b
path = /export/b
force create mode = 0660
force directory mode = 0770
guest ok = Yes

「●」はsamba44の時の設定から変えたところ、「★」はHATさんの設定に追加したところです。

(追記 2017-03-20 18:05 fruit:metadata = netatalk, fruit:resource = file はデフォルトなので、記述しなくても動作します。)

起動します。

# /usr/local/etc/rc.d/samba_server start

3. 確認

テストには、次のファイルを利用させていただきました。

このファイルを、Finderの移動サーバへ接続…から、サーバアドレスを、afp://parallels/, smb://parallels/と切り替えて接続しています。smbで接続する時は、サーバ側のSambaをsamba44, samba46で切り替えています。

[root@parallels /export/b]# lsextattr user *
ICONandEA by AFP.txt	org.netatalk.Metadata	com.apple.metadata:kMDItemFinderComment	com.apple.TextEncoding
ICONandEA by Samba44.txt	DOSATTRIB	org.netatalk.Metadata	com.apple.metadata:kMDItemFinderCommentcom.apple.TextEncoding
ICONandEA by Samba46.txt	DOSATTRIB	org.netatalk.Metadata	com.apple.metadata:kMDItemFinderCommentcom.apple.TextEncoding

どの結果も、同じになりました。

Samba46

[amazonjs asin="B01KUAIBBE" locale="JP"]

Posted by お市のかた