安装 Ubuntu 12.04 后,我尝试在 Linux 下从 Windows 挂载 samba 共享,使用始终有效的脚本命令,并且服务器没有改变。
错误如下:
$ mount -t cifs //<host>/<share> /media/<share> -o username=<user>,password=<pass>
mount: block device //<host>/<share> is write-protected, mounting read-only
mount: cannot mount block device //<host>/<share> read-only
$
我读了很多关于权限的讨论,但不幸的是,这不是问题所在。我在下面提交了自己的答案以供参考,希望这对其他人有所帮助。
答案1
给出解决方案后,错误消息完全是误导性的(至少对我来说,我确信权限问题可能会困扰其他人,但就我而言,这是一个始终有效的脚本,并且服务器没有改变 - 只有客户端操作系统发生了变化)。 对我来说,解决方案是缺少 cifs-utils 包,如缺少文件 /sbin/mount.cifs 所示
$ ls /sbin/mount.cifs
ls: cannot access /sbin/mount.cifs: No such file or directory
$ mount.cifs
The program 'mount.cifs' is currently not installed. You can install it by typing:
apt-get install cifs-utils
使用上述命令安装 cifs-utils 后,挂载工作正常。
我意识到使用 mount -t cifs 而不使用 /sbin/mount.cifs 是一个愚蠢的错误,但错误消息完全是误导性的。我在这台客户端计算机上安装了 Samba 服务器,所以也许这就是它混淆的原因。