我已经设置了一个 Ubuntu 14.04 服务器,使用 Samba 将文件共享到我们的 Windows 客户端。一切似乎都正常工作,但在检查我的身份验证日志时,我看到“用户 nobody 的会话已关闭”这一行重复了很多次,尽管没有为该用户打开任何会话。所有会话打开的消息都包含正确的用户名。
我理解 nobody 用户的角色,但不确定为什么 Samba 不断生成此消息。在一行中,“会话已关闭”消息重复了 58 次,没有其他身份验证日志消息中断。
是否可能是 Samba 配置不正确?
如果有帮助的话,我很乐意发布任何必要的日志/confs/输出。
编辑:
我之前曾禁用过 Samba 密码同步,pam-auth-update
以停止“No Talloc Stackframe”消息,就像这样,这是否会生成所有这些会话关闭消息?
答案1
我遇到了同样的问题,当时我无法从 Windows 访问共享文件夹(通过添加位置并访问它,而无需先在 Windows 上配置凭据),并且在 /etc/samba/smb.conf 中注释以下行对我有用。
map to guest = bad user
尝试从 Windows 或其他客户端访问共享文件夹后,立即出现“pam_unix(samba:session): 用户 nobody 的会话已关闭”。似乎 Windows 客户端尝试以访客身份联系 samba(未经验证),尤其是在凭证管理器中未配置凭证的情况下。
如果您不需要访客访问(默认=是),您可能还需要更改以下内容。
usershare allow guests = no
更新 /etc/samba/smb.conf 并启动服务后,samba 客户端就可以访问共享文件夹。
service smbd status
Starting Samba SMB Daemon...
Started Samba SMB Daemon.
pam_unix(samba:session): session opened for user (username) by (uid=0)
pam_unix(samba:session): session closed for user (username)
pam_unix(samba:session): session opened for user (username) by (uid=0)
pam_unix(samba:session): session opened for user (username) by (uid=0)
pam_unix(samba:session): session closed for user (username)
这是否有效可能取决于 samba 版本,该问题发生在装有 samba 4.9.5 的机器上,但在我的另一台装有 samba 版本 4.7.6 的机器上没有出现任何问题。
根据这一页:
当您尝试以访客身份访问共享时,将使用 nobody 用户。由于您没有为用户设置 Samba 密码,因此每次尝试以用户身份进行身份验证时,都会失败并转而使用访客访问。
答案2
我自己也有这种担忧,所以我做了一些调查,遇到了很多未解答的论坛问题,但后来我发现这个答案:
没有人是用于在 Linux 发行版上运行服务(例如 apache 和 samba)的系统用户。Root 必须启动服务,然后将控制权传递给用户没有人。
答案3
您已创建由“nobody/nogroup”拥有的共享文件夹
sudo chown -R nobody.nogroup /path_to_share/share_folder
但是你可以通过改变所有权来改变这一点
sudo chown -R root.root /path_to_share/share_folder
sudo chown -R user.user /path_to_share/share_folder # "user" is echo $USER
答案4
我遇到了同样的问题。我在 tomcat9 中的 Web 应用程序内共享了一个文件夹。好吧,我尝试使用主目录中的文件夹,然后就好了。