changing root password.

Julien Gabel jpeg at thilelli.net
Mon Apr 5 03:49:02 PDT 2004


> I've got a 4.8R system that I use for development of a 'freebsd-small'
> type network device.  The network device environment runs out of
> memory, the kernel and an mfsroot.gz image coming from a 32Mb pccard
> Compact Flash drive.
>
> The mfsroot.gz development image is stored as a vnconfig vn0
> virtual node, called 'mfsroot', on the development machine.
>
> Everything boots and I can do what I want with the system.
>
> The problem is that I need to be able to set the root password
> of the device, from the development machine prior to moving to
> the actual device.
>
> So I (or rather, 'root') mount(s) the virtual fs node:
>
> % vnconfig vn0 mfsroot
> % mount /dev/vn0 /mnt
>
> (under /mnt now is a partially functional FreeBSD 4.8R based
> installation, including /etc/master.passwd, etc)
>
> And then change the root directory to the mount point:
>
> % chroot /mnt
>
> And then try to change the password:
>
> % passwd
> Type new password:
> Retype new password:
> ...
> %
>
> The behavior I'm seeing is that the /original/ /etc/ password
> files and databases are updated, and not the [/mnt]/etc/ password
> files.
>
> Am I expecting incorrectly?  Am I going to be able to change the
> network device's root password before moving to the actual device
> from the development machine, or will it be necessary to put
> /usr/bin/passwd onto the network device?

The problem is that passwd(1) works only on /etc/master.passwd and
/etc/passwd. In order to set the password, I think the simplest way
is to set the wanted password on another system and copy & paste it
using vipw(8) using 'vipw -d /mnt/etc'.

-- 
-jpeg.


More information about the freebsd-questions mailing list