Date: Sat, 20 Dec 2003 09:44:17 -0800 From: "Mark McConnell" <markmc@tisimaging.com> To: freebsd-questions@Freebsd.org Subject: bad root shell Message-ID: <3FE419F1.7851.51B6193@localhost>
next in thread | raw e-mail | index | archive | help
An error in a pw* script inserted a non-existent shell into the password database, effectively locking out root. I used a fixit disk to correct the problem, using this procedure: 1. mount boot drive to /mnt 2. provide myself with a working mkdb and vi (for chpass): # mkdir /usr/sbin /usr/bin # ln -s /mnt/usr/sbin/pwd_mkdb /usr/sbin/pwd_mkdb # ln -s /mnt/usr/bin/vi /usr/bin/vi 3. link pwd.db, spwd.db, group, passwd, master.passwd, ex: # rm /etc/group /etc/spwd.db # for i in `ls /mnt/etc/` ; do ln -s /mnt/etc/$i /etc/$i ; done 4. run mkdb # /usr/sbin/pwd_mkdb master.passwd 5. Using chpass to change root's shell from `badshell' to csh # chpass root :s/badshell/\/bin\/csh/ All of this appears to do work without errors: # pw usershow -u root root:*:0:0::0:0:Charlie &:/root:/bin/csh However, when I log in as root, I am still locked out with the message: $ su Password: ******** badshell: No such file or directory I am still stupid. I am still locked out. /etc/passwd and /etc/master.passwd no longer show the badshell. My configuration appears to be deeply broken. Why does my procedure fail? Mark -- Mark McConnell - Portland, OR Technical Imaging Systems markmc@tisimaging.com 503-546-0517 mkmcconn@hevanet.com 503-257-7591
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3FE419F1.7851.51B6193>