Jak*_*son 2 linux samba ubuntu
首先,我对 Linux 和 Samba 还很陌生。
我只是设置了一个基本的 Ubuntu Server 9.10 家庭服务器。我设置了一些目录作为 Samba 共享。我在 Ubuntu 服务器上只有一个登录名,我们称之为bobdole。我确实不但是设置任何特定的Samba用户(使用的smbpasswd)。
现在在 Windows XP 中,我使用这个名为 xplorer2 的第 3 方 Windows 资源管理器软件。我喜欢它,因为它比 Windows 资源管理器好得多。无论如何,当我在 xplorer2 中访问共享时,它当然会询问我的用户名和密码。我输入了bobdole和密码,它让我进入。现在记住,这个bobdole不是我设置的 Samba 用户。这是我登录 Ubuntu 服务器的用户名。
到目前为止,我有点困惑。为什么 Ubuntu 服务器允许我使用我的系统用户名 ( bobdole ) 登录到 Samba 共享?
稍后,我使用普通的 Windows 资源管理器,在访问共享时,它再次询问我的用户名/密码。我再次使用bobdole ......但后来它并没有让我进入。经过一些调查,我开始发现这就是为什么我需要为共享设置特定的 Samba 登录。
所以我的问题是:
这个 explorer2 软件如何使用我服务器的系统用户名而不是实际的 Samba 特定用户名登录到 Samba 共享?为什么普通的 Windows 资源管理器不做同样的事情?
我需要设置 Samba 特定用户吗?(我认为它是,但这种奇怪的行为让我质疑)。
欢迎来到美妙的桑巴舞世界!我已经使用它多年了,非常值得学习。然而,这有点学习曲线。我强烈建议您熟悉/etc/samba/smb.conf和smb.conf(5) 联机帮助页,并将Samba How-To Collection链接放在手边。这些是了解服务器配置方式及其含义的最佳资源。
首先,您需要了解 Windows XP 如何连接到服务器。在 Windows 中,一旦您使用一个用户名与某个服务器建立了连接,您就无法使用不同的用户名与同一台服务器建立另一个连接。(与此同时,Windows识别你如何去解决这些服务器的连接,所以虽然\\ServerName和\\X.X.X.X在同一台机器,到Windows它们是不同的连接。)
其次,您需要了解有关 Samba 和来宾访问的知识。Samba 可以配置为允许任何身份验证失败的用户进行访客访问。在这种配置下,如果您尝试从 Windows 登录并且由于某种原因登录失败(例如,Samba 无法识别用户名),Samba 将建立具有来宾帐户权限的连接。
由于 Ubuntu 已预先配置为易于访问,因此它使用该map to guest = bad user指令自动允许来宾访问未知用户。它还允许访客访问通过 GUI(usershare allow guests = yes指令)创建的公共共享。我认为Ubuntu 默认使用 PAM 进行用户身份验证——默认服务器配置使用encrypt passwords = no,这意味着passdb backend = tdbsam实际上并未使用。
所以,回答你的问题:
您登录是因为 Samba 通过 PAM 对您的 unix 帐户进行了身份验证,或者因为它根本无法识别用户名并将您映射到访客帐户。至于Win Explorer失败的原因,我只能推测。我最好的猜测是它认为您试图以不同的用户身份进行连接(您是否看到错误 1219?)。
不,是的。自动为 Samba 无法识别的用户提供访客访问;使用未加密的密码,使用 PAM,因此我认为您的 Unix 帐户会被自动识别;但是如果您想要加密的 SMB 身份验证,则需要在tdbsam数据库中创建 Samba 用户和密码。