タイトル【Mac OS X Public Betaシリーズ】Mac OS Xをファイル共有サーバにはできない…わけではでないカテゴリーネットワーク, Mac OS X, Mac OS X Public Betaシリーズ
作成日2000/10/11 11:2:13作成者新居雅行
2000年10月10日に配信した【Mac OS X Public Betaシリーズ】「Mac OS Xをファイル共有サーバにはできない?」に関して読者の方より、複数のアカウントより参照できる共有フォルダを作ることが可能であることを教えていただいた。ほとんどできないようなことを書いてしまったが、その点については筆者の調査不足でありおわびしたい。

さて、自分のアカウントでログインしたとき、自分のホームフォルダをマウントできると同時に、他人のアカウントの名前のボリュームが見えている。そのボリュームは他人のアカウントのホームフォルダにあるPublicフォルダの中身である。そこには最初から、Drop Boxという名前のフォルダが作られている。他人の名前のアカウントのボリュームをマウントすると、そのDrop Boxは書き込みのみのアクセス権で利用することになり、ファイルをドラッグ&ドロップして送信するだけの利用になる。
ここで、ホームフォルダ内のPublicフォルダ内にフォルダを作る。そして、そのフォルダのアクセス権を変更することで、誰でも書き込みや読み取りが可能なフォルダは作成できるのである。
具体的に説明するために、Adminでない一般ユーザ、all、dog、catという3つのアカウントが作られているとする。allは「誰でも」というつもりだ。Mac OS Xにallでログインし、自分のホームフォルダ内のPublicフォルダをFinderで見える状態にする。そして、FileメニューからNew Folder(Command+Shift+N)を選択して、Public内に新しいフォルダを作成する。そして名前をたとえば、Sharing Filesなどと適当につける。そして、Sharing Filesフォルダを選択した状態で、Inspectorを呼び出す。FileメニューのShow Inspector(Command+I)を選択すればよい。そして、新しく作ったフォルダの情報を表示するインスペクタのウインドウが表示されるので、ShowのポップアップメニューからSharingをを選択する。ここで、所有者やグループ、全員に対するアクセス権が設定することができる。このあたりの操作体系は、Mac OS 9と共通するものがある。ここで、staffというグループがあるが、これはアカウントすべてが所属するグループになっている模様だ。グループのアクセス権を右側のボタンから、Read & Writeを選択する。選択するだけで設定がされ、OKボタンなどを押す必要がない。
こうして、dogやcatのアカウントで、allという名前のボリュームをマウントする。そうすると、書き込みのみのDrop Boxフォルダだけでなく、Sharing Filesという名前の読み書き可能なフォルダが登場する。ここに、たとえばファイルメーカーProのデータベースファイルを置いておけば、みんながダブルクリックして利用できるという次第である。
ところで、Drop Boxフォルダのアクセス件をインスペクタで見て気が付いたのであるが、そのアカウントに対してだけに読み書きが設定されており、他のグループや全員に対してはアクセス権が設定されていない。全員に対して書き込みのみが設定されていて然りだと思うのだが…。なお、Terminalでファイルのアクセス権を見た時には、グループと全員に対して、書き込みは許可、読み込みは不許可の設定がなされていることが確認できた。あえて、インスペクタではそうした情報が見えないようにしているのだろうか。

ちなみに、その意味でいえば、ホームフォルダの内のPublicフォルダのアクセス権をstaffグループに対して読み書き可能にするという手もある。それだと、Drop Boxフォルダも間違えて消してしまう可能性もあるので、Public内にフォルダを作るのがいろいろな意味で安全だろう。
さらに、staffグループは全員に対するものなので、Everyoneに対して設定をしてしまえばいいではないかと思うかも知れない。昨日の記事では紹介しなかったが、Mac OS XのAppleShareサーバにはゲストでアクセスが可能となっている。ゲストのアカウントは、Multiple Usersなどで登録などをしなくても、最初から作られている。ただ、AppleShareに関してはパスワードなしで利用できるゲストをアカウントというのは適切ではないかも知れない。ゲストについては、ホームフォルダは持っていない。ゲストでログオンすれば、アカウント名のボリュームをマウントでき、各アカウントのホームフォルダ内にあるPublicフォルダ以下をマウントできる。その意味では他人の名前のボリュームをマウントするのと同じである。このとき、アカウントとして登録されたユーザとゲストを区別するということが可能である。ゲストはstaffグループに所属していないので、ゲストには書き込みを許さないということであれば、staffグループに読み書きの権限を設定すればいいのである。一方、ゲストにも書き込み許可をしたいのなら、さきほどのインスペクタの設定で、Everyoneつまり全員に対して書き込み可能にすればいいわけだ。なお、ゲストのアクセスを許可しないという設定もおそらくシステム的には可能とは思われるが、設定項目は見当たらない。(実は、NetInfoの設定に、ゲストアクセスの可否、さらにはAppleTalkを使うかどうかを示すようなエントリがある。いずれ試すことができれば、これの結果もお知らせしたいがそれを除くと設定方法は見当たらないのである。)Public以下にファイルを置くと、最低限でもゲストで読み取りということができてしまうため、その意味ではセキュリティ的には甘くなることは認識しておいた方がいいだろう。なお、ゲストは、Drop Boxに対しては書き込みができる。
なお、ここでグループの設定がしっかりできれば、いろいろとアクセス権が設定できて、ファイルサーバとしてもしっかり運用できると思うところだ。グループは、NetInfoで管理されており、/Applications/Utilities/NetInfoManagerというアプリケーションでgroupsのノードに設定されている。だが、このアプリケーションでグループを作って書き換えるということでうまく動く保証がない。どういった設定をすべきかということがAppleから情報として出されるのを待つか、あるいは誰かが完全に解析するのを待つ必要があるだろう。たとえば、staffアカウントの登録ユーザはなぜかrootだけになっている。であるが、Adminでないユーザでログオンしたときも、staffに対して書き込み権限を与えたフォルダは書き込み可能となっているのである。このあたりは分からないことで理由の説明が申し訳ないができないところだ。しかしながら、上記の方法でアカウントの全員が読み書きできるフォルダをマウントすることができるというわけだ。

セキュリティについて補足したい。AppleShare IPは、TCP/IPで利用できるファイルサーバであり、不特定多数からのアクセスは否定できないのではないか(ネットワーク外部からの接続は確認していないが…)。そして、ゲストアクセスで、書き込みが可能であるというのはやや不安でもある。単純なところでは関係のないファイルをばんばん書いて、ハードディスクの容量を圧迫させる悪戯も可能だと思われる。アクセスできるIPの制限などは簡単にはできない模様なので、ファイル共有の機能を使う場合、ファイアウォール内でのみ運用するなどの配慮は必要になるだろう。
関連リンク