答案1
在 Ubuntu 18.04 上,我看到了和你一样的屏幕。尝试了各种 Google 搜索后,我找到了一个命令行解决方案。它不是一个完全自动化的 GUI 解决方案……但这是 Linux,对吧。
第一的准备挂载点(仅一次):
$ sudo mkdir /media/$USER/capsule
然后每次你想要安装胶囊时:
如果您和我一样在 Mac 和 Linux 系统上使用相同的用户名:
sudo mount -t cifs //10.0.1.1/Data /media/$USER/capsule -o username=$USER,sec=ntlm,uid=$USER,vers=1.0
别的:
sudo mount -t cifs //10.0.1.1/Data /media/$USER/capsule -o username=MyCapsuleUsername,sec=ntlm,uid=MyCapsuleUsername,vers=1.0
您将被要求输入两个密码,第一个来自sudo
,即您的 Linux 密码,第二个来自胶囊。
.bashrc
注意,为了方便起见,我在文件中创建了一个别名。
注意,//10.0.1.1
是您的胶囊的默认本地 IP 地址,假设您在设置时没有做任何特殊操作。您可以检查路由器设置以获取正确的 IP。/Data
是您为时间胶囊指定的名称,根据您的情况可能会有所不同。
答案2
在全局部分 /etc/samba/smb.conf 中添加以下内容:
[global]
...
client use spnego = no
...
您可以通过命令安装它
gio mount smb://10.0.1.1/Data/
或者在 nautilus 中按 CTRL + L 并输入完整地址
smb://10.0.1.1/Data/
答案3
不幸的是,这里的所有答案都缺少以下相当重要的信息。你给你的时间胶囊起的名字不匹配和/Data
。
时间胶囊的名称对应于网络基本输入输出系统又名主机名。因此它可以作为IP地址。假设它是“TC Peter”。Apple Airport Utility 会将其翻译为TC-PETER
。
该值/Data
对应于时间胶囊 卷名。在这种情况下,它现在将是“AirPort-Laufwerk Peter”,等于/AirPort-Laufwerk Peter
。在其他语言中,这当然是不同的,所以在英语中,这将是/AirPort-Drive Peter
或/AirPort-Volume Peter
但是,在我的示例中,这将给出以下两个可能的命令:
sudo mount.cifs //TC-PETER/'Airport-Laufwerk Peter' /mnt/timecapsule/ -o password='yourpassword',sec=ntlm,uid=1000,vers=1.0
sudo mount.cifs //x.x.x.x/'Airport-Laufwerk Peter' /mnt/timecapsule/ -o password='yourpassword',sec=ntlm,uid=1000,vers=1.0
注意,如果时间胶囊卷名称包含空间!
在我的情况下,对于 Kubuntu 18.04 ,uid 值1000
是正确的。在其他 Linux 发行版和用户上可能有所不同。使用命令检查id -u <username>
。
当 Time Capsule 配置了单一密码(设备管理员或网络密码)时,此安装命令可以正常工作。当 Time Capsule 上的用户帐户配置为访问模式时,此命令不起作用。
就是这样。我可以确认它完美地工作。我花了将近几天的时间才弄清楚这个正确的语法。;-)
其他有用信息:
安装所需的软件包:
sudo apt-get install cifs-utils
sudo apt-get install keyutils
定义您的工作组并启用NTLMv1smb.conf 文件中的支持:
sudo nano /etc/samba/smb.conf
workgroup = <yourworkgroup>
ntlm auth = ntlmv1-permitted
额外的文件系统相关附录:
sudo nano /etc/fstab
以下是每次重启时自动挂载的两个 fstab 配置示例。我已经测试过了,效果非常好。
//TC-PETER/Airport-Laufwerk\040Peter /mnt/timecapsule cifs _netdev,users,vers=1.0,sec=ntlm,password=yourpassword,rw,uid=1000,gid=1000,iocharset=utf8 0 0
//x.x.x.x/Airport-Laufwerk\040Peter /mnt/timecapsule cifs _netdev,users,vers=1.0,sec=ntlm,password=yourpassword,rw,uid=1000,gid=1000,iocharset=utf8 0 0
需要注意的是,\040
当共享名称包含空间. 以前使用的撇号不起作用在 fstab 语法方案中!
有趣的是,经常提出的参数auto
不起作用,在我的例子中,它破坏了整个安装命令。我不知道为什么会这样。这可能是因为参数_netdev
。该参数与网络共享有关,它会延迟安装,直到网络启动并处于活动状态。但是,我还发现该_netdev
标志在较新的版本上不起作用的信息systemd基于 Linux 发行版。因此也可以忽略它。无论如何,共享在被选择时会立即挂载。(dmesg 中没有错误消息。)
进一步的参数是rw
,允许读写访问。(嗯,并非所有 SMB 共享配置示例都包含它,因此其中一个可能是可选的)。告诉iocharset=utf8
Linux 符合 UTF(Windows?)。同样在这里,它可能(强烈?)推荐但不是强制性的。参数vers=1.0
和sec=ntlm
非常不安全,但不幸的是绝对必要,因为 Apple 在其 Time Capsules 上使用了一个非常古老的 SMB 标准。
该功能users
允许所有可用的 Linux 用户进行挂载/卸载,而标志user
仅允许 root/fstab 所有者帐户进行挂载/卸载。该原则应被视为有些不连贯,并且可能无法在 SMB 共享上按预期工作。请注意,在 SMB 共享上创建的所有文件和文件夹(由 Linux 用户创建)都将包含uid=1000
和gid=1000
用户值。
一些 SMB fstab 示例还使用了一个nounix
标志,它明确定义了共享不符合 Linux 标准。好吧,就我而言,无论我是否设置它,我都没有注意到任何差异。
最后,真正不愉快的事情是我在dmesg
几个通知中都叫CIFS VFS: bogus file nlink value 0
。有人建议设置标志noserverino
来解决这个问题。但是,在我使用 Apple Time Capsule SMB1 共享的情况下,它没有任何帮助,通知仍然存在。不管怎样,因为一切都正常,所以我只是忽略它。 ;-)
答案4
我想要自动安装我的联网胶囊。
步骤 1:安装 cifs-utils
$ sudo apt-get install cifs-utils
步骤 2:在 fstab 文件中添加一行
$ sudo nano /etc/fstab
并添加以下行
//192.168.1.17/Data /media/capsule cifs user=John\040Doe,pass=this.is.capsule.pass,rw,uid=johndoe.from.other.pc.id,iocharset=utf8,sec=ntlm,vers=1.0 0 0
和 'user=John\040Doe'
\040
是空间。仅此而已。