今回はMac用のファイルサーバ netatalkをインストールします。
20年ぐらい前に使っていたMacOS8.6環境を仮想マシンで動かしているので、必要なんです。
netatalkの情報が少なくなっていますが、一番頼りになるHATさんのページをアーカイブから掘り起こして、参考にさせていただきました!
パッケージのインストール
RHEL9にパッケージがあるのでこれでインストールします。
[root@ace ~]# rpm -qa|grep netatalk
[root@ace ~]# dnf install netatalk
サブスクリプション管理リポジトリーを更新しています。
メタデータの期限切れの最終確認: 1:19:25 前の 2024年02月08日 15時59分31秒 に実施 しました。
依存関係が解決しました。
================================================================================
パッケージ Arch バージョン リポジトリー サイズ
================================================================================
インストール:
netatalk x86_64 5:3.1.18-1.el9 epel 527 k
依存関係のインストール:
dbus-glib x86_64 0.110-13.el9 rhel-9-for-x86_64-appstream-rpms 126 k
dconf x86_64 0.40.0-6.el9 rhel-9-for-x86_64-appstream-rpms 117 k
mariadb-connector-c
x86_64 3.2.6-1.el9_0 rhel-9-for-x86_64-appstream-rpms 203 k
mariadb-connector-c-config
noarch 3.2.6-1.el9_0 rhel-9-for-x86_64-appstream-rpms 11 k
perl-AutoLoader noarch 5.74-480.el9 rhel-9-for-x86_64-appstream-rpms 23 k
perl-B x86_64 1.80-480.el9 rhel-9-for-x86_64-appstream-rpms 185 k
perl-Carp noarch 1.50-460.el9 rhel-9-for-x86_64-appstream-rpms 31 k
perl-Class-Struct noarch 0.66-480.el9 rhel-9-for-x86_64-appstream-rpms 24 k
perl-Data-Dumper x86_64 2.174-462.el9 rhel-9-for-x86_64-appstream-rpms 59 k
perl-Digest noarch 1.19-4.el9 rhel-9-for-x86_64-appstream-rpms 29 k
perl-Digest-MD5 x86_64 2.58-4.el9 rhel-9-for-x86_64-appstream-rpms 39 k
perl-Encode x86_64 4:3.08-462.el9 rhel-9-for-x86_64-appstream-rpms 1.7 M
perl-Errno x86_64 1.30-480.el9 rhel-9-for-x86_64-appstream-rpms 17 k
perl-Exporter noarch 5.74-461.el9 rhel-9-for-x86_64-appstream-rpms 34 k
perl-Fcntl x86_64 1.13-480.el9 rhel-9-for-x86_64-appstream-rpms 23 k
perl-File-Basename
noarch 2.85-480.el9 rhel-9-for-x86_64-appstream-rpms 19 k
perl-File-Path noarch 2.18-4.el9 rhel-9-for-x86_64-appstream-rpms 38 k
perl-File-Temp noarch 1:0.231.100-4.el9
rhel-9-for-x86_64-appstream-rpms 63 k
perl-File-stat noarch 1.09-480.el9 rhel-9-for-x86_64-appstream-rpms 19 k
perl-FileHandle noarch 2.03-480.el9 rhel-9-for-x86_64-appstream-rpms 17 k
perl-Getopt-Long noarch 1:2.52-4.el9 rhel-9-for-x86_64-appstream-rpms 64 k
perl-Getopt-Std noarch 1.12-480.el9 rhel-9-for-x86_64-appstream-rpms 17 k
perl-HTTP-Tiny noarch 0.076-461.el9 rhel-9-for-x86_64-appstream-rpms 57 k
perl-IO x86_64 1.43-480.el9 rhel-9-for-x86_64-appstream-rpms 94 k
perl-IO-Socket-IP noarch 0.41-5.el9 rhel-9-for-x86_64-appstream-rpms 45 k
perl-IO-Socket-SSL
noarch 2.073-1.el9 rhel-9-for-x86_64-appstream-rpms 223 k
perl-IPC-Open3 noarch 1.21-480.el9 rhel-9-for-x86_64-appstream-rpms 25 k
perl-MIME-Base64 x86_64 3.16-4.el9 rhel-9-for-x86_64-appstream-rpms 34 k
perl-Math-BigInt noarch 1:1.9998.18-460.el9
rhel-9-for-x86_64-appstream-rpms 194 k
perl-Math-BigRat noarch 0.2614-460.el9 rhel-9-for-x86_64-appstream-rpms 41 k
perl-Math-Complex noarch 1.59-480.el9 rhel-9-for-x86_64-appstream-rpms 49 k
perl-Mozilla-CA noarch 20200520-6.el9 rhel-9-for-x86_64-appstream-rpms 14 k
perl-Net-SSLeay x86_64 1.92-2.el9 rhel-9-for-x86_64-appstream-rpms 392 k
perl-POSIX x86_64 1.94-480.el9 rhel-9-for-x86_64-appstream-rpms 99 k
perl-PathTools x86_64 3.78-461.el9 rhel-9-for-x86_64-appstream-rpms 92 k
perl-Pod-Escapes noarch 1:1.07-460.el9 rhel-9-for-x86_64-appstream-rpms 22 k
perl-Pod-Perldoc noarch 3.28.01-461.el9
rhel-9-for-x86_64-appstream-rpms 92 k
perl-Pod-Simple noarch 1:3.42-4.el9 rhel-9-for-x86_64-appstream-rpms 229 k
perl-Pod-Usage noarch 4:2.01-4.el9 rhel-9-for-x86_64-appstream-rpms 43 k
perl-Scalar-List-Utils
x86_64 4:1.56-461.el9 rhel-9-for-x86_64-appstream-rpms 77 k
perl-SelectSaver noarch 1.02-480.el9 rhel-9-for-x86_64-appstream-rpms 13 k
perl-Socket x86_64 4:2.031-4.el9 rhel-9-for-x86_64-appstream-rpms 58 k
perl-Storable x86_64 1:3.21-460.el9 rhel-9-for-x86_64-appstream-rpms 98 k
perl-Symbol noarch 1.08-480.el9 rhel-9-for-x86_64-appstream-rpms 16 k
perl-Term-ANSIColor
noarch 5.01-461.el9 rhel-9-for-x86_64-appstream-rpms 51 k
perl-Term-Cap noarch 1.17-460.el9 rhel-9-for-x86_64-appstream-rpms 24 k
perl-Text-ParseWords
noarch 3.30-460.el9 rhel-9-for-x86_64-appstream-rpms 18 k
perl-Text-Tabs+Wrap
noarch 2013.0523-460.el9
rhel-9-for-x86_64-appstream-rpms 25 k
perl-Time-Local noarch 2:1.300-7.el9 rhel-9-for-x86_64-appstream-rpms 37 k
perl-URI noarch 5.09-3.el9 rhel-9-for-x86_64-appstream-rpms 125 k
perl-base noarch 2.27-480.el9 rhel-9-for-x86_64-appstream-rpms 18 k
perl-bignum noarch 0.51-460.el9 rhel-9-for-x86_64-appstream-rpms 47 k
perl-constant noarch 1.33-461.el9 rhel-9-for-x86_64-appstream-rpms 25 k
perl-if noarch 0.60.800-480.el9
rhel-9-for-x86_64-appstream-rpms 16 k
perl-interpreter x86_64 4:5.32.1-480.el9
rhel-9-for-x86_64-appstream-rpms 75 k
perl-libnet noarch 3.13-4.el9 rhel-9-for-x86_64-appstream-rpms 134 k
perl-libs x86_64 4:5.32.1-480.el9
rhel-9-for-x86_64-appstream-rpms 2.2 M
perl-mro x86_64 1.23-480.el9 rhel-9-for-x86_64-appstream-rpms 31 k
perl-overload noarch 1.31-480.el9 rhel-9-for-x86_64-appstream-rpms 47 k
perl-overloading noarch 0.02-480.el9 rhel-9-for-x86_64-appstream-rpms 15 k
perl-parent noarch 1:0.238-460.el9
rhel-9-for-x86_64-appstream-rpms 16 k
perl-podlators noarch 1:4.14-460.el9 rhel-9-for-x86_64-appstream-rpms 118 k
perl-subs noarch 1.03-480.el9 rhel-9-for-x86_64-appstream-rpms 13 k
perl-vars noarch 1.05-480.el9 rhel-9-for-x86_64-appstream-rpms 15 k
弱い依存関係のインストール:
perl-NDBM_File x86_64 1.15-480.el9 rhel-9-for-x86_64-appstream-rpms 25 k
トランザクションの概要
================================================================================
インストール 66 パッケージ
ダウンロードサイズの合計: 8.4 M
インストール後のサイズ: 29 M
これでよろしいですか? [y/N]: y
:
省略
:
インストール済み:
dbus-glib-0.110-13.el9.x86_64
dconf-0.40.0-6.el9.x86_64
mariadb-connector-c-3.2.6-1.el9_0.x86_64
mariadb-connector-c-config-3.2.6-1.el9_0.noarch
netatalk-5:3.1.18-1.el9.x86_64
perl-AutoLoader-5.74-480.el9.noarch
perl-B-1.80-480.el9.x86_64
perl-Carp-1.50-460.el9.noarch
perl-Class-Struct-0.66-480.el9.noarch
perl-Data-Dumper-2.174-462.el9.x86_64
perl-Digest-1.19-4.el9.noarch
perl-Digest-MD5-2.58-4.el9.x86_64
perl-Encode-4:3.08-462.el9.x86_64
perl-Errno-1.30-480.el9.x86_64
perl-Exporter-5.74-461.el9.noarch
perl-Fcntl-1.13-480.el9.x86_64
perl-File-Basename-2.85-480.el9.noarch
perl-File-Path-2.18-4.el9.noarch
perl-File-Temp-1:0.231.100-4.el9.noarch
perl-File-stat-1.09-480.el9.noarch
perl-FileHandle-2.03-480.el9.noarch
perl-Getopt-Long-1:2.52-4.el9.noarch
perl-Getopt-Std-1.12-480.el9.noarch
perl-HTTP-Tiny-0.076-461.el9.noarch
perl-IO-1.43-480.el9.x86_64
perl-IO-Socket-IP-0.41-5.el9.noarch
perl-IO-Socket-SSL-2.073-1.el9.noarch
perl-IPC-Open3-1.21-480.el9.noarch
perl-MIME-Base64-3.16-4.el9.x86_64
perl-Math-BigInt-1:1.9998.18-460.el9.noarch
perl-Math-BigRat-0.2614-460.el9.noarch
perl-Math-Complex-1.59-480.el9.noarch
perl-Mozilla-CA-20200520-6.el9.noarch
perl-NDBM_File-1.15-480.el9.x86_64
perl-Net-SSLeay-1.92-2.el9.x86_64
perl-POSIX-1.94-480.el9.x86_64
perl-PathTools-3.78-461.el9.x86_64
perl-Pod-Escapes-1:1.07-460.el9.noarch
perl-Pod-Perldoc-3.28.01-461.el9.noarch
perl-Pod-Simple-1:3.42-4.el9.noarch
perl-Pod-Usage-4:2.01-4.el9.noarch
perl-Scalar-List-Utils-4:1.56-461.el9.x86_64
perl-SelectSaver-1.02-480.el9.noarch
perl-Socket-4:2.031-4.el9.x86_64
perl-Storable-1:3.21-460.el9.x86_64
perl-Symbol-1.08-480.el9.noarch
perl-Term-ANSIColor-5.01-461.el9.noarch
perl-Term-Cap-1.17-460.el9.noarch
perl-Text-ParseWords-3.30-460.el9.noarch
perl-Text-Tabs+Wrap-2013.0523-460.el9.noarch
perl-Time-Local-2:1.300-7.el9.noarch
perl-URI-5.09-3.el9.noarch
perl-base-2.27-480.el9.noarch
perl-bignum-0.51-460.el9.noarch
perl-constant-1.33-461.el9.noarch
perl-if-0.60.800-480.el9.noarch
perl-interpreter-4:5.32.1-480.el9.x86_64
perl-libnet-3.13-4.el9.noarch
perl-libs-4:5.32.1-480.el9.x86_64
perl-mro-1.23-480.el9.x86_64
perl-overload-1.31-480.el9.noarch
perl-overloading-0.02-480.el9.noarch
perl-parent-1:0.238-460.el9.noarch
perl-podlators-1:4.14-460.el9.noarch
perl-subs-1.03-480.el9.noarch
perl-vars-1.05-480.el9.noarch
完了しました!
[root@ace ~]#
今回はパッケージが用意されていたので楽ちんです!
設定ファイルの編集
[root@ace ~]# cp -p /etc/netatalk/afp.conf /etc/netatalk/afp.conf.orig
[root@ace ~]# vi /etc/netatalk/afp.conf
[root@ace zeke]# cat /etc/netatalk/afp.conf
;
; Netatalk 3.x configuration file
;
[Global]
; Global server settings
vol preset = my default values
mac charset = MAC_JAPANESE
uam list = uams_guest.so uams_clrtxt.so uams_dhx2.so
log level = default:info
afpstats = yes
[my default values]
ea = samba
[Homes]
basedir regex = /home
path = public
[Public]
path = /var/ftp/pub
; [My Time Machine Volume]
; path = /path/to/backup
; time machine = yes
[root@ace zeke]#
設定ファイルを編集します。各ユーザのホームディレクトリとftpの共有フォルダを見えるようにしてみました。
netatalkで共有するフォルダは
[root@ace zeke]# chmod 2755 public
[root@ace zeke]# ls -l
drwxr-xr-x 4 zeke zeke 162 2月 7 18:21 StreamRipper
drwxr-xr-x 5 zeke zeke 4096 6月 11 2017 hofbot
drwxr-sr-x 18 zeke zeke 8192 2月 9 10:58 public
[root@ace zeke]#
のようにSGIDをつけるようです。
自動起動設定
[root@ace ~]# systemctl enable netatalk
Created symlink /etc/systemd/system/multi-user.target.wants/netatalk.service → /usr/lib/systemd/system/netatalk.service.
[root@ace ~]# systemctl start netatalk
[root@ace ~]# systemctl status netatalk
● netatalk.service - Netatalk AFP fileserver for Macintosh clients
Loaded: loaded (/usr/lib/systemd/system/netatalk.service; enabled; preset:>
Active: active (running) since Thu 2024-02-08 17:35:48 JST; 7s ago
Docs: man:afp.conf(5)
man:netatalk(8)
man:afpd(8)
man:cnid_metad(8)
man:cnid_dbd(8)
http://netatalk.sourceforge.net/
Process: 4640 ExecStartPre=/usr/bin/systemd-tmpfiles --create /usr/lib/tmpf>
Process: 4641 ExecStart=/usr/sbin/netatalk (code=exited, status=0/SUCCESS)
Main PID: 4643 (netatalk)
Tasks: 5 (limit: 23114)
Memory: 4.4M
CPU: 191ms
CGroup: /system.slice/netatalk.service
tq4643 /usr/sbin/netatalk
tq4644 /usr/sbin/afpd -d -F /etc/netatalk/afp.conf
mq4645 /usr/sbin/cnid_metad -d -F /etc/netatalk/afp.conf
2月 08 17:35:48 ace.zeke.ne.jp systemd[1]: Starting Netatalk AFP fileserver fo>
2月 08 17:35:48 ace.zeke.ne.jp systemd[1]: netatalk.service: Can't open PID fi>
2月 08 17:35:48 ace.zeke.ne.jp systemd[1]: Started Netatalk AFP fileserver for>
[root@ace ~]#
netatalkの自動起動設定を行い、サービスを起動しました。ステータスで問題ないことを確認です!
OpenSSL3.xでの注意点
いままで、MacOS8.6での認証はDHX(uams_dhx.so)を使っていましたが、OpenSSL3.xを使うと
Feb 08 21:21:31.979624 afpd[1424] {uams_dhx_pam.c:259} (info:UAMS): uams_dhx_pam.c :PAM: Err Generating Key (OpenSSL error code: 41943166, error:0280007E:Diffie-Hellman routines::modulus too small)
とエラーが出て認証しなくなってしまいました。暗号キーが短いと怒られてしまうようになったのかもしれません。
仕方がないのでuams_dhx.soを外してuams_clrtxt.so(暗号化なし)を有効にして認証することにしました。
最初は「現行と同じ設定なのになんで認証しないのだろう」と悩みました。「log level = default:info」を加えてたくさんログが出るようにして上記のエラーメッセージを出したのが決め手になりました。
こちらの掲示板を参考にしました。
動作確認
[root@ace zeke]# afpd -V
afpd 3.1.18 - Apple Filing Protocol (AFP) daemon of Netatalk
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version. Please see the file COPYING for further information and details.
afpd has been compiled with support for these features:
AFP versions: 2.2 3.0 3.1 3.2 3.3 3.4
CNID backends: dbd last tdb mysql
Zeroconf support: Avahi
TCP wrappers support: No
Quota support: No
Admin group support: Yes
Valid shell checks: Yes
cracklib support: Yes
EA support: ad | sys
ACL support: Yes
LDAP support: Yes
D-Bus support: Yes
Spotlight support: No
DTrace probes: Yes
afp.conf: /etc/netatalk/afp.conf
extmap.conf: /etc/netatalk/extmap.conf
state directory: /var/lib/netatalk/
afp_signature.conf: /var/lib/netatalk/afp_signature.conf
afp_voluuid.conf: /var/lib/netatalk/afp_voluuid.conf
UAM search path: /usr/lib64/netatalk/
Server messages path: /var/lib/netatalk/msg/
[root@ace zeke]# asip-status 192.168.1.1
AFP reply from 192.168.1.1:548 via IPv4
Flags: 1 Cmd: 3 ID: 57005
Reply: DSIGetStatus
Request ID: 57005
Machine type: Netatalk3.1.18
AFP versions: AFP2.2,AFPX03,AFP3.1,AFP3.2,AFP3.3,AFP3.4
UAMs: DHX2,Cleartxt Passwrd,No User Authent
Volume Icon & Mask: Yes
Flags:
SupportsCopyFile
SupportsServerMessages
SupportsServerSignature
SupportsTCP/IP
SupportsSrvrNotifications
SupportsOpenDirectory
SupportsUTF8Servername
SupportsUUIDs
SupportsExtSleep
SupportsSuperClient
Server name: ace
Signature:
19 c4 5d 0a fa 7e 35 c4 c4 cf 51 3b ee bd 89 01 ..]..~5...Q;....
Network address: [2001:02c0:cd03:ca00:0000:0000:0000:0ace] (IPv6 address)
UTF8 Servername: ace
[root@ace zeke]#
状態コマンドで状況を確認、想定した設定で動いているようです。
MacOS8.6!からつなげて、共有フォルダが見えることを確認しました。ファイルのコピーもしてみましたが、ちょっと不安定です。
MacOS10.14からつなげば問題なくファイルのコピーができることから、MacOS8.6の仮想マシン環境が悪いような気もします。
ちなみにVirtualBoxのWindowsXP仮想マシンの中で、SheepShaverを使ってMacOS8.6仮想マシンを起動するという、結構むちゃなことをしています。
共有フォルダのコピーはMacintoshで
共有フォルダはnetatalkとsambaによりMacでもWindowsでも参照できますが、natatalkではファイル情報を共有フォルダだけではなく、/var/lib/netatalk/CNID/の下にも格納しています。
[root@ace zeke]# ls -al /var/lib/netatalk/CNID/
合計 4
drwxr-xr-x 4 root root 53 2月 9 10:22 .
drwxr-xr-x 3 root root 82 2月 8 17:35 ..
drwxr-xr-x 4 root root 43 2月 9 10:11 Public
-rw-r--r-- 1 root root 87 10月 5 07:41 README
drwxr-xr-x 4 root root 43 2月 9 10:54 "zeke's home"
[root@ace zeke]#
この情報はボリュームの固有情報も含まれるようで単純なコピーはできなさそうです。
よって、データをコピーするときには共有したMacを操作してコピーする必要があります。
お勧めのKindle本です!
コメント