Solved

su: No shell when su-ing to root

Posted on 2000-04-13
9
487 Views
Last Modified: 2012-06-21
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.
0
Comment
Question by:atozer
  • 4
  • 2
  • 2
  • +1
9 Comments
 
LVL 2

Expert Comment

by:jonke
ID: 2715080
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
 

Author Comment

by:atozer
ID: 2715697
Exactly right.  Ta.  Also have been told that if login shell for root is changed from the bourne shell Solaris will slowely die.
0
 
LVL 2

Accepted Solution

by:
pheur earned 50 total points
ID: 2715716
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
 

Author Comment

by:atozer
ID: 2718077
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
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 2

Expert Comment

by:jonke
ID: 2720133
Can I have my points then please as pheur seems to have nicked them........ Where's pheur?
0
 
LVL 3

Expert Comment

by:darinw
ID: 2720749
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
 

Author Comment

by:atozer
ID: 2721156
I think I've worked it out.  Jonke posted his answer as a comment to which I cannot give points.  
0
 
LVL 3

Expert Comment

by:darinw
ID: 2721175
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
 

Author Comment

by:atozer
ID: 2721178
I think I've worked it out.  Jonke posted his answer as a comment to which I cannot give points.  
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

In tuning file systems on the Solaris Operating System, changing some parameters of a file system usually destroys the data on it. For instance, changing the cache segment block size in the volume of a T3 requires that you delete the existing volu…
I promised to write further about my project, and here I am.  First, I needed to setup the Primary Server.  You can read how in this article: Setup FreeBSD Server with full HDD encryption (http://www.experts-exchange.com/OS/Unix/BSD/FreeBSD/A_3660-S…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
In a previous video, we went over how to export a DynamoDB table into Amazon S3.  In this video, we show how to load the export from S3 into a DynamoDB table.

757 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now