書式
afpd [ -duptDTvI ] [ -f defaultvolumes ] [ -s systemvolumes ] [ -n nbpname ] [ -c maxconnections ] [ -g guest ] [ -P pidfile ] [ -S port ] [ -L message ] [ -F config ] [ -U uams ] [ -m umask ]説明
afpd は AppleTalk ファイリングプロトコル (AppleTalk Filing Protocol, AFP) の インターフェースを Unix ファイルシステムに提供する。 このデーモンは、通常、ブート時に /etc/rc から起動される。 ユーザーに提供されるボリュームの一覧は、 /etc/netatalk/AppleVolumes.system および /etc/netatalk/AppleVolumes.default, ~/AppleVolumes, ~/.AppleVolumes のうちの 1 つから作成される。AppleVolumes ファイルは、マウントするボリュームや ファイル名拡張子の対応付けを指定するために使われる。 以下のようなフォーマットで、1 行に 1 つを指定する:
-
pathname [ volumename ]
.extension [ type [ creator ] ]
オプション
- -d
- デーモンを fork せず、全ての AFP コマンドを標準出力に書き出すように指定する。
- -f defaultvolumes
- デフォルトで提供するボリュームの一覧を、 /etc/netatalk/AppleVolumes.default ではなく defaultvolumes から読み込む。
- -s systemvolumes
- 全てのユーザーに提供するボリュームの一覧を、 /etc/netatalk/AppleVolumes.system ではなく systemvolumes から読み込む。
- -u
- ユーザーの AppleVolumes ファイルを最初に読み込む。 このオプションにより、ユーザーの AppleVolumes ファイルにあるボリューム名が、システムの AppleVolumes ファイルにあるボリューム名よりも優先される。 デフォルトではシステムの AppleVolumes が最初に読まれる。 このオプションがファイル名拡張子の対応付けの優先順位には 影響しない点に注意すること: ユーザーの AppleVolumes ファイルが常に優先される。
- -n nbpname
- NBP の登録に、 ローカルゾーンのホスト名からドメイン部をとった最初の部分ではなく、 nbpname を使うように指定する。
- -c maxconnections
- afpd に許可する最大接続数を指定する。 デフォルトは 5 である。
- -g guest
- ゲストアカウントの名前を指定する。デフォルトは ``nobody'' である。
- -P pidfile
- afpd が自身のプロセス ID を格納するファイルを指定する。
- -p
- クライアントがパスワードを保存しないようにさせる (afpd.conf における -nosavepasswd と等価である)。
- -t
- クライアントがパスワードを変更できるようにする (afpd.conf における -setpasswd と等価である)。
- -D
- トランスポートプロトコルとして DDP (AppleTalk) を使う (afpd.conf における -ddp と等価である)。
- -T
- トランスポートプロトコルとして TCP/IP を使う (afpd.conf における -tcp と等価である)。
- -S port
- AFPoverTCP を実行するときに登録するポートを指定する。 デフォルトは 548 である (afpd.conf における -port と等価である)。
- -L message
- クライアントに送られるログインメッセージを指定する (afpd.conf における -loginmsg と等価である)。
- -F config
- 使用する設定ファイルを指定する (デフォルトは /etc/netatalk/afpd.conf である)。
- -U uams
- 認証プロセスで使用する UAM (訳註: User Authentication Method, ユーザ認証法) の コンマで区切られたリスト (afpd.conf における -uamlist と等価である)。
- -I
- プラットフォーム固有のアイコンを使う (afpd.conf における -icon と等価である)。
- -m umask
- Netatalk でフォルダを作成する際に、この umask を使う。
- -v
- バージョン情報を表示して、終了する。
認証
afpd は、現在のところ、 NoUserAuthent (ゲスト), Cleartxt passwrd, Kerberos IV という 3 つのユーザー認証法 (UAM) を使うことができる。 ユーザーが NoUserAuthent を使った場合、デフォルトのボリュームのみをマウントできる。 また、ゲストユーザーに許可されたファイルについてのみ読み書きが可能である。 -G オプションは NoUserAuthent を使用不可にする。 Cleartxt passwd や Kerberos IV が使われた場合、 afpd は ~/AppleVolumes にリストされている全てのボリュームをユーザーに提供する。 ユーザーは通常読み書きできる全てのファイルの読み書きができる。 AFS を使う際に Cleartxt passwd は推奨されず、 Kerberos IV が推奨される。 アメリカ国外用に、簡略化した UAM, AFS Kerberos が配布の中に含まれている。警告
afpd のディレクトリ ID は、セッションの間を通して固定である。 これは Mac エイリアスが必ずしも常に正しく動作しないことを意味する。アプリケーションが対応付けられているフォルダの名前が変更されると、 そのアプリケーションの APPL 対応付けは使用不能になる。 これは、アプリケーションが作った文書をダブルクリックしても、 そのアプリケーションが起動しなくなることを意味する。 APPL 対応付けは、次に Finder がアプリケーションを参照したときに、 Mac によって再構築される。
afpd が Macintosh ファイル名を小文字化するように設定されている場合、 大文字と小文字の混ざった Unix ファイル名は使うことができない。
キャリッジリターン / ラインフィードの変換が有効にされている場合、 Unix のバイナリファイルを Macintosh にコピーするのは安全でない。
デバイス間でディレクトリを移動することはできない。
既存のボリュームの親ボリュームをマウントした場合、 既存のボリュームのデスクトップデータベースは 親ボリュームからは使えない。 APPL 対応付けや BNDL ビットセットを使ったアプリケーションのアイコンは、 Finder がアプリケーションを参照したときに親ボリューム内に作成される。
ユーザーが自分の ~/AppleVolumes を編集して自分のディレクトリを提供しないようにした場合、 ユーザーは Macintosh から自分の ~/AppleVolumes を編集できなくなる。
`.' で始まる Unix ファイルは、Mac からアクセスできない。
pathname が ~/AppleVolumes ファイルにない場合、そのボリュームはセレクタに現れない。
Microsoft Word の TEXT 文書はキャリッジリターン / ラインフィードの変換が行われない。 なぜなら、MS Word は文書を書き込むときに TEXT ではないタイプを使い、その後でタイプを TEXT に変更するためである。 ユーザーが自分の ~/AppleVolumes を編集できるように、 afpd はファイルの行末文字が (NL, LF の) どちらであっても理解する。
31 文字より長い Unix ファイル名は、Macintosh からアクセスできない。
シグナル
メインの afpd プロセスに送られたシグナルは、子プロセスにも伝えられて、 全てに影響を与える。- SIGHUP
- afpd プロセスは "The server is going down for maintenance." という メッセージをクライアントに送り、5 分以内にシャットダウンする。 新規の接続は許可されない。 子の afpd にシグナルが送られても、他の子プロセスには影響しない。 だだしメインプロセスは終了し、新規の接続はできない。
- SIGUSR1
- configure オプション --with-message-dir が指定された場合、 afpd プロセスは debug オプションを設定し、メッセージを /var/tmp/afpd-debug-pid にリダイレクトする。 このシグナルは子の afpd にのみ送るべきである。 警告: --with-message-dir オプションが指定されていない場合、 このシグナルは afpd プロセスを kill する。
- SIGUSR2
-
afpd
プロセスは
msg
ディレクトリで
message.pid
という名前のファイルを探す。
ファイルが見つかると、それに対応する AFP クライアントに
ファイルの内容をメッセージとして送る。
メッセージが送られた後、ファイルは削除される。
ファイル
- /etc/netatalk/AppleVolumes.default
- マウントするデフォルトのボリュームの一覧
- /etc/netatalk/AppleVolumes.system
- 全てのユーザーに提供するボリュームの一覧
- ~/AppleVolumes
- 各ユーザーがマウントするボリュームの一覧
- /etc/netatalk/msg/message.pid
- ユーザーに送られるメッセージ
- /var/tmp/afpd-debug-pid
- (SIGUSR1 で呼び出された場合の) デバッグ出力
バグ
いくつかの AFP の仕様は、Macintosh で使用されていないので、実装されていない。