ファイル共有とは?

簡単に言うと、
  • Public folder を公開すること。
  • File Sharing を On にすれば Public folder が公開される。
  • Public folder のパーミッションは Everyone: Read Only
  • Public folder のパーミッションは変更できる。
  • Public folder には見られてもいいファイルしか置かない。
難しく言うと、
  • AFP で会話すること。
  • AFP サーバーのデーモンを起動すること。

AFP とは?

Apple Filing Protocol (AFP) over TCP
afpovertcp (tcp/548)
ポートは 548 です。

Well known TCP and UDP ports used by Apple software products
http://support.apple.com/kb/ts1629

548 TCP
Apple Filing Protocol (AFP) over TCP
afpovertcp
AppleShare, Personal File Sharing, Apple File Service

5900 TCP
Virtual Network Computing (VNC) (Unregistered Use)
vnc-server
Apple Remote Desktop 2.0 or later (Observe/Control feature)
Screen Sharing (Mac OS X 10.5 or later)

SLP (427) は関係ないの?
AFP (548) だけ開けとけばいい?
MacOSX Leopard 以降、SLP は obsolete なの?
SLP は Network Browser が使ってた?

まずローカルでファイル共有してみて、 Terminal で /var/log/appfirewall.log を見てみる。
% cat /var/log/appfirewall.log | grep 'port 548'
% cat /var/log/appfirewall.log | grep 'port 427'
Console で見てもいい。ポートで 427 が使われている形跡はない。 WAN 側は 548 だけ開ければいいはず。

File Sharing のプロトコルは?

AFP over TCP/IP を使う。ポートは 548。 昔の AppleShare は AppleTalk を使う共有なので現在は obsolete。

LAN の場合。 勝手にローカル・ネットワーク内の AFP サーバーを見つけてくれる。

インターネット経由の場合。 AFP サーバーを勝手に見つけるというわけにはいかない。 どう見つけるか。 サーバーのアドレスを手入力するしかない。

Finder > Go > Connect to Server...
    Server Address: [URL]

あれ? Connection failed...

The server "somewhere.myhost.com" may not exist
or it is unavailable at this time.
Check the server name or IP address,
check your network connection,
and then try again.
firewall で AFP (Apple Filing Protocol) は通ってる?
AFP のポートは 548。
どこかのルーターが SSH と HTTP しか通してない?

想定されるフィルター
CTU のパケット・フィルター
BBR のパケット・フィルター
MacOSX の ipfw
MacOSX の appfirewall

CTU や BBR で
WAN 側からの 548 を通してみる。

リモートから AFP サーバーへ
PortScan してみる。
Applications > Utilities > Network Utility

NAT でひっかかる?
アドレス変換、ポートフォワーディングは?
80 と 22 しかやってないでしょ。
ビンゴですか。

しかし映画のハッカーって
ぜったい「ビンゴォゥ」とかいって
椅子でぐるっと回るね。
http://getnews.jp/archives/51126

ようするに

(1) 各々のホストで

System Preferences > Sharing
    Turn File Sharing On!
(2) 自分のホストで
Finder > Go > Connect to Server...
    Server Address: [URL]
プロトコルはデフォルトで AFP になるので afp: は付けなくていい

問題はホスト名

固定 IP アドレスで AFP サーバーを立てているのなら話は簡単。 その IP アドレスを手入力すればいい。 しかし普通、固定 IP アドレスではないはず。 じゃあどうするか。

DynDNS で独自ドメインを作る。
DynDNS で無料の独自ドメインを取得し、それを運用するということ。 これが一般的 Apple ユーザーには障壁になると思われます。 なのでこういうことを MobileMe でサポートする(MobileMe を買えば独自ドメインがもらえる)のが筋だろうと思いますが、 実際に MobileMe でどうなのかわかりません。 MobileMe は iCloud へ移行して消滅する予定。 (後述)

Server Address

個人でホームサーバーを立てていれば自前ドメインがあるので話は簡単です。 会社にサーバーがあればそのドメインがありますが、 管理者に「ファイアーウォールで AFP 通してよ」って言っても無理でしょ、ふつう。 FTP はもちろん駄目で、SMB も駄目だけど、AFP だけ許しちゃうってのはかなり Apple ラブリーな会社だと思います。

なので、MobileMe (昔の .Mac) というサービスが必要になってくるわけですよ、 普通の人は自前ドメインなんか持ってないから。

自前ドメイン

お名前.com なら自前 .com ドメインが 900円/年。
DynDNS なら独自ドメインが無料。
http://www.dyndns.com/
DynDNS で十分だと思います、普通。

MobileMe の iDisk

http://support.apple.com/kb/HT1774?viewlocale=ja_JP

MobileMe への疑問

Apple のサイトで MobileMe ($99/年) のアカウントを作ると、 自分のパソコンに Apple ドメインのアドレスが付く? つまり Apple ドメインな独自ドメインをもらえる? そのアドレスを File Sharing での Server Address に使えるようになる? たぶん MobileMe にそういうサービスはないのでは? 外出先などから自宅のMacにアクセスできる「MobileMe のどこでも My Mac」って何? 「どこでも My Mac」できると画面共有も出来る? 独自ドメインがあれば MobileMe なくても画面共有できるのでは? できるかもしれないが、「どこでも My Mac」 なら IPSec でデータが暗号化される。 AFP はパスワードを暗号化するけれど、ファイルのデータは暗号化せずに転送される。 iDisk って WebDAVなの? MobileMe の最大の売りは「どこでも My Mac」だと思う。

http://public.me.com/username/ で member Public folder access はできる。 (MobileMe は 2012年6月30日で終わり。 後継の iCloud は 2011年の秋から始まります。iDisk は廃止されます。)

自前ドメインを、お名前.com とか DynDNS で取ってる人は、File Sharing に関してだけなら、MobileMe は特に必要ない。

MobileMe
http://www.me.com/ -- member login
http://www.apple.com/mobileme/
http://www.apple.com/mobileme/transition.html
http://en.wikipedia.org/wiki/MobileMe

iCloud
http://en.wikipedia.org/wiki/ICloud

以下、MacOSX Finder Help より引用。

Sharing files with others who use your computer

You can share files with others who use your computer by placing the files in the Public folder in your home folder. Anyone with an account on your computer can read or copy the items you put in your Public folder (except for your Drop Box folder, which only you can open).

To share files using your Public folder:

Copy the files you want to share into your Public folder, inside your home folder.

To give a copy of a file directly to another person, copy it to their Drop Box folder (inside their Public folder), where only they can see it.

Sharing files with others using a drop box

To give a copy of a file to another user, you can copy the file to the user’s Drop Box folder.

To give a file to another user on your computer:

  1. Open the user’s Public folder (in their home folder in the Users folder on your hard disk).
  2. Hold down the Option key and drag the file to the Drop Box in the user’s Public folder.

To give a file to someone who uses another computer on your network:

  1. Open a Finder window and browse for the computer in the Finder window sidebar (under Shared).
  2. Select the computer, and then open the user’s Public folder.
  3. Drag the file to the Drop Box folder, in the user’s Public folder.

If you can’t find a computer you’re looking for on the network, make sure the other user has file sharing turned on.

Sharing files with others on your network

You can set up your computer to share files and folders with other users on your network. You can share your entire computer with everyone, or allow specific users access only to certain folders.

To share files, you first turn on file sharing, and then, if you want to limit access to specific users or folders, you assign permissions. By default, your computer shares files using Apple Filing Protocol (AFP), but you can also use File Transfer Protocol (FTP) or the Server Message Block (SMB) protocol.

NOTE: Mac OS X is set up by default to allow guest access to shared folders on your computer. To turn off guest access, deselect the “Allow guests to connect to shared folders” checkbox on the Guest Account pane of Accounts preferences.

To set up file sharing:

  1. Choose Apple menu > System Preferences, and then click Sharing.
  2. Select the File Sharing checkbox.
    Any user with an account on your computer (in the Accounts pane of System Preferences) can access your computer by connecting to it over the network. A user with an administrator account can access your entire computer. For more information about creating user accounts, see: Creating a new user account
  3. To select a specific folder to share, click Add (+) at the bottom of the Shared Folders list, and then locate the folder, select it, and click Add.
    By default, the Public folder of each user with an account on your computer is shared. To keep a folder from being shared, select it in the Shared Folders list and click Delete (-).
  4. To give only specific users access to a folder, select the folder in the Shared Folders list and click Add (+) at the bottom of the Users list. Select a category of user, and then select the user and click Select.
    • To select a user from the accounts you’ve set up in Accounts preferences, select Users & Groups.
    • To select a user from users on your network, select Network Users.
    • To select a user in your personal address book, select Address Book.
    • To create a new account that will only be used for sharing, click New Person, enter a name and password, and click Create Account.
  5. Select the user in the Users list, and then click the triangles next to the user name and choose the level of access the user should have to the selected folder:

    No Access: The user can’t see or copy files from the folder.

    Read & Write: The user can see and copy files to and from the folder.

    Read Only: The user can view the contents of the folder, but can’t copy files to it.

    Write Only (Drop Box): The user can copy files to the folder, but can’t view its contents.

  6. To change the protocol used for sharing files, click Options and select AFP, FTP, or SMB.
    If Windows users will connect to your computer to share files, make sure SMB is selected, select the On checkbox next to the name of each Windows user that will share your computer, and enter the password for that user.

topic: macosx
first posted: 2011-07-01 19:20:26
last modified: 2011-07-05 21:28:06