Samba 不断发出警告“会话已为用户 nobody 关闭”。为什么?

Samba 不断发出警告“会话已为用户 nobody 关闭”。为什么?

我已经设置了一个 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 应用程序内共享了一个文件夹。好吧,我尝试使用主目录中的文件夹,然后就好了。

相关内容