pwd.db too big for / partition

Tamouh H. hakmi at rogers.com
Mon Mar 19 20:49:16 UTC 2007


> 
> On Mon, Mar 19, 2007 at 10:39:18AM -0700, Chuck Swiger wrote:
> 
> > On Mar 19, 2007, at 7:54 AM, Marcelo Maraboli wrote:
> > >my / partition has only 73.196 Mbytes available and since I have 
> > >22.000 users, I now cannot change anyone?s password..
> > >
> > >root at server:~$ passwd marcelo.maraboli Changing local password for 
> > >marcelo.maraboli New Password:
> > >Retype New Password:
> > >
> > >/: write failed, filesystem is full
> > >pwd_mkdb: write old: No space left on device
> > >passwd: pam_chauthtok(): error in service module
> > >
> > >How can I rezise the "/" partition or move the spwb.db and pwd.db 
> > >files to another partition ?? (each of them is 44 Mbytes)
> > 
> > You certainly don't want to move the password files out of /etc-- 
> > you'll render the machine unbootable as it needs to find 
> them on the 
> > root partition.  The only approach I see which is likely to be 
> > workable would be to backup the system, repartition the 
> disks with a 
> > larger root partition, and restore from backups.
> 
> I agree.
> 
> > However, in theory, if you had free disk space, you could 
> use growfs 
> > to expand the root partition without repartitioning, but I 
> am dubious 
> > about using that command against /.
> 
> I believe, with growfs, the space that you add must be contiguous
> with the partition it is joining.   So, unless there is a partition
> that could be shrunk next to root, (maybe swap is there) it 
> wouldn't work.
> If there is room - maybe by mucking with swap if it is the 
> next partition, then it might be do-able.  But, I would also 
> be leary of doing it with /.
> 
> ////jerry
> 
> > 
> > --
> > -Chuck

Well, I had a VM laying around so thought to fire it up and do some testing. I know this is absurd abit but I wanted to see the effect of doing symlinks with pwd.db files.

- I was able to copy /etc/pwd.db /etc/spwd.db to /var/etc/  
- Then I deleted /etc/pwd.db and /etc/spwd.db
- created ln -s /var/etc/pwd.db /etc/pwd.db   and ln -s /var/etc/spwd.db /etc/spwd.db
- changed the root password, worked!
- Even rebooted the system and was able to successfully able to login
- All worked fine except, I noticed after running passwd to reset a user password, the system copied pwd.db and spwd.db over the symlinks so I always was ending up with /etc/pwd.db and /etc/spwd.db  files

I guess this method will solve your space problem if there is a way to make the system follow the symlink instead of overwriting it everytime a password is changed/created.

Tamouh




More information about the freebsd-questions mailing list