내가 작업하지 않은 서버에서 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/