如何将凭证文件传递给 mount.cifs?

如何将凭证文件传递给 mount.cifs?

我正在维护一个由 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 选项也有效。

相关内容