为 Unix 组配置 Samba 服务器

为 Unix 组配置 Samba 服务器

我正在尝试设置一个 samba 服务器,以便 Linux (RHEL 6)“wheel”组中的用户能够访问。我根据示例创建了 smb.conf这里它会通过示例进行[accounting]。在我的smb.conf我有

[tmp]
    comment = temporary files
    path = /var/share
    valid users = @wheel
    read only = No
    create mask = 0664
    directory mask = 02777
    max connections = 0

(其余的输出$ testparm /etc/samba/smb.conf这里)。 和

groups `whoami`

返回user01 : wheel

当我以 Linux 用户身份从另一台计算机(Mac OS)使用以下命令时(user01):

$ smbclient -L NETBIOSNAME/tmp

它要求输入密码,我没有输入密码就按了回车键,然后得到:

Enter user01's password:
Anonymous login successful
Domain=[DOMAIN] OS=[Unix] Server=[Samba 3.6.9-151.el6_4.1]
Sharename       Type      Comment
    ---------       ----      -------
    tmp             Disk      temporary files
    IPC$            IPC       IPC Service (Samba Server Version 3.6.9-151.el6_4.1)

但当我尝试

$ smbclient //NETBIOSNAME/tmp

我尝试输入用于 Linux 登录的密码,结果记录了一堆内容,包括

check_sam_security: Couldn't find user 'user01' in passdb.
...
session setup failed: NT_STATUS_LOGON_FAILURE

(如果有帮助的话我可以提供更多日志信息。)

我找不到有关在资源中添加组用户所需步骤的更多参考。我是否应该以某种方式手动从组中添加 Samba 用户?

答案1

这里的问题是 Samba 用户存储中没有系统用户。在这种情况下,解决方案是

  1. 创建系统用户“user01”(已完成)
  2. 使用以下命令创建 Samba 用户smbpasswd -a user01
  3. 将“user01”添加到系统wheel组

然后用户就可以访问共享。为了避免维护两个用户数据库,您可以考虑使用 LDAP 之类的东西。

相关内容