你好,
我已经安装了 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/
需要存在前您可以在其上安装某些东西。如果不存在,请创建它。