OSX 上の SMB 共有のカスタム名

OSX 上の SMB 共有のカスタム名

私は Mac を使用して接続する必要がある (Windows) ネットワーク ドライブをいくつか持っています。問題は、これらのサーバーの多くで c$ 共有に直接接続できるようにしたいということです。そのため、マウントされたボリュームのリストは次のようになります。

/巻/C$
/巻/C$-1
/巻/C$-3
/巻/c$-2

これにより、一部のアプリケーションで大きな混乱が発生します。

質問は、マウント ポイントにカスタム名を指定できるかどうかです。たとえば、次のようになります。

/ボリューム/サーバー1
/ボリューム/サーバー2
/ボリューム/サーバー3

これを実現するための解決策を Google で検索することはできませんでしたが、おそらく可能だと思います。現在は Automator スクリプトを使用して接続していますが、シェル スクリプトを使用することも躊躇しません。

...それとも私は間違った考え方をしているのでしょうか?

ご検討いただきありがとうございます。

答え1

次のようなシェル スクリプトでこれを実行できます。

#!/bin/bash

mountpoint='/Volumes/server1'
serverpath='server1.wibble.com/C$'
username='gabeuscorpus'

if [[ -e "$mountpoint" ]]; then
    echo "Error: the path $mountpoint is already in use' >&2
    exit 1
fi

mkdir "$mountpoint" || {
    echo "Error creating mount point" >&2
    exit 1
}

mount -t smbfs "//$username@$serverpath" "$mountpoint" || {
    echo "Error mounting smb://$mountpoint" >&2
    rmdir "$mountpoint"
    exit 1
}

この方法にはいくつか注意点があります。まず、この方法ではサーバー ボリュームがパス /Volumes/server1 の下にマウントされますが、Finder では C$ として表示されます。パスでファイルにアクセスするプログラムは混乱しませんが、ユーザーは混乱します。

次に、ターミナルでサーバーのパスワードの入力を求められます。パスワードを「//$username:$password@$serverpath」の形式で含めることもできますが、その場合、リストを作成するすべてのユーザーにパスワードが表示されますps。残念ながら、キーチェーンに保存されているパスワードは使用されないようです。

最後に、/Volumes ディレクトリは通常、OS X のさまざまな組み込みボリューム マウント システムによって使用されます。手動でマウントされたボリュームを追加しても問題は発生しないと思いますが、競合が発生するリスクがわずかにあります。

関連情報