In my production server which is running SUse 11 SP1, the root shell is set to /bin/eksh. Not sure how come it is set to this..we are using /bin/bash as root's default shell.

I tried to reset it like the following:-

su -s /bin/bash su : using restricted shell /bin/eksh su : /bin/eksh : no such file or directory

Only option which i think right now is to get in single user mode and edit the /etc/passwd manually..

I am not physically present at the site so right now i am quite helpless.


I also tried further in order to reset it without any success.

su -s, which unfortunately didn't work. I am not sure why, considering the fact that /bin/eksh is not listed in /etc/shell. 2. I can't use sudo because sudo setuid bit is not set

Update II

I got a way to login to the system through ILOM. But i am stuck at the following point. Nothing is coming on the screen after this point. But i can get back to SP login prompt (->) by pressing ESC (.

-> start /SP/console Are you sure you want to start /SP/console (y/n)? y Console started...press ESC ( to exit. ...............................

  • Suse should have the chsh command. It does just that what you have in mind. Check the manpage. – ott-- Feb 9 '15 at 18:10
  • Yes i tried that ..but non-root user cant change the shell of root user :( , thanks! – Amit Jha Feb 9 '15 at 18:39
  • You can try if one of the users is allowed to run the chsh command with sudo. – ott-- Feb 9 '15 at 18:47
  • Also try sudo su. – ott-- Feb 9 '15 at 18:48
  • Unless you can sudo su, can't think of a way. su -s ignores restricted shells (that are not listed in /etc/shells). – Dan Feb 9 '15 at 21:06

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.