su: No shell when su-ing to root

I've done something dumb and changed the shell field in the passwd file to /sbin/bash when it should be /bin/bash.  Now i can't login as root to fix it.
atozerAsked:
Who is Participating?
 
pheurConnect With a Mentor Commented:
If you are running Linux (linux puts bash in /bin, other OS'es put it it /usr/local/bin) reboot your system with Ctrl-alt-del and at the LILO prompt issue:
linux init=/bin/bash rw
It will drop you directly into a root shell. Then edit /etc/passwd, do `umount / ` and reboot. it does the job.

Alternatively, if you have sudo installed (this one works under any OS) du `sudo bash`. Of course, it is supposed that sudo is already set-up to allow you to become root, which I doubt it is on your machine.
0
 
jonkeCommented:
You're going to have to boot from cdrom, and change it this way. What OS are you using? In Solaris, you'd goto the ok prompt. You have to stop-a as obviously without super-user permission you cannot bring the machine down gently.

ok sync

ok boot cdrom -s

Once the machinne is up you need to find out what the boot device is. Use format or eeprom boot-device then grep the output through an ls -l of /dev to find this out. Often the boot disk is c0t0d0s2.

You then need to fsck it because you brought the system down harshly:

fsck /dev/rdsk/cXtXd0s0

Then mount the disk with the partiton on to any mount point:

# mount /dev/dsk/cXtXd0s0 /a

Then you can vi /a/etc/passwd and change the entry from here.

You'll have a similar sort of process to go through with other flavours of unix.
0
 
atozerAuthor Commented:
Exactly right.  Ta.  Also have been told that if login shell for root is changed from the bourne shell Solaris will slowely die.
0
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

 
atozerAuthor Commented:
I was actually using Solaris.  I'm aware of how small a problem this is in Linux but I wanted to append an argument at boot or login to specify the login shell.  Im told it is not possible and jonke's answer is right on the mony.  This is my first time using experts exchange so somehow iv'e given the points to the wrong person.  Sorry jonke.
0
 
jonkeCommented:
Can I have my points then please as pheur seems to have nicked them........ Where's pheur?
0
 
darinwCommented:
Hi all,

atozer: Please be very careful when accepting an answer to ensure that you award the right Expert. When you have 10 or 15 minutes, you can read through the Help Desk pages and perhaps get a better feel for how you manage your questions. The Help Desk link is at the top of every page. If you need assistance with the site, the Community Support link is at the bottom of every page.

jonke: Please see the question I have posted for you in this topic area:

http://www.experts-exchange.com/jsp/qShow.jsp?ta=unix&qid=10329226 

darinw
Customer Service
0
 
atozerAuthor Commented:
I think I've worked it out.  Jonke posted his answer as a comment to which I cannot give points.  
0
 
darinwCommented:
Yeah, it can be a challenge to know what to do with a question when you first start using Experts Exchange. Thankfully, it is not hard to get the hang of once you have posted a question or two.

Since an Expert had posted an answer, you had only two choices - reject it or accept it. If you had rejected it, you would have seen the 'Accept Comment as an Answer' button and you could have chosen one of jonke's comments as the solution.

Not to worry, we have everything straigtened out.

darinw
Customer Service
0
 
atozerAuthor Commented:
I think I've worked it out.  Jonke posted his answer as a comment to which I cannot give points.  
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.