linuxマシンで-red-hat
次のように別のユーザーにログインすることに成功しました
su - userC
[machine@Linux ~]$ pwd
[machine@Linux ~]$ /Users/userC
しかし、1人のユーザーだけが私は次のようになります
su - UserA
Creating directory '/User/UserA'.
could not open session
「セッションを開けませんでした」というメッセージが表示されたところからアドバイスをお願いします
何が問題でしょうか?
root@hostname # su - Oracle
could not open session
root@hostname # grep Oracle.*nofile /etc/security/limits.conf
Oracle - nofile unlimited
limits.conf
のnofileを無制限ではなくいくつかの数に設定します。
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$
これは私のために働いたものです、私の場合、suは一部のユーザーのために働いていました。そこで、/ etc/pam.d/suの内容を確認したところ、次の2行でした。
session include system-auth
sessionオプションのpam_xauth.so
私は最初のものをコメントアウトし、セッションを再開し、それはうまくいきました。
/etc/security/limits.conf(またはlimits.d内のファイル)で「nofile」が「unlimited」に設定されている場合、ユーザーはログインできません。
「/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/*
'session include system-auth'をコメントアウトするとうまくいきました。
env:docker oraclelinux:latest、Oracle-database-server-12cR2-preinstall.x86_64パッケージのインストール後。