![使用主机 (Linux) 凭证向 Samba 服务器进行身份验证](https://linux22.com/image/786901/%E4%BD%BF%E7%94%A8%E4%B8%BB%E6%9C%BA%20(Linux)%20%E5%87%AD%E8%AF%81%E5%90%91%20Samba%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%9B%E8%A1%8C%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81.png)
我有一台 Linux 服务器,上面有几个用户(组的所有成员users
)。他们已经可以通过访问机器的标准方式(tty 登录、SSH 等)连接到该服务器。
我想知道他们是否可以使用系统用户名/密码访问同一台服务器上的 SMB 共享,而无需设置任何 NIS/LDAP/AD/Winbind 绕道,也无需为 samba 设置单独的用户/密码数据库。
我能找到的唯一与此方向相关的资料是此论坛主题(德语)(那边的回复者甚至指出,这种设置太简单了,很难找到建议。)我很想遵循这些说明,但它们对我来说不起作用。
为了测试目的,我设置了可以想象到的最简单的服务器(在转移到生产服务器之前探索情况)。我尝试使用常规 Linux 用户帐户(组成员users
)访问本地服务器。
我的/etc/samba/smb.conf
样子是这样的:
[global]
workgroup = WG
log file = /var/log/samba/log.%m
[tmp]
path = /tmp
comment = tmp on localhost
valid users = +users
和smbclient -N -L localhost
回复
smbclient -N -L localhost
Anonymous login successful
Sharename Type Comment
--------- ---- -------
tmp Disk tmp on localhost
IPC$ IPC IPC Service (Samba 4.15.13-Ubuntu)
SMB1 disabled -- no workgroup available
所以股票在那里。 但如何访问它们?任何尝试smbclient //localhost/tmp
回复:
Password for [WG\myusername]:
Anonymous login successful
tree connect failed: NT_STATUS_ACCESS_DENIED
当我-U <anything>
向命令中添加<anything>
任何现有或不存在的用户名,或username@WG
,以及正确或不正确的密码时,就会Anonymous login successful
消失,但tree connect failed: NT_STATUS_ACCESS_DENIED
会保留。
服务器日志中没有任何反应。
的访问权限/tmp
是1777/drwxrwxrwt
。
(这是为 Unix 组配置 Samba 服务器以防万一证明 Samba 使用 Unix 帐户进行身份验证在技术上是不可能的。)