-- vmunix に +x はいらないのに --
カーネル vmunix は、ブート時に boot.sun4c (or boot.sun4m) によって読み込まれます。この時点ではまだ OS が立ち上がっていないので、vmunix の読み込みは、システムコール exec() によるものではありません。したがって、permission に x フラグは必要なく、vmunix の場合、444 (-r--r--r--) で充分です。
しかし、普通に SunOS4.1.4 がインストールされたマシンの /vmunix は、 きっと -rwxr-xr-x になっているでしょう。GENERIC kernel の元のファイルは /usr/kvm/stand/vmunix にあり、インストール直後には、これが / にコピーされますが、こちらも -rwxr-xr-x になっています。
その後、カーネルを再構築した場合も、make でできる vmunix は -rwxr-xr-x になります。これは、/usr/etc/config によって作られる Makefile の、vmunix: ターゲットに(なぜか)ちゃんと @chmod 755 vmunix と書かれています。
私の場合は、カーネルを再構築時には、手動で chmod 444 vmunix としています。
vmunix に x 属性が付いたままだと、/vmunix を普通のコマンドのように『実行』できてしまいます。そして実行すると memory fault - core dumped となるでしょう。
/usr/lib/libc.so.1.9 等の、動的リンクライブラリも、x 属性はいりません。しかしなぜか libc.so.1.9 等は x が付いています。
インストールメディアの Usr カテゴリでインストールされる lib*.so.* のうち、
libc.so.1.9 libdl.so.1.0 libpixrect.so.2.14
は、-rwxr-xr-x なのに、
libxgl.so.2.0
は、-rw-r--r-- という、不思議な状態になっています。
OS バンドルではなく、Free の X11R6.4 ではどうかというと、X11R6.4 を make World 後、make install すると、
install -c -m 0644 libX11.so.4.30 /usr/X11R6.4/lib/libX11.so.4.30
のように、-rw-r--r-- が明示されてインストールされます。
私の場合、libc.so.1.9 については、102545-13 の recommended patch を当てたついでに libc.so.1.9 を -r--r--r-- にしてみました。もちろん、何の問題もなく動作しています。
Solaris 2.x では、lib*.so.* に対して ldd コマンドを実行することができ、 そのライブラリからさらにリンクしている別のライブラリがあれば それが表示されます。そして、その時、x 属性が付いていないと、
warning: ldd: libc.so: is not executable libdl.so.1 => /usr/lib/libdl.so.1と、warning が出ます。(warning が出るだけ)
しかし、Solaris 2.x の X11R6.3, X11R6.4 の lib*.so.* については、SunOS4.1.4 と同じく、-rw-r--r-- でインストールされます。そして、これで問題なく動きます。