[ale] flock
Christopher Fowler
cfowler at outpostsentinel.com
Mon Mar 26 12:34:47 EDT 2007
On Mon, 2007-03-26 at 10:42 -0400, Jeff Lightner wrote:
> Why change the entire filesystem? That seems a bit dangerous
> especially given it will likely be / he is talking about.
"Mark the file".
>
> -----Original Message-----
> From: ale-bounces at ale.org [mailto:ale-bounces at ale.org] On Behalf Of
> cfowler
> Sent: Monday, March 26, 2007 9:33 AM
> To: James P. Kinney III
> Cc: Atlanta Linux Enthusiasts
> Subject: Re: [ale] flock
>
> On Mon, 2007-03-26 at 09:25 -0400, James P. Kinney III wrote:
> > Hmm. I am specifically pulling password data out of /etc/shadow to
> > synchronize multiple machines to a master repository. I _really_ don't
> > want the shadow file changing on any of the machines during the
> > process.
>
> Are all these shadow files on ext2 FS? The only change would be due to
> a password or user addition?
>
> How long will this process take?
>
> 1. Mark the file as RO in the ext2/3 FS. Use chattr
> 2. Copy contents
> 3. Mark file as RW.
>
> If anyone tries to change their password they will get an error message
> that the file can not be written to. Even root will not be able to
> write to that file with the RO attribute configured in the file system.
>
> Note, this is not a mode attribute. This is specific to ext2.
>
>
> >
> > I've been trying to avoid the ldap or NIS process but it looks like
> that
> > is the only well supported route to go on from here.
> >
> > On Mon, 2007-03-26 at 08:45 -0400, cfowler wrote:
> > > On Mon, 2007-03-26 at 08:35 -0400, cfowler wrote:
> > > > Isn't flock advisory locking? Maybe vipw uses it? In order for
> it to
> > > > work both programs must use flock.
> > >
> > > vipw does not use flock
> > >
> > > open("/etc/ptmptmp", O_WRONLY|O_CREAT|O_LARGEFILE, 0600) = 3
> > > link("/etc/ptmptmp", "/etc/ptmp") = 0
> > > unlink("/etc/ptmptmp") = 0
> > > open("/etc/passwd", O_RDONLY|O_LARGEFILE) = 4
> > > read(4, "root:x:0:0:root:/root:/bin/bash\n"..., 8192) = 1414
> > > write(3, "root:x:0:0:root:/root:/bin/bash\n"..., 1414) = 1414
> > > read(4, "", 8192) = 0
> > > close(4) = 0
> > > close(3) = 0
> > > stat64("/etc/ptmp", {st_mode=S_IFREG|0600, st_size=1414, ...}) = 0
> > > clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|
> > > SIGCHLD, child_tidptr=0xf70f5b08) = 4651
> > >
> > > Instead it creates a temp file and if it exists that is the "lock".
> > >
> > >
> > >
> > > _______________________________________________
> > > Ale mailing list
> > > Ale at ale.org
> > > http://www.ale.org/mailman/listinfo/ale
>
> _______________________________________________
> Ale mailing list
> Ale at ale.org
> http://www.ale.org/mailman/listinfo/ale
More information about the Ale
mailing list