su: 세션을 열 수 없습니다: 권한이 거부되었습니다.

su: 세션을 열 수 없습니다: 권한이 거부되었습니다.

콘솔에서 ssh를 통해 루트로 로그인하려고 하면 "액세스 거부" 상황이 발생합니다(예, 루트 ssh 액세스를 비활성화해야 한다는 것을 알고 있습니다. 방금 이 상자를 상속했습니다). "ALL"에 대한 sudo 액세스 권한이 있는 루트가 아닌 사용자로 로그인할 수 있지만 다음과 같은 결과가 sudo su -나타납니다.

su: cannot open session: Permission denied

올바른 비밀번호라고 생각되는 비밀번호로 "su"를 실행하면 "인증 실패"라는 메시지가 표시됩니다.

인터넷을 뒤져보면 '스스로'를 못하는 사람들을 많이 볼 수 있다.루트가 아닌 사용자"하지만 여기서 효과가 있었던 어떤 해결 방법도 여기에 적용되지 않는 것 같습니다. /etc, /etc/pam.d에 대한 권한은 0755, /etc/pam.d/*에 대한 권한은 모두 0644입니다. 단, 그 외부의 더 관대한 심볼릭 링크는 제외됩니다. . /etc/passwd에 있는 루트 쉘은 /etc/nologin이 없는 /bin/bash입니다(루트가 아닌 사용자의 경우).

이것은 상당히 오래된 Centos 호스트입니다.

꼭 필요한 경우가 아니면 문제를 해결하기 위해 상자를 오프라인으로 전환하고 싶지 않습니다. 루트가 /su / sudo su에 로그인하는 것을 막을 수 있는 다른 것이 있습니까?

고쳐 쓰다 콘솔은 생각보다 오래되지 않았습니다. Centos 7.4입니다.

다음을 실행하여 루트 액세스 권한을 얻을 수 있습니다.

sudo -u root /bin/bash

(그러나 보다 전통적인 접근 방식은 여전히 ​​동일한 오류로 인해 실패합니다.)

"su"를 실행하려고 하면 다음 로그 항목이 나타납니다(그러나 su는 stdout에 오류를 보고하고 종료됩니다).

 May 17 15:25:06 myhost su: pam_limits(su:session): Could not set limit for 'nofile': Operation not permitted
 May 17 15:25:06 myhost su: pam_unix(su:session): session opened for user root by symcbean(uid=0)

답변1

@doneal24는 가장 먼저 살펴봐야 할 곳이 로그에 있다는 점을 올바르게 지적하고 있지만 이 상자는 로컬로 로깅되므로 루트 권한 없이는 이를 수행할 수 없습니다! :(

하지만 여전히 루트 액세스 권한이 있음을 확인했을 때 sudo -u root /bin/bash로그를 볼 수 있었습니다....오류 메시지를 검색하여 /etc/security/limits.conf에 문제가 있음을 발견했습니다.

"루트"에 대한 참조를 제거하면 액세스가 복원됩니다.

관련 정보