我有一个Linux Mint SMB服务器设置默认的方式(即它来自apt-get ),所以我有这样的设置:
passdb backend = tdbsam
我有LDAP正确configuration与PAM(和用户login通过SSH正常工作)。
我试图在共享的设置中做到这一点:
valid users = family
family是LDAP服务器上的组。
但是,当我尝试以ldap用户身份连接到服务器时,它不允许我连接。 如果我以本地用户身份连接,则可以使用。
此外,Ubuntu“共享文件夹”控制面板不会显示任何networking用户列表中的人授予访问各种股份。
所以: 为什么这不工作?
加法:
这是我认为是连接的计算机的名称标记的[很长]日志文件的相关部分:
从工作站[DEFIANT]映射用户[SEC1] [christopher]
试图为克里斯托弗(克里斯托弗)做一个user_info
为christopher的user_info结构创buildstring
为christopher的user_info结构制作blob
为christopher(christopher)做了一个user_info
check_ntlm_password:使用新密码界面检查未映射用户[SEC1] [christopher] @ [DEFIANT]的密码
check_ntlm_password:映射的用户是:[SEC1] [christopher] @ [DEFIANT]
check_ntlm_password:由随机创build的auth_context挑战
挑战是:
F9 89 7B 47 67 0B 29 49 …(Gg。)I
检查validation:[克里斯托弗]
check_ntlm_password:客人无话可说
检查validation:[克里斯托弗]
is_myname(“SEC1”)返回1
push_sec_ctx(0,0):sec_ctx_stack_ndx = 1
push_conn_ctx(0):conn_ctx_stack_ndx = 0
设置秒ctx(0,0) – sec_ctx_stack_ndx = 1
安全令牌:(NULL)
用户0的UNIX令牌主要组为0,包含0个辅助组
pdb_getsampwnam(TDB):错误提取数据库。 关键:USER_christopher
pop_sec_ctx(0,0) – sec_ctx_stack_ndx = 0
check_sam_security:在passdb中找不到用户'christopher'。
check_ntlm_password:用户[克里斯托弗]的SAMauthentication失败,错误NT_STATUS_NO_SUCH_USER
check_ntlm_password:用户身份validation[christopher] – > [christopher]失败,错误NT_STATUS_NO_SUCH_USER
检查SEC1 \ christopher的NTLMSSP密码失败:NT_STATUS_NO_SUCH_USER
没有这样的用户克里斯托弗[SEC1] – 使用访客帐户
请注意,“SEC1”是服务器的名称,“DEFIANT”是客户端的名称。 我也尝试连接用户名“\”; 它正确地认识到这个领域,但仍然没有改变任何东西。
当PAM根据LDAP数据库对用户进行身份validation时,Samba根据其tdbsam后端对用户进行身份validation。 简单的解决scheme是用smbpasswd -a <username>或pdbedit -a -u <username>添加它们。 复杂的解决scheme是使用LDAP作为Samba的passdb backend 。
编辑 :请注意,如果您将Sambaconfiguration为使用LDAP作为passdb backend ,它将仅对LDAP用户进行身份validation,而不是对本地用户进行身份validation。