Как вы знаете, традиционно в Solaris следовало оставлять для root'а оболочку /sbin/sh. Делается это в Solaris 8 и Solaris 9 потому, что все библиотеки, которые могут понадобиться для динамической линковки, находятся в /usr/lib, а /usr очень часто может быть отдельной файловой системой, недоступной при аварийной загрузке.
Для того, чтобы избежать невозможности входа в систему суперпользователя, ему назначается оболочка /sbin/sh, которая слинкована статически, т.е. не требует никаких внешних библиотек:
bash-2.03$ file /sbin/sh
/sbin/sh: ELF 32-bit MSB executable SPARC Version 1, statically linked, stripped
bash-2.03$ ldd /sbin/sh
ldd: /sbin/sh: file is not a dynamic executable or shared object
Но знали ли вы, что в Solaris 10 появилось сразу два улучшения ситуации по поводу оболочки для root? Вот они:
1) Теперь библиотеки находятся в /lib, и следовательно всегда оказываются на доступной при аварийной загрузке файловой системе.
Из-за этого, /sbin/sh теперь является обычным динамически исполняемым файлом:
bash-3.00$ file /sbin/sh
/sbin/sh: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, stripped
bash-3.00$ ldd /sbin/sh
libgen.so.1 => /lib/libgen.so.1
libsecdb.so.1 => /lib/libsecdb.so.1
libc.so.1 => /lib/libc.so.1
libnsl.so.1 => /lib/libnsl.so.1
libcmd.so.1 => /lib/libcmd.so.1
libmp.so.2 => /lib/libmp.so.2
libmd5.so.1 => /lib/libmd5.so.1
libscf.so.1 => /lib/libscf.so.1
libdoor.so.1 => /lib/libdoor.so.1
libuutil.so.1 => /lib/libuutil.so.1
libm.so.2 => /lib/libm.so.2
/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1
/platform/SUNW,Ultra-5_10/lib/libmd5_psr.so.1
2) Solaris 10 имеет встроенную защиту от неисполняемых оболочек для root. Так что, если при аварийной загрузке ваша нестандартная оболочка не может быть запущена, вам автоматически будет предоставлена стандартная /sbin/sh. Такая же защита существует для команды sudo.
Таким образом, больше нет совершенно никаких препятствий, запрещающих вам поменять стандартную оболочку root на bash или любую другую.