名前
afpd - AppleTalk
ファイリングプロトコルデーモン
書式
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 ] ]
volumename
が指定されない場合、
pathname の最後の '/'
より後の部分が使われる。
ボリューム名として同じ名前を重複して使うことはできない。
type
が指定されない場合、
'????' が使われる。 creator
が指定されない場合、
'UNIX' が使われる。
拡張子 '.'
は、タイプが設定されていない
Unix ファイルに対して、
デフォルトのクリエータとタイプを設定する。
空行と `#'
で始まる行は無視される。
オプション
- -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
で使用されていないので、実装されていない。