On Mon, Apr 11, 2011 at 7:30 PM, hai wu <haiwu...@gmail.com> wrote:
> We need to manage /etc/passwd where there would be one line at the very end
> of the file to restrict access to all users not explictly allowed:
>
> +::::::/sbin/nologin
>
> If using delete_lines and append_if_no_such_lines (similar to this one at
> http://www.debian-administration.org/articles/528) to manage access control,
> each time a few new users got appended to /etc/passwd file, the above line
> would be deleted and appended, for many times, while it only needs to be
> done once.
>
> Any better way to manage this file in terms of access control? Augeas is
> buggy and I filed a bug report on this already.
>

I just dealt with this in our puppet config -- I wrote a
nis_modify_passwd script that has a --checkonly flag (for the exec's
onlyif condition), and a --add function.  I used

lckpwdf (3)          - get shadow password file entry
ulckpwdf (3)         - get shadow password file entry

to lock the passwd file during the change -- and made sure not to edit
the passwd file in place -- I make a 2nd copy, then mv it into place
to ensure it works when out of diskspace.

BUT.. after doing all of this, I later realized that in the
nsswitch.conf, 'compat' mode for /etc/passwd sets the default for NIS
to not allow anyone unless explicitly added to the /etc/passwd.  So
another way to deal with this is to change your nsswitch.conf to be
'compat' and not 'files nis'.

In other words, 'files nis' more or less does a #include of all NIS
users, so you have to added an explicit global /sbin/nologin to your
passwd file -- but 'compat' allows you to hand pick which NIS users
you want and defaults to nologin.

Unfortunately, useradd doesn't seem to handle +user's...

Rich

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to