このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

Linux+NetatalkのVolumeを起動時にMountするAppleScriptについて

発言者:なか
( Date Thursday, July 26, 2001 20:43:34 )


はじめまして。なか と申します。

私は、Linux+Netatalkでファイル共有サーバにしています。
Linuxは、Redhat7.1、Netatalkは、pre-asun2.1.4-37b.tar.gz(←MacOSXからもアクセスできる唯一のバージョンと聞いて)を使用しています。

さて、起動時にAppleShareボリュームをマウントしたいと思い、
「Macヘルプ」を参考に(といっても、AppleScript1.5.5の時のですが。バージョンアップしたときに、ヘルプがアップデートされてなくて、今日、ヘルプを1.6のものに変更したらこのような詳しい説明がなくなっていました)

mount volume "afp://user_name:user_password@server_ip_adress/Volume_name/"

というAppleScriptを起動項目に入れたのですが、
マウントしてくれません。
→実行すると、アラートボックスが出て、
「実行誤り  遠隔のファイルのアクセス権の誤りが起きました。」と表示されてしまいます。
(しかし、同じスクリプトで、Mac OS 9.0.4の時はOKでした。AppleScript1.5.5がOKで、1.6が×ということ? 先ほど、調べたら、9.1ではAppleScriptは1.5.5だとの記述も。すると、MacOSX10.0.4も私の場合入れてるから、その関係でアップデートとかで1.6になったのかも?そして、1.6には問題があって、MacOSX10.1で改善されるのかも?Linuxを含めたいろんなマシンとのネットワーキングが強化されるようですから)
Windows2000のSFMで、マウントに問題があるという情報も見かけましたが同様の問題があるのでしょうか?

なお、9.1でも、
mount volume "afp://server_ip_adress/Volume_name/"
としたら、ゲストとしてですがサーバに接続します。
ただし、キーチェーンに登録されているとうまくいきませんので、削除しています。

なお、セレクタを使ってもいいのでしょうが、うちの場合、マウントしたい2つのボリュームのうち、一つしかマウントされないので、AppleScriptではと思ってやってみて、9.0.4ではうまくいって喜んでいたのですが…。

AppleScript1.6では、ネットワークに平文でパスワードが流れることを防ぐため、キーチェーンとの併用によるマウント方法に変わったという記述も見かけた気がするのですが、どうなんでしょうか?

よろしくお願いします。 

田中求之 さんからのコメント
( Thursday, July 26, 2001 22:13:34 )

>mount volume "afp://server_ip_adress/Volume_name/"

mount volume .... as user "someone" with password "pass"

の形でユーザー名とパスワードを指定するのですが、これでもうまくいきませんか?

なか さんからのコメント
( Thursday, July 26, 2001 22:33:30 )

田中求之さん、ありがとうございます。

mount volume "VolumeName" on server "SarverName" as user name "UserName" with password "********"
で、mountできました!!

でも、「情報を見る」で接続の見てみると「AppleTalk経由」となっています。私としては、スピードが速いといわれる「TCP/IP経由」にしたいと思っています。そこで、
mount volume "VolumeName" on server "afp://192.168.0.102/" as user name "UserName" with password "********"
としてみましたが、「誤りがおきました」とエラーが出てしまいました。

「TCP/IP経由」の接続は可能でしょうか?

AppleScript1.5.5(か、それ以前のMacOS9.0.4に付属のAppleScript)の「AppleScriptヘルプ」でも、AppleTalk経由の接続の場合は、上記のスクリプトで、AppleShareIPの場合は、私が最初に書いたスクリプトというふうに紹介されていました。

PS.Tanaka's OSAX、Quarkのふち取りをするソフト「ふーちー君」を使用するので使用していますよ。素晴らしいです!

田中求之 さんからのコメント
( Thursday, July 26, 2001 23:05:50 )

>「TCP/IP経由」の接続は可能でしょうか?

mount volume "afp://server_ip_adress/Volume_name/" as user name "UserName" with password "********"

でいけるはずです。"afp://..." という URL での指定の場合には URL 中に
フォルダ(ディレクトリ)の指定も含めます。

今井真人 さんからのコメント
( Friday, July 27, 2001 08:48:07 )

別件ですが、関連があるので書いておきます。

Linux+Netatalkでファイルサーバにしている場合、クライアントの
マックからセレクタでアクセスする場合、複数のマックから一斉に
接続しようとすると輻輳して接続できない場合があります。

この場合、上記のようなアップルスクリプトと伏せ字ダイアログ表示
するDialog Director v0.7などを組み合わせることが、唯一の解決策
になります。

なか さんからのコメント
( Friday, July 27, 2001 08:58:15 )

田中求之さん、ありがとうございます。

mount volume "afp://server_ip_adress/Volume_name/" as user name "UserName" with password "********"

をやってみましたが、
「遠隔のファイルのアクセス権の誤りが起きました」
と出てしまいます。

mount volume "afp://server_ip_adress/Volume_name/"
なら、ゲストで接続してくれるのですが…。

今井真人 さんからのコメント
( Friday, July 27, 2001 10:03:53 )

>「遠隔のファイルのアクセス権の誤りが起きました」と出てしまいます。

セレクタで、IPアドレスを指定してユーザ名・パスワードでファイルサーバと接続できますよね。

なか さんからのコメント
( Friday, July 27, 2001 12:30:22 )

はい、もちろんできます。

なお、Apple(Japan)のディスカッションボードでも聞いていたのですが、
そこでは、
mount volume "afp://ユーザ名@ホスト名/ボリューム名/"
という方法を教えてもらいました。
このスクリプトの場合、起動時にパスワードを入力するダイアログが出て、
そこにパスワードを入力すると、2つのボリュームがマウントされます。
しかし、ダイヤログにある「キーチェーンに登録」をチェックすると、
今度から1つかマウントされなくなります。
「キーチェーン」を見ると、1つしかサーバが登録されていませんでした。
それを削除すると、また、(パスワードを入れることで)2つのボリューム
がマウントされます。

田中求之 さんからのコメント
( Friday, July 27, 2001 14:11:18 )

変ですね?

MacOS 9.1 でも、私のところはなんら問題なくマウントできています
(ASIP 6.3.2 がサーバです)

Netatalk の方の問題かな?

なか さんからのコメント
( Friday, July 27, 2001 14:21:52 )

そうですね。
Netatalkの問題かもしれません。

ありがとうございました。

アイル さんからのコメント
( Friday, July 27, 2001 17:00:30 )

>AppleScript1.6では、ネットワークに平文でパスワードが流れることを
>防ぐため、キーチェーンとの併用によるマウント方法に変わった

と書かれているくらいですから、当然、
Netatalkでも暗号化パスワードを使うように設定してますよね?

なか さんからのコメント
( Friday, July 27, 2001 17:03:59 )

そういえば、してません!
というのは、MacOS8.1でのマウントに障害が出たことがあったからです。

しかし、平文でないとしたら、暗号化ですね。(^^)
これが原因だったか…。

時間を見つけて、設定を変えてみようと思います。
ありがとうございました。

アイル さんからのコメント
( Friday, July 27, 2001 17:29:53 )

>というのは、MacOS8.1でのマウントに障害が出たことがあったからです。

AppleShare クライアントのバージョンを上げてみてはどうでしょう。

それから、
>スピードが速いといわれる「TCP/IP経由」にしたいと思っています。

とのことですが、私のところで実測してみた限りでは、速くないどころか
かえって遅いくらい。 といっても、Netatalk-1.4b2+asun2.1.3と、
Mac OS 9.0以前の組み合わせですから、Mac OS Xとか9.1では速いのかも
しれません。 どなたか調べた方はいらっしゃいますか?

今井真人 さんからのコメント
( Friday, July 27, 2001 18:14:58 )

>平文でないとしたら、暗号化ですね。(^^)

私はNetatalkのファイルサーバで、双方暗号化パスワードが要求される
ものを見たことがないです。いつもクリアーテキスト(平文)です。

元々Netatalkの仕様にないのかも知れませんよ。

なか さんからのコメント
( Friday, July 27, 2001 18:28:41 )

今井さんは、双方向暗号化パスワードが要求されるものを見たことがないとのことですが…。
pre-asun2.1.4-37b.tar.gz
を展開した時のトップのMakefileに
DESDIR=/usr/local
というのがあって、これの#をとると、双方向暗号化パスワードになるようです。実際それでやって、(しかし、~/.passwdをうまく読んでくれず、/usr/bin/afppasswd -acfとかやったら、/usr/lib/atalkにafppasswdというファイルができ、/usr/bin/afppasswd usernameとすると、2度パスワードを入れるよう促されて、入れると登録されたみたいです。
それで、/etc/atalk/afpd.confに -passwdfile /usr/lib/atalk/afppasswd とするとこで、ちゃんとパスワードを読んでくれるようになり、前置きが長くなりましたが、
mount volume "afp://user_name:user_password@server_ip_adress/Volume_name1/"
mount volume "afp://user_name:user_password@server_ip_adress/Volume_name2/"
という2行のスクリプトで2つのボリュームがちゃんとマウントされることを確認しました。
ただし、/etc/atalk/afpd.confで、-uamlist以下に uams_clrtxt.so をつけていても、MacOS8.1からのアクセスができません。
つまり、トレードオフで、前に、起動時にパスワードを入れると教えて頂いた方法でしばらく様子をみます。
1台あるMacOS8.1がなくなった時点で、移行したいと思います。
ありがとうございました。

PS.なお、この検証はもう一台バックアップ用にあるLinux+Netatalkでソースの展開、make;make installをし直して行いました。



→  Macな話(私のHP。LinuxサーバとMacの共存を考える)

アイル さんからのコメント
( Friday, July 27, 2001 19:14:19 )

>私はNetatalkのファイルサーバで、双方暗号化パスワードが要求される
>ものを見たことがないです。いつもクリアーテキスト(平文)です。

それは、パッケージの標準設定がそうなっていることが多いので、
それをそのままつかっているだけの話でしょう。


>元々Netatalkの仕様にないのかも知れませんよ。

そんなことはありません(^^)。
私は双方向スクランブルに設定して使っています。

なか さんからのコメント
( Friday, July 27, 2001 19:18:11 )

AppleTalk経由より、TCP/IP経由の方が遅いというのは初耳です。
う〜ん。

なか さんからのコメント
( Friday, July 27, 2001 19:19:29 )

続けてすみません、ですが…。

AppleShareクライアントのバージョンをあげるということですが、
OSが対応していない、と言われることもありましたよね、確か…。

ちょっと探してみようかな…。

今井真人 さんからのコメント
( Friday, July 27, 2001 23:58:01 )

>pre-asun2.1.4-37b.tar.gz
>を展開した時のトップのMakefileに
>DESDIR=/usr/local
>というのがあって、これの#をとると、双方向暗号化パスワードになるようです。実際それでやって、

なるほど、結構面倒くさそうですね。私も挑戦してみよう。情報提供ありがとうございました。

なか さんからのコメント
( Saturday, July 28, 2001 16:22:58 )

先の投稿で、8.1では双方向暗号化パスワードに対応していないようなので、マウントできないと書いてましたが、できました!!

どちらの原因かわからないのですが…。
1)別のLinuxマシンでテストしていたが、そのマシンに8.1のユーザのパスワードが登録していなかった。
2)AppleShare Clientのバージョンが古かった。(ちなみに、3.7.4を3.8.3にアップデートしました。)

ありがとうございました!!

Maybe you can help me : MacOS X with Netatalk さんからのコメント
( Saturday, October 06, 2001 08:24:48 )

Hello,

I don't know if you understand English but maybe you can help me.

I have a problem of compatibility with Netatalk (last vs) and Mac OS X.04 and X.1 and I can't activate sharing.

It works properly with a Mac OS 9.1 ...

Maysbe yoou can help me ?

Thanks a lot

Joe ( joel@zonepro.fr )

Makoto Imai さんからのコメント
( Saturday, October 06, 2001 22:29:36 )

Only a specific version is connectable in order to use netatalk 
from a Mac-OS-X client.

Try the version of netatalk of the following. .

netatalk  1.5pre8
http://sourceforge.net/projects/netatalk/