私のLinuxコンピュータで - red-hat
以下のように他のユーザーとして正常にログインしました。
su - userC
[machine@Linux ~]$ pwd
[machine@Linux ~]$ /Users/userC
ただし、ユーザーが1人だけの場合は、次のメッセージが表示されます。
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の内容を確認しましたが、次の2行があります。
セッションにはシステム認証が含まれます。
セッションの選択 pam_xauth.so
私は最初のものをコメントアウトし、セッションを再開して動作しました。
答え3
"/etc/pam.d"のすべてのファイルに"session require 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」に設定されている場合、ユーザーはログインできません。