我应该使用什么凭据来访问 Windows 共享?

我应该使用什么凭据来访问 Windows 共享?

你好,

我已经安装了 Samba 和 CIFS 等,并遵循了一系列教程,但我仍然无法访问单独的 Windows 7 计算机中的共享。以前我可以从 Windows 访问 Ubuntu 中的共享,但现在无论出于什么原因我都无法访问;尝试挂载 Windows 共享时的错误是相同的:13,要求输入凭据(装有 Windows 的计算机现在已关闭,但我可以稍后添加确切的错误消息)。

/etc/fstab有:

# ... (help info) ...
# <file system>                            <mount point>      <type>     <options>                                  <dump> <pass>
# ... (mounting points that don't matter for the question) ...
//192.168.1.2/C\:/Users/Public/Documents   /srv/Z\:/          cifs       user=guest,password=,uid=1000,iocharset=utf8   0      0

我还尝试了诸如username=guest,uid=1000,iocharset=utf8和 之类的选项guest,uid=1000,iocharset=utf8,当然,它们不起作用。我应该使用哪个用户?(user=user;;username=user我的 Windows 和 Ubuntu 计算机中的凭据不起作用,至少对于我尝试的语法来说 - 与此类似)。

即使这有效,这实际上也不是我想要的。我想为任何试图访问驱动器的人设置身份验证(目前是 777,对于 Linux 共享也是如此),并对共享的使用设置限制/配额(正如我Z:在 Windows 上看到的,它允许C:填满整个驱动器)。

提前谢谢您。如果您能提出一种方法来做到这一点,即使没有最后一段,我也会很高兴。

答案1

mount.cifs手册页在这里非常方便。在选项部分下:

  • user=arg指定要连接的用户名。如果未指定,则使用环境变量 USER。此选项还可以采用“user%password”或“workgroup/user”或“workgroup/user%password”的形式,以允许将密码和工作组指定为用户名的一部分。

  • password=arg指定 CIFS 密码。如果未指定此选项,则使用环境变量 PASSWD。如果未通过 mount 的参数直接或间接指定密码,mount.cifs 将提示输入密码,除非指定了 guest 选项。

    请注意,包含分隔符(即逗号“,”)的密码将无法在命令行上正确解析。但是,在 PASSWD 环境变量中或通过凭证文件(见下文)定义的或在密码提示符下输入的相同密码将被正确读取。

简而言之,Windows(如果我们不谈论 Windows,则是 Samba 服务器)所期望的凭据,而不是您本地的 Ubuntu 凭据。


在侧边栏上,您的 fstab 字符串中的路径看起来完全崩溃。 我会建议:

//192.168.1.2/共享名称/srv/z/

如果您不知道共享名称是什么,请使用smbclient

smbclient -I 192.168.1.2 -Uusername

这应该会列出资源。它还可以让您测试应该使用哪个用户名。

并且/srv/z/需要存在您可以在其上安装某些东西。如果不存在,请创建它。

相关内容