実際には ldd
に依存します 実装。 ldd
通常はスクリプトなので、編集してエラーが発生する場所と理由を確認できます。
Ubuntu 10.04 では、ldd
read
のチェック 許可のみ。 動的実行可能ファイルではありませんというエラーが表示される場合があります ファイルが ELF (Executable and Linkable Format) でない場合 )。ここのライブラリはすべて -rw-r--r--
です 、例えば
$ 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
x
が欲しいのは驚くべきことではありません 共有ライブラリへのアクセス。 executable
モードは、OS に別のレベルのアクセス権制御を与える規則です。実行可能ローダーは、そのアクセスを制御して、ユーザーが確実に実行できるようにするだけでなく、エラーを防止します (一部のスクリプトまたはプログラムは、一部の人によって実行されるべきではありません)。
これは同じ理由で共有ライブラリに拡張できますが、共有ライブラリは実行できません 誤って使用されるエラーが少なくなります。 )。したがって、必要性はあまり明白ではありません (r
アクセスで十分です)。
実際に多くのライブラリを実行できます。たとえば、/lib/libc.so.6
と入力するとどうなるかを確認してください。 最近の GNU/Linux システムのシェルで。