sudo 시작이 너무 오래 걸림

sudo 시작이 너무 오래 걸림

저는 Fedora 23을 사용하고 있으며 Fedora 22에서도 동일한 문제가 있습니다. Sudo는 시작하는 데 약 20초가 걸리며, 약 20초 동안 작업을 수행한 후 비밀번호를 묻습니다.

다시 시작하면 이 문제가 일시적으로 해결될 수 있습니다. 문제는 몇 시간 뒤에 또 발생했습니다.

이것은 strace의 출력입니다.

 0.000022 write(7, "\1", 1)         = 1
 0.000038 rt_sigreturn({mask=[INT QUIT]}) = -1 EINTR (Interrupted system call)
 0.000026 --- SIGCONT {si_signo=SIGCONT, si_code=SI_KERNEL} ---
 0.000012 poll([{fd=11, events=POLLIN}], 1, 25000) = 0 (Timeout)
25.025434 sendmsg(11, {msg_name(0)=NULL, msg_iov(2)=[{"l\1\1\1\204\0\0\0\6\0\0\0\177\0\0\0\1\1o\0\25\0\0\0/org/fre"..., 144}, {"\177\0\0\0type='signal',sender='net.re"..., 132}], msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 276
 0.000378 sendmsg(11, {msg_name(0)=NULL, msg_iov(2)=[{"l\1\1\1\246\0\0\0\7\0\0\0\177\0\0\0\1\1o\0\25\0\0\0/org/fre"..., 144}, {"\241\0\0\0type='signal',sender='org.fr"..., 166}], msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 310
 0.000176 write(12, "\1\0\0\0\0\0\0\0", 8) = 8
 0.000109 close(11)                 = 0
 0.000121 close(12)                 = 0
 0.000090 getuid()                  = 1000

sendmsg에 시간이 너무 많이 걸리는 것을 볼 수 있습니다.

누군가 나를 도와줄 수 있나요? 이런 일이 발생할 때마다 노트북을 다시 시작하고 싶지 않습니다.

uname -a
Linux c0rp 4.4.9-300.fc23.x86_64

strace에 대한 링크http://pastebin.com/n5GWi9G1

이것이 출력이다strace -f -v -s300 -o log sudo

8204  poll([{fd=11, events=POLLIN}], 1, -1) = 1 ([{fd=11, revents=POLLIN}])
8204  read(11, "AGREE_UNIX_FD\r\n", 2048) = 15
8204  poll([{fd=11, events=POLLOUT}], 1, -1) = 1 ([{fd=11, revents=POLLOUT}])
8204  sendto(11, "BEGIN\r\n", 7, MSG_NOSIGNAL, NULL, 0) = 7
8204  poll([{fd=11, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=11, revents=POLLOUT}])
8204  sendmsg(11, {msg_name(0)=NULL, msg_iov(2)=[{"l\1\0\1\0\0\0\0\1\0\0\0n\0\0\0\1\1o\0\25\0\0\0/org/freedesktop/DBus\0\0\0\6\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0\2\1s\0\24\0\0\0org.fr
eedesktop.DBus\0\0\0\0\3\1s\0\5\0\0\0Hello\0\0\0", 128}, {"", 0}], msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 128
8204  poll([{fd=11, events=POLLIN}], 1, 25000) = 1 ([{fd=11, revents=POLLIN}])
8204  recvmsg(11, {msg_name(0)=NULL, msg_iov(1)=[{"l\2\1\1\v\0\0\0\1\0\0\0=\0\0\0\6\1s\0\6\0\0\0:1.491\0\0\5\1u\0\1\0\0\0\10\1g\0\1s\0\0\7\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0\6\0\0\0:1
.491\0l\4\1\1\v\0\0\0\2\0\0\0\215\0\0\0\1\1o\0\25\0\0\0/org/freedesktop/DBus\0\0\0\2\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0\3\1s\0\f\0\0\0NameAcquired\0\0\0\0\6\1s\0\6\0\0\0:1.491\0\0\10\
1g\0\1s\0\0\7\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0\6\0\0\0:1.491\0", 2048}], msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 262
8204  recvmsg(11, 0x7ffec28d88e0, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
8204  eventfd2(0, EFD_CLOEXEC|EFD_NONBLOCK) = 12
8204  write(12, "\1\0\0\0\0\0\0\0", 8)  = 8
8204  fstat(11, {st_dev=makedev(0, 8), st_ino=3014822, st_mode=S_IFSOCK|0777, st_nlink=1, st_uid=0, st_gid=1000, st_blksize=4096, st_blocks=0, st_size=0, st_atime=0, st_mtime=0, st_ctime=0})
 = 0
8204  fcntl(11, F_GETFL)                = 0x802 (flags O_RDWR|O_NONBLOCK)
8204  write(12, "\1\0\0\0\0\0\0\0", 8)  = 8
8204  sendmsg(11, {msg_name(0)=NULL, msg_iov(2)=[{"l\1\1\1\204\0\0\0\2\0\0\0\177\0\0\0\1\1o\0\25\0\0\0/org/freedesktop/DBus\0\0\0\6\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0\2\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0\3\1s\0\10\0\0\0AddMatch\0\0\0\0\0\0\0\0\10\1g\0\1s\0\0", 144}, {"\177\0\0\0type='signal',sender='net.reactivated.Fprint',path='/net/reactivated/Fprint/Manager',interface='net.reactivated.Fprint.Manager'\0", 132}], msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 276
8204  sendmsg(11, {msg_name(0)=NULL, msg_iov(2)=[{"l\1\1\1\246\0\0\0\3\0\0\0\177\0\0\0\1\1o\0\25\0\0\0/org/freedesktop/DBus\0\0\0\6\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0\2\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0\3\1s\0\10\0\0\0AddMatch\0\0\0\0\0\0\0\0\10\1g\0\1s\0\0", 144}, {"\241\0\0\0type='signal',sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='net.reactivated.Fprint'\0", 166}], msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 310
8204  sendmsg(11, {msg_name(0)=NULL, msg_iov(2)=[{"l\1\0\1\33\0\0\0\4\0\0\0\177\0\0\0\1\1o\0\25\0\0\0/org/freedesktop/DBus\0\0\0\6\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0\2\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0\3\1s\0\f\0\0\0GetNameOwner\0\0\0\0\10\1g\0\1s\0\0", 144}, {"\26\0\0\0net.reactivated.Fprint\0", 27}], msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 171
8204  sendmsg(11, {msg_name(0)=NULL, msg_iov(2)=[{"l\1\0\1\0\0\0\0\5\0\0\0\203\0\0\0\1\1o\0\37\0\0\0/net/reactivated/Fprint/Manager\0\6\1s\0\26\0\0\0net.reactivated.Fprint\0\0\2\1s\0\36\0\0\0net.reactivated.Fprint.Manager\0\0\3\1s\0\n\0\0\0GetDevices\0\0\0\0\0\0", 152}, {"", 0}], msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 152
8204  poll([{fd=11, events=POLLIN}], 1, 25000) = 1 ([{fd=11, revents=POLLIN}])
8204  recvmsg(11, {msg_name(0)=NULL, msg_iov(1)=[{"l\2\1\1\v\0\0\0\3\0\0\0=\0\0\0\6\1s\0\6\0\0\0:1.491\0\0\5\1u\0\4\0\0\0\10\1g\0\1s\0\0\7\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0\6\0\0\0:1.413\0", 2048}], msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 91
8204  write(12, "\1\0\0\0\0\0\0\0", 8)  = 8
8204  recvmsg(11, 0x7ffec28d8730, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
8204  poll([{fd=11, events=POLLIN}], 1, 25000) = ? ERESTART_RESTARTBLOCK (Interrupted by signal)
8204  --- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL} ---
8204  restart_syscall(<... resuming interrupted poll ...>) = 0
8204  sendmsg(11, {msg_name(0)=NULL, msg_iov(2)=[{"l\1\1\1\204\0\0\0\6\0\0\0\177\0\0\0\1\1o\0\25\0\0\0/org/freedesktop/DBus\0\0\0\6\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0\2\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0\3\1s\0\v\0\0\0RemoveMatch\0\0\0\0\0\10\1g\0\1s\0\0", 144}, {"\177\0\0\0type='signal',sender='net.reactivated.Fprint',path='/net/reactivated/Fprint/Manager',interface='net.reactivated.Fprint.Manager'\0", 132}], msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 276
8204  sendmsg(11, {msg_name(0)=NULL, msg_iov(2)=[{"l\1\1\1\246\0\0\0\7\0\0\0\177\0\0\0\1\1o\0\25\0\0\0/org/freedesktop/DBus\0\0\0\6\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0\2\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0\3\1s\0\v\0\0\0RemoveMatch\0\0\0\0\0\10\1g\0\1s\0\0", 144}, {"\241\0\0\0type='signal',sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='net.reactivated.Fprint'\0", 166}], msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 310

/etc/nsswitch.conf

#
# /etc/nsswitch.conf

passwd:     files sss
shadow:     files sss
group:      files sss
#initgroups: files

#hosts:     db files nisplus nis dns
hosts:      files mdns4_minimal [NOTFOUND=return] dns myhostname mymachines

# Example - obey only what nisplus tells us...
#services:   nisplus [NOTFOUND=return] files
#networks:   nisplus [NOTFOUND=return] files
#protocols:  nisplus [NOTFOUND=return] files
#rpc:        nisplus [NOTFOUND=return] files
#ethers:     nisplus [NOTFOUND=return] files
#netmasks:   nisplus [NOTFOUND=return] files

bootparams: nisplus [NOTFOUND=return] files

ethers:     files
netmasks:   files
networks:   files
protocols:  files
rpc:        files
services:   files sss

netgroup:   files sss

publickey:  nisplus

automount:  files sss
aliases:    files nisplus

답변1

Pastebin 링크의 전체 strace는 sudo가 열려고 함을 보여줍니다 libnss-sss.so.2.

open("/lib64/libnss_sss.so.2", O_RDONLY|O_CLOEXEC) = 8

NSS 모듈입니다SSSD - 시스템 보안 서비스 데몬, 다양한 원격 인증 서비스에 대한 접근을 관리합니다.

SSSD가 설치되어 실행 중인지 확인하세요. 그렇다면 다음을 시도해 보세요.지시하다이 사이트의 문제를 디버깅합니다 sudo.

그렇지 않은 경우 이유를 찾아 수정하거나 (원하지 않거나 필요하지 않은 경우 sss) 편집 /etc/nsswitch.conf하고 주석 처리하거나 sss사용하도록 구성된 모든 서비스에서 제거하십시오.

관련 정보