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

私のアプリケーションの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/

関連情報