
시간을 내어 내 문제를 확인해 주셔서 감사합니다.
저는 현재 이전에 한 번만 나타난 문제를 해결하기 위해 노력하고 있습니다. 1월 3일에 이것이 처음 나타났을 때 서버를 재부팅할 수 있었고 모든 것이 괜찮아 보였지만 지금은 다시 돌아왔습니다. 이는 프로덕션 데이터베이스 시스템이므로 재부팅할 창을 찾는 것이 때때로 어려울 수 있습니다. 문제에 대한 또 다른 임시 수정 사항을 제공하기 위해 며칠 후에 다시 재부팅하기 전에 이번에 실제로 무슨 일이 일어날 수 있는지 확실히 파악하기를 바랍니다. 자, 가자...
문제의 시스템에 대한 사용자 인증은 Red Hat Directory Server 9를 통해 LDAP로 처리됩니다. 아래에 설명된 문제는 이 한 서버에서만 나타나며 데이터베이스를 공유하는 해당 서버에서도 동일한 증상이 표시되지 않습니다. 현재로서는 서버를 인증하고 로그인할 수 있는 LDAP 계정이 없습니다. LDAP 인증은 SSSD에서 처리 중이며 현재 중지하거나 다시 시작할 수 없습니다. 두 가지 중 하나를 수행하려고 하면 SSH 콘솔이 응답하지 않게 됩니다. (ctrl-c는 실행된 명령을 종료할 수 없습니다)
PS는 일반적인 sssd 관련 프로세스가 실행 중임을 보여 주지만 kill -9
해당 프로세스를 시도해도 성공적으로 중지되지 않는 것 같습니다.
ps aux | grep sss | grep -v grep
root 1150 0.0 0.0 150828 2908 ? D 09:05 0:00 /usr/libexec/sssd/sssd_nss -d 0 --debug-to-files
root 7025 0.0 0.0 93616 2504 pts/2 D 16:18 0:00 /usr/sbin/sssd -f -D
root 11148 0.0 0.0 179436 5672 ? D Jan08 16:22 /usr/libexec/sssd/sssd_be -d 0 --debug-to-files --domain default
root 32700 0.0 0.0 150784 2908 ? D 10:10 0:00 /usr/libexec/sssd/sssd_pam -d 0 --debug-to-files
를 사용하면 strace getent -s sss passwd
일부 연결 시도가 거부되는 것을 볼 수 있지만 이에 대해 어떻게 해야 할지 잘 모르겠습니다.
connect(3, {sa_family=AF_FILE, path="/var/lib/sss/pipes/nss"...}, 110) = -1 ECONNREFUSED (Connection refused)
close(3) = 0
socket(PF_FILE, SOCK_STREAM, 0) = 3
fcntl(3, F_GETFL) = 0x2 (flags O_RDWR)
fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0
fcntl(3, F_GETFD) = 0
fcntl(3, F_SETFD, FD_CLOEXEC) = 0
connect(3, {sa_family=AF_FILE, path="/var/lib/sss/pipes/nss"...}, 110) = -1 ECONNREFUSED (Connection refused)
close(3) = 0
socket(PF_FILE, SOCK_STREAM, 0) = 3
fcntl(3, F_GETFL) = 0x2 (flags O_RDWR)
fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0
fcntl(3, F_GETFD) = 0
fcntl(3, F_SETFD, FD_CLOEXEC) = 0
connect(3, {sa_family=AF_FILE, path="/var/lib/sss/pipes/nss"...}, 110) = -1 ECONNREFUSED (Connection refused)
확인 결과 lsof | head -n1; lsof | grep /var/lib/sss/pipes/
좋은 시스템과 나쁜 시스템 사이에 열린 파이프가 훨씬 적은 것으로 나타났습니다. 이 파이프의 PID는 에서 보고된 것과 동일 ps aux
하므로 시도해 kill -9
도 소용이 없습니다.
나쁜 SSD
lsof | head -n1; lsof | grep /var/lib/sss/pipes/
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sssd_be 11148 root 15u unix 0xffff8806635911c0 0t0 31817638 /var/lib/sss/pipes/private/sbus-dp_default.11148
sssd_be 11148 root 16u unix 0xffff880d443d6180 0t0 31783555 /var/lib/sss/pipes/private/sbus-dp_default.11148
sssd_be 11148 root 17u unix 0xffff880c536d94c0 0t0 31783560 /var/lib/sss/pipes/private/sbus-dp_default.11148
좋은 SSD
lsof | head -n1; lsof | grep /var/lib/sss/pipes/
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sssd 26793 root 13u unix 0xffff88030b5d8c40 0t0 3248762734 /var/lib/sss/pipes/private/sbus-monitor
sssd 26793 root 14u unix 0xffff8808cc064bc0 0t0 3248762735 /var/lib/sss/pipes/private/sbus-monitor
sssd 26793 root 15u unix 0xffff880a9d9bc840 0t0 3248768164 /var/lib/sss/pipes/private/sbus-monitor
sssd 26793 root 16u unix 0xffff880040a32f00 0t0 3248768165 /var/lib/sss/pipes/private/sbus-monitor
sssd_be 26794 root 15u unix 0xffff8808cc064200 0t0 3248767368 /var/lib/sss/pipes/private/sbus-dp_default.26794
sssd_be 26794 root 16u unix 0xffff880a9d9bd880 0t0 3248763661 /var/lib/sss/pipes/private/sbus-dp_default.26794
sssd_be 26794 root 17u unix 0xffff8809841b4480 0t0 3248763662 /var/lib/sss/pipes/private/sbus-dp_default.26794
sssd_nss 26795 root 16u unix 0xffff880a9d9bd200 0t0 3248751954 /var/lib/sss/pipes/nss
sssd_pam 26796 root 16u unix 0xffff880859e26180 0t0 3248774325 /var/lib/sss/pipes/pam
sssd_pam 26796 root 17u unix 0xffff880859e27b80 0t0 3248774326 /var/lib/sss/pipes/private/pam
또한 /var/log/secure에는 다음 항목이 여러 개 포함되어 있습니다.
sshd[9177]: pam_succeed_if(sshd:auth): error retrieving information about user
su: pam_sss(su-l:session): Request to sssd failed. Connection refuse
crond[29568]: pam_sss(crond:session): Request to sssd failed. Connection refused
추가적으로 제가 가장 먼저 알아차린 것 중 하나는 /var/log/messages 파일에 데이터가 없다는 것이었습니다. 해당 로그와 /var/log/sssd/ 로그 모두 오늘 아침 9시 3분경에 수집이 중지된 것 같습니다. /var/log/secure는 문제 없이 계속 데이터를 축적했습니다. syslog를 다시 시작하면 메시지 문제가 해결되었지만 sssd 로그는 여전히 작동하지 않습니다.
audit: backlog limit exceeded
audit: audit_backlog=322 > audit_backlog_limit=320
내가 마지막으로 알아차린 것은 dmesg가 및 같은 메시지로 가득 차 있다는 것입니다 audit_log_start: 122 callbacks suppressed
. 나는 이것이 syslog가 제대로 작동하지 않을 때 발생한 것이라고 가정했지만 아직 확인하지 않았습니다.
저는 아직 이 문제에 대해 조사 중이며 무언가를 찾을 수 있기를 바랍니다. 하지만 사람들이 기꺼이 제공하려는 제안과 피드백을 무엇보다도 환영합니다.
정말 감사합니다!
-모든
답변1
동일한 시스템에서 실행되는 pam_ldap 및 sssd에 문제가 발생했습니다. pam과 함께 sssd 사용을 중단하려면 다음을 실행해야 합니다.
pam-config -a --ldap
그러면 pam에 LDAP가 추가되고 다음이 실행됩니다.
pam-config -d --sss
그러면 /etc/pam.d/의 pam 관련 구성 파일에서 sssd 설정이 삭제됩니다.
sss가 사용되지 않는지 확인하려면 nsswitch.conf의 올바른 위치에 ldap이 있는지(또는 최소한 sss가 없는지) 확인할 수도 있습니다. 다음은 sss가 활성화된 /etc/nsswitch.conf입니다:
#
# /etc/nsswitch.conf
#
# An example Name Service Switch config file. This file should be
# sorted with the most-used services at the beginning.
#
# The entry '[NOTFOUND=return]' means that the search for an
# entry should stop if the search in the previous entry turned
# up nothing. Note that if the search failed due to some other reason
# (like no NIS server responding) then the search continues with the
# next entry.
#
# Legal entries are:
#
# compat Use compatibility setup
# nisplus Use NIS+ (NIS version 3)
# nis Use NIS (NIS version 2), also called YP
# dns Use DNS (Domain Name Service)
# files Use the local files
# [NOTFOUND=return] Stop searching if not found so far
#
# For more information, please read the nsswitch.conf.5 manual page.
#
passwd: compat sss
group: compat sss
hosts: files mdns_minimal [NOTFOUND=return] dns
networks: files dns
services: files
protocols: files
rpc: files
ethers: files
netmasks: files
netgroup: files
publickey: files
bootparams: files
automount: files
aliases: files
passwd_compat: files
group_compat: files
이 파일에는 sss가 비활성화되고 ldap이 활성화되어 있습니다.
passwd: compat ldap
group: compat ldap
hosts: files mdns_minimal [NOTFOUND=return] dns
networks: files dns
services: files
protocols: files
rpc: files
ethers: files
netmasks: files
netgroup: files
publickey: files
bootparams: files
automount: files
aliases: files
passwd_compat: files
group_compat: files