Date: Tue, 18 Oct 2016 09:27:00 -0500 (CDT) From: "Valeri Galtsev" <galtsev@kicp.uchicago.edu> To: "Paul Macdonald" <paul@ifdnrg.com> Cc: freebsd-questions@freebsd.org Subject: Re: pw add user slow Message-ID: <54165.128.135.52.6.1476800820.squirrel@cosmo.uchicago.edu> In-Reply-To: <b0a231f1-dcf4-a59e-8870-ea417a49685d@ifdnrg.com> References: <fd1e578c-58ef-5098-9d89-c3db814d7af4@ifdnrg.com> <20161018074415.0f6575675db30d0b83d9b8ec@sohara.org> <60719.69.209.239.247.1476794773.squirrel@cosmo.uchicago.edu> <20161018140531.GA1080@lime.woodcruft.co.uk> <b0a231f1-dcf4-a59e-8870-ea417a49685d@ifdnrg.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, October 18, 2016 9:17 am, Paul Macdonald wrote: > > > On 18/10/2016 15:05, Frank Shute wrote: >> On Tue, Oct 18, 2016 at 07:46:13AM -0500, Valeri Galtsev wrote: >>> >>> On Tue, October 18, 2016 1:44 am, Steve O'Hara-Smith wrote: >>>> On Mon, 17 Oct 2016 23:36:33 +0100 >>>> Paul Macdonald <paul@ifdnrg.com> wrote: >>>> >>>>> Hi, >>>>> >>>>> I have to migrate an imap server, which uses about 6000 local >>>>> accounts >>>>> for mail delivery >>>>> >>>>> I'm using a script that creates system acounts using: >>>>> >>>>> /usr/sbin/pw adduser $LOCAL_USER -u$UID-gGID-d $PATH -s/bin/false >>>>> >>>>> I'm finding this grows ever more slow, up to 10 seconds per account >>>>> on a >>>>> SATA box , and on a test SSD box ( 20 acc's per second initially) >>>>> even >>>>> that slows to about 1 account created per second. >>>>> >>>>> why does this slow down as more accounts are added? >>>> Because for each one it updates text files (passwd and >>>> master.passwd) and regenerates databases (pwd.db and spwd.db) from the >>>> text >>>> files. The fastest way to do this sort of thing is to directly update >>>> passwd and master.passwd and then run pwd_mkdb. >>> It appears to be sufficient to only edit master.passwd; pwd_mkdb will >>> re-generate passwd file from master.passwd. >>> >> There's a tool for that: vipw(8) >> >> It uses $EDITOR if set, vi as default. >> >> If using vi/vim then fire up vipw and: >> >> :r!myscript >> >> will stick stdout from myscript into the buffer where the cursor is. >> Then: >> >> :wq >> >> and vipw will write it if it's conformant and then call pwd_mkdb to do >> it's >> business. >> >> The OP will also have to edit /etc/group to add his users to the >> appropriate >> group(s). >> >> Doesn't the imap server have an option for using a relational database >> rather >> than filling passwd up? I'd go for that option if it does. >> >> >> Regards, >> > manually writing to the master passwd and running pwd_mkdb was a lot > quicker, thanks There is one important thing Frank said: using vipw instead of any of regular text editors: vipw will set locks, thus preventing mess if anyone on live system uses password tools while you are editing master.passwd. Thanks, Frank and Steve, all you said was very instructive! Valeri > > at 10 seconds per account, 6500 would take a long time... (16hrs!) > > the system accounts are for sendmail delivery to mailboxes, possibly a > good time to take a look at exim/postfix. > > thanks > Paul > > -- > ------------------------- > Paul Macdonald > IFDNRG Ltd > Web and video hosting > ------------------------- > t: 0131 5548070 > m: 07970339546 > e: paul@ifdnrg.com > w: http://www.ifdnrg.com > ------------------------- > IFDNRG > 40 Maritime Street > Edinburgh > EH6 6SA > ---------------------------------------------------- > > Virtual Servers from £50.00pm > High specification Dedicated Servers from £150.00pm > > ---------------------------------------------------- > > _______________________________________________ > freebsd-questions@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-questions > To unsubscribe, send any mail to > "freebsd-questions-unsubscribe@freebsd.org" > ++++++++++++++++++++++++++++++++++++++++ Valeri Galtsev Sr System Administrator Department of Astronomy and Astrophysics Kavli Institute for Cosmological Physics University of Chicago Phone: 773-702-4247 ++++++++++++++++++++++++++++++++++++++++
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54165.128.135.52.6.1476800820.squirrel>