首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pam_unix为我的域用户生成了许多打开/关闭会话。

pam_unix为我的域用户生成了许多打开/关闭会话。
EN

Server Fault用户
提问于 2020-02-08 20:45:07
回答 1查看 10.7K关注 0票数 3

我用ubuntu18.04设置了一个新的VPS,包括virtualmin/usermin。在auth.log里我看到了很多

代码语言:javascript
复制
su[12936]: Successful su for domain by root
su[12936]: + ??? root:domain 
systemd-logind[148]: New session c315 of user domain .
su[12936]: pam_unix(su:session): session opened for user domain by (uid=0)
su[12936]: pam_unix(su:session): session closed for user domain 

在syslog里,我看到了很多

代码语言:javascript
复制
systemd[1]: Started Session c314 of user domain.
systemd[1]: Started Session c315 of user domain.

域是VPS中定义的虚拟服务器的用户。C 314/C 315每次增加1.它过去每2-3分钟出现一次,现在是每5分钟一次。

在互联网上读到这一点时,所有的“解决方案”都是如何从日志中删除这个日志记录的,但从一开始就没有解释这些开放/关闭会话是什么。

此外,在运行loginctl list-sessions时,这些会话是以"active=yes“和"state=closing”模式累积的,不会从列表中消失。目前有95次这样的会议。

在我的VPS上发生了什么,谁开/关了这么多次,为什么?此外,为什么这些会话从未从会话列表中消失?

谢谢

<#>更新

代码语言:javascript
复制
loginctl session-status c315
c315 - domain (1000)
           Since: Sat 2020-02-08 20:27:08 UTC; 23h ago
          Leader: 12936
             TTY: ???
          Remote: user root
         Service: su; type tty; class user
           State: closing
            Unit: session-c315.scope

Unit user-1000.slice (/user.slice/user-1000.slice):
└─session-2691929.scope
├─19035 sshd: domain [priv]
├─19051 sshd: domain@pts/0
├─19052 -bash
├─20124 sudo systemd-cgls -u user-1000.slice
├─20125 systemd-cgls -u user-1000.slice
└─20126 pager
EN

回答 1

Server Fault用户

发布于 2020-02-10 09:16:21

pam_unix会话正常退出,如日志中所示。这些越来越多的会话是systemd会话,由于某种原因,即使它们不包含任何进程,这些会话仍然是开放的。

您可以尝试的一个解决方法是,当会话领导人退出时,强制systemd杀死所有会话进程。您可以通过在KillUserProcesses中修改/etc/systemd/logind.confKillOnlyUsers设置来做到这一点:

代码语言:javascript
复制
KillUserProcesses=yes
KillOnlyUsers=domain

并重新启动systemd-logind

代码语言:javascript
复制
systemctl restart systemd-logind

但是,这没有回答为什么会话没有自行关闭的问题,因为会话作用域是空的。

编辑:关于pam_unixsystemd会话之间的差异:

  • pam_unix会话包含在添加到/var/run/utmp或从中删除的小记录中。你可以用wwho列出它们,
  • systemd会话更重,如pam手册_系统d中所解释的那样。悬空的systemd消耗更多的资源。它们与loginctl list-sessions一起上市。

由于您是找出一个可能的罪魁祸首 (在这个答案的注释中),您可以应用另一个解决方法:

代码语言:javascript
复制
@include common-session

/etc/pam.d/su中有:

代码语言:javascript
复制
@include common-session-noninteractive

它不包含pam_systemd。当您修改PAM文件时,通常的注意事项是:在测试新配置之前,保持一个 shell活动(例如sudo -i),以防出现故障。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1002341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档