계정에 su할 수 없습니다. 세션을 열 수 없습니다.

계정에 su할 수 없습니다. 세션을 열 수 없습니다.

내 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 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"로 설정된 경우 사용자는 로그인할 수 없습니다.

관련 정보