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

Arr*_*cal 11 samba authentication file-sharing 14.04

我已经设置了一个 Ubuntu 14.04 服务器,使用 Samba 将文件共享给我们的 Windows 客户端。一切似乎都正常工作,但是在检查我的身份验证日志时,我看到“会话已为用户关闭”行重复了很多次,尽管没有为该用户打开会话。所有会话打开的消息都包含正确的用户名。

我了解 nobody 用户的角色,但不确定 Samba 为何不断生成此消息。在一行中,“会话关闭”消息重复了 58 次,没有其他身份验证日志消息中断。

Samba 可能配置不正确吗?

如果有帮助,我很高兴发布任何必要的日志/配置/输出。

编辑:

我以前禁用了 Samba 密码同步,pam-auth-update用于停止“No Talloc Stackframe”消息,像这样,是否会生成所有这些会话关闭消息?

Ste*_*ang 7

同样的问题也发生在我身上,当时我无法从 Windows 访问共享文件夹(通过添加位置并访问它,而不先在 Windows 上配置凭据)并在 /etc/samba/smb.conf 中注释以下行有效为我。

\n\n
map to guest = bad user\n
Run Code Online (Sandbox Code Playgroud)\n\n

尝试从 Windows 或其他客户端访问共享文件夹后,立即出现“pam_unix(samba:session):会话已为用户无人关闭”。Windows 客户端似乎尝试以访客身份联系 samba(未验证),特别是当凭证管理器中未配置凭证时。

\n\n

如果您不需要访客访问(默认 = yes),您可能还需要更改以下设置。

\n\n
usershare allow guests = no\n
Run Code Online (Sandbox Code Playgroud)\n\n

更新 /etc/samba/smb.conf 并启动服务后,samba 客户端就可以访问共享文件夹。

\n\n
service smbd status\n\nStarting Samba SMB Daemon...\nStarted Samba SMB Daemon.\npam_unix(samba:session): session opened for user (username) by (uid=0)\npam_unix(samba:session): session closed for user (username)\npam_unix(samba:session): session opened for user (username) by (uid=0)\npam_unix(samba:session): session opened for user (username) by (uid=0)\npam_unix(samba:session): session closed for user (username)\n
Run Code Online (Sandbox Code Playgroud)\n\n

是否有效可能取决于 samba 版本,问题发生在 samba 4.9.5 的机器上,但在我的另一台 samba 版本 4.7.6 的机器上没有发生问题。

\n\n

根据此页面

\n\n
\n

当您尝试以访客身份访问共享时,将使用无人用户。由于您没有为您的用户设置 Samba 密码,因此每次您尝试以您的用户身份进行身份验证时,都会失败并退回到访客访问。

\n
\n


小智 4

我自己也有这个担忧,所以我做了一些挖掘并遇到了很多未解答的论坛问题,但后来我找到了这个答案

nobody是用于在 Linux 发行版上运行服务(例如 apache 和 samba)的系统用户。Root 必须启动该服务,然后将控制权传递给用户nobody


ajc*_*jcg 0

您创建了一个属于“nobody/nogroup”的共享文件夹

sudo chown -R nobody.nogroup /path_to_share/share_folder
Run Code Online (Sandbox Code Playgroud)

但是,你可以通过改变所有权来改变这一点

sudo chown -R root.root /path_to_share/share_folder
sudo chown -R user.user /path_to_share/share_folder # "user" is echo $USER
Run Code Online (Sandbox Code Playgroud)