在我的 Linux 机器上 - red-hat
我成功登录到不同的用户,如下所示
su - userC
[machine@Linux ~]$ pwd
[machine@Linux ~]$ /Users/userC
但只有一个用户我得到以下信息
su - UserA
Creating directory '/User/UserA'.
could not open session
请从我收到消息“无法打开会话”的地方提供建议
可能是什么问题呢 ?
答案1
root@hostname # su - oracle
could not open session
root@hostname # grep oracle.*nofile /etc/security/limits.conf
oracle - nofile unlimited
将 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$
答案2
这对我有用,在我的例子中,su 为一些用户工作。因此,我检查了 /etc/pam.d/su 的内容,它有以下两行:
会话包括系统身份验证
会话可选 pam_xauth.so
我注释掉了第一个,重新启动会话并且它起作用了。
答案3
在“/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/*
答案4
如果在 /etc/security/limits.conf(或 limit.d 中的文件)中将“nofile”设置为“unlimited”,则用户无法登录。