在我的 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”可以解决
(OL7.7)
sed -i -r 's/^(session\s+required\s+pam_limits.so)/#\1/' /etc/pam.d/*
Run Code Online (Sandbox Code Playgroud)