ntp가 공유 객체 파일을 열 수 없습니다: 권한이 거부되었습니다.

ntp가 공유 객체 파일을 열 수 없습니다: 권한이 거부되었습니다.

내가 작업하지 않은 서버에서 ntpd가 중단되었습니다.

# /etc/init.d/ntpd start
ntpd: error while loading shared libraries:
  libz.so.1: cannot open shared object file: Permission denied

그러나 권한은 올바른 것 같습니다.

# locate libz.so.1 | xargs ls -l
lrwxrwxrwx root root /usr/lib64/libz.so.1 -> libz.so.1.2.3
-rwxr-xr-x root root /usr/lib64/libz.so.1.2.3
lrwxrwxrwx root root /usr/lib/libz.so.1 -> libz.so.1.2.3
-rwxr-xr-x root root /usr/lib/libz.so.1.2.3
-rw-r--r-- root root /usr/lib/vmware-tools/lib32/libz.so.1/libz.so.1
-rw-r--r-- root root /usr/lib/vmware-tools/lib64/libz.so.1/libz.so.1
-rw-r--r-- root root /usr/lib/vmware-tools/lib32/libz.so.1
-rw-r--r-- root root /usr/lib/vmware-tools/lib64/libz.so.1

LD_LIBRARY_PATH비어 있고 서버가 64비트입니다.

# uname -a
Linux my.server 2.6.18-128.el5 #1 SMP [...] x86_64 x86_64 x86_64 GNU/Linux

고쳐 쓰다:

# ldd /usr/sbin/ntpd
libz.so.1 => /usr/lib64/libz.so.1

그리고

# ls -l /usr/lib64/libz.so.1
lrwxrwxrwx root root /usr/lib64/libz.so.1 -> libz.so.1.2.3
# ls -l /usr/lib64/libz.so.1.2.3
-rwxr-xr-x root root /usr/lib64/libz.so.1.2.3

답변1

내 응용 프로그램 중 하나에서 비슷한 문제를 발견했는데 이는 selinux가 강제로 실행되었기 때문이었습니다. 변경: /etc/selinux/config에서 SELINUX=enforcing ## 또는 permissive를 SELINUX=disabled로 변경

문제가 해결될 것입니다. http://sysadminupdates.com/blog/2015/05/11/so-cannot-open-shared-object-file-permission-denied/

관련 정보