无法进入帐户:无法打开会话

mai*_*ash 6 users su

在我的 Linux 机器上 - 红帽

我成功登录到不同的用户如下

su - userC
[machine@Linux ~]$ pwd
[machine@Linux ~]$ /Users/userC
Run Code Online (Sandbox Code Playgroud)

但只有在一个用户中我得到以下信息

su - UserA
Creating directory '/User/UserA'.
could not open session
Run Code Online (Sandbox Code Playgroud)

请从我收到“无法打开会话”消息的地方提供建议

可能是什么问题呢 ?

小智 9

root@hostname # su - oracle
could not open session

root@hostname # grep oracle.*nofile /etc/security/limits.conf
oracle          -       nofile          unlimited
Run Code Online (Sandbox Code Playgroud)

将 nofile 设置limits.conf为某个数字而不是无限制:

root@hostname # vi /etc/security/limits.conf
root@hostname # grep oracle.*nofile /etc/security/limits.conf
oracle          -       nofile          65536
root@hostname # su - oracle
-bash-4.1$ id
uid=201(oracle) gid=5504(oinstall) groups=5504(oinstall),251(dba),5502(asmdba),5505(oper)
-bash-4.1$
Run Code Online (Sandbox Code Playgroud)


小智 7

这对我有用,就我而言,su 为某些用户工作。所以,我检查了 /etc/pam.d/su 的内容,它有以下两行:

会话包括系统身份验证

会话可选 pam_xauth.so

我注释掉了第一个,重新启动会话并且它起作用了。


小智 5

在“/etc/pam.d”中的所有文件中注释“session required pam_limits.so”可以解决

  • su:无法打开会话:权限被拒绝
  • runuser:无法打开会话:权限被拒绝

(OL7.7)

sed -i -r 's/^(session\s+required\s+pam_limits.so)/#\1/' /etc/pam.d/*
Run Code Online (Sandbox Code Playgroud)


小智 3

如果在 /etc/security/limits.conf(或 limit.d 中的文件)中将“nofile”设置为“unlimited”,则用户无法登录。