Samba 4 unix 用户 != samba 用户

Samba 4 unix 用户 != samba 用户

对于 samba 专家来说,这可能是一个简单的问题:我有一个 archlinux 机器,它以 samba 4 AD 的形式运行,工作正常。我想向 samba 添加一个用户,这导致我有两个不同的解决方案:

  • 使用以下命令创建仅 Samba 用户samba-tool user add USERNAME
  • 使用以下方式从 unix 用户创建 samba 用户smbpasswd -a <username>

我尝试了这两种方式,但创建的用户具有不同的用户 ID(通用/数字用户名)并且与 unix 用户不匹配,这导致文件权限方面的复杂情况。

有没有办法创建“匹配”用户?还是我完全没理解重点?

答案1

是的,Samba用户和Linux用户是可以区分的。

Linux 用户通过 PAM 进行身份验证。文件类似于/etc/pam.d/login/etc/pam.d/system-auth取决于您的发行版。

相反,samba 用户通过 winbind守护进程进行身份验证。它们通过可读取的域进行身份验证/etc/smb/samba.conf。如果用户通过 samba 身份验证,并且存在这样的 Unix 用户,则默认情况下将其映射到此用户,否则将映射到 nobody。

要访问文件,必须将用户映射到可以访问文件且也可以访问 Samba 中共享文件的用户。有两层安全性。

也可能有用https://ubuntuforums.org/showthread.php?t=1949199

相关内容