Sebenarnya itu tergantung pada ldd
penerapan. ldd
biasanya berupa skrip, Anda dapat mengeditnya untuk melihat di mana dan mengapa Anda mendapatkan kesalahan itu.
Di Ubuntu 10.04, ldd
memeriksa read
izin saja. Ini mungkin memberikan kesalahan bukan eksekusi dinamis jika file tersebut bukan ELF (Format yang Dapat Dijalankan dan Dapat Ditautkan ). Lib di sini semuanya -rw-r--r--
, misalnya
$ find /usr/lib -type f -name "libm*.so*" -ls
(...)
-rw-r--r-- 1 root root 216800 Feb 26 22:20 /usr/lib/libmp.so.3.1.16
-rw-r--r-- 1 root root 76728 Mar 14 04:23 /usr/lib/libmjpegutils-1.9.so.0.0.0
-rw-r--r-- 1 root root 134464 Jan 29 2010 /usr/lib/libm17n-core.so.0.3.0
-rw-r--r-- 1 root root 290480 Feb 17 2010 /usr/lib/libmtp.so.8.3.2
Tidak mengherankan jika menginginkan x
akses untuk perpustakaan bersama. executable
mode adalah konvensi yang memberi OS tingkat kontrol hak akses yang lain. Pemuat yang dapat dieksekusi mengontrol akses tersebut, untuk memastikan pengguna dapat menjalankannya, tetapi juga untuk mencegah kesalahan (beberapa skrip atau program tidak boleh dijalankan oleh beberapa orang).
Ini dapat diperluas ke pustaka bersama untuk alasan yang sama - tetapi pustaka bersama tidak dapat berjalan sendiri, dan lebih kecil kemungkinan kesalahan digunakan secara tidak sengaja ). Jadi kebutuhannya kurang jelas (kode r
cukup akses).
Anda sebenarnya dapat mengeksekusi banyak pustaka, lihat misalnya apa yang terjadi saat Anda mengetik /lib/libc.so.6
di shell Anda pada sistem GNU/Linux terbaru.