공유 라이브러리를 로드할 때 Redhat 오류가 발생했습니다. libkeyutils.so.1: 공유 개체 파일을 열 수 없습니다. 권한이 거부되었습니다.

공유 라이브러리를 로드할 때 Redhat 오류가 발생했습니다. libkeyutils.so.1: 공유 개체 파일을 열 수 없습니다. 권한이 거부되었습니다.

방금 Redhat 7 시스템에 rpcbind를 설치하고 시작하려고 했습니다. 저는 Linux를 처음 사용하기 때문에 다음에 무엇을 해야할지 파악하는 데 어려움을 겪고 있습니다. 나는 이 모든 명령을 루트 사용자로 실행합니다.

rpcbind를 실행하면 다음과 같은 결과가 나타납니다.

Jan 07 09:44:28 sebilj systemd[1]: Starting RPC bind service...
**Jan 07 09:44:28 sebilj rpcbind[17902]: /sbin/rpcbind: error while loading shared libraries: libkeyutils.so.1: cannot open shared object file: Permission denied**
Jan 07 09:44:28 sebilj systemd[1]: rpcbind.service: control process exited, code=exited status=127
Jan 07 09:44:28 sebilj systemd[1]: Failed to start RPC bind service.
Jan 07 09:44:28 sebilj systemd[1]: Unit rpcbind.service entered failed state.
Jan 07 09:44:28 sebilj systemd[1]: rpcbind.service failed.

그래서 확인해 보니 문제의 라이브러리가 존재하고 chmod가 777로 설정되어 있어 전체 권한이 있습니다.

확인해 보니 이 라이브러리는 이름은 같지만 버전이 더 높은 라이브러리에 연결되어 있고 두 번째 라이브러리에도 전체 권한이 있습니다.

ldconfig -v | grep libkeyutils.so.1
    libkeyutils.so.1 -> libkeyutils.so.1.5

마지막으로 rpcbind에 필요한 라이브러리를 확인했는데 다음과 같은 내용이 표시되었습니다.

ldd /sbin/rpcbind
linux-vdso.so.1 =>  (0x00007ffe2b731000)
libtirpc.so.3 => /lib64/libtirpc.so.3 (0x00007f4f06b43000)
libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007f4f06b1b000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4f068fe000)
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f4f066f3000)
libc.so.6 => /lib64/libc.so.6 (0x00007f4f06332000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f4f060e5000)
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f4f05e00000)
libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f4f05bce000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f4f059c9000)
libcap.so.2 => /lib64/libcap.so.2 (0x00007f4f057c4000)
libm.so.6 => /lib64/libm.so.6 (0x00007f4f054c2000)
librt.so.1 => /lib64/librt.so.1 (0x00007f4f052b9000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f4f05094000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f4f04e6f000)
libgcrypt.so.11 => /lib64/libgcrypt.so.11 (0x00007f4f04bed000)
libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007f4f049e8000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f4f047ce000)
libdw.so.1 => /lib64/libdw.so.1 (0x00007f4f04586000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f4f04382000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f4f0416c000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4f06f8a000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f4f03f52000)
libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f4f03d43000)
**libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f4f03b3f000)**
libattr.so.1 => /lib64/libattr.so.1 (0x00007f4f03939000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f4f036d8000)
libelf.so.1 => /lib64/libelf.so.1 (0x00007f4f034c1000)
libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f4f032b1000)
libz.so.1 => /lib64/libz.so.1 (0x00007f4f0309b000)

이것으로부터 나는 알 수 있다libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f4f03b3f000). 내 가정은 링크된 libkeyutils.so.1의 상위 버전이 문제의 원인이라고 생각하지만 이 라이브러리를 검색하면 이미 설치한 패키지가 표시되기 때문에 이 문제를 해결하는 방법을 잘 모르겠습니다. 어떤 아이디어가 있나요?

편집하다

Ijaz Khan의 제안이 내 문제를 해결했다고 덧붙이고 싶었습니다. Yum 없이 설치하는 동안 버전 문제가 있었습니다.

관련 정보