タイトル【Mac OS X Public Betaシリーズ】Mac OS XをFTPサーバにカテゴリーネットワーク, Mac OS X Public Betaシリーズ
作成日2000/10/17 15:53:28作成者新居雅行
Mac OS XをFTPサーバにするには簡単に設定できる。やはり、System PreferencesのSharingで、「Turn on FTP access」のチェックボックスを入れればよい。もちろん、必要ならロックの解除も管理権限のあるアカウントとパスワードで行う。こうすれば、Mac OS 9のネットワーク・ブラウザやNetFinderといったFTPクライアントソフトで接続でき、ファイルのやりとりができる。なお、anonymous(匿名)のアクセスはできない状態になっている。インストール時のアシスタントで設定したアカウントとパスワードを使うか、あるいはMultiple Usersで設定したアカウントとパスワードを使ってログインを行う。接続すると、最初は自分自身のホームフォルダ、つまり、/Users/アカウント名がカレントディレクトリとなっているが、それより下位のフォルダに移動できるのは当然だが、一般的なUNIXサーバと同様に、上位の階層にもアクセス権があれば移動できる。
ただし、問題は日本語のファイル名だ。ボリューム自体にはファイル名はUTF-8で保存される。だからアルファベットはUNICODEなのかASCIIコードなのかは区別されないが、日本語では異なるコードになる。Mac OS Xのボリュームを参照すると、UTF-8のコードがそのまま見えているので、文字コードをShift-JISとしか解釈しないFTPクライアントではもちろん文字化けになる。そのファイルをダウンロードした結果もファイル名は文字化けになってしまう。一方、Mac OS 9からファイルをアップロードする場合、日本語のファイル名のものはエラーとなってしまう。仮にうまく行ったとしても、FTPではきちんと見えるのに、Mac OS X側では異なる文字に見えてしまうだろう。いずれにしても、日本語のファイルのやりとりはFTPを使わないのが原則だろう。そういう場合にはAppleShareファイルサーバ機能を使えばいいのである。
なお、ファイルをMac OS側からアップロードした場合のアクセス権について、簡単に触れておこう(アクセス権の説明はここでは割愛する)。ファイルをアップロードするときには、そのディレクトリに書き込みの権限があるのはまず大前提だ。そして、アップロードしたときには、ファイルの所有権はアカウントになり、グループは、そのディレクトリに設定されているグループとなる。ファイルのアクセス権は一般には666となるのだが、Mac OS Xでも同様なようだ。そして、umaskという値の補数をAND演算されて実際にファイルに設定されるのだが、そのumaskは022となっているのが一般的である。つまり、umaskのビットが1になっている部分が消し込まれるので、666が644になると言う具合だ。FTPでの操作を見る限りはこうした設定になっている模様だ。

Desktopで設定できるのは以上のことだけで終わってしまう。もっと細かくいろいろなことをしてみたい人は、FTPのサーバソフトであるftpdについて研究をすればいいだろう。man ftpdでいろいろな設定ができることが書かれている。
ftpのサーバプロセスであるftpdが呼び出される仕組みは、inetdが使われている。つまり、特定のポートに外部からアクセスがあると、それに応じてプロセスが起動されるという仕組みだ。/etc/inetd.confファイルをチェックすれば、ftpプロトコルに対して「ftpd -l」というプロセス起動が行われていることがわかる。ftpdプロセスの起動にはtcpdを経由しているために、アクセスできるIPアドレスの制約などのチェックも行えるだろう。System PreferencesのSharingにあるチェックボックスは、inetd.confのftpの行を生かすか殺すかという切り替えをしているだけのようなのである。なお、-lというオプションは、/var/log/ftp.logというファイルに接続やログインの記録を取るというオプションである。このftpdは接続したアカウントによって起動されたプロセスとなっている。
関連リンク