OSX 上 SMB 共享的自定义名称

OSX 上 SMB 共享的自定义名称

我有许多 (Windows) 网络驱动器需要使用我的 Mac 连接 - 诀窍是,在许多这些服务器上,我希望能够直接连接到 c$ 共享。因此,我最终得到了一个已安装卷的列表,如下所示:

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

这导致我的一些应用程序出现很大混乱。

我的问题是:我可以为挂载点指定自定义名称吗?例如:

/卷/服务器 1
/卷/服务器 2
/卷/服务器 3

我还没能用 Google 找到任何解决方案,但我觉得应该可以。我目前使用 Automator 脚本进行连接,但我也不怕用 shell 脚本来连接。

...或者我的想法是错误的?

感谢您的考虑...

答案1

你可以在 shell 脚本中执行此操作,例如:

#!/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 的各种内置卷安装系统使用;我认为添加手动安装的卷不会造成麻烦,但存在发生冲突的小风险。

相关内容