我正在维护一个由 mac 和 linux 组成的异构网络,所以我决定创建一个小型 perl 脚本来统一跨机器的安装策略。
Linux 中当前的实现在 /etc/fstab 中运行良好:
//myserverhere.com/cifs_share /mnt/cifs_share cifs 用户,uid=65001,rw,工作组=DEV,凭据=/root/.cifs 0 0
并且 /root/.cifs 包含
username=ouruser
password=ourpassword
我尝试将其转换为非 fstab 格式,如下所示:
mount.cifs //myserverhere.com/cifs_share /mnt/cifs_share user,uid=65001,rw,workgroup=DEV,credentials=/root/.cifs
但它似乎不起作用。
有人能指出我做错什么吗?
提前致谢。
伊斯梅尔·卡斯姆潘:)
答案1
mount.cifs 的语法:
mount.cifs {service} {mount-point} [-o options]
您需要在“-o”后传递选项。例如,使用您给出的选项,您的命令应该是:
mount.cifs //myserverhere.com/cifs_share /mnt/cifs_share \
-o user,uid=65001,rw,workgroup=DEV,credentials=/root/.cifs
(我没有测试你给出的选项。)
答案2
-o vers=1.0 选项与 mount 一起解决了我的问题。将 RHEL 从 7.4 升级到 7.7 后,似乎 SMB 协议版本发生了变化。指定与 cifs 服务器版本匹配的版本。
答案3
我得到的错误是这个:
mount error(5): Input/output error Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
-o vers=3.0 选项与 mount 一起解决了我的问题。我没有升级我的服务器,但我的客户端升级了,但没有通知我。
正如我现在测试的那样,-o vers=1.0 选项也有效。