- 论坛徽章:
- 0
|
about two day ago,i installed a operating system of solaris 10.soon ,i found the default shell of system was sh shell.i thought just replace the root default shell to ksh in the profile of passwd would be good!when i reboot system there was a prompt "invalid user shell"
Solution:
1.logged into solaris failsafe ,
2.you will be prompted that "do you wish to have
it mounted read-write on /a [y,n,?]",type "y" enter
3.type pwd to checking the current path on command-line,
the result will be "\tmp\root"
4.#cd /a ,entry into hard disk that you was installed operation system
5.vi /etc/passwd ,replace the entry from "root:x:0:0:supper-user:/:/sbin/ksh" to
"root:x:0:0:supper-user:/:/:/sbin/sh"
6.reboot
Cause:
The default login shell for the solaris superuser root is /sbin/sh,a statically linked Bourne shell.this shell is not dependent on any other files to run.the useal
user shell like /usr/bin/ksh are dynamically linked and are dependnt on libarary files.if the root login shell is changed from /sbin/sh to a non-static shell,root will not be able to log into the system if certain filesystems cannot mount.a simple addition to root's /.profile will change the shell sfely.
Solution
To change the root shell to Korn shell at login if the file /usr/bin/ksh exists, add the following lines to the end of the root user's profile (usually /.profile):
if [ -x /usr/bin/ksh ]; then
SHELL=/usr/bin/ksh
export SHELL
exec /usr/bin/ksh
else
echo /usr/bin/ksh not found using default shell of $SHELL
fi
Make certain that the login shell for root in /etc/passwd is /sbin/sh.
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/78157/showart_1162652.html |
|