如果未从提示符中读取密码,mount -t cifs 会失败,如何修复?

如果未从提示符中读取密码,mount -t cifs 会失败,如何修复?

我可以使用以下命令成功挂载 Windows 网络驱动器/共享:

mount -t cfis //servername/sharename /mnt -o 'username=user,sec=ntlmssp'

运行此命令会提示输入密码,然后安装是否正确。

根据man mount.cifs我应该能够做到这一点。

mount -t cfis //servername/sharename /mnt -o 'username=user,password=pwd,sec=ntlmssp'

或这个

PASSWD='pwd' mount -t cfis //servername/sharename /mnt -o 'username=user,sec=ntlmssp'

然而奇怪的是,这两个命令都失败并显示此消息。

 mount error(13): Permission denied

现在因为我们公司做了这种“超级智能”的事情来要求密码特殊字符我的确实包含感叹号“ !”。我知道这对命令行 shell 有特殊的意义,所以我已经正确地转义了它,这样如果我的密码是,pwd!我会发出这两个命令:

PASSWD='pwd\!' mount -t cfis //servername/sharename /mnt -o 'username=user,sec=ntlmssp'

mount -t cfis //servername/sharename /mnt -o 'username=user,password=pwd\!,sec=ntlmssp'

但它仍然不起作用。

连接到 Windows 我没有任何特别的紧迫感来隐藏我的密码(出现在 bash 历史记录中),所以我很乐意找到一种跳过密码提示的方法。

我主要想知道问题是什么?

最后,我什至尝试了一个凭据文件,但也不起作用。

答案1

您最好使用凭证文件

-o credentials=filename|cred=filename
specifies a file that contains a username and/or password and optionally the name of the  workgroup.
The format of the file is:

username=value
password=value
domain=value

相关内容