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 acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.