用户ssh登录失败,系统提示fatal: fork of unprivileged child failed

某天开发人员告诉我说应用用户登录不了

[09:35:44]gdyyjdwebuat:/var/log#cat messages
查看ssh登录的安全日志,但此时忘记用tailf用了cat输出了大量信息
[09:35:59]2020-04-15T08:51:50.903475+08:00 gdyyjdwebuat sshd[25223]: Accepted keyboard-interactive/pam for pss from 96.0.23.66 port 60909 ssh2
[09:35:59]2020-04-15T08:51:50.904469+08:00 gdyyjdwebuat sshd[25223]: pam_unix(sshd:session): session opened for user pss by (uid=0)
[09:35:59]2020-04-15T08:51:50.908366+08:00 gdyyjdwebuat systemd-logind[1708]: New session 28931 of user pss.
[09:35:59]2020-04-15T08:51:50.909714+08:00 gdyyjdwebuat systemd[1]: Started Session 28931 of user pss.
[09:35:59]2020-04-15T08:51:50.910750+08:00 gdyyjdwebuat sshd[25223]: fatal: fork of unprivileged child failed
[09:35:59]2020-04-15T08:51:50.912918+08:00 gdyyjdwebuat systemd-logind[1708]: Removed session 28931.
[09:35:59]2020-04-15T08:51:50.913796+08:00 gdyyjdwebuat kernel: [25314907.570679] cgroup: fork rejected by pids controller in /user.slice/user-1001.slice/session-28931.scope
[09:35:59]2020-04-15T08:59:27.180748+08:00 gdyyjdwebuat sshd[25792]: Accepted keyboard-interactive/pam for pss from 96.0.23.66 port 61024 ssh2
[09:35:59]2020-04-15T08:59:27.181796+08:00 gdyyjdwebuat sshd[25792]: pam_unix(sshd:session): session opened for user pss by (uid=0)
[09:35:59]2020-04-15T08:59:27.183786+08:00 gdyyjdwebuat systemd-logind[1708]: New session 28932 of user pss.
[09:35:59]2020-04-15T08:59:27.184255+08:00 gdyyjdwebuat systemd[1]: Started Session 28932 of user pss.
[09:35:59]2020-04-15T08:59:27.185420+08:00 gdyyjdwebuat sshd[25792]: fatal: fork of unprivileged child failed
[09:35:59]2020-04-15T08:59:27.185768+08:00 gdyyjdwebuat kernel: [25315363.844649] cgroup: fork rejected by pids controller in /user.slice/user-1001.slice/session-28932.scope
[09:35:59]2020-04-15T08:59:27.186925+08:00 gdyyjdwebuat systemd-logind[1708]: Removed session 28932.
[09:35:59]2020-04-15T08:59:50.601636+08:00 gdyyjdwebuat sshd[25829]: Accepted keyboard-interactive/pam for pss from 96.0.70.183 port 25002 ssh2
[09:35:59]2020-04-15T08:59:50.602785+08:00 gdyyjdwebuat sshd[25829]: pam_unix(sshd:session): session opened for user pss by (uid=0)
[09:35:59]2020-04-15T08:59:50.605004+08:00 gdyyjdwebuat systemd-logind[1708]: New session 28933 of user pss.
[09:35:59]2020-04-15T08:59:50.605594+08:00 gdyyjdwebuat systemd[1]: Started Session 28933 of user pss.
[09:35:59]2020-04-15T08:59:50.606528+08:00 gdyyjdwebuat sshd[25829]: fatal: fork of unprivileged child failed
[09:35:59]2020-04-15T08:59:50.608016+08:00 gdyyjdwebuat systemd-logind[1708]: Removed session 28933.
[09:35:59]2020-04-15T08:59:50.609775+08:00 gdyyjdwebuat kernel: [25315387.265739] cgroup: fork rejected by pids controller in /user.slice/user-1001.slice/session-28933.scope

[09:35:59]2020-04-15T09:00:01.567053+08:00 gdyyjdwebuat cron[25854]: pam_unix(crond:session): session opened for user root by (uid=0)
[09:35:59]2020-04-15T09:00:01.572089+08:00 gdyyjdwebuat systemd[1]: Created slice User Slice of root.
[09:35:59]2020-04-15T09:00:01.574705+08:00 gdyyjdwebuat systemd[1]: Starting User Manager for UID 0...
[09:35:59]2020-04-15T09:00:01.576445+08:00 gdyyjdwebuat systemd[1]: Started Session 28934 of user root.
[09:35:59]2020-04-15T09:00:01.577500+08:00 gdyyjdwebuat systemd: pam_unix(systemd-user:session): session opened for user root by (uid=0)
[09:35:59]2020-04-15T09:00:01.595179+08:00 gdyyjdwebuat systemd[25855]: Reached target Sockets.
[09:35:59]2020-04-15T09:00:01.595403+08:00 gdyyjdwebuat systemd[25855]: Reached target Paths.
[09:35:59]2020-04-15T09:00:01.595551+08:00 gdyyjdwebuat systemd[25855]: Reached target Timers.
[09:35:59]2020-04-15T09:00:01.595690+08:00 gdyyjdwebuat systemd[25855]: Reached target Basic System.
[09:35:59]2020-04-15T09:00:01.595859+08:00 gdyyjdwebuat systemd[25855]: Reached target Default.
[09:35:59]2020-04-15T09:00:01.596001+08:00 gdyyjdwebuat systemd[25855]: Startup finished in 14ms.
[09:35:59]2020-04-15T09:00:01.596152+08:00 gdyyjdwebuat systemd[1]: Started User Manager for UID 0.
红色的是某段关键信息,可以看到pss用户登录会失败,我以为是服务器的问题,于是换了root用户登录结果发现没问题。那么问题应该就在于ssh上。我发现了一条关键语句
sshd[25792]: Accepted keyboard-interactive/pam for pss from 96.0.23.66 port 61024 ssh2
我搜索了一下这条语句的关键信息,百度上面提示说是SecureCRT的问题,但我同样在此SecureCRT登录另一个用户却是没问题,于是排除了。
还有一条关键语句sshd[25792]: fatal: fork of unprivileged child failed
但百度并没有什么提示,此条忽略
最后一条语句kernel: [25314907.570679] cgroup: fork rejected by pids controller in /user.slice/user-1001.slice/session-28931.scope
一搜索就有相关博文提示了
但别人的是运行java时候报错fork rejected by pids controller in /user.slice/user-1000.slice/
据博文所说
suse的服务器的cgroup通过/sys/fs/cgroup/pids/user.slice/user-1000.slice/pids.max控制当前登录用户(uid为1000)启动的线程总数,执行echo 100000 > pids.max后,运行如下代码可以创建接近10W的线程
在本机cat一下
[10:56:45]gdyyjdwebuat:/root#cat /sys/fs/cgroup/pids/user.slice/user-1001.slice/pids.max
[10:56:45]12288
发现允许的最大线程数是12288
按博文所说echo 100000 > pids.max后pss用户能正常登陆
后记
看了另一篇博文,应该还有一种解决办法:
通过systemctl -t slice 

[10:54:26]gdyyjdwebuat:/root#systemctl -t slice 
[10:54:26]UNIT                                        LOAD   ACTIVE SUB    DESCRIPTION
[10:54:26]-.slice                                     loaded active active Root Slice
[10:54:26]system-getty.slice                          loaded active active system-getty.slice
[10:54:26]system-lvm2\x2dpvscan.slice                 loaded active active system-lvm2\x2dpvscan.slice
[10:54:26]system-systemd\x2dfsck.slice                loaded active active system-systemd\x2dfsck.slice
[10:54:26]system-systemd\x2dhibernate\x2dresume.slice loaded active active system-systemd\x2dhibernate\x2dresume.slice
[10:54:26]system.slice                                loaded active active System Slice
[10:54:26]user-1000.slice                             loaded active active User Slice of systest
[10:54:26]user-1001.slice                             loaded active active User Slice of pss
[10:54:26]user.slice                                  loaded active active User and Session Slice
[10:54:26]
[10:54:26]LOAD   = Reflects whether the unit definition was properly loaded.
[10:54:26]ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
[10:54:26]SUB    = The low-level unit activation state, values depend on unit type.
[10:54:26]
[10:54:26]9 loaded units listed. Pass --all to see loaded but inactive units, too.
[10:54:26]To show all installed unit files use 'systemctl list-unit-files'.
[10:55:18]gdyyjdwebuat:/root#systemctl status user-1001.slice -l
[10:55:18]● user-1001.slice - User Slice of pss
[10:55:18]   Loaded: loaded
[10:55:18]  Drop-In: /run/systemd/system/user-1001.slice.d
[10:55:18]           └─50-After-systemd-logind\x2eservice.conf, 50-After-systemd-user-sessions\x2eservice.conf, 50-Description.conf, 50-TasksMax.conf
[10:55:18]   Active: active since Thu 2020-03-19 21:57:29 CST; 3 weeks 5 days ago
[10:55:18]    Tasks: 12288 (limit: 12288)
[10:55:18]   CGroup: /user.slice/user-1001.slice

可以看到user-1001.slice在3月19号被启动
在CSDN的另一篇博文中介绍通过systemctl start user-1000.slice可以使用systemd进行用户级资源限制
那么我systemctl stop user-1000.slice是否可以取消资源限制,达到pss用户可以登录的目的

参考博文:https://blog.csdn.net/tzjzrq/article/details/82221073

                  https://blog.csdn.net/lanyang123456/article/details/82318978

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值