アカウントにsuできません。セッションを開けません。

アカウントにsuできません。セッションを開けません。

私の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」に設定されている場合、ユーザーはログインできません。

関連情報