/var/log/auth.log
我每隔 10-20 秒就会收到这些日志:
Jun 22 11:31:12 debian smbd[1795]: pam_unix(samba:session): session closed for user nobody
Jun 22 11:31:08 debian smbd[1794]: pam_unix(samba:session): session closed for user nobody
Jun 22 11:30:44 debian smbd[1779]: pam_unix(samba:session): session closed for user nobody
我该如何阻止这种情况?我检查了我的端口,得到了以下信息:
root@debian:/home/debian# netstat -ap | grep smbd
tcp 0 0 *:netbios-ssn *:* LISTEN 19317/smbd
tcp 0 0 *:microsoft-ds *:* LISTEN 19317/smbd
tcp6 0 0 [::]:netbios-ssn [::]:* LISTEN 19317/smbd
tcp6 0 0 [::]:microsoft-ds [::]:* LISTEN 19317/smbd
unix 2 [ ] DGRAM 583178168 19317/smbd /var/cache/samba/msg/19317
unix 2 [ ] DGRAM 583178311 19349/smbd /var/cache/samba/msg/19349
root@debian:/home/debian# netstat -ap | grep samba
unix 2 [ ACC ] STREAM LISTENING 583178532 19378/nmbd /var/run/samba/nmbd/unexpected
unix 2 [ ] DGRAM 583178168 19317/smbd /var/cache/samba/msg/19317
unix 2 [ ] DGRAM 583178311 19349/smbd /var/cache/samba/msg/19349
unix 2 [ ] DGRAM 583178517 19378/nmbd /var/cache/samba/msg/19378
我怎样才能阻止 Samba 日志产生“PAM 会话已关闭”消息?
答案1
我想知道是否可以在这里采用与此类似的方法,请参阅标题为:cron+pam 大量向我的日志发送垃圾邮件。在此问答中,以下内容用于使以类似方式“发送垃圾邮件”日志的 cron 日志安静下来:
session [success=1 default=ignore] pam_succeed_if.so service in cron quiet use_uid
我相信在您的场景中您需要修改cron
为smd
,如下所示:
session [success=1 default=ignore] pam_succeed_if.so service in smbd quiet use_uid
我不能 100% 确定要修改哪个文件,而且手边也没有 Debian 系统来全面审查这一点。我相信它会是这个目录下的一个文件:/etc/pam.d/
,您必须使用它来确定具体是哪个文件。
顺便说一句,出现这些消息是因为为用户定义的 shellnobody
被设置为类似/bin/false
或之类的值/bin/noshell
,这就是导致这些消息出现在auth.log
文件中的原因。
参考
答案2
我遇到了同样的问题,并且在 /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)
这一页帮助我找出原因。