我可以设置 samba 以便它自动允许所有本地用户名和密码吗?

我可以设置 samba 以便它自动允许所有本地用户名和密码吗?

我已经像这样设置了 Samba(这是完整的smb.conf):

[global]
log file = /var/log/samba/log
log level = 2
security = user

[homes]
browsable = false
read only = no
valid users = %S

我想让服务器上的每个用户都能访问他们的主目录,但由于某些未知原因,只有我的“管理员”帐户可以这样做。(我以前用 ftp 做过这件事,但现在也需要 smb)。

当我尝试时smbclient -L localhost -U [user],我得到了NT_STATUS_LOGON_FAILURE,除了管理员(这是在 ubuntu 安装期间创建的用户,不是根)。

Samba 日志文件显示NT_STATUS_NO_SUCH_USER

[2012/04/04 20:26:02.081454,  2] smbd/reply.c:554(reply_special)
  netbios connect: name1=LOCALHOST      0x20 name2=DIALER-X       0x0
[2012/04/04 20:26:02.081733,  2] smbd/reply.c:565(reply_special)
  netbios connect: local=localhost remote=dialer-x, name type = 0
[2012/04/04 20:26:02.087200,  2] auth/auth.c:314(check_ntlm_password)
  check_ntlm_password:  Authentication for user [public] -> [public] FAILED with error NT_STATUS_NO_SUCH_USER

我怀疑我必须手动创建 samba 用户,但手册页指出,If the client has passed a username/password pair and that username/password pair is validated by the UNIX system's password programs, the connection is made as that username.对我来说,这听起来只要提供的用户名/密码是服务器上的有效登录,它就应该可以工作。

我是否忽略了一些显而易见的事情?我不想/无法手动更新 samba 用户和密码以匹配服务器。


11.10

答案1

您需要使用命令手动将您的用户和密码添加到 samba 用户数据库smbpasswd

由于 Samba 和 Ubuntu 上的标准密码机制都只存储密码的哈希值,而不存储密码本身,因此无法使用本地用户帐户。它们使用的哈希值不兼容,因此无法将密码哈希值从一个数据库导入另一个数据库。

当用户更改密码时,您可以采取一些措施来同时自动更新两个数据库中的密码,例如使用pam_smbpass

相关内容