]> granicus.if.org Git - shadow/commitdiff
[svn-upgrade] Integrating new upstream version, shadow (4.0.13)
authornekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Sun, 7 Oct 2007 11:47:01 +0000 (11:47 +0000)
committernekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Sun, 7 Oct 2007 11:47:01 +0000 (11:47 +0000)
279 files changed:
ChangeLog
Makefile.in
NEWS
acinclude.m4 [new file with mode: 0644]
aclocal.m4
config.h.in
configure
configure.in
contrib/Makefile.in
doc/Makefile.in
etc/Makefile.am
etc/Makefile.in
etc/login.defs
etc/login.defs.hurd [deleted file]
etc/login.defs.linux [deleted file]
etc/pam.d/Makefile.in
lib/Makefile.am
lib/Makefile.in
lib/commonio.c
lib/defines.h
lib/encrypt.c
lib/exitcodes.h
lib/fputsx.c
lib/getdef.c
lib/getpass.c
lib/groupio.c
lib/gshadow.c
lib/lockpw.c
lib/port.c
lib/prototypes.h
lib/pwauth.c
lib/pwio.c
lib/rcsid.h [deleted file]
lib/sgetgrent.c
lib/sgetpwent.c
lib/sgroupio.c
lib/shadow.c
lib/shadowio.c
libmisc/Makefile.am
libmisc/Makefile.in
libmisc/addgrps.c
libmisc/age.c
libmisc/audit_help.c [new file with mode: 0644]
libmisc/basename.c
libmisc/chkname.c
libmisc/chowndir.c
libmisc/chowntty.c
libmisc/console.c
libmisc/copydir.c
libmisc/entry.c
libmisc/env.c
libmisc/failure.c
libmisc/fields.c
libmisc/hushed.c
libmisc/isexpired.c
libmisc/limits.c
libmisc/list.c
libmisc/log.c
libmisc/loginprompt.c
libmisc/mail.c
libmisc/motd.c
libmisc/myname.c
libmisc/obscure.c
libmisc/pam_pass.c
libmisc/pwd2spwd.c
libmisc/pwd_init.c
libmisc/pwdcheck.c
libmisc/rlogin.c
libmisc/salt.c
libmisc/setugid.c
libmisc/setupenv.c
libmisc/shell.c
libmisc/strtoday.c
libmisc/sub.c
libmisc/sulog.c
libmisc/ttytype.c
libmisc/tz.c
libmisc/ulimit.c
libmisc/utmp.c
libmisc/valid.c
libmisc/xmalloc.c
ltmain.sh
man/Makefile.am
man/Makefile.in
man/chage.1
man/chage.1.xml
man/chfn.1
man/chfn.1.xml
man/chpasswd.8
man/chpasswd.8.xml
man/chsh.1
man/chsh.1.xml
man/cs/Makefile.in
man/de/Makefile.in
man/es/Makefile.in
man/expiry.1
man/expiry.1.xml
man/faillog.5
man/faillog.5.xml
man/faillog.8
man/faillog.8.xml
man/fr/Makefile.in
man/getspnam.3
man/gpasswd.1
man/gpasswd.1.xml
man/groupadd.8
man/groupadd.8.xml
man/groupdel.8
man/groupdel.8.xml
man/groupmems.8.xml
man/groupmod.8
man/groupmod.8.xml
man/groups.1
man/groups.1.xml
man/grpck.8
man/grpck.8.xml
man/gshadow.5
man/gshadow.5.xml
man/hu/Makefile.in
man/id.1
man/id.1.xml
man/id/Makefile.in
man/id/chsh.1
man/it/Makefile.in
man/ja/Makefile.in
man/ko/Makefile.in
man/lastlog.8
man/lastlog.8.xml
man/limits.5
man/limits.5.xml
man/login.1
man/login.1.xml
man/login.access.5
man/login.access.5.xml
man/login.defs.5
man/login.defs.5.xml
man/logoutd.8
man/logoutd.8.xml
man/newgrp.1
man/newgrp.1.xml [new file with mode: 0644]
man/newusers.8
man/newusers.8.xml
man/passwd.1
man/passwd.1.xml
man/passwd.5
man/passwd.5.xml
man/pl/Makefile.in
man/porttime.5
man/porttime.5.xml
man/pt_BR/Makefile.in
man/pw_auth.3
man/pw_auth.3.xml
man/pwck.8
man/pwck.8.xml
man/pwconv.8
man/pwconv.8.xml
man/ru/Makefile.in
man/sg.1
man/sg.1.xml [new file with mode: 0644]
man/shadow.3
man/shadow.3.xml
man/shadow.5
man/shadow.5.xml
man/su.1
man/su.1.xml
man/suauth.5
man/suauth.5.xml
man/sulogin.8
man/sulogin.8.xml
man/useradd.8
man/useradd.8.xml
man/userdel.8
man/userdel.8.xml
man/usermod.8
man/usermod.8.xml
man/vipw.8
man/vipw.8.xml
man/zh_CN/Makefile.in
man/zh_TW/Makefile.in
po/bs.gmo
po/bs.po
po/ca.gmo
po/ca.po
po/cs.gmo
po/cs.po
po/da.gmo
po/da.po
po/de.gmo
po/de.po
po/el.gmo
po/el.po
po/es.gmo
po/es.po
po/eu.gmo
po/eu.po
po/fi.gmo
po/fi.po
po/fr.gmo
po/fr.po
po/he.gmo
po/he.po
po/id.gmo
po/id.po
po/it.gmo
po/it.po
po/ja.gmo
po/ja.po
po/ko.gmo
po/ko.po
po/nb.gmo
po/nb.po
po/nl.gmo
po/nl.po
po/nn.gmo
po/nn.po
po/pl.gmo
po/pl.po
po/pt.gmo
po/pt.po
po/pt_BR.gmo
po/pt_BR.po
po/ro.gmo
po/ro.po
po/ru.gmo
po/ru.po
po/shadow.pot
po/sk.gmo
po/sk.po
po/sq.gmo
po/sq.po
po/sv.gmo
po/sv.po
po/tl.gmo
po/tl.po
po/tr.gmo
po/tr.po
po/uk.gmo
po/uk.po
po/vi.gmo
po/vi.po
po/zh_CN.gmo
po/zh_CN.po
po/zh_TW.gmo
po/zh_TW.po
src/Makefile.am
src/Makefile.in
src/chage.c
src/chfn.c
src/chpasswd.c
src/chsh.c
src/chsh_chkshell.c
src/expiry.c
src/faillog.c
src/gpasswd.c
src/groupadd.c
src/groupdel.c
src/groupmod.c
src/groups.c
src/grpck.c
src/grpconv.c
src/grpunconv.c
src/id.c
src/lastlog.c
src/login.c
src/login_nopam.c
src/logoutd.c
src/newgrp.c
src/newusers.c
src/passwd.c
src/pwck.c
src/pwconv.c
src/pwunconv.c
src/su.c
src/suauth.c
src/sulogin.c
src/useradd.c
src/userdel.c
src/usermod.c
src/vipw.c

index d87de2a0f0368a30c15b91c79e912e1af819bd43..fa5851ef311bea44ee80da0362cabcba4c9e8a40 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,474 @@
+2005-10-10  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * NEWS:  added infor about removed duplicated pam_start() in chage.
+
+       * NEWS: updated.
+
+       * man/Makefile.am: added sg.1.xml to man_XMANS.
+
+       * man/chage.1, man/chage.1.xml:
+       cleanups (by Yuri Kozlov <kozlov.y@gmail.com>).
+
+       * man/newgrp.1, man/newgrp.1.xml: use <filename> in few more places.
+
+       * man/newgrp.1, man/newgrp.1.xml:
+       better newgrp description (http://bugs.debian.org/325558).
+
+2005-10-04  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * src/chpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/newusers.c, src/useradd.c, src/userdel.c, src/usermod.c:
+       remove using pam_chauthtok().
+
+       * src/chsh.c: finish PAM support using pam_start() & co.
+
+       * src/chage.c: remove using pam_chauthtok() on finish chage.
+
+       * src/chfn.c:
+       use E_NOPERM in more places. remove using pam_chauthtok() on finish chfn.
+
+       * src/chfn.c: cleanups.
+
+       * src/chage.c:
+       removed duplicaded not moved PAM code) was introduced during merge
+       shadow-4.0.4.1-owl-pam-auth.diff patch).
+
+       * src/chfn.c: finish PAM support.
+
+2005-10-03  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * man/chfn.1, man/chfn.1.xml, man/chsh.1, man/chsh.1.xml:
+       cleanups (by  Alexander Gattin <xrgtn@yandex.ru>).
+
+2005-10-02  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * NEWS, src/userdel.c:
+       userdel should not remove the group which is primary for someone else (fix
+       by Nicolas François <nicolas.francois@centraliens.net> http://bugs.debian.org/295416)
+
+2005-10-01  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * man/vipw.8.xml, man/chage.1, man/chage.1.xml, man/chpasswd.8, man/chpasswd.8.xml, man/chsh.1, man/chsh.1.xml, man/faillog.8, man/faillog.8.xml, man/groupmems.8.xml, man/grpck.8, man/grpck.8.xml, man/lastlog.8, man/lastlog.8.xml, man/limits.5, man/limits.5.xml, man/login.1, man/login.1.xml, man/login.access.5, man/login.access.5.xml, man/passwd.1, man/passwd.1.xml, man/porttime.5, man/porttime.5.xml, man/pw_auth.3.xml, man/shadow.3, man/shadow.3.xml, man/su.1, man/su.1.xml, man/suauth.5, man/suauth.5.xml, man/sulogin.8.xml:
+       s/<emphasis remap='B'>/<emphasis>/
+
+       * man/sg.1, man/sg.1.xml: use <command> instead <emphasis>.
+
+       * man/newgrp.1.xml, man/sg.1.xml, man/chage.1.xml, man/chsh.1.xml, man/login.defs.5.xml:
+       s/\.  /\. /
+
+       * man/shadow.5, man/shadow.5.xml:
+       better document "!" and "*" fields in /etc/shadow
+       (based on 441_manpages-shadow.5 patch from Debian).
+
+       * man/newgrp.1, man/newgrp.1.xml:
+       SHADOWPWD was removed (always enabled)
+       (based on 446_newgrp.1_no_SHADOWPWD patch from Debian).
+
+       * po/ru.po: updated for 4.0.13 (by Yuri Kozlov <kozlov.y@gmail.com>).
+
+2005-09-30  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * NEWS: cleanups.
+
+       * man/vipw.8, man/vipw.8.xml, man/chage.1, man/chage.1.xml, man/chfn.1, man/chpasswd.8, man/chpasswd.8.xml, man/chsh.1, man/chsh.1.xml, man/expiry.1, man/expiry.1.xml, man/faillog.8, man/faillog.8.xml, man/gpasswd.1, man/gpasswd.1.xml, man/groupadd.8, man/groupadd.8.xml, man/groupmems.8, man/groupmems.8.xml, man/groupmod.8, man/groupmod.8.xml, man/groups.1, man/groups.1.xml, man/grpck.8, man/grpck.8.xml, man/gshadow.5, man/gshadow.5.xml, man/id.1, man/id.1.xml, man/lastlog.8, man/lastlog.8.xml, man/limits.5, man/limits.5.xml, man/login.1, man/login.1.xml, man/login.access.5, man/login.access.5.xml, man/login.defs.5, man/login.defs.5.xml, man/logoutd.8, man/logoutd.8.xml, man/newgrp.1, man/newgrp.1.xml, man/newusers.8, man/newusers.8.xml, man/passwd.1, man/passwd.1.xml, man/passwd.5, man/passwd.5.xml, man/porttime.5, man/porttime.5.xml, man/pw_auth.3, man/pw_auth.3.xml, man/pwck.8, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3, man/shadow.3.xml, man/shadow.5, man/shadow.5.xml, man/su.1, man/su.1.xml, man/suauth.5, man/suauth.5.xml, man/sulogin.8, man/sulogin.8.xml, man/useradd.8, man/useradd.8.xml, man/userdel.8, man/userdel.8.xml, man/usermod.8, man/usermod.8.xml:
+       next round of cleanups.
+
+       * man/Makefile.am: added rules for id.1, pw_auth.3 and sulogin.8.
+
+       * libmisc/setupenv.c:
+       during the changes on libmisc/setupenv.c, a piece of code was moved
+       without its comment (merge 449_comment_missplaced Debian patch).
+
+2005-09-29  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * man/chfn.1, man/chfn.1.xml, man/chsh.1, man/chsh.1.xml, man/groupadd.8, man/groupadd.8.xml, man/newusers.8, man/newusers.8.xml, man/pwconv.8, man/pwconv.8.xml, man/useradd.8, man/useradd.8.xml, man/userdel.8, man/userdel.8.xml, man/usermod.8, man/usermod.8.xml, NEWS:
+       added missing references to /etc/login.defs and login.defs(5)
+       (Christian Perrier <bubulle@kheops.frmug.org>).
+
+2005-09-28  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * NEWS: s/XSL/XSLT/
+
+       * po/pl.po: few updates.
+
+       * man/passwd.1, man/passwd.1.xml:
+       -i option description is back (lost on rewrite and pointed by
+       Miroslav Kure <kurem@upcase.inf.upol.cz>).
+
+       * po/cs.po:
+       updated for 4.0.13 (by Miroslav Kure <kurem@upcase.inf.upol.cz>).
+
+2005-09-27  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * NEWS: updated.
+
+       * configure.in: fixes for correct handle --with{,out}-<feature>.
+
+       * configure.in:
+       use @<:@ @:>@ instead ( ) inside AC_HELP_STRING() and s/feactures/features/
+       (based on fixes by Mike Frysinger <vapier@gentoo.org>).
+
+       * po/da.po: updated for 4.0.13 (by Claus Hindsgaul <claus_h@image.dk>).
+
+       * po/es.po: updated for 4.0.13 (by Ruben Porras <nahoo@inicia.es>).
+
+2005-09-26  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * NEWS, libmisc/failure.c:
+       use "%c" in strftime() output (based on patch from
+       http://bugs.debian.org/89902 by Christian Perrier <bubulle@debian.org>)
+
+       * man/getspnam.3, man/shadow.3, man/shadow.3.xml:
+       added <refname>getspnam</refname> to <refnamediv>.
+
+       * man/sg.1, man/sg.1.xml: fixed <cmdsynopsis>.
+
+       * man/Makefile.am, man/sg.1, man/sg.1.xml:
+       added separated sg(1) man page.
+
+2005-09-24  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * lib/commonio.c, NEWS:
+       don't assume selinux is enabled if is_selinux_enabled() returns -1
+       (merge isSelinuxEnabled FC patch by Jeremy Katz <katzj@redhat.com>).
+
+       * po/ro.po: updated (by Sorin Batariuc <sorin@bonbon.net>).
+
+2005-09-21  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * NEWS: schedule release 4.0.13 to 03-10-2005.
+
+2005-09-20  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * NEWS, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/gshadow.5, man/lastlog.8, man/limits.5, man/login.1, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pwck.8, man/pwconv.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8:
+       regenerate all roff man pages using DocBook XSL Stylesheets 1.69.1.
+
+       * man/logoutd.8.xml: fixed id inside <refentry>.
+
+       * man/login.1.xml, man/logoutd.8.xml, man/newgrp.1.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pwck.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/chage.1.xml, man/chfn.1.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml:
+       added missing <para></para> inside <listitem> tags for pass correctly xmllint.
+
+       * man/login.access.5, man/login.access.5.xml: rewrited FILES section.
+
+       * man/login.access.5.xml: cleanups.
+
+2005-09-15  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * NEWS, man/passwd.5, man/passwd.5.xml:
+       rewrited based on work by Greg Wooledge <greg@wooledge.org>
+       http://bugs.debian.org/328113
+
+2005-09-13  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * po/ro.po: updates (by Sorin Batariuc <sorin@bonbon.net>).
+
+2005-09-07  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/id.c, src/login.c, src/login_nopam.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/suauth.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, src/vipw.c:
+       remove empty lines after comment.
+
+       * src/useradd.c: group all #include.
+
+       * po/fr.po:
+       updated (by Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>).
+
+2005-09-06  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * src/gpasswd.c: remove exit(1) after failure().
+
+       * src/usermod.c: consolidate few #ifdef WITH_AUDIT .. #endif sections.
+
+2005-09-05  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * src/Makefile.am: added missing $(LDADD) in gpasswd_LDADD.
+
+       * NEWS, libmisc/limits.c:
+       fixed setup max address space limits (added missing break statement in case)
+       spoted by Lasse Collin <lasse.collin@tukaani.org>
+       (fix for non-PAM case)
+
+       * configure.in: try find and use by default feactures:
+       with_audit="yes"
+       with_libcrack="no"
+       with_libpam="yes"
+       with_libskey="no"
+       with_selinux="yes"
+       Report on finish also S/Key and CrackLib support.
+
+       * configure.in: cleanups.
+
+       * src/Makefile.am: sort *_LDADD.
+
+       * src/Makefile.am: added missing gpasswd_LDADD = $(LIBAUDIT).
+
+       * src/groupadd.c, src/groupdel.c, src/groupmod.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/defines.h, lib/prototypes.h, src/chage.c, src/gpasswd.c:
+       indent code.
+
+       * libmisc/Makefile.am: sort libmisc_a_SOURCES elements.
+
+       * libmisc/audit_help.c: added shadow copyright text and indent file.
+
+       * libmisc/audit_help.c:
+       patr of auditing support not added on commiting audit changes.
+
+       * src/Makefile.am: s/AUDIT/LIBAUDIT/
+
+       * configure.in: added reporting on finish is auditing is enabled.
+       Change to use shared libaudit. Aded missing AC_SUBST(LIBAUDIT).
+       Break some to log lines.
+
+       * src/Makefile.am, src/chage.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/useradd.c, src/userdel.c, src/usermod.c, NEWS, configure.in, lib/defines.h, lib/prototypes.h, libmisc/Makefile.am:
+       auditing support added. Patch prepared by Peter Vrabec
+       <pvrabec@redhat.com> basing on work by Steve Grubb from
+       http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=159215 Now auditing
+       support have commands: chage, gpasswd, groupadd, groupdel, groupmod,
+       useradd, userdel, usermod.
+
+       * po/pt.po: finish update (by Christian Perrier <bubulle@debian.org>).
+
+2005-09-04  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * po/pt.po, NEWS: updated (by Miguel Figueiredo <elmig@debianpt.org>).
+
+2005-09-03  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * src/passwd.c:
+       fix warning (initialization makes pointer from integer without a cast) in
+       long_options[] entry.
+
+       * po/fr.po, NEWS:
+       partialy updated (by Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>).
+
+2005-09-02  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * src/chage.c: indent source sode.
+
+       * src/chage.c, src/chfn.c, src/chsh.c, src/passwd.c, NEWS:
+       change to use new selinux API for selinux_check_passwd_access()
+       (patch from Fedora by Dan Walsh <dwalsh@redhat.com>).
+
+2005-09-01  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * man/newgrp.1, man/newgrp.1.xml: finished rewrite.
+
+       * etc/login.defs: moved from login.defs.linux.
+
+       * src/login_nopam.c: use #ident.
+
+       * etc/login.defs.hurd, etc/login.defs.linux, etc/Makefile.am:
+       remove login.defs.hurd and login.defs.linux.
+
+       * src/groupadd.c, src/useradd.c:
+       as same as in man pages to useradd and groupadd change to 1000 default
+       GID_MIN and UID_MIN (if not found in login.defs).
+
+       * etc/login.defs: s/chkpasswd/chpasswd/
+
+2005-08-31  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * man/Makefile.am, man/chsh.1.xml, man/limits.5.xml, man/login.access.5.xml, man/newgrp.1.xml, man/newusers.8.xml:
+       fixed id= in <refentry>.
+
+       * man/gpasswd.1, man/gpasswd.1.xml:
+       fixed refentry id (must be 'gpasswd.1').
+
+       * man/Makefile.am, man/newgrp.1.xml:
+       raw version converted from roff using doclifter.
+
+       * lib/exitcodes.h: new exit codes:
+       #define E_PASSWD_NOTFOUND       14      /* not found password file */
+       #define E_GROUP_NOTFOUND        16      /* not found group file */
+       #define E_GSHADOW_NOTFOUND      17      /* not found shadow group file */
+
+       * man/chage.1, man/chage.1.xml, lib/exitcodes.h:
+       change to 15 (from 14) exit code in chage when shadow not found.
+
+       * src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/chsh_chkshell.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/login_nopam.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, src/vipw.c, libmisc/pwd_init.c, libmisc/pwdcheck.c, libmisc/rlogin.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, libmisc/addgrps.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/motd.c, libmisc/myname.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/pwd2spwd.c, NEWS, lib/rcsid.h, lib/Makefile.am, lib/commonio.c, lib/encrypt.c, lib/fputsx.c, lib/getdef.c, lib/getpass.c, lib/groupio.c, lib/gshadow.c, lib/lockpw.c, lib/port.c, lib/pwauth.c, lib/pwio.c, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/sgroupio.c, lib/shadow.c, lib/shadowio.c:
+       use #ident preprocesor directive istead RCID macro with content similar
+       to example described in ident(1) man page (modern compilers like latest GCC
+       removes not used functions by global optimization).
+       So "ident /usr/bin/passwd" will show again some useable informations.
+
+       * man/Makefile.am: added support for regenerate roff files from XML.
+       Added depeing shadow-man-pages.pot on $(man_XMANS).
+
+2005-08-30  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * man/login.1, man/login.1.xml, NEWS:
+       added securetty(5) to SEE ALSO section (fixed Debian bug http://bugs.debian.org/325773).
+
+       * po/pl.po: more updates.
+
+       * configure.in:
+       typo in handle --with-selinux. Fixes in xsltproc detection.
+
+       * autogen.sh:
+       added --enable-man and --enable-maintainer-mode to configure options.
+
+       * man/chage.1, man/chage.1.xml, NEWS:
+       added EXIT VALUES section (by Nicolas François <nicolas.francois@centraliens.net>).
+
+       * man/passwd.1, man/passwd.1.xml:
+       remove "Password expiry information" section (all options are described now
+       in OPTIONS section). Describe -a and -k options.
+
+       * NEWS, src/su.c:
+       fixed twice copy enviroment which causes auth problems (bug was introduced in 4.0.12;
+       fix by Nicolas François <nicolas.francois@centraliens.net>).
+
+       * src/passwd.c, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po:
+       s/Incorrect password for `%s'/Incorrect password for %s/ (one phrase for translate less).
+
+       * src/login.c, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po:
+       s/login: failure forking: %s/%s: failure forking: %s/ (one phrase for translate less).
+
+       * po/pl.po: partialy updated.
+
+2005-08-29  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * lib/exitcodes.h, src/chage.c:
+       s/E_NOT_SHADOWED/E_SHADOW_NOTFOUND/ and change value of this exit code to 14.
+
+       * NEWS, lib/exitcodes.h, src/chage.c:
+       differentiate the different failure causes by the exit value
+       This will permit to adduser Debian script to detect if chage failed because the
+       system doesn't have shadowed passwords (fix for http://bugs.debian.org/317012)
+       Plain merge 443_chage_exit_values Debian patch.
+
+       * man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/vipw.8.xml, man/chage.1.xml, man/chfn.1.xml:
+       use tabs in indentation (~10KB less in all xml files).
+
+       * po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po:
+       run "make update-po" and remove obsoleted strings.
+
+       * src/expiry.c, src/login.c: remove #if 0 .. #endif code.
+
+       * src/login.c: remove #if 1 .. #endif.
+
+       * libmisc/obscure.c, libmisc/utmp.c, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, src/chage.c, src/login.c, src/logoutd.c, src/newgrp.c, src/su.c, src/useradd.c, NEWS:
+       merge 010_more-i18ned-messages Debian patch which adds i18n support for few more messages
+       (orginaly patch was prepared by Guillem Jover <guillem@debian.org>).
+
+       * man/id/chsh.1:
+       fix .SH (fix merged from 207_id-manpages debian patch).
+
+2005-08-28  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * acinclude.m4: add aclocal macros (based on acinclude.m4 from glib):
+       JH_PATH_XML_CATALOG: checks the location of the XML Catalog,
+       JH_CHECK_XML_CATALOG: checks if a particular URI appears in the XML catalog.
+
+       * man/useradd.8, man/useradd.8.xml:
+       cleanups in "Changing the default values" section.
+
+       * man/useradd.8.xml:
+       replace <emphasis remap='I'></emphasis> by <replaceable></replaceable>.
+       Other minor cleanups.
+
+       * configure.in:
+       fixed missing )] in AC_ARG_WITH(skey, ..) (thank for fix to Yuri Kozlov <kozlov.y@gmail.com>).
+
+       * man/chsh.1, man/chsh.1.xml, man/faillog.5, man/faillog.8.xml, man/groupadd.8.xml, man/gshadow.5, man/gshadow.5.xml, man/lastlog.8, man/lastlog.8.xml, man/limits.5, man/limits.5.xml, man/login.1, man/login.1.xml, man/login.access.5, man/login.access.5.xml, man/login.defs.5, man/login.defs.5.xml, man/porttime.5, man/porttime.5.xml, man/pw_auth.3, man/pw_auth.3.xml, man/shadow.3, man/shadow.3.xml, man/suauth.5, man/suauth.5.xml, man/useradd.8, man/useradd.8.xml, man/userdel.8, man/userdel.8.xml, man/usermod.8, man/usermod.8.xml:
+       typos, and change some arguments so they do not match the name of a
+       command (fixes by Nicolas François <nicolas.francois@centraliens.net>).
+
+       * NEWS, libmisc/chkname.c, man/groupadd.8, man/groupadd.8.xml, man/useradd.8, man/useradd.8.xml:
+       fix regular expression describing alloved login/group names (pointed
+       by Nicolas François <nicolas.francois@centraliens.net>)
+       (correct is [a-z_][a-z0-9_-]*[$]).
+
+       * man/useradd.8, man/useradd.8.xml:
+       remove "Creating New Users" section and merge this directly in DESCRIPTION.
+       Add <option></option> for -o in EXIT VALUES section.
+
+       * po/ru.po, NEWS:
+       update ru translations (by Yuri Kozlov <kozlov.y@gmail.com>).
+
+2005-08-27  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * man/passwd.1, man/passwd.1.xml:
+       removed "Account maintenance" section.
+
+       * man/passwd.1, man/passwd.1.xml: partialy done rewrite.
+
+       * po/ro.po:
+       some fixes after review of the translation (by Sorin Batariuc <sorin@bonbon.net>).
+
+       * man/lastlog.8, man/lastlog.8.xml:
+       s/Print help message and exit./Display help message and exit./
+
+       * man/chage.1, man/chage.1.xml: document -h,--help option.
+
+       * man/groupadd.8, man/groupadd.8.xml:
+       document -h,--help option. added <option></option> for -o in EXIT VALUES.
+       Cleanups in SYNOPSIS section.
+
+       * man/chage.1, man/chage.1.xml, man/faillog.8, man/faillog.8.xml:
+       replace <emphasis remap='I'></emphasis> by <replaceable></replaceable>.
+
+       * man/lastlog.8, man/lastlog.8.xml: document new -b,--before option.
+
+       * po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/it.po, po/ja.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/el.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, src/lastlog.c:
+       s/lastlog results/lastlog records/ in lastlog usage output.
+
+       * man/lastlog.8, man/lastlog.8.xml: add "" aroud <command></command>.
+
+       * po/vi.po, po/zh_CN.po, po/zh_TW.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, src/lastlog.c:
+       alphabetic order options in lastlog usage output. Run "make -C po update-po".
+
+       * src/lastlog.c, NEWS:
+       added handle -b option which allow print only lastlog records older than
+       specified DAYS (fix by <miles@lubin.us>).
+
+       * libmisc/salt.c, NEWS:
+       fixed for use login.defs::MD5_CRYPT_ENAB only if PAM support
+       is disabled (fix by John Gatewood Ham <zappaman@buraphalinux.org>).
+
+2005-08-25  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * configure.in:
+       use AC_HELP_STRING() in AC_ARG_ENABLE() and AC_ARG_WITH().
+       Exit with error message if configure was runed --with-selinux
+       and libselinux not found.
+
+2005-08-24  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * libmisc/chkname.c, NEWS, man/groupadd.8, man/groupadd.8.xml, man/useradd.8, man/useradd.8.xml:
+       documents in CAVEATS section the limitations shadow places on user and
+       group names (fix by Mike Frysinger <vapier@gentoo.org>).
+
+       * src/passwd.c, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po:
+       added missing -i, --inactive in usage() output.
+
+2005-08-23  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, src/passwd.c, NEWS:
+       passwd rewrited for use getopt_long().
+
+       * man/chage.1, man/chage.1.xml: /warndays/--warndays/
+
+       * man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/vipw.8.xml, man/chage.1.xml, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml:
+       remove trailing spaces.
+
+       * src/lastlog.c, src/login.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/suauth.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, src/vipw.c, src/chpasswd.c, src/chsh.c, src/chsh_chkshell.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmems.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c:
+       reorder #includes, indentations and minor cleanups.
+
+       * src/newgrp.c: indent code.
+
+       * NEWS, src/newgrp.c:
+       when newgrp process sits between parent and child shells, it should
+       propagate STOPs from child to parent and CONTs from parent to child,
+       otherwise e.g. bash's "suspend" command won't work.
+       Fixed Debian http://bugs.debian.org/314727
+
+2005-08-22  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * configure.in: typo.
+
+       * configure.in:
+       add display short summary information on finish autoconf script.
+
+       * NEWS, configure.in: start work on 4.0.13.
+
 2005-08-21  Tomasz K³oczko  <kloczek@pld.org.pl>
 
        * po/ru.po: updated for 4.0.12 (by Yuri Kozlov <yuray@id.ru>).
 
        * lib/prototypes.h: removed outdated prototypes for lib/gsdbm.c.
 
-       * NEWS, lib/Attic/grpack.c, lib/Attic/gspack.c, lib/Attic/pwpack.c, lib/Attic/sppack.c, lib/Makefile.am, lib/prototypes.h:
+       * NEWS, lib/grpack.c, lib/gspack.c, lib/pwpack.c, lib/sppack.c, lib/Makefile.am, lib/prototypes.h:
        remove lib/{grpack,gspack,pwpack,sppack}.c and prototypes from lib/prototypes.h (outdated).
 
        * lib/prototypes.h: removed outdated prototypes from lib/pwdbm.c.
        s/presense/presence/; s/filesystem/file system/
        (sed on 440_manpages-login.1 Debian patch)
 
-       * man/pl/Attic/shadowconfig.8, man/pl/Makefile.am, man/ja/Attic/shadowconfig.8, man/ja/Makefile.am, man/it/Attic/shadowconfig.8, man/Attic/shadowconfig.8, man/Attic/shadowconfig.8.xml, man/Makefile.am, NEWS:
+       * man/pl/shadowconfig.8, man/pl/Makefile.am, man/ja/shadowconfig.8, man/ja/Makefile.am, man/it/shadowconfig.8, man/shadowconfig.8, man/shadowconfig.8.xml, man/Makefile.am, NEWS:
        removed shadowconfig(8) man page (will be maintained in Debian shadow pkg repository).
 
        * man/it/sg.1: added.
        option. It cause usermod to append user to the current supplementary group list.
        (patch by Peter Vrabec <pvrabec@redhat.com>)
 
-       * libmisc/Attic/chkshell.c, libmisc/Makefile.am, src/Makefile.am, src/chsh_chkshell.c:
+       * libmisc/chkshell.c, libmisc/Makefile.am, src/Makefile.am, src/chsh_chkshell.c:
        move libmisc/chkshell.c to src/chsh_chkshell.c. check_shell() is used only by chsh.
 
 2005-07-06  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * Attic/acconfig.h, NEWS, configure.in:
+       * acconfig.h, NEWS, configure.in:
        finish move all autoheader templates from acconfig.h to configure.in.
 
        * src/chage.c, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, NEWS:
        * configure.in, libmisc/getdate.y, libmisc/utmp.c, src/logoutd.c:
        remove non-USG code.
 
-       * Attic/acconfig.h, configure.in:
+       * acconfig.h, configure.in:
        start moving all autoheader templates from acconfig.h to configure.in.
 
        * configure.in: remove not used AC_DEFINE(HAVE_LIBCRYPT).
 
-       * Attic/acconfig.h, NEWS, configure.in:
+       * acconfig.h, NEWS, configure.in:
        stop with error message if crypt() not found. Remove --with{,out}-libcrypt switch.
 
        * src/login.c: fixed use SYSLOG macro.
 
        * NEWS: added past releases dates. Cleanups.
 
-       * man/Attic/shadowconfig.8: merge version generated from XML file.
+       * man/shadowconfig.8: merge version generated from XML file.
 
        * po/ca.po, po/cs.po, po/da.po, po/fi.po, NEWS:
        translations updated by maintainers.
 
 2005-06-17  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * man/ja/Attic/mkpasswd.8, man/ja/Makefile.am, man/pl/Attic/mkpasswd.8, man/pl/Makefile.am:
+       * man/ja/mkpasswd.8, man/ja/Makefile.am, man/pl/mkpasswd.8, man/pl/Makefile.am:
        remove ja and pl mkpasswd.8 man pages.
 
 2005-06-16  Tomasz K³oczko  <kloczek@pld.org.pl>
        * man/pwck.8.xml, man/useradd.8.xml, man/userdel.8.xml:
        correctly code EXIT VALUES section.
 
-       * Attic/acconfig.h: removed DES_RPC and OPIE templates.
+       * acconfig.h: removed DES_RPC and OPIE templates.
 
-       * src/Attic/mkpasswd.c, src/Makefile.am, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, NEWS, man/Attic/mkpasswd.8, man/Attic/mkpasswd.8.xml, man/Makefile.am, po/POTFILES.in, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po:
+       * src/mkpasswd.c, src/Makefile.am, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, NEWS, man/mkpasswd.8, man/mkpasswd.8.xml, man/Makefile.am, po/POTFILES.in, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po:
        removed mkpasswd.
 
        * man/Makefile.am: do not install mkpasswd(8) man page.
 
        * man/groupadd.8.xml: cleanups.
 
-       * man/Attic/mkpasswd.8.xml: added missing <variablelist> tag.
+       * man/mkpasswd.8.xml: added missing <variablelist> tag.
 
        * man/usermod.8.xml: cleanups.
 
 
        * src/login.c: indent.
 
-       * man/Attic/shadowconfig.8.xml, man/chage.1.xml, man/faillog.8.xml, man/groupmems.8.xml, man/gshadow.5.xml, man/login.1.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/vipw.8.xml:
+       * man/shadowconfig.8.xml, man/chage.1.xml, man/faillog.8.xml, man/groupmems.8.xml, man/gshadow.5.xml, man/login.1.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/vipw.8.xml:
        cleanups.
 
 2005-06-14  Tomasz K³oczko  <kloczek@pld.org.pl>
        was passed as it's optarg
        http://bugs.debian.org/53702
 
-       * po/POTFILES.in, NEWS, libmisc/Attic/setup.c, libmisc/Makefile.am:
+       * po/POTFILES.in, NEWS, libmisc/setup.c, libmisc/Makefile.am:
        not used now (removed).
 
        * man/usermod.8, man/usermod.8.xml:
 
 2005-05-25  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * src/Attic/mkpasswd.c, src/chpasswd.c, src/faillog.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/su.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/encrypt.c, lib/getdef.c, lib/gshadow.c, lib/pwauth.h, lib/shadow.c, libmisc/failure.c, libmisc/isexpired.c, libmisc/salt.c:
+       * src/mkpasswd.c, src/chpasswd.c, src/faillog.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/su.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/encrypt.c, lib/getdef.c, lib/gshadow.c, lib/pwauth.h, lib/shadow.c, libmisc/failure.c, libmisc/isexpired.c, libmisc/salt.c:
        indent all.
 
-       * src/chage.c, src/chpasswd.c, src/expiry.c, src/login.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/useradd.c, src/userdel.c, src/usermod.c, src/vipw.c, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, lib/Attic/sppack.c, lib/defines.h, lib/lockpw.c, lib/prototypes.h, lib/sgetspent.c, lib/shadow.c, lib/shadowio.c, libmisc/age.c, libmisc/entry.c, libmisc/isexpired.c, libmisc/pwd2spwd.c, libmisc/pwdcheck.c, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, Attic/acconfig.h, NEWS, configure.in:
+       * src/chage.c, src/chpasswd.c, src/expiry.c, src/login.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/useradd.c, src/userdel.c, src/usermod.c, src/vipw.c, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, lib/sppack.c, lib/defines.h, lib/lockpw.c, lib/prototypes.h, lib/sgetspent.c, lib/shadow.c, lib/shadowio.c, libmisc/age.c, libmisc/entry.c, libmisc/isexpired.c, libmisc/pwd2spwd.c, libmisc/pwdcheck.c, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, acconfig.h, NEWS, configure.in:
        remove using SHADOWPWD #define so now shadow is allways builded with shadow
        password support.
 
 
 2005-04-27  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * man/Attic/shadowconfig.8.xml, man/gpasswd.1.xml, man/groups.1.xml, man/grpck.8.xml, man/login.defs.5.xml, man/passwd.1.xml, man/pwck.8.xml, man/sulogin.8.xml, man/useradd.8.xml:
+       * man/shadowconfig.8.xml, man/gpasswd.1.xml, man/groups.1.xml, man/grpck.8.xml, man/login.defs.5.xml, man/passwd.1.xml, man/pwck.8.xml, man/sulogin.8.xml, man/useradd.8.xml:
        replace <emphasis remap='B'></emphasis> by <command></command>.
 
        * po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po, NEWS, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, src/lastlog.c:
        fixed lastlog --help message (s,--login,--user,) http://bugs.debian.org/249611
 
-       * man/Attic/mkpasswd.8.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pwck.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml:
+       * man/mkpasswd.8.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pwck.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml:
        use <varlistentry></varlistentry> in FILES section. Cleanups.
 
        * man/expiry.1.xml, man/chsh.1.xml, man/chpasswd.8.xml, man/chfn.1.xml, man/porttime.5.xml, man/pw_auth.3.xml:
        * man/chage.1.xml, man/chfn.1.xml, man/chsh.1.xml, man/expiry.1.xml, man/gpasswd.1.xml, man/groups.1.xml, man/id.1.xml, man/login.1.xml, man/passwd.1.xml, man/su.1.xml:
        added <refmiscinfo class="sectdesc">User Commands</refmiscinfo> in <refmeta></refmeta>.
 
-       * man/Attic/mkpasswd.8.xml, man/Attic/shadowconfig.8.xml, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/vigr.8.xml:
+       * man/mkpasswd.8.xml, man/shadowconfig.8.xml, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/vigr.8.xml:
        Use encoding="UTF-8" and DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN".
 
-       * man/userdel.8.xml, man/usermod.8.xml, man/vigr.8.xml, man/vipw.8.xml, man/Attic/mkpasswd.8.xml, man/Attic/shadowconfig.8.xml, man/chage.1.xml, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml:
+       * man/userdel.8.xml, man/usermod.8.xml, man/vigr.8.xml, man/vipw.8.xml, man/mkpasswd.8.xml, man/shadowconfig.8.xml, man/chage.1.xml, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml:
        better formation using "xmlindent -l 80 -d 2".
 
 2005-04-21  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * man/it/Attic/shadowconfig.8, man/it/chsh.1, man/it/expiry.1, man/it/faillog.5, man/it/faillog.8, man/it/getspnam.3, man/it/groups.1, man/it/grpck.8, man/it/grpconv.8, man/it/grpunconv.8, man/it/id.1, man/it/lastlog.8, man/it/login.1, man/it/logoutd.8, man/it/newgrp.1, man/it/porttime.5, man/it/pwck.8, man/it/shadow.3, man/it/shadow.5, man/it/su.1, man/it/vipw.8, NEWS, man/it/Makefile.am, man/it/chage.1, man/it/chfn.1, man/it/chpasswd.8:
+       * man/it/shadowconfig.8, man/it/chsh.1, man/it/expiry.1, man/it/faillog.5, man/it/faillog.8, man/it/getspnam.3, man/it/groups.1, man/it/grpck.8, man/it/grpconv.8, man/it/grpunconv.8, man/it/id.1, man/it/lastlog.8, man/it/login.1, man/it/logoutd.8, man/it/newgrp.1, man/it/porttime.5, man/it/pwck.8, man/it/shadow.3, man/it/shadow.5, man/it/su.1, man/it/vipw.8, NEWS, man/it/Makefile.am, man/it/chage.1, man/it/chfn.1, man/it/chpasswd.8:
        updated it man pages: chfn.1, chsh.1, groups.1, grpck.8, grpconv.8, grpunconv.8,
        id.1, lastlog.8, login.1, newgrp.1, pwunconv.8, shadow.5, vigr.8, vipw.8.
        new it man pages: chage.1, chpasswd.8, expiry.1, faillog.5, faillog.8,
        * po/uk.po:
        cleanups in plural forms (by Roman Festchook <roma@polesye.net>).
 
-       * man/Attic/mkpasswd.8.xml, man/Attic/shadowconfig.8.xml, man/chage.1, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/vipw.8.xml:
+       * man/mkpasswd.8.xml, man/shadowconfig.8.xml, man/chage.1, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/vipw.8.xml:
        reformated using xemacs.
 
 2005-04-20  Tomasz K³oczko  <kloczek@pld.org.pl>
        * man/useradd.8:
        fixed typos in useadd syntax (in SYNOPSIS section) catched using doclifter.
 
-       * man/Attic/mkpasswd.8.xml, man/Attic/shadowconfig.8.xml, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/getspnam.3.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/grpconv.8.xml, man/grpunconv.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/pwunconv.8.xml, man/sg.1.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/vigr.8.xml, man/vipw.8.xml:
+       * man/mkpasswd.8.xml, man/shadowconfig.8.xml, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/getspnam.3.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/grpconv.8.xml, man/grpunconv.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/pwunconv.8.xml, man/sg.1.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/vigr.8.xml, man/vipw.8.xml:
        raw version converted using doclifter.
 
        * configure.in: remove handle --with-lib{opie,skey}.
        * man/ja/newgrp.1, man/pl/newgrp.1, NEWS, man/hu/newgrp.1, man/newgrp.1:
        newgrp uses /bin/sh (not bash).
 
-       * man/Attic/mkpasswd.8, man/gpasswd.1, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/id.1, man/newgrp.1, man/pwck.8, man/useradd.8, man/userdel.8, man/usermod.8:
+       * man/mkpasswd.8, man/gpasswd.1, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/id.1, man/newgrp.1, man/pwck.8, man/useradd.8, man/userdel.8, man/usermod.8:
        describe /etc/group in FILES section as "group account information".
 
        * man/grpck.8:
 
        * NEWS, po/cs.po: Updated by Miroslav Kure <kurem@debian.cz>.
 
-       * man/chage.1.xml, man/Attic/mkpasswd.8, man/chage.1, man/expiry.1, man/login.1, man/newgrp.1, man/passwd.1, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8:
+       * man/chage.1.xml, man/mkpasswd.8, man/chage.1, man/expiry.1, man/login.1, man/newgrp.1, man/passwd.1, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8:
        describe /etc/shadow in FILES section as "secure user account information".
 
        * man/newgrp.1: Reformated paragraph. s,Bourne shell,\fBbash\fR shell,
        * NEWS, man/ja/login.1:
        updated ja man page for Debian #95213 bug (by Kenshi Muto <kmuto@debian.org>).
 
-       * src/chage.c, src/chfn.c, src/chsh.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/grpck.c, src/passwd.c, src/pwck.c, src/useradd.c, src/userdel.c, src/usermod.c, NEWS, lib/Attic/grdbm.c, lib/Attic/gsdbm.c, lib/Attic/pwdbm.c, lib/Attic/spdbm.c, lib/Makefile.am, lib/gshadow.c, lib/shadow.c:
+       * src/chage.c, src/chfn.c, src/chsh.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/grpck.c, src/passwd.c, src/pwck.c, src/useradd.c, src/userdel.c, src/usermod.c, NEWS, lib/grdbm.c, lib/gsdbm.c, lib/pwdbm.c, lib/spdbm.c, lib/Makefile.am, lib/gshadow.c, lib/shadow.c:
        next round of cleanups: removed NDBM code (unused).
 
        * src/login.c: consilidate some !USE_PAM lines.
 
        * lib/prototypes.h: remove not used login_desrpc() prototype.
 
-       * lib/Attic/rad64.c, lib/encrypt.c, lib/prototypes.h, lib/Makefile.am:
+       * lib/rad64.c, lib/encrypt.c, lib/prototypes.h, lib/Makefile.am:
        remove lib/rad64 with not used c64i() and i64c() functions.
 
        * lib/encrypt.c:
 
 2005-04-05  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * man/ru/passwd.5, man/zh_CN/chfn.1, man/zh_CN/chpasswd.8, man/zh_CN/chsh.1, man/zh_CN/groupadd.8, man/zh_CN/groupdel.8, man/zh_CN/groupmod.8, man/zh_CN/useradd.8, man/zh_CN/userdel.8, man/zh_CN/usermod.8, man/zh_TW/chfn.1, man/zh_TW/chsh.1, man/zh_TW/groupadd.8, man/zh_TW/groupdel.8, man/zh_TW/groupmod.8, man/zh_TW/useradd.8, man/zh_TW/userdel.8, man/zh_TW/usermod.8, man/ko/chfn.1, man/ko/chsh.1, man/ko/groups.1, man/ko/id.1, man/ko/login.1, man/ko/passwd.5, man/ko/su.1, man/pt_BR/gpasswd.1, man/pt_BR/groupadd.8, man/pt_BR/groupdel.8, man/pt_BR/groupmod.8, man/pt_BR/shadow.5, man/ja/Attic/mkpasswd.8, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/expiry.1, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/limits.5, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/newgrp.1, man/ja/passwd.1, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/shadow.3, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8, man/hu/chfn.1, man/hu/chsh.1, man/hu/gpasswd.1, man/hu/groups.1, man/hu/id.1, man/hu/login.1, man/hu/newgrp.1, man/hu/passwd.1, man/hu/su.1, man/id/chsh.1, man/id/login.1, man/id/useradd.8, man/it/chfn.1, man/it/chsh.1, man/it/gpasswd.1, man/it/groupadd.8, man/it/groupdel.8, man/it/groupmod.8, man/it/groups.1, man/it/grpck.8, man/it/id.1, man/it/lastlog.8, man/it/login.1, man/it/passwd.5, man/it/shadow.5, man/it/useradd.8, man/it/userdel.8, man/it/usermod.8, man/it/vipw.8, man/de/chfn.1, man/de/chsh.1, man/de/login.1, man/de/passwd.1, man/de/passwd.5, man/de/su.1, man/de/vipw.8, man/es/login.1, man/es/passwd.1, man/es/su.1, man/fr/chage.1, man/fr/chpasswd.8, man/fr/chsh.1, man/fr/faillog.5, man/fr/gpasswd.1, man/fr/groups.1, man/fr/id.1, man/fr/passwd.1, man/fr/passwd.5, man/fr/shadow.5, man/fr/su.1, man/fr/useradd.8, man/fr/userdel.8, man/fr/usermod.8, man/cs/groups.1, man/cs/id.1, man/cs/lastlog.8, man/cs/passwd.5, man/cs/shadow.5, man/cs/su.1, man/pl/Attic/mkpasswd.8, man/pl/Attic/shadowconfig.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/expiry.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmems.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/limits.5, man/pl/login.1, man/pl/login.access.5, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/passwd.5, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/su.1, man/pl/suauth.5, man/pl/sulogin.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/vipw.8, man/chage.1, man/chfn.1, man/expiry.1, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupmems.8, man/groupmod.8, man/grpck.8, man/lastlog.8, man/limits.5, man/login.1, man/login.defs.5, man/newgrp.1, man/passwd.1, man/porttime.5, man/pwck.8, man/shadow.3, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/usermod.8, man/vipw.8:
+       * man/ru/passwd.5, man/zh_CN/chfn.1, man/zh_CN/chpasswd.8, man/zh_CN/chsh.1, man/zh_CN/groupadd.8, man/zh_CN/groupdel.8, man/zh_CN/groupmod.8, man/zh_CN/useradd.8, man/zh_CN/userdel.8, man/zh_CN/usermod.8, man/zh_TW/chfn.1, man/zh_TW/chsh.1, man/zh_TW/groupadd.8, man/zh_TW/groupdel.8, man/zh_TW/groupmod.8, man/zh_TW/useradd.8, man/zh_TW/userdel.8, man/zh_TW/usermod.8, man/ko/chfn.1, man/ko/chsh.1, man/ko/groups.1, man/ko/id.1, man/ko/login.1, man/ko/passwd.5, man/ko/su.1, man/pt_BR/gpasswd.1, man/pt_BR/groupadd.8, man/pt_BR/groupdel.8, man/pt_BR/groupmod.8, man/pt_BR/shadow.5, man/ja/mkpasswd.8, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/expiry.1, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/limits.5, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/newgrp.1, man/ja/passwd.1, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/shadow.3, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8, man/hu/chfn.1, man/hu/chsh.1, man/hu/gpasswd.1, man/hu/groups.1, man/hu/id.1, man/hu/login.1, man/hu/newgrp.1, man/hu/passwd.1, man/hu/su.1, man/id/chsh.1, man/id/login.1, man/id/useradd.8, man/it/chfn.1, man/it/chsh.1, man/it/gpasswd.1, man/it/groupadd.8, man/it/groupdel.8, man/it/groupmod.8, man/it/groups.1, man/it/grpck.8, man/it/id.1, man/it/lastlog.8, man/it/login.1, man/it/passwd.5, man/it/shadow.5, man/it/useradd.8, man/it/userdel.8, man/it/usermod.8, man/it/vipw.8, man/de/chfn.1, man/de/chsh.1, man/de/login.1, man/de/passwd.1, man/de/passwd.5, man/de/su.1, man/de/vipw.8, man/es/login.1, man/es/passwd.1, man/es/su.1, man/fr/chage.1, man/fr/chpasswd.8, man/fr/chsh.1, man/fr/faillog.5, man/fr/gpasswd.1, man/fr/groups.1, man/fr/id.1, man/fr/passwd.1, man/fr/passwd.5, man/fr/shadow.5, man/fr/su.1, man/fr/useradd.8, man/fr/userdel.8, man/fr/usermod.8, man/cs/groups.1, man/cs/id.1, man/cs/lastlog.8, man/cs/passwd.5, man/cs/shadow.5, man/cs/su.1, man/pl/mkpasswd.8, man/pl/shadowconfig.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/expiry.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmems.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/limits.5, man/pl/login.1, man/pl/login.access.5, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/passwd.5, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/su.1, man/pl/suauth.5, man/pl/sulogin.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/vipw.8, man/chage.1, man/chfn.1, man/expiry.1, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupmems.8, man/groupmod.8, man/grpck.8, man/lastlog.8, man/limits.5, man/login.1, man/login.defs.5, man/newgrp.1, man/passwd.1, man/porttime.5, man/pwck.8, man/shadow.3, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/usermod.8, man/vipw.8:
        more replaces "-" by "\-" (s,\\-,-,g; s,-,\\-,g).
 
        * man/pl/usermod.8: finish sync with english version.
 
 2005-04-02  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * man/Attic/mkpasswd.8, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/gshadow.5, man/id.1, man/lastlog.8, man/limits.5:
+       * man/mkpasswd.8, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/gshadow.5, man/id.1, man/lastlog.8, man/limits.5:
        replace all "-" by "\-" (s,\\-,-,; s,-,\\-,).
 
        * man/cs/groups.1: cleanups.
 
        * src/login.c: remove unused #ifded LOGIN_FBTAB .. #endif code.
 
-       * configure.in, libmisc/Attic/login_access.c, libmisc/Makefile.am, src/Makefile.am, src/login.c, src/login_nopam.c:
+       * configure.in, libmisc/login_access.c, libmisc/Makefile.am, src/Makefile.am, src/login.c, src/login_nopam.c:
        move libmisc/login_access.c to src/login_mopam.c.
        Remove using LOGIN_ACCESS #define. Now LOGIN_ACCESS is equal to !USE_PAM.
        In src/login_nopam.c will be cumulated non-PAM specyfic login code.
 
        * po/POTFILES.in: remove libmisc/login_{desrpc,krb}.c.
 
-       * lib/getdef.c, libmisc/Attic/login_desrpc.c, libmisc/Attic/login_krb.c, libmisc/Makefile.am, src/login.c, NEWS, autogen.sh, configure.in:
+       * lib/getdef.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/Makefile.am, src/login.c, NEWS, autogen.sh, configure.in:
        drop never finished kerberos and des_rpc support.
 
        * man/it/chfn.1: cleanups.
 
        * lib/pwauth.c, lib/pwauth.h: enable pw_auth() only #ifndef USE_PAM.
 
-       * src/userdel.c, src/usermod.c, src/vipw.c, src/Attic/mkpasswd.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmems.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/suauth.c, src/sulogin.c, src/useradd.c, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, libmisc/Attic/login_access.c, libmisc/Attic/login_krb.c, libmisc/addgrps.c, libmisc/age.c, libmisc/chkname.h, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/copydir.c, libmisc/env.c, libmisc/failure.c, libmisc/failure.h, libmisc/getdate.h, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/loginprompt.c, libmisc/motd.c, libmisc/pam_pass.c, libmisc/pwdcheck.c, libmisc/rlogin.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/utmp.c, libmisc/xmalloc.c, NEWS, lib/Attic/grdbm.c, lib/Attic/grpack.c, lib/Attic/gsdbm.c, lib/Attic/gspack.c, lib/Attic/pwdbm.c, lib/Attic/pwpack.c, lib/Attic/rad64.c, lib/Attic/spdbm.c, lib/Attic/sppack.c, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/faillog.h, lib/fputsx.c, lib/getdef.c, lib/getdef.h, lib/getpass.c, lib/groupio.c, lib/groupio.h, lib/gshadow.c, lib/gshadow_.h, lib/lockpw.c, lib/port.c, lib/port.h, lib/prototypes.h, lib/pwauth.c, lib/pwauth.h, lib/pwio.c, lib/pwio.h, lib/rcsid.h, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/sgroupio.c, lib/sgroupio.h, lib/shadow.c, lib/shadowio.c, lib/shadowio.h, lib/utent.c:
+       * src/userdel.c, src/usermod.c, src/vipw.c, src/mkpasswd.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmems.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/suauth.c, src/sulogin.c, src/useradd.c, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, libmisc/login_access.c, libmisc/login_krb.c, libmisc/addgrps.c, libmisc/age.c, libmisc/chkname.h, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/copydir.c, libmisc/env.c, libmisc/failure.c, libmisc/failure.h, libmisc/getdate.h, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/loginprompt.c, libmisc/motd.c, libmisc/pam_pass.c, libmisc/pwdcheck.c, libmisc/rlogin.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/utmp.c, libmisc/xmalloc.c, NEWS, lib/grdbm.c, lib/grpack.c, lib/gsdbm.c, lib/gspack.c, lib/pwdbm.c, lib/pwpack.c, lib/rad64.c, lib/rcsid.h, lib/spdbm.c, lib/sppack.c, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/faillog.h, lib/fputsx.c, lib/getdef.c, lib/getdef.h, lib/getpass.c, lib/groupio.c, lib/groupio.h, lib/gshadow.c, lib/gshadow_.h, lib/lockpw.c, lib/port.c, lib/port.h, lib/prototypes.h, lib/pwauth.c, lib/pwauth.h, lib/pwio.c, lib/pwio.h, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/sgroupio.c, lib/sgroupio.h, lib/shadow.c, lib/shadowio.c, lib/shadowio.h, lib/utent.c:
        reindent all source code using -l80.
 
        * lib/gshadow.c, NEWS:
 
        * src/login.c: removed radius support (even not compiles).
 
-       * doc/Attic/README.mirrors, doc/Makefile.am: removed.
+       * doc/README.mirrors, doc/Makefile.am: removed.
 
        * src/userdel.c (update_user): removed next redundant closing }.
 
 
        * man/pwconv.8: typo in bold.
 
-       * doc/Attic/INSTALL: removed.
+       * doc/INSTALL: removed.
 
-       * doc/Attic/README.sun4, doc/Makefile.am: removed outdated README.sun4.
+       * doc/README.sun4, doc/Makefile.am: removed outdated README.sun4.
 
 2005-03-24  Tomasz K³oczko  <kloczek@pld.org.pl>
 
 
 2005-03-07  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * NEWS, etc/login.defs, etc/login.defs.linux, lib/getdef.c, man/pl/login.defs.5:
+       * NEWS, etc/login.defs.linux, etc/login.defs, lib/getdef.c, man/pl/login.defs.5:
        remove handle login.defs::NOLOGIN_STR (never used).
 
 2005-02-25  Tomasz K³oczko  <kloczek@pld.org.pl>
        * po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tr.po, po/uk.po, po/zh_CN.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po:
        "make update-po".
 
-       * src/Attic/mkpasswd.c, src/passwd.c, src/userdel.c, src/chage.c, src/chfn.c, src/chsh.c, src/gpasswd.c, src/groups.c, src/login.c:
+       * src/mkpasswd.c, src/passwd.c, src/userdel.c, src/chage.c, src/chfn.c, src/chsh.c, src/gpasswd.c, src/groups.c, src/login.c:
        "less means better" added fixes which makes english texts more consistent
        especially with capitalization issues. Based on fixes by Tommi Vainikainen
        <thv+debian@iki.fi> (make all text begining from lower case .. not upper).
 
        * po/pl.po: kill fuzzy.
 
-       * NEWS, lib/Attic/grent.c, lib/Attic/lastlog_.h, lib/Attic/md5.c, lib/Attic/md5.h, lib/Attic/md5crypt.c, lib/Attic/mkdir.c, lib/Attic/putgrent.c, lib/Attic/putpwent.c, lib/Attic/putspent.c, lib/Attic/pwent.c, lib/Attic/rename.c, lib/Attic/rmdir.c, lib/Attic/shadow_.h, lib/Attic/snprintf.c, lib/Attic/snprintf.h, lib/Attic/strcasecmp.c, lib/Attic/strdup.c, lib/Attic/strerror.c, lib/Attic/strstr.c, lib/Makefile.am:
+       * NEWS, lib/grent.c, lib/lastlog_.h, lib/md5.c, lib/md5.h, lib/md5crypt.c, lib/mkdir.c, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/pwent.c, lib/rename.c, lib/rmdir.c, lib/shadow_.h, lib/snprintf.c, lib/snprintf.h, lib/strcasecmp.c, lib/strdup.c, lib/strerror.c, lib/strstr.c, lib/Makefile.am:
        remove unused now files in lib/ directory.
 
        * po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tr.po, po/uk.po, po/zh_CN.po, po/POTFILES.in, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po:
        * NEWS:
        - final entry about fixed large file support in lastlog and faillog.
 
-       * src/vipw.c, lib/Attic/pwent.c, lib/Attic/grent.c:
+       * src/vipw.c, lib/pwent.c, lib/grent.c:
        use fseeko() instead fseek(). This not realuy neccessary because in this
        cases fseek() was used for move to begin of file. This only for minimize
        external functions count.
 
 2004-12-11  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * man/Attic/shadowconfig.8, man/chage.1, man/chfn.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/newgrp.1, man/newusers.8, man/passwd.5, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/suauth.5, man/useradd.8:
+       * man/shadowconfig.8, man/chage.1, man/chfn.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/newgrp.1, man/newusers.8, man/passwd.5, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/suauth.5, man/useradd.8:
        Fixed varoiuse typos and misspeling based partialy on patch from Bug#141322
        from Debian (submited by Christian Perrier <bubulle@debian.org>).
 
 
 2004-11-02  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * man/pl/Attic/mkpasswd.8, man/pl/chage.1, man/pl/chsh.1, man/pl/faillog.8, man/pl/groupadd.8, man/pl/groupmems.8, man/pl/groupmod.8, man/pl/lastlog.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/chage.1, man/chsh.1, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupmems.8, man/lastlog.8, man/useradd.8, man/userdel.8, man/usermod.8:
+       * man/pl/mkpasswd.8, man/pl/chage.1, man/pl/chsh.1, man/pl/faillog.8, man/pl/groupadd.8, man/pl/groupmems.8, man/pl/groupmod.8, man/pl/lastlog.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/chage.1, man/chsh.1, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupmems.8, man/lastlog.8, man/useradd.8, man/userdel.8, man/usermod.8:
        separated OPTIONS section.
 
        * lib/commonio.c: reverte last change.
 
 2004-10-26  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * man/pl/Attic/adduser.8, man/pl/Makefile.am, man/Attic/adduser.8, man/Makefile.am, man/fr/Attic/adduser.8, man/fr/Makefile.am, man/id/Attic/adduser.8, man/id/Makefile.am, man/it/Attic/adduser.8, man/it/Makefile.am, man/ja/Attic/adduser.8, man/ja/Makefile.am, NEWS:
+       * man/pl/adduser.8, man/pl/Makefile.am, man/adduser.8, man/Makefile.am, man/fr/adduser.8, man/fr/Makefile.am, man/id/adduser.8, man/id/Makefile.am, man/it/adduser.8, man/it/Makefile.am, man/ja/adduser.8, man/ja/Makefile.am, NEWS:
        remove adduser(8) roff include man page to useradd(8).
 
        * lib/Makefile.am: more fixes for non-inst libmisc.
        * etc/pam.d/chage, etc/pam.d/chpasswd, etc/pam.d/groupadd, etc/pam.d/groupdel, etc/pam.d/groupmod, etc/pam.d/newusers, etc/pam.d/useradd, etc/pam.d/usermod:
        use default path to PAM modules.
 
-       * etc/pam.d/Attic/shadow, etc/pam.d/Makefile.am, etc/pam.d/chage, etc/pam.d/chpasswd, etc/pam.d/groupadd, etc/pam.d/groupdel, etc/pam.d/groupmod, etc/pam.d/login, etc/pam.d/newusers, etc/pam.d/usermod:
+       * etc/pam.d/shadow, etc/pam.d/Makefile.am, etc/pam.d/chage, etc/pam.d/chpasswd, etc/pam.d/groupadd, etc/pam.d/groupdel, etc/pam.d/groupmod, etc/pam.d/login, etc/pam.d/newusers, etc/pam.d/usermod:
        Remove shadow PAM config file. Added PAM config files for: chage, chpasswd,
        groupadd, groupdel, groupmod, login, newusers.
 
 
        * libmisc/ttytype.c: Removed getenv() prototype (it is in <stdlib.h>).
 
-       * src/Attic/mkpasswd.c:
+       * src/mkpasswd.c:
        Removed fgetsx() prototype (it is in lib/prototypes.h).
 
        * man/it/vigr.8: Fixed typo (s/wipw/vipw/).
        New translations: bs, ca, da, eu, he, id, nb, nl, nn, pt, pt_BR, tr,
        zh_CN (stolen froM Debian)
 
-       * man/Attic/mkpasswd.8, man/grpck.8, man/pl/Attic/mkpasswd.8, man/pl/grpck.8, man/pl/pwck.8, man/pwck.8:
+       * man/mkpasswd.8, man/grpck.8, man/pl/mkpasswd.8, man/pl/grpck.8, man/pl/pwck.8, man/pwck.8:
        Corrected section number.
 
 2004-08-04  Tomasz K³oczko  <kloczek@pld.org.pl>
 
 2003-12-17  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * lib/Attic/lastlog_.h, libmisc/log.c, libmisc/utmp.c, src/lastlog.c, src/login.c:
+       * lib/lastlog_.h, libmisc/log.c, libmisc/utmp.c, src/lastlog.c, src/login.c:
        More time() or gettimeofday() prevention overwrite memory on 64bit arch
        (partialy based on patch from MDK).
 
 
        * po/POTFILES.in: Removed lib/tcfsio.c.
 
-       * lib/Attic/tcfsio.c, lib/Attic/tcfsio.h, lib/Makefile.am, src/passwd.c, src/userdel.c, NEWS, configure.in, doc/README.pam:
+       * lib/tcfsio.c, lib/tcfsio.h, lib/Makefile.am, src/passwd.c, src/userdel.c, NEWS, configure.in, doc/README.pam:
        Removed TCFS support (tcfs is dead).
 
        * configure.in:
        Added using AM_MAINTAINER_MODE. AC_INIT without parameters.
 
-       * Attic/acconfig.h, configure.in:
+       * acconfig.h, configure.in:
        Cleanups on autoheadres level: use AC_DEFINE(VAR, VAL, [Comment]) for
        USE_PAM, HAVE_TCFS and TCFS_GDBM_SUPPORT.
 
-       * src/newusers.c, src/useradd.c, Attic/acconfig.h, autogen.sh, lib/Attic/pwpack.c, NEWS:
+       * src/newusers.c, src/useradd.c, acconfig.h, autogen.sh, lib/pwpack.c, NEWS:
        Remove all old BSD_QUOTA dependent code.
 
 2003-12-16  Tomasz K³oczko  <kloczek@pld.org.pl>
 
        * lib/nscd.h: Added missing newline at end of file.
 
-       * Attic/acconfig.h: Remove unused (#un)defines.
+       * acconfig.h: Remove unused (#un)defines.
 
        * autogen.sh: Typo.
 
 
        * src/chage.c: Move *flg variables to global.
 
-       * Attic/acconfig.h: Comment for USG.
+       * acconfig.h: Comment for USG.
 
 2003-05-14  Tomasz K³oczko  <kloczek@pld.org.pl>
 
        One TODO entry gone: fix nscd flushing databases on change (use
        per service flushing method instead HUPing nscd process).
 
-       * lib/Makefile.am, lib/commonio.c, lib/nscd.c, lib/nscd.h, libmisc/Attic/nscd.c, libmisc/Attic/nscd.h, libmisc/Makefile.am:
+       * lib/Makefile.am, lib/commonio.c, lib/nscd.c, lib/nscd.h, libmisc/nscd.c, libmisc/nscd.h, libmisc/Makefile.am:
        Move nscd.{c,h} from libmisc/ to lib/.
        Fix warning about implicit declaration of function `nscd_flush_cache' in lib/commonio.c.
 
        * lib/pwauth.h: Fix pw_auth() prototype.
 
-       * libmisc/Attic/nscd.c, libmisc/Attic/nscd.h, libmisc/Makefile.am:
+       * libmisc/nscd.c, libmisc/nscd.h, libmisc/Makefile.am:
        Added header file for nscd communication functions.
 
        * libmisc/chkname.c (good_name):
 
        * src/useradd.c: Indent.
 
-       * man/ja/Attic/pwauth.8, man/ja/Makefile.am, man/pl/Attic/pwauth.8, man/pl/Makefile.am, src/passwd.c, src/useradd.c, NEWS, lib/pwauth.c, man/Attic/pwauth.8, man/Makefile.am:
+       * man/ja/pwauth.8, man/ja/Makefile.am, man/pl/pwauth.8, man/pl/Makefile.am, src/passwd.c, src/useradd.c, NEWS, lib/pwauth.c, man/pwauth.8, man/Makefile.am:
        Cleanups continuations: removed old AUTH_METHODS dependent code,
        removed also pwauth(8) man page.
 
        add handle /etc/defaults/useradd::CREATE_MAIL_SPOOL={yes,no} for allow
        create empty mail spool for added user.
 
-       * man/pl/Attic/d_passwd.5, man/pl/Attic/dialups.5: Removed.
+       * man/pl/d_passwd.5, man/pl/dialups.5: Removed.
 
        * man/groupmems.8: Close few \fB by add \fR.
 
 
        * libmisc/shell.c (shell): do not gettexitize DEBUG message.
 
-       * src/chsh.c, src/grpconv.c, src/login.c, src/logoutd.c, src/sulogin.c, src/vipw.c, libmisc/Attic/login_access.c, libmisc/getdate.y, libmisc/limits.c, libmisc/obscure.c, libmisc/setupenv.c, lib/getpass.c, lib/pwauth.c:
+       * src/chsh.c, src/grpconv.c, src/login.c, src/logoutd.c, src/sulogin.c, src/vipw.c, libmisc/login_access.c, libmisc/getdate.y, libmisc/limits.c, libmisc/obscure.c, libmisc/setupenv.c, lib/getpass.c, lib/pwauth.c:
        Removed "#if 0 .. #endif" dead code.
 
        * libmisc/utmp.c: Fixed unterminated #if.
 
-       * libmisc/Attic/login_access.c (resolve_hostname):
+       * libmisc/login_access.c (resolve_hostname):
        cleanup: removed #if 1 .. #endif.
 
-       * libmisc/Attic/getdate.c:
+       * libmisc/getdate.c:
        Removed - this file is generated by bison/yacc.
 
        * configure.in:
 
 2003-05-04  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * src/Attic/dpasswd.c, src/login.c, src/Makefile.am, man/pl/Attic/dpasswd.8, man/pl/Makefile.am, man/ja/Attic/dpasswd.8, man/ja/Makefile.am, man/Attic/dpasswd.8, man/Makefile.am, lib/Attic/dialchk.c, lib/Attic/dialchk.h, lib/Attic/dialup.c, lib/Attic/dialup.h, lib/Makefile.am, lib/getdef.c, etc/login.defs, etc/login.defs.linux, NEWS:
+       * src/dpasswd.c, src/login.c, src/Makefile.am, man/pl/dpasswd.8, man/pl/Makefile.am, man/ja/dpasswd.8, man/ja/Makefile.am, man/dpasswd.8, man/Makefile.am, lib/dialchk.c, lib/dialchk.h, lib/dialup.c, lib/dialup.h, lib/Makefile.am, lib/getdef.c, etc/login.defs.linux, etc/login.defs, NEWS:
        Removed old dpasswd and DIALUPS_CHECK_ENAB login.defs handling code from login.
 
-       * doc/Attic/ANNOUNCE, doc/Makefile.am, NEWS: Removed old doc/ANNOUNCE.
+       * doc/ANNOUNCE, doc/Makefile.am, NEWS: Removed old doc/ANNOUNCE.
 
        * src/login.c, lib/getdef.c, etc/login.defs.linux, NEWS:
        Remove NO_PASSWORD_CONSOLE code.
 
 2003-05-03  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * libmisc/pwd2spwd.c, libmisc/utmp.c, libmisc/entry.c, libmisc/isexpired.c, lib/sgetspent.c, lib/shadow.c, lib/Attic/putpwent.c, lib/Attic/pwent.c, lib/Attic/pwpack.c, lib/defines.h, lib/pwio.c, lib/sgetpwent.c, Attic/acconfig.h, configure.in:
+       * libmisc/pwd2spwd.c, libmisc/utmp.c, libmisc/entry.c, libmisc/isexpired.c, lib/sgetspent.c, lib/shadow.c, lib/putpwent.c, lib/pwent.c, lib/pwpack.c, lib/defines.h, lib/pwio.c, lib/sgetpwent.c, acconfig.h, configure.in:
        Remove old SVR4, ATT_AGE, ATT_COMMENT dependent code.
 
        * src/chage.c:
 
 2003-05-01  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * man/Attic/dpasswd.8, man/Attic/mkpasswd.8, man/Attic/pwauth.8, man/Attic/shadowconfig.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/limits.5, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pwck.8, man/pwconv.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8:
+       * man/dpasswd.8, man/mkpasswd.8, man/pwauth.8, man/shadowconfig.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/limits.5, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pwck.8, man/pwconv.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8:
        Reformated.
 
        * etc/login.defs:
        ENV_SUPATH to PATH=/sbin:/bin:/usr/sbin:/usr/bin and
        ENV_PATH to PATH=/bin:/usr/bin
 
-       * old/Attic/Makefile.am, old/Attic/Makefile.linux, old/Attic/Makefile.sun4, old/Attic/Makefile.svr4, old/Attic/Makefile.xenix, old/Attic/config.h.linux, old/Attic/config.h.sun4, old/Attic/config.h.svr4, old/Attic/config.h.xenix, old/Attic/orig-config.h, old/Attic/pwconv-old.8, old/Attic/pwconv-old.c, old/Attic/pwconv.8, old/Attic/pwd.h.m4, old/Attic/pwunconv-old.8, old/Attic/pwunconv-old.c, old/Attic/pwunconv.8, old/Attic/scologin.c, old/Attic/vipw.8:
+       * old/Makefile.am, old/Makefile.linux, old/Makefile.sun4, old/Makefile.svr4, old/Makefile.xenix, old/config.h.linux, old/config.h.sun4, old/config.h.svr4, old/config.h.xenix, old/orig-config.h, old/pwconv-old.8, old/pwconv-old.c, old/pwconv.8, old/pwd.h.m4, old/pwunconv-old.8, old/pwunconv-old.c, old/pwunconv.8, old/scologin.c, old/vipw.8:
        Removed old stuff.
 
 2003-04-30  Tomasz K³oczko  <kloczek@pld.org.pl>
 
        * man/ko/passwd.5: Remove ^M from end of line.
 
-       * src/chage.c, src/chpasswd.c, src/login.c, src/newusers.c, src/passwd.c, src/pwunconv.c, src/su.c, src/useradd.c, Attic/acconfig.h, NEWS, configure.in:
+       * src/chage.c, src/chpasswd.c, src/login.c, src/newusers.c, src/passwd.c, src/pwunconv.c, src/su.c, src/useradd.c, acconfig.h, NEWS, configure.in:
        Removed old ATT_AGE (account ageing in passwd file) dependent code.
 
        * po/pl.po: Fix chage and lastlog messages.
 
        * src/groupadd.c: Typo (s/nut/not/).
 
-       * man/Attic/shadowconfig.8: Merge changes from Debian.
+       * man/shadowconfig.8: Merge changes from Debian.
 
        * NEWS, man/passwd.5:
        Remove text about password aging from passwd(5) (based on Debian changes).
        * NEWS, configure.in, man/Makefile.am, man/ru/Makefile.am, man/ru/passwd.5:
        Added ru passwd(1) man page from KSI resources.
 
-       * man/zh_CN/Makefile.am, man/zh_CN/chfn.1, man/zh_CN/chsh.1, man/zh_TW/Makefile.am, man/zh_TW/chfn.1, man/zh_TW/chsh.1, man/ja/Attic/dpasswd.8, man/ja/Attic/mkpasswd.8, man/ja/Attic/pwauth.8, man/ja/Attic/shadowconfig.8, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/expiry.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/limits.5, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/newgrp.1, man/ja/newusers.8, man/ja/passwd.1, man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/pwconv.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8, NEWS, man/cs/Makefile.am, man/cs/id.1:
+       * man/zh_CN/Makefile.am, man/zh_CN/chfn.1, man/zh_CN/chsh.1, man/zh_TW/Makefile.am, man/zh_TW/chfn.1, man/zh_TW/chsh.1, man/ja/dpasswd.8, man/ja/mkpasswd.8, man/ja/pwauth.8, man/ja/shadowconfig.8, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/expiry.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/limits.5, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/newgrp.1, man/ja/newusers.8, man/ja/passwd.1, man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/pwconv.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8, NEWS, man/cs/Makefile.am, man/cs/id.1:
        Added chch(1), chfn(1) man pages from chinese man pages translation
        project.
        Added id(1) man page czech man pages translation project.
        * NEWS: Ready for gettext 0.11.5, automake 1.7.4, autoconf 2.57.
        Many cleanups and unifications in man pages.
 
-       * man/pt_BR/gpasswd.1, man/pt_BR/groupadd.8, man/pt_BR/groupdel.8, man/pt_BR/groupmod.8, man/pt_BR/shadow.5, man/zh_CN/chpasswd.8, man/zh_CN/groupadd.8, man/zh_CN/groupdel.8, man/zh_CN/groupmod.8, man/zh_CN/useradd.8, man/zh_CN/userdel.8, man/zh_CN/usermod.8, man/zh_TW/groupadd.8, man/zh_TW/groupdel.8, man/zh_TW/groupmod.8, man/zh_TW/useradd.8, man/zh_TW/userdel.8, man/zh_TW/usermod.8, man/ko/login.1, man/ko/su.1, man/pl/chage.1, man/pl/chfn.1, man/pl/chsh.1, man/pl/expiry.1, man/pl/gpasswd.1, man/pl/groupmems.8, man/pl/groups.1, man/pl/id.1, man/pl/lastlog.8, man/pl/login.1, man/pl/newgrp.1, man/pl/passwd.1, man/pl/su.1, man/pl/sulogin.8, man/pl/useradd.8, man/pl/usermod.8, man/ja/Attic/mkpasswd.8, man/ja/chage.1, man/ja/chfn.1, man/ja/chsh.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/limits.5, man/ja/login.1, man/ja/login.access.5, man/ja/logoutd.8, man/ja/newgrp.1, man/ja/passwd.1, man/ja/passwd.5, man/ja/porttime.5, man/ja/pwck.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/hu/chsh.1, man/hu/gpasswd.1, man/hu/groups.1, man/hu/login.1, man/hu/newgrp.1, man/hu/passwd.1, man/it/gpasswd.1, man/it/groupadd.8, man/it/groupdel.8, man/it/groupmod.8, man/it/grpck.8, man/it/lastlog.8, man/it/shadow.5, man/it/useradd.8, man/it/userdel.8, man/it/usermod.8, man/cs/shadow.5, man/es/su.1, man/fr/chage.1, man/fr/faillog.5, man/fr/gpasswd.1, man/fr/shadow.5, man/fr/su.1, man/fr/userdel.8, man/fr/usermod.8, man/Attic/dpasswd.8, man/Attic/mkpasswd.8, man/chage.1, man/chfn.1, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/limits.5, man/login.1, man/login.access.5, man/logoutd.8, man/newgrp.1, man/passwd.1, man/passwd.5, man/porttime.5, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8:
+       * man/pt_BR/gpasswd.1, man/pt_BR/groupadd.8, man/pt_BR/groupdel.8, man/pt_BR/groupmod.8, man/pt_BR/shadow.5, man/zh_CN/chpasswd.8, man/zh_CN/groupadd.8, man/zh_CN/groupdel.8, man/zh_CN/groupmod.8, man/zh_CN/useradd.8, man/zh_CN/userdel.8, man/zh_CN/usermod.8, man/zh_TW/groupadd.8, man/zh_TW/groupdel.8, man/zh_TW/groupmod.8, man/zh_TW/useradd.8, man/zh_TW/userdel.8, man/zh_TW/usermod.8, man/ko/login.1, man/ko/su.1, man/pl/chage.1, man/pl/chfn.1, man/pl/chsh.1, man/pl/expiry.1, man/pl/gpasswd.1, man/pl/groupmems.8, man/pl/groups.1, man/pl/id.1, man/pl/lastlog.8, man/pl/login.1, man/pl/newgrp.1, man/pl/passwd.1, man/pl/su.1, man/pl/sulogin.8, man/pl/useradd.8, man/pl/usermod.8, man/ja/mkpasswd.8, man/ja/chage.1, man/ja/chfn.1, man/ja/chsh.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/limits.5, man/ja/login.1, man/ja/login.access.5, man/ja/logoutd.8, man/ja/newgrp.1, man/ja/passwd.1, man/ja/passwd.5, man/ja/porttime.5, man/ja/pwck.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/hu/chsh.1, man/hu/gpasswd.1, man/hu/groups.1, man/hu/login.1, man/hu/newgrp.1, man/hu/passwd.1, man/it/gpasswd.1, man/it/groupadd.8, man/it/groupdel.8, man/it/groupmod.8, man/it/grpck.8, man/it/lastlog.8, man/it/shadow.5, man/it/useradd.8, man/it/userdel.8, man/it/usermod.8, man/cs/shadow.5, man/es/su.1, man/fr/chage.1, man/fr/faillog.5, man/fr/gpasswd.1, man/fr/shadow.5, man/fr/su.1, man/fr/userdel.8, man/fr/usermod.8, man/dpasswd.8, man/mkpasswd.8, man/chage.1, man/chfn.1, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/limits.5, man/login.1, man/login.access.5, man/logoutd.8, man/newgrp.1, man/passwd.1, man/passwd.5, man/porttime.5, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8:
        Fixes: correct utmp/wtmp paths.
        Unifications: bold commnanda and italify other file names.
        Other minor changes and cleanups and unifications.
 
 2003-04-22  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * libmisc/Attic/getdate.c, libmisc/Attic/login_access.c, libmisc/Attic/login_desrpc.c, libmisc/Attic/login_krb.c, libmisc/Attic/nscd.c, libmisc/Attic/setup.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/motd.c, libmisc/myname.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/pwd2spwd.c, libmisc/pwd_init.c, libmisc/pwdcheck.c, libmisc/rlogin.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, libmisc/Attic/chkshell.c, libmisc/addgrps.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c:
+       * libmisc/getdate.c, libmisc/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/nscd.c, libmisc/setup.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/motd.c, libmisc/myname.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/pwd2spwd.c, libmisc/pwd_init.c, libmisc/pwdcheck.c, libmisc/rlogin.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, libmisc/chkshell.c, libmisc/addgrps.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c:
        Indent all using current .indent.pro settings.
 
        * po/Makevars: New file neccessary for gettext >=0.11.5.
        fixed making vigr symlink to vipw (not vipw to vigr) in install-exec-hook (fix submited by
        Dimitar Zhekov <jimmy@is-vn.bg>).
 
-       * debian/Attic/login.copyright, debian/Attic/login.postinst, debian/Attic/login.postrm, debian/Attic/login.preinst, debian/Attic/login.prerm, debian/Attic/logoutd.init, debian/Attic/passwd.conffiles, debian/Attic/passwd.copyright, debian/Attic/passwd.cron, debian/Attic/passwd.init, debian/Attic/passwd.postinst, debian/Attic/passwd.postrm, debian/Attic/porttime, debian/Attic/rules, debian/Attic/secure-su.README, debian/Attic/secure-su.conffiles, debian/Attic/secure-su.copyright, debian/Attic/secure-su.postrm, debian/Attic/secure-su.preinst, debian/Attic/securetty, debian/Attic/shadowconfig.sh, debian/Attic/Makefile.am, debian/Attic/changelog, debian/Attic/checksums, debian/Attic/control, debian/Attic/control.gnu, debian/Attic/control.linux, debian/Attic/login.conffiles, Makefile.am, configure.in:
+       * debian/login.copyright, debian/login.postinst, debian/login.postrm, debian/login.preinst, debian/login.prerm, debian/logoutd.init, debian/passwd.conffiles, debian/passwd.copyright, debian/passwd.cron, debian/passwd.init, debian/passwd.postinst, debian/passwd.postrm, debian/porttime, debian/rules, debian/secure-su.README, debian/secure-su.conffiles, debian/secure-su.copyright, debian/secure-su.postrm, debian/secure-su.preinst, debian/securetty, debian/shadowconfig.sh, debian/Makefile.am, debian/changelog, debian/checksums, debian/control, debian/control.gnu, debian/control.linux, debian/login.conffiles, Makefile.am, configure.in:
        removed debian directory.
 
 2002-10-12  Tomasz K³oczko  <kloczek@pld.org.pl>
 
 2002-03-18  Andrzej Krzysztofowicz  <ankry@pld.org.pl>
 
-       * man/ja/Attic/dpasswd.8, man/ja/Attic/shadowconfig.8, man/ja/chpasswd.8, man/ja/faillog.8, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/id.1, man/ja/lastlog.8, man/ja/login.defs.5, man/ja/newusers.8, man/ja/su.1, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8:
+       * man/ja/dpasswd.8, man/ja/shadowconfig.8, man/ja/chpasswd.8, man/ja/faillog.8, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/id.1, man/ja/lastlog.8, man/ja/login.defs.5, man/ja/newusers.8, man/ja/su.1, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8:
        - updated to man-pages-ja-20020315 (except cvs tags)
 
 2002-03-15  Andrzej Krzysztofowicz  <ankry@pld.org.pl>
 
        * TODO: updated.
 
-       * man/it/Makefile.am, man/id/Attic/adduser.8, man/id/Makefile.am, man/id/useradd.8, man/Makefile.am, man/cs/Makefile.am, man/fr/Makefile.am, configure.in, NEWS:
+       * man/it/Makefile.am, man/id/adduser.8, man/id/Makefile.am, man/id/useradd.8, man/Makefile.am, man/cs/Makefile.am, man/fr/Makefile.am, configure.in, NEWS:
        added cs, de, fr, id, it, ko man pages to ac/am.
 
 2002-03-12  Tomasz K³oczko  <kloczek@pld.org.pl>
 
 2002-03-10  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * man/it/usermod.8, man/it/vigr.8, man/it/vipw.8, man/it/Attic/adduser.8, man/it/chfn.1, man/it/chsh.1, man/it/gpasswd.1, man/it/groupadd.8, man/it/groupdel.8, man/it/groupmod.8, man/it/groups.1, man/it/grpck.8, man/it/grpconv.8, man/it/grpunconv.8, man/it/id.1, man/it/lastlog.8, man/it/login.1, man/it/newgrp.1, man/it/passwd.1, man/it/passwd.5, man/it/pwconv.8, man/it/pwunconv.8, man/it/shadow.5, man/it/useradd.8, man/it/userdel.8, man/id/Attic/adduser.8, man/id/chsh.1, man/id/login.1, man/fr/Attic/adduser.8, man/fr/chage.1, man/fr/chpasswd.8, man/fr/chsh.1, man/fr/faillog.5, man/fr/gpasswd.1, man/fr/groups.1, man/fr/id.1, man/fr/newgrp.1, man/fr/passwd.1, man/fr/passwd.5, man/fr/shadow.5, man/fr/su.1, man/fr/useradd.8, man/fr/userdel.8, man/fr/usermod.8, man/es/login.1, man/es/passwd.1, man/es/su.1, man/de/chsh.1, man/de/groups.1, man/de/login.1, man/de/passwd.1, man/de/su.1, man/cs/passwd.5, man/cs/shadow.5:
+       * man/it/usermod.8, man/it/vigr.8, man/it/vipw.8, man/it/adduser.8, man/it/chfn.1, man/it/chsh.1, man/it/gpasswd.1, man/it/groupadd.8, man/it/groupdel.8, man/it/groupmod.8, man/it/groups.1, man/it/grpck.8, man/it/grpconv.8, man/it/grpunconv.8, man/it/id.1, man/it/lastlog.8, man/it/login.1, man/it/newgrp.1, man/it/passwd.1, man/it/passwd.5, man/it/pwconv.8, man/it/pwunconv.8, man/it/shadow.5, man/it/useradd.8, man/it/userdel.8, man/id/adduser.8, man/id/chsh.1, man/id/login.1, man/fr/adduser.8, man/fr/chage.1, man/fr/chpasswd.8, man/fr/chsh.1, man/fr/faillog.5, man/fr/gpasswd.1, man/fr/groups.1, man/fr/id.1, man/fr/newgrp.1, man/fr/passwd.1, man/fr/passwd.5, man/fr/shadow.5, man/fr/su.1, man/fr/useradd.8, man/fr/userdel.8, man/fr/usermod.8, man/es/login.1, man/es/passwd.1, man/es/su.1, man/de/chsh.1, man/de/groups.1, man/de/login.1, man/de/passwd.1, man/de/su.1, man/cs/passwd.5, man/cs/shadow.5:
        added some raw cs, de, es, fr, id, it man pages from national
        man pages translation projects (all man pages not yet added to Makefile.am
        files because all need some work).
        remove suauth.c from libmisc_la_SOURCES (varialbles and functions from
        this file are usesd only in su).
 
-       * libmisc/Attic/suauth.c, src/suauth.c: move suauth.c o src/.
+       * libmisc/suauth.c, src/suauth.c: move suauth.c o src/.
 
-       * libmisc/Attic/suauth.c:
+       * libmisc/suauth.c:
        move "struct passwd pwent" outside #ifdef SU_ACCESS.
 
 2002-03-09  Andrzej Krzysztofowicz  <ankry@pld.org.pl>
 
 2002-03-09  Andrzej Krzysztofowicz  <ankry@pld.org.pl>
 
-       * man/pt_BR/groupadd.8, man/pt_BR/groupdel.8, man/pt_BR/groupmod.8, man/pt_BR/shadow.5, man/pl/userdel.8, man/pl/usermod.8, man/pl/sulogin.8, man/pl/useradd.8, man/pl/pwconv.8, man/pl/su.1, man/pl/Attic/mkpasswd.8, man/pl/Attic/pwauth.8, man/pl/newgrp.1, man/pl/passwd.5, man/pl/login.defs.5, man/pl/chpasswd.8, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmems.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/login.1, man/hu/groups.1, man/hu/newgrp.1, man/ja/Attic/mkpasswd.8, man/ja/Attic/pwauth.8, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/login.1, man/ja/login.defs.5, man/ja/newgrp.1, man/ja/passwd.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/shadow.5, man/ja/su.1, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8:
+       * man/pt_BR/groupadd.8, man/pt_BR/groupdel.8, man/pt_BR/groupmod.8, man/pt_BR/shadow.5, man/pl/userdel.8, man/pl/usermod.8, man/pl/sulogin.8, man/pl/useradd.8, man/pl/pwconv.8, man/pl/su.1, man/pl/mkpasswd.8, man/pl/pwauth.8, man/pl/newgrp.1, man/pl/passwd.5, man/pl/login.defs.5, man/pl/chpasswd.8, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmems.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/login.1, man/hu/groups.1, man/hu/newgrp.1, man/ja/mkpasswd.8, man/ja/pwauth.8, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/login.1, man/ja/login.defs.5, man/ja/newgrp.1, man/ja/passwd.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/shadow.5, man/ja/su.1, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8:
        - further "SEE ALSO" references sorting
 
 2002-03-08  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * man/pwck.8, man/pwconv.8, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8, man/Attic/mkpasswd.8, man/Attic/pwauth.8, man/Makefile.am, man/chpasswd.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/login.1, man/login.defs.5, man/newgrp.1, man/newusers.8, man/passwd.5, man/pw_auth.3:
+       * man/pwck.8, man/pwconv.8, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8, man/mkpasswd.8, man/pwauth.8, man/Makefile.am, man/chpasswd.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/login.1, man/login.defs.5, man/newgrp.1, man/newusers.8, man/passwd.5, man/pw_auth.3:
        merged shadow-4.0.0-owl-man.patch by Solar Designer <solar@openwall.com>.
 
        * NEWS: updated for 4.0.3.
 
-       * libmisc/Attic/suauth.c, libmisc/utmp.c, src/login.c, src/su.c:
+       * libmisc/suauth.c, libmisc/utmp.c, src/login.c, src/su.c:
        swapped utent dnd pwent efinition/extern and now shadow source can be configured
        --with-shared (fix by Dimitar Zhekov <jimmy@is-vn.bg>).
 
 
        * man/hu/passwd.1: missing "-"
 
-       * man/ja/Attic/shadowconfig.8, man/ja/passwd.5, man/ja/shadow.5:
+       * man/ja/shadowconfig.8, man/ja/passwd.5, man/ja/shadow.5:
        - updated to man-pages-ja-20020215
 
 2002-02-23  Andrzej Krzysztofowicz  <ankry@pld.org.pl>
 
 2002-02-17  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * Attic/shadow-utils.spec.in, Makefile.am, configure.in, shadow.spec.in:
+       * shadow-utils.spec.in, Makefile.am, configure.in, shadow.spec.in:
        rename spec file s/shadow-utils.spec/shadow.spec/
 
        * po/cs.po, po/el.po, po/fr.po, po/ja.po, po/ko.po, po/sv.po, po/uk.po:
 
 2002-02-01  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * man/pl/Attic/adduser.8, man/pl/grpconv.8, man/pl/grpunconv.8, man/pl/pwunconv.8, man/pl/sg.1, man/pl/vigr.8, man/ja/Attic/adduser.8, man/ja/grpconv.8, man/ja/grpunconv.8, man/ja/pwunconv.8, man/ja/sg.1, man/ja/vigr.8, man/hu/sg.1, man/Attic/adduser.8, man/grpconv.8, man/grpunconv.8, man/pwunconv.8, man/sg.1, man/vigr.8:
+       * man/pl/adduser.8, man/pl/grpconv.8, man/pl/grpunconv.8, man/pl/pwunconv.8, man/pl/sg.1, man/pl/vigr.8, man/ja/adduser.8, man/ja/grpconv.8, man/ja/grpunconv.8, man/ja/pwunconv.8, man/ja/sg.1, man/ja/vigr.8, man/hu/sg.1, man/adduser.8, man/grpconv.8, man/grpunconv.8, man/pwunconv.8, man/sg.1, man/vigr.8:
        placa ".so man<level>/<man_page>.<level>" in roff .so includes (seems some
        man page viewers do not handles correctly man documents without subdirectory
        name in roff .so incude).
        * po/sv.po, po/uk.po, po/cs.po, po/el.po, po/fr.po, po/ja.po, po/ko.po, po/pl.po:
        update.
 
-       * src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, src/vipw.c, src/Attic/dpasswd.c, src/Attic/mkpasswd.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupmems.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c:
+       * src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, src/vipw.c, src/dpasswd.c, src/mkpasswd.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupmems.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c:
        Add -pcs to .indent.pro file and reindent all code.
        Remove "\n" from all SYSLOG() messages.
 
 
        * po/uk.po: typo.
 
-       * man/pl/passwd.1, man/ja/passwd.1, man/Attic/dpasswd.8, man/chpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1:
+       * man/pl/passwd.1, man/ja/passwd.1, man/dpasswd.8, man/chpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1:
        cleanups.
 
-       * src/Attic/dpasswd.c, src/Attic/mkpasswd.c, src/expiry.c, src/grpck.c, src/id.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/chfn.c, src/chsh.c, po/ja.po, po/ko.po, po/pl.po, po/sv.po, po/uk.po, po/cs.po, po/el.po, po/fr.po, man/useradd.8:
+       * src/dpasswd.c, src/mkpasswd.c, src/expiry.c, src/grpck.c, src/id.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/chfn.c, src/chsh.c, po/ja.po, po/ko.po, po/pl.po, po/sv.po, po/uk.po, po/cs.po, po/el.po, po/fr.po, man/useradd.8:
        standarize usage messages syntax.
 
        * man/pl/useradd.8, man/pl/usermod.8, man/pl/vipw.8, man/pl/userdel.8:
 
 2001-12-20  Andrzej Krzysztofowicz  <ankry@pld.org.pl>
 
-       * man/ja/Attic/adduser.8, man/ja/Makefile.am, man/ja/limits.5, man/ja/pwconv.8:
+       * man/ja/adduser.8, man/ja/Makefile.am, man/ja/limits.5, man/ja/pwconv.8:
        - updated to man-pages-ja-20011215
 
 2001-11-19  Tomasz K³oczko  <kloczek@pld.org.pl>
 
 2001-11-16  Andrzej Krzysztofowicz  <ankry@pld.org.pl>
 
-       * man/ja/Attic/pwauth.8, man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/Attic/dpasswd.8, man/ja/Attic/mkpasswd.8, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/grpck.8, man/ja/lastlog.8, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/newgrp.1, man/ja/passwd.1:
+       * man/ja/pwauth.8, man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/dpasswd.8, man/ja/mkpasswd.8, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/grpck.8, man/ja/lastlog.8, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/newgrp.1, man/ja/passwd.1:
        - updated to man-pages-ja-20011115.tar.gz
 
        * man/ja/groups.1: 3c26de91cfd359c0b7c36ca3cd3e170d  groups.1
 
        * man/ja/pwunconv.8: 402190c04b8df45e20afd01e3acd0da4  pwunconv.8
 
-       * man/ja/Attic/shadowconfig.8:
+       * man/ja/shadowconfig.8:
        f79300c0db64fd961443177c88605087  shadowconfig.8
 
        * man/ja/useradd.8: 3333b9a2e5a388a472fb05106d65a596  useradd.8
 
 2001-11-06  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * src/Attic/dpasswd.c, src/gpasswd.c, src/groupadd.c, src/groupmod.c, src/grpck.c, src/lastlog.c, src/login.c, src/passwd.c, src/pwck.c, src/userdel.c, src/usermod.c, src/chage.c, src/chfn.c, src/chsh.c, libmisc/utmp.c:
+       * src/dpasswd.c, src/gpasswd.c, src/groupadd.c, src/groupmod.c, src/grpck.c, src/lastlog.c, src/login.c, src/passwd.c, src/pwck.c, src/userdel.c, src/usermod.c, src/chage.c, src/chfn.c, src/chsh.c, libmisc/utmp.c:
        removed prototypes which are defined in libc header files
        (Thorsten Kukuk <kukuk@suse.de>).
 
-       * libmisc/Attic/nscd.c, libmisc/Makefile.am, lib/commonio.c:
+       * libmisc/nscd.c, libmisc/Makefile.am, lib/commonio.c:
        implemetn better reloading the nscd cache (per NSS map)
        by Thorsten Kukuk <kukuk@suse.de>
 
 
        * src/useradd.c: sort alphabetically *flg variables.
 
-       * debian/Attic/Makefile.am, debian/Attic/tar.c: removed.
+       * debian/Makefile.am, debian/tar.c: removed.
 
 2001-10-10  Tomasz K³oczko  <kloczek@pld.org.pl>
 
        remove limit to 6 chars logged tty name (apply 012_libmisc_sulog.c.diff Debian
        patch).
 
-       * man/pl/Attic/shadowconfig.8, man/Attic/shadowconfig.8:
+       * man/pl/shadowconfig.8, man/shadowconfig.8:
        - aply 021_man_shadowconfig_usr_doc.diff debian patch.
 
        * src/Makefile.am, lib/Makefile.am:
        use $(top_builddir) in .la files paths (for allow correct compile if
        $(top_builddir) isn't the same as $(top_srcdir)).
 
-       * po/Attic/ChangeLog: removed ChangeLog.
+       * po/ChangeLog: removed ChangeLog.
 
 2001-08-18  Micha³ Moskal  <malekith@pld.org.pl>
 
 
 2001-08-06  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * po/Attic/ChangeLog, po/uk.po, configure.in:
+       * po/ChangeLog, po/uk.po, configure.in:
        added uk translation (Roman Festchook <roma@polesye.net>).
 
        * src/logoutd.c (mani):
 
 2001-07-27  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * Attic/acconfig.h: - added missing USG.
+       * acconfig.h: - added missing USG.
 
 2001-07-04  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
 
        * NEWS: entry about dropping support one argument pam_strerror().
 
-       * libmisc/pam_pass.c, src/login.c, src/su.c, Attic/acconfig.h, configure.in, lib/defines.h, lib/pam_defs.h:
+       * libmisc/pam_pass.c, src/login.c, src/su.c, acconfig.h, configure.in, lib/defines.h, lib/pam_defs.h:
        drop detecting is pam_strerror() need one or two arguments. Instead using
        PAM_STRERROR() macro use directly pam_strerror() function with two arguments.
        pam_strerror() with one argument is obsoleted.
        In current version ndling md5 functionality is included conditionaly
        inside md5.c and md5crypt.c source files.
 
-       * lib/Attic/md5.c: added comments for #endif.
+       * lib/md5.c: added comments for #endif.
 
        * configure.in: also do not use SU_ACCESS when PAM is used.
 
 
        * po/pl.po: fixed charset (must be iso-8859-2).
 
-       * man/Makefile.am, man/ja/Attic/dpasswd.8, man/ja/Attic/mkpasswd.8, man/ja/Attic/pwauth.8, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/grpck.8, man/ja/lastlog.8, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/newgrp.1, man/ja/passwd.1, man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/pwconv.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/userdel.8, man/ja/usermod.8, configure.in, NEWS:
+       * man/Makefile.am, man/ja/dpasswd.8, man/ja/mkpasswd.8, man/ja/pwauth.8, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/grpck.8, man/ja/lastlog.8, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/newgrp.1, man/ja/passwd.1, man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/pwconv.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/userdel.8, man/ja/usermod.8, configure.in, NEWS:
        added ja man pages.
 
 2001-05-30  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * src/Attic/shadowconfig.sh, src/Makefile.am, debian/Attic/Makefile.am, debian/Attic/shadowconfig.sh:
+       * src/shadowconfig.sh, src/Makefile.am, debian/Makefile.am, debian/shadowconfig.sh:
        move shadowconfig.sh to debian/
 
        * src/Makefile.am: added missing -I${top_srcdir} to INCLUDES.
 
 2001-02-04  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * shlib/Attic/Makefile.am, shlib/Attic/Makefile.in.saved: - removed.
+       * shlib/Makefile.am, shlib/Makefile.in.saved: - removed.
 
        * src/Makefile.am, libmisc/Makefile.am, lib/Makefile.am:
        Rewrited automake suit for building lib, libmisc and src (now this look much
 
        * TODO: - updated.
 
-       * man/pl/Attic/dpasswd.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/login.1, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/su.1, man/pl/useradd.8, man/pl/userdel.8, man/pl/vipw.8, man/Attic/dpasswd.8, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/id.1, man/lastlog.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/su.1, man/useradd.8, man/usermod.8, man/vipw.8:
+       * man/pl/dpasswd.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/login.1, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/su.1, man/pl/useradd.8, man/pl/userdel.8, man/pl/vipw.8, man/dpasswd.8, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/id.1, man/lastlog.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/su.1, man/useradd.8, man/usermod.8, man/vipw.8:
        many small cleanups, fixes also removed commented obsoleted texts.
 
 2001-01-25  Tomasz K³oczko  <kloczek@pld.org.pl>
 
        * autogen.sh: add to conf_flags --disable-shared.
 
-       * man/pl/Attic/d_passwd.5, man/pl/Attic/dialups.5, man/pl/Attic/dpasswd.8, man/pl/Attic/mkpasswd.8, man/pl/Attic/pwauth.8, man/pl/Attic/shadowconfig.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/limits.5, man/pl/login.1, man/pl/login.access.5, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/passwd.5, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/su.1, man/pl/suauth.5, man/pl/sulogin.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/pl/vipw.8, man/Attic/mkpasswd.8, man/Attic/pwauth.8, man/Attic/shadowconfig.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8, man/Attic/dpasswd.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/limits.5, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8:
+       * man/pl/d_passwd.5, man/pl/dialups.5, man/pl/dpasswd.8, man/pl/mkpasswd.8, man/pl/pwauth.8, man/pl/shadowconfig.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/limits.5, man/pl/login.1, man/pl/login.access.5, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/passwd.5, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/su.1, man/pl/suauth.5, man/pl/sulogin.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/pl/vipw.8, man/mkpasswd.8, man/pwauth.8, man/shadowconfig.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8, man/dpasswd.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/limits.5, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8:
        put or move to top cemmented Id cvs keyword,
        (passwd.1): documment -e option (patch from Debian),
        (userdel.1): remove commented obsoleted options.
        primary group. groupmems was written by George Kraft IV <gk4@us.ibm.com>
        and this tool have BSD license.
 
-       * src/Attic/patchlevel.h, src/Makefile.am:
+       * src/patchlevel.h, src/Makefile.am:
        patchlevel.h, Makefile.am: removed patchlevel.h file,
        Makefile.am: removed bindir, sbindir (this comes with autoconf).
 
 
 2000-10-16  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * old/Attic/pwconv-old.8, old/Attic/pwconv.8, old/Attic/pwunconv-old.8, old/Attic/pwunconv.8, man/pl/Attic/mkpasswd.8, man/pl/Attic/pwauth.8, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/shadow.3, man/pl/su.1, man/pl/sulogin.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/pl/Attic/dpasswd.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/login.1, man/Attic/dpasswd.8, man/Attic/mkpasswd.8, man/Attic/pwauth.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, debian/Attic/login.copyright, debian/Attic/passwd.copyright, debian/Attic/secure-su.copyright, doc/Attic/ANNOUNCE, doc/LSM, doc/README, doc/README.linux:
+       * old/pwconv-old.8, old/pwconv.8, old/pwunconv-old.8, old/pwunconv.8, man/pl/mkpasswd.8, man/pl/pwauth.8, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/shadow.3, man/pl/su.1, man/pl/sulogin.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/pl/dpasswd.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/login.1, man/dpasswd.8, man/mkpasswd.8, man/pwauth.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, debian/login.copyright, debian/passwd.copyright, debian/secure-su.copyright, doc/ANNOUNCE, doc/LSM, doc/README, doc/README.linux:
        Julianne F. Haugh new contact adress.
 
        * NEWS: - summary chanfes for 20001016.
 
-       * doc/Attic/README.shadow-paper, doc/Makefile.am:
+       * doc/README.shadow-paper, doc/Makefile.am:
        - removed outdated README.shadow-paper.
 
        * configure.in: - release 20001016.
 
        * libmisc/Makefile.am: - removed pwdcheck.c from libmisc_a_SOURCES.
 
-       * debian/Attic/Makefile.am: - removed FILES from EXTRA_DIST.
+       * debian/Makefile.am: - removed FILES from EXTRA_DIST.
 
        * contrib/Makefile.am: - s/udbachk.v012.tgz/udbachk.tgz/
 
 
 2000-10-10  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * po/Attic/ChangeLog: - add empty file (gettext requires this).
+       * po/ChangeLog: - add empty file (gettext requires this).
 
 2000-10-10  Arkadiusz Mi¶kiewicz  <misiek@pld.org.pl>
 
 
        * Makefile.am: - added shadow-utils.spec.in to EXTR_DIST.
 
-       * redhat/Attic/shadow-utils.spec.in: - obsoleted.
+       * redhat/shadow-utils.spec.in: - obsoleted.
 
-       * Attic/stamp-h.in: - removed (this file is autogenerated by autoconf).
+       * stamp-h.in: - removed (this file is autogenerated by autoconf).
 
        * po/pl.po, po/sv.po, po/cs.po, po/el.po, po/fr.po:
        - update before release.
 
        * README: - added README with all shadow sites and resources details.
 
-       * Attic/shadow-utils.spec.in: - partialy rewrited.
+       * shadow-utils.spec.in: - partialy rewrited.
 
        * configure.in: - change version to 20001010.
 
 
        * Makefile.am, TODO: - added TODO.
 
-       * doc/Attic/CHANGES, NEWS: - rename doc/CHANGES -> NEWS.
+       * doc/CHANGES, NEWS: - rename doc/CHANGES -> NEWS.
 
 2000-10-09  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * redhat/Attic/Makefile.am, redhat/Attic/README, redhat/Attic/shadow-970616-fix.patch, redhat/Attic/shadow-970616-glibc.patch, redhat/Attic/shadow-970616-rh.patch, redhat/Attic/shadow-970616-utuser.patch, redhat/Attic/shadow-970616.login.defs, redhat/Attic/shadow-970616.useradd, redhat/Attic/shadow-utils-970616.spec, Attic/shadow-utils.spec.in, Makefile.am, configure.in:
+       * redhat/Makefile.am, redhat/README, redhat/shadow-970616-fix.patch, redhat/shadow-970616-glibc.patch, redhat/shadow-970616-rh.patch, redhat/shadow-970616-utuser.patch, redhat/shadow-970616.login.defs, redhat/shadow-970616.useradd, redhat/shadow-utils-970616.spec, shadow-utils.spec.in, Makefile.am, configure.in:
        - remove redhat/ directory with obsoleted files.
 
        * man/Makefile.am: - removed redundant ${man_MANS} from EXTRA_DIST.
        - added man pages for grpconv(8), grpunconv(8), pwunconv(8) (.so link to
          pwconv(8))
 
-       * man/pl/Attic/adduser.8, man/pl/Makefile.am, man/Attic/adduser.8, man/Makefile.am:
+       * man/pl/adduser.8, man/pl/Makefile.am, man/adduser.8, man/Makefile.am:
        - added man page for adduser(8) (.so link to useradd(8)).
 
-       * po/Attic/doit:
+       * po/doit:
        - removed (in po/Makefile.in.in exist special update-po target).
 
        * etc/pam.d/passwd, etc/pam.d/su: - cosmetics.
 
-       * etc/pam.d/Attic/shadow: - sample PAM config file for shadow utils.
+       * etc/pam.d/shadow: - sample PAM config file for shadow utils.
 
        * etc/pam.d/Makefile.am: - added shadow to EXTRA_DIST
 
 
 2000-09-05  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * man/pl/sulogin.8, man/pl/vipw.8, po/el.po, po/fr.po, po/pl.po, po/sv.po, man/pl/Attic/d_passwd.5, man/pl/Attic/dialups.5, man/pl/Attic/dpasswd.8, man/pl/Attic/mkpasswd.8, man/pl/Attic/pwauth.8, man/pl/Attic/shadowconfig.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/limits.5, man/pl/login.1, man/pl/login.access.5, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/passwd.5, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/su.1, man/pl/suauth.5:
+       * man/pl/sulogin.8, man/pl/vipw.8, po/el.po, po/fr.po, po/pl.po, po/sv.po, man/pl/d_passwd.5, man/pl/dialups.5, man/pl/dpasswd.8, man/pl/mkpasswd.8, man/pl/pwauth.8, man/pl/shadowconfig.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/limits.5, man/pl/login.1, man/pl/login.access.5, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/passwd.5, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/su.1, man/pl/suauth.5:
        *** empty log message ***
 
 2000-09-02  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * src/groupmod.c, src/grpck.c, src/login.c, src/logoutd.c, src/newgrp.c, src/passwd.c, src/pwck.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/commonio.h, lib/defines.h, lib/groupio.c, lib/pwio.c, lib/sgroupio.c, lib/shadowio.c, man/usermod.8, po/el.po, po/fr.po, po/pl.po, po/sv.po, redhat/Attic/shadow-utils.spec.in, src/Attic/dpasswd.c, src/chage.c, src/chfn.c, src/chsh.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, configure.in, debian/Attic/rules, doc/Attic/CHANGES, doc/LSM, lib/commonio.c:
+       * src/groupmod.c, src/grpck.c, src/login.c, src/logoutd.c, src/newgrp.c, src/passwd.c, src/pwck.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/commonio.h, lib/defines.h, lib/groupio.c, lib/pwio.c, lib/sgroupio.c, lib/shadowio.c, man/usermod.8, po/el.po, po/fr.po, po/pl.po, po/sv.po, redhat/shadow-utils.spec.in, src/dpasswd.c, src/chage.c, src/chfn.c, src/chsh.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, configure.in, debian/rules, doc/CHANGES, doc/LSM, lib/commonio.c:
        *** empty log message ***
 
 2000-08-26  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * contrib/Makefile.am, contrib/groupmems.shar, doc/LSM, po/el.po, po/fr.po, po/pl.po, po/sv.po, doc/Attic/README.mirrors, src/vipw.c, src/Attic/dpasswd.c, src/Attic/mkpasswd.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/Attic/dialchk.h, lib/Attic/dialup.h, lib/Attic/rad64.c, lib/Attic/tcfsio.h, lib/Makefile.am, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/getdef.c, lib/getdef.h, lib/groupio.c, lib/groupio.h, lib/prototypes.h, lib/pwauth.c, lib/pwio.c, lib/pwio.h, lib/sgroupio.c, lib/sgroupio.h, lib/shadowio.h, libmisc/Attic/suauth.c, libmisc/chkname.h, libmisc/chowndir.c, libmisc/copydir.c, libmisc/entry.c, libmisc/failure.h, libmisc/getdate.h, libmisc/hushed.c, libmisc/loginprompt.c, libmisc/setupenv.c, libmisc/sulog.c, man/Attic/dpasswd.8, man/Attic/mkpasswd.8, man/Attic/pwauth.8, man/Makefile.am, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/pl/Makefile.am, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/porttime.5, man/pw_auth.3, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, etc/login.defs.hurd, etc/login.defs.linux, doc/Attic/ANNOUNCE, doc/Attic/CHANGES, doc/README, doc/README.linux, doc/README.pam, doc/WISHLIST, debian/Attic/login.copyright, debian/Attic/passwd.copyright, debian/Attic/secure-su.copyright, Attic/mkinstalldirs, configure.in, Makefile.am:
+       * contrib/Makefile.am, contrib/groupmems.shar, doc/LSM, po/el.po, po/fr.po, po/pl.po, po/sv.po, doc/README.mirrors, src/vipw.c, src/dpasswd.c, src/mkpasswd.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/dialchk.h, lib/dialup.h, lib/rad64.c, lib/tcfsio.h, lib/Makefile.am, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/getdef.c, lib/getdef.h, lib/groupio.c, lib/groupio.h, lib/prototypes.h, lib/pwauth.c, lib/pwio.c, lib/pwio.h, lib/sgroupio.c, lib/sgroupio.h, lib/shadowio.h, libmisc/suauth.c, libmisc/chkname.h, libmisc/chowndir.c, libmisc/copydir.c, libmisc/entry.c, libmisc/failure.h, libmisc/getdate.h, libmisc/hushed.c, libmisc/loginprompt.c, libmisc/setupenv.c, libmisc/sulog.c, man/dpasswd.8, man/mkpasswd.8, man/pwauth.8, man/Makefile.am, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/pl/Makefile.am, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/porttime.5, man/pw_auth.3, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, etc/login.defs.hurd, etc/login.defs.linux, doc/ANNOUNCE, doc/CHANGES, doc/README, doc/README.linux, doc/README.pam, doc/WISHLIST, debian/login.copyright, debian/passwd.copyright, debian/secure-su.copyright, mkinstalldirs, configure.in, Makefile.am:
        *** empty log message ***
 
 1999-08-27  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * doc/LSM, po/el.po, po/fr.po, po/pl.po, po/sv.po, debian/Attic/passwd.postinst, lib/Attic/dialchk.c, lib/getdef.c, lib/getpass.c, lib/pwauth.c, libmisc/limits.c, libmisc/rlogin.c, man/limits.5, man/newgrp.1, src/Attic/dpasswd.c, src/chage.c, src/gpasswd.c, src/login.c, src/logoutd.c, src/newgrp.c, src/passwd.c, src/sulogin.c, Attic/acconfig.h, configure.in, debian/Attic/Makefile.am, debian/Attic/changelog, debian/Attic/control.gnu, debian/Attic/control.linux, debian/Attic/login.postrm, debian/Attic/logoutd, debian/Attic/logoutd.init, debian/Attic/passwd.conffiles, debian/Attic/passwd.cron, debian/Attic/passwd.init, debian/Attic/passwd.postrm, debian/Attic/rules, doc/Attic/CHANGES, doc/Attic/README.mirrors, doc/WISHLIST, etc/Makefile.am, etc/login.defs.hurd, etc/login.defs.linux, lib/defines.h:
+       * doc/LSM, po/el.po, po/fr.po, po/pl.po, po/sv.po, debian/passwd.postinst, lib/dialchk.c, lib/getdef.c, lib/getpass.c, lib/pwauth.c, libmisc/limits.c, libmisc/rlogin.c, man/limits.5, man/newgrp.1, src/dpasswd.c, src/chage.c, src/gpasswd.c, src/login.c, src/logoutd.c, src/newgrp.c, src/passwd.c, src/sulogin.c, acconfig.h, configure.in, debian/Makefile.am, debian/changelog, debian/control.gnu, debian/control.linux, debian/login.postrm, debian/logoutd, debian/logoutd.init, debian/passwd.conffiles, debian/passwd.cron, debian/passwd.init, debian/passwd.postrm, debian/rules, doc/CHANGES, doc/README.mirrors, doc/WISHLIST, etc/login.defs.hurd, etc/login.defs.linux, etc/Makefile.am, lib/defines.h:
        *** empty log message ***
 
 1999-07-09  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * configure.in, contrib/Makefile.am, debian/Attic/changelog, doc/Attic/CHANGES, doc/LSM, doc/WISHLIST, lib/Attic/strcasecmp.c, lib/prototypes.h, libmisc/Makefile.am, man/faillog.8, po/el.po, po/pl.po, src/Makefile.am, src/chfn.c, src/chsh.c, src/faillog.c, src/groupmod.c, src/grpconv.c, src/grpunconv.c, src/newgrp.c, src/passwd.c, src/vipw.c:
+       * configure.in, contrib/Makefile.am, debian/changelog, doc/CHANGES, doc/LSM, doc/WISHLIST, lib/strcasecmp.c, lib/prototypes.h, libmisc/Makefile.am, man/faillog.8, po/el.po, po/pl.po, src/Makefile.am, src/chfn.c, src/chsh.c, src/faillog.c, src/groupmod.c, src/grpconv.c, src/grpunconv.c, src/newgrp.c, src/passwd.c, src/vipw.c:
        *** empty log message ***
 
 1999-06-07  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * redhat/Attic/shadow-utils.spec.in, src/Attic/dpasswd.c, src/Attic/mkpasswd.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, contrib/Makefile.am, contrib/README, contrib/udbachk.tgz, debian/Attic/changelog, debian/Attic/rules, doc/Attic/CHANGES, doc/Attic/README.mirrors, doc/LSM, doc/README.linux, doc/README.platforms, doc/WISHLIST, lib/Makefile.am, lib/fputsx.c, lib/getpass.c, lib/pam_defs.h, lib/prototypes.h, lib/rcsid.h, libmisc/Attic/login_desrpc.c, libmisc/pam_pass.c, libmisc/utmp.c, man/login.1, po/el.po, po/pl.po, Attic/acconfig.h, configure.in:
+       * redhat/shadow-utils.spec.in, src/dpasswd.c, src/mkpasswd.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, contrib/Makefile.am, contrib/README, contrib/udbachk.tgz, debian/changelog, debian/rules, doc/CHANGES, doc/README.mirrors, doc/LSM, doc/README.linux, doc/README.platforms, doc/WISHLIST, lib/rcsid.h, lib/Makefile.am, lib/fputsx.c, lib/getpass.c, lib/pam_defs.h, lib/prototypes.h, libmisc/login_desrpc.c, libmisc/pam_pass.c, libmisc/utmp.c, man/login.1, po/el.po, po/pl.po, acconfig.h, configure.in:
        *** empty log message ***
 
 1999-03-07  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * po/pl.po, po/el.po, doc/LSM, src/useradd.c, src/su.c, src/pwconv.c, src/pwck.c, src/passwd.c, src/newusers.c, src/newgrp.c, src/logoutd.c, src/login.c, src/grpconv.c, src/grpck.c, src/groupadd.c, src/gpasswd.c, src/Attic/dpasswd.c, src/chfn.c, src/chage.c, man/usermod.8, man/useradd.8, man/limits.5, man/chage.1, libmisc/valid.c, libmisc/sub.c, libmisc/strtoday.c, libmisc/setupenv.c, libmisc/obscure.c, libmisc/limits.c, libmisc/env.c, lib/Attic/snprintf.h, lib/getdef.c, lib/encrypt.c, lib/defines.h, etc/login.defs.linux, doc/WISHLIST, doc/README.nls, doc/README.pam, doc/README.platforms, doc/Attic/README.mirrors, doc/README.linux, doc/Makefile.am, doc/Attic/CHANGES, debian/Attic/tar.c, debian/Attic/rules, debian/Attic/logoutd, debian/Attic/control, debian/Attic/changelog, configure.in:
+       * po/pl.po, po/el.po, doc/LSM, src/useradd.c, src/su.c, src/pwconv.c, src/pwck.c, src/passwd.c, src/newusers.c, src/newgrp.c, src/logoutd.c, src/login.c, src/grpconv.c, src/grpck.c, src/groupadd.c, src/gpasswd.c, src/dpasswd.c, src/chfn.c, src/chage.c, man/usermod.8, man/useradd.8, man/limits.5, man/chage.1, libmisc/valid.c, libmisc/sub.c, libmisc/strtoday.c, libmisc/setupenv.c, libmisc/obscure.c, libmisc/limits.c, libmisc/env.c, lib/snprintf.h, lib/getdef.c, lib/encrypt.c, lib/defines.h, etc/login.defs.linux, doc/WISHLIST, doc/README.nls, doc/README.pam, doc/README.platforms, doc/README.mirrors, doc/README.linux, doc/Makefile.am, doc/CHANGES, debian/tar.c, debian/rules, debian/logoutd, debian/control, debian/changelog, configure.in:
        *** empty log message ***
 
 1998-12-28  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * src/usermod.c, src/userdel.c, src/useradd.c, src/sulogin.c, src/su.c, src/pwunconv.c, src/pwconv.c, src/pwck.c, src/passwd.c, src/newusers.c, src/newgrp.c, src/Attic/mkpasswd.c, src/logoutd.c, src/login.c, src/lastlog.c, src/id.c, src/grpunconv.c, src/grpconv.c, src/grpck.c, src/groups.c, src/groupmod.c, src/groupdel.c, src/groupadd.c, src/gpasswd.c, src/faillog.c, src/expiry.c, src/Attic/dpasswd.c, src/chsh.c, src/chpasswd.c, src/chfn.c, src/chage.c, po/Attic/doit, po/POTFILES.in, po/el.po, src/Makefile.am, man/usermod.8, man/userdel.8, man/useradd.8, man/sulogin.8, man/su.1, man/shadow.5, man/shadow.3, man/pwck.8, man/Attic/pwauth.8, man/pw_auth.3, man/porttime.5, man/passwd.5, man/passwd.1, man/newusers.8, man/newgrp.1, man/Attic/mkpasswd.8, man/logoutd.8, man/login.defs.5, man/login.1, man/lastlog.8, man/id.1, man/grpck.8, man/groups.1, man/groupmod.8, man/groupdel.8, man/groupadd.8, man/faillog.8, man/faillog.5, man/Attic/dpasswd.8, man/chsh.1, man/chpasswd.8, man/chfn.1, man/chage.1, libmisc/xmalloc.c, libmisc/sub.c, libmisc/Attic/suauth.c, libmisc/shell.c, libmisc/setupenv.c, libmisc/pam_pass.c, libmisc/obscure.c, libmisc/mail.c, libmisc/Attic/login_desrpc.c, libmisc/limits.c, libmisc/failure.c, libmisc/env.c, libmisc/console.c, libmisc/chowntty.c, libmisc/age.c, libmisc/addgrps.c, libmisc/Makefile.am, lib/Attic/strerror.c, lib/pwauth.c, lib/prototypes.h, lib/getpass.c, lib/getdef.c, lib/Attic/dialchk.c, lib/defines.h, lib/Makefile.am, doc/WISHLIST, doc/README.platforms, doc/Attic/README.mirrors, doc/README.linux, doc/README, doc/LSM, doc/Attic/CHANGES, debian/Attic/secure-su.copyright, debian/Attic/passwd.copyright, debian/Attic/login.copyright, debian/Attic/control, debian/Attic/changelog, configure.in, Attic/acconfig.h, Makefile.am:
+       * src/usermod.c, src/userdel.c, src/useradd.c, src/sulogin.c, src/su.c, src/pwunconv.c, src/pwconv.c, src/pwck.c, src/passwd.c, src/newusers.c, src/newgrp.c, src/mkpasswd.c, src/logoutd.c, src/login.c, src/lastlog.c, src/id.c, src/grpunconv.c, src/grpconv.c, src/grpck.c, src/groups.c, src/groupmod.c, src/groupdel.c, src/groupadd.c, src/gpasswd.c, src/faillog.c, src/expiry.c, src/dpasswd.c, src/chsh.c, src/chpasswd.c, src/chfn.c, src/chage.c, po/doit, po/POTFILES.in, po/el.po, src/Makefile.am, man/usermod.8, man/userdel.8, man/useradd.8, man/sulogin.8, man/su.1, man/shadow.5, man/shadow.3, man/pwck.8, man/pwauth.8, man/pw_auth.3, man/porttime.5, man/passwd.5, man/passwd.1, man/newusers.8, man/newgrp.1, man/mkpasswd.8, man/logoutd.8, man/login.defs.5, man/login.1, man/lastlog.8, man/id.1, man/grpck.8, man/groups.1, man/groupmod.8, man/groupdel.8, man/groupadd.8, man/faillog.8, man/faillog.5, man/dpasswd.8, man/chsh.1, man/chpasswd.8, man/chfn.1, man/chage.1, libmisc/xmalloc.c, libmisc/sub.c, libmisc/suauth.c, libmisc/shell.c, libmisc/setupenv.c, libmisc/pam_pass.c, libmisc/obscure.c, libmisc/mail.c, libmisc/login_desrpc.c, libmisc/limits.c, libmisc/failure.c, libmisc/env.c, libmisc/console.c, libmisc/chowntty.c, libmisc/age.c, libmisc/addgrps.c, libmisc/Makefile.am, lib/strerror.c, lib/pwauth.c, lib/prototypes.h, lib/getpass.c, lib/getdef.c, lib/dialchk.c, lib/defines.h, lib/Makefile.am, doc/WISHLIST, doc/README.platforms, doc/README.mirrors, doc/README.linux, doc/README, doc/LSM, doc/CHANGES, debian/secure-su.copyright, debian/passwd.copyright, debian/login.copyright, debian/control, debian/changelog, configure.in, acconfig.h, Makefile.am:
        *** empty log message ***
 
 1998-07-24  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * src/passwd.c, src/su.c, src/userdel.c, src/Makefile.am, src/chage.c, src/faillog.c, src/login.c, lib/Attic/tcfsio.c, lib/Attic/tcfsio.h, lib/pwauth.c, libmisc/chowntty.c, libmisc/pam_pass.c, libmisc/setugid.c, etc/pam.d/passwd, etc/pam.d/su, lib/Makefile.am, lib/commonio.c, lib/defines.h, lib/prototypes.h, doc/Attic/README.mirrors, doc/Makefile.am, doc/README.linux, doc/README.platforms, doc/WISHLIST, etc/Makefile.am, etc/pam.d/Makefile.am, doc/Attic/CHANGES, debian/Attic/changelog, configure.in, Attic/acconfig.h:
+       * src/passwd.c, src/su.c, src/userdel.c, src/Makefile.am, src/chage.c, src/faillog.c, src/login.c, lib/tcfsio.c, lib/tcfsio.h, lib/pwauth.c, libmisc/chowntty.c, libmisc/pam_pass.c, libmisc/setugid.c, etc/pam.d/passwd, etc/pam.d/su, lib/Makefile.am, lib/commonio.c, lib/defines.h, lib/prototypes.h, doc/README.mirrors, doc/Makefile.am, doc/README.linux, doc/README.platforms, doc/WISHLIST, etc/Makefile.am, etc/pam.d/Makefile.am, doc/CHANGES, debian/changelog, configure.in, acconfig.h:
        *** empty log message ***
 
 1998-06-26  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * src/passwd.c, src/usermod.c, man/faillog.8, man/pwconv.8, src/logoutd.c, lib/getpass.c, libmisc/copydir.c, doc/Attic/README.mirrors, doc/README.linux, doc/WISHLIST, lib/commonio.c, debian/Attic/changelog, doc/Attic/CHANGES, configure.in:
+       * src/passwd.c, src/usermod.c, man/faillog.8, man/pwconv.8, src/logoutd.c, lib/getpass.c, libmisc/copydir.c, doc/README.mirrors, doc/README.linux, doc/WISHLIST, lib/commonio.c, debian/changelog, doc/CHANGES, configure.in:
        *** empty log message ***
 
 1998-05-29  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * man/lastlog.8, man/login.1, src/usermod.c, doc/Attic/CHANGES, doc/README.linux, etc/login.defs.linux, lib/defines.h, debian/Attic/changelog, debian/Attic/login.copyright, debian/Attic/login.postinst, debian/Attic/passwd.copyright, debian/Attic/rules, debian/Attic/secure-su.copyright, configure.in, contrib/Makefile.am, contrib/shadow-anonftp.patch:
+       * man/lastlog.8, man/login.1, src/usermod.c, doc/CHANGES, doc/README.linux, etc/login.defs.linux, lib/defines.h, debian/changelog, debian/login.copyright, debian/login.postinst, debian/passwd.copyright, debian/rules, debian/secure-su.copyright, configure.in, contrib/Makefile.am, contrib/shadow-anonftp.patch:
        *** empty log message ***
 
 1998-04-16  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * src/useradd.c, src/userdel.c, src/usermod.c, src/passwd.c, src/sulogin.c, src/groupdel.c, src/login.c, src/logoutd.c, src/newgrp.c, src/Attic/dpasswd.c, src/chage.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, redhat/Attic/shadow-970616-rh.patch, redhat/Attic/shadow-970616-utuser.patch, redhat/Attic/shadow-970616.login.defs, redhat/Attic/shadow-970616.useradd, redhat/Attic/shadow-utils-970616.spec, src/Makefile.am, libmisc/utmp.c, redhat/Attic/Makefile.am, redhat/Attic/README, redhat/Attic/shadow-970616-fix.patch, redhat/Attic/shadow-970616-glibc.patch, libmisc/Attic/login_desrpc.c, libmisc/limits.c, libmisc/log.c, libmisc/loginprompt.c, libmisc/obscure.c, libmisc/strtoday.c, libmisc/chkname.c, libmisc/chowndir.c, libmisc/copydir.c, libmisc/failure.c, lib/Attic/dialchk.c, lib/Attic/pwpack.c, lib/defines.h, lib/pwauth.c, doc/Attic/CHANGES, doc/README.linux, doc/WISHLIST, doc/cracklib26.diff, lib/commonio.c, Attic/acconfig.h, configure.in, debian/Attic/tar.c:
+       * src/useradd.c, src/userdel.c, src/usermod.c, src/passwd.c, src/sulogin.c, src/groupdel.c, src/login.c, src/logoutd.c, src/newgrp.c, src/dpasswd.c, src/chage.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, redhat/shadow-970616-rh.patch, redhat/shadow-970616-utuser.patch, redhat/shadow-970616.login.defs, redhat/shadow-970616.useradd, redhat/shadow-utils-970616.spec, src/Makefile.am, libmisc/utmp.c, redhat/Makefile.am, redhat/README, redhat/shadow-970616-fix.patch, redhat/shadow-970616-glibc.patch, libmisc/login_desrpc.c, libmisc/limits.c, libmisc/log.c, libmisc/loginprompt.c, libmisc/obscure.c, libmisc/strtoday.c, libmisc/chkname.c, libmisc/chowndir.c, libmisc/copydir.c, libmisc/failure.c, lib/dialchk.c, lib/pwpack.c, lib/defines.h, lib/pwauth.c, doc/CHANGES, doc/README.linux, doc/WISHLIST, doc/cracklib26.diff, lib/commonio.c, acconfig.h, configure.in, debian/tar.c:
        *** empty log message ***
 
 1998-04-02  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * src/groupmod.c, libmisc/sulog.c, lib/sgetspent.c, lib/sgetpwent.c, lib/sgetgrent.c, lib/Attic/putgrent.c, lib/gshadow.c, lib/getdef.c, lib/fputsx.c, lib/commonio.c, doc/Attic/README.mirrors, doc/README.linux, doc/Attic/CHANGES, configure.in:
+       * src/groupmod.c, libmisc/sulog.c, lib/sgetspent.c, lib/sgetpwent.c, lib/sgetgrent.c, lib/putgrent.c, lib/gshadow.c, lib/getdef.c, lib/fputsx.c, lib/commonio.c, doc/README.mirrors, doc/README.linux, doc/CHANGES, configure.in:
        *** empty log message ***
 
 1998-01-30  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * Attic/install-sh, src/userdel.c, src/usermod.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/useradd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/groupmod.c, src/login.c, src/logoutd.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, redhat/Attic/README, redhat/Attic/shadow-utils.spec.in, src/Makefile.am, src/chage.c, man/login.defs.5, man/useradd.8, man/usermod.8, redhat/Attic/Makefile.am, libmisc/pam_pass.c, libmisc/strtoday.c, libmisc/tz.c, libmisc/Attic/login_access.c, libmisc/Attic/login_desrpc.c, libmisc/Attic/login_krb.c, libmisc/obscure.c, libmisc/age.c, libmisc/env.c, libmisc/limits.c, lib/Attic/strstr.c, lib/shadow.c, lib/shadowio.c, lib/shadowio.h, lib/utent.c, lib/Attic/rmdir.c, lib/pwio.c, lib/pwio.h, lib/sgetspent.c, lib/sgroupio.c, lib/Attic/mkdir.c, lib/Attic/putgrent.c, lib/prototypes.h, lib/pwauth.c, lib/Attic/md5crypt.c, lib/getpass.c, lib/groupio.c, lib/gshadow.c, lib/lockpw.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/getdef.c, lib/getdef.h, doc/Attic/README.mirrors, doc/Attic/automake-1.0.diff, doc/WISHLIST, lib/Makefile.am, lib/commonio.c, doc/Attic/ANNOUNCE, doc/Attic/CHANGES, doc/Makefile.am, doc/README.limits, doc/README.linux, debian/Attic/Makefile.am, debian/Attic/changelog, debian/Attic/login.copyright, debian/Attic/rules, Attic/mkinstalldirs, Attic/shadow-utils.spec, contrib/README, Attic/acconfig.h, Attic/aclocal.m4, configure.in, Makefile.am:
+       * install-sh, src/userdel.c, src/usermod.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/useradd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/groupmod.c, src/login.c, src/logoutd.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, redhat/README, redhat/shadow-utils.spec.in, src/Makefile.am, src/chage.c, man/login.defs.5, man/useradd.8, man/usermod.8, redhat/Makefile.am, libmisc/pam_pass.c, libmisc/strtoday.c, libmisc/tz.c, libmisc/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/obscure.c, libmisc/age.c, libmisc/env.c, libmisc/limits.c, lib/strstr.c, lib/shadow.c, lib/shadowio.c, lib/shadowio.h, lib/utent.c, lib/rmdir.c, lib/pwio.c, lib/pwio.h, lib/sgetspent.c, lib/sgroupio.c, lib/mkdir.c, lib/putgrent.c, lib/prototypes.h, lib/pwauth.c, lib/md5crypt.c, lib/getpass.c, lib/groupio.c, lib/gshadow.c, lib/lockpw.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/getdef.c, lib/getdef.h, doc/README.mirrors, doc/automake-1.0.diff, doc/WISHLIST, lib/Makefile.am, lib/commonio.c, doc/ANNOUNCE, doc/CHANGES, doc/Makefile.am, doc/README.limits, doc/README.linux, debian/Makefile.am, debian/changelog, debian/login.copyright, debian/rules, mkinstalldirs, shadow-utils.spec, contrib/README, acconfig.h, aclocal.m4, configure.in, Makefile.am:
        *** empty log message ***
 
 1998-01-25  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * Attic/acconfig.h: *** empty log message ***
+       * acconfig.h: *** empty log message ***
 
 1997-12-14  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * doc/Attic/CHANGES, debian/Attic/checksums, debian/Attic/rules, debian/Attic/Makefile.am, src/Makefile.am, src/userdel.c, src/usermod.c, src/pwck.c, src/useradd.c, src/Attic/mkpasswd.c, src/gpasswd.c, src/grpck.c, src/login.c, src/chage.c, src/chfn.c, src/chsh.c, man/Attic/shadowconfig.8, man/vipw.8, old/Attic/Makefile.am, old/Attic/pwunconv.8, man/Makefile.am, man/login.defs.5, man/pwconv.8, man/pwunconv.8, libmisc/limits.c, libmisc/rlogin.c, lib/Attic/pwdbm.c, lib/Attic/pwent.c, lib/prototypes.h, lib/shadow.c, doc/LSM, doc/WISHLIST, etc/limits, lib/Attic/grent.c, Attic/shadow-utils.spec, debian/Attic/changelog, configure.in:
+       * doc/CHANGES, debian/checksums, debian/rules, debian/Makefile.am, src/Makefile.am, src/userdel.c, src/usermod.c, src/pwck.c, src/useradd.c, src/mkpasswd.c, src/gpasswd.c, src/grpck.c, src/login.c, src/chage.c, src/chfn.c, src/chsh.c, man/shadowconfig.8, man/vipw.8, old/Makefile.am, old/pwunconv.8, man/Makefile.am, man/login.defs.5, man/pwconv.8, man/pwunconv.8, libmisc/limits.c, libmisc/rlogin.c, lib/pwdbm.c, lib/pwent.c, lib/prototypes.h, lib/shadow.c, doc/LSM, doc/WISHLIST, etc/limits, lib/grent.c, shadow-utils.spec, debian/changelog, configure.in:
        *** empty log message ***
 
 1997-12-08  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * src/userdel.c, src/usermod.c, src/Attic/shadowconfig.sh, src/su.c, src/sulogin.c, src/useradd.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/newgrp.c, src/newusers.c, src/Attic/mkpasswd.c, src/logoutd.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/Attic/dpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, old/Attic/Makefile.am, old/Attic/pwconv.8, old/Attic/vipw.8, man/Attic/shadowconfig.8, man/Makefile.am, man/limits.5, man/pwconv.8, man/vipw.8, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, libmisc/Attic/suauth.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/Attic/setup.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/rlogin.c, libmisc/motd.c, libmisc/myname.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/pwd2spwd.c, libmisc/pwd_init.c, libmisc/Attic/login_access.c, libmisc/Attic/login_desrpc.c, libmisc/Attic/login_krb.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/Attic/getdate.c, libmisc/failure.h, libmisc/fields.c, libmisc/getdate.h, libmisc/getdate.y, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, libmisc/Attic/chkshell.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chkname.h, lib/Attic/strdup.c, lib/Attic/strerror.c, lib/Attic/strstr.c, lib/utent.c, libmisc/Makefile.am, libmisc/addgrps.c, lib/Attic/spdbm.c, lib/Attic/sppack.c, lib/sgroupio.c, lib/shadow.c, lib/shadowio.c, lib/Attic/rename.c, lib/Attic/rmdir.c, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/Attic/rad64.c, lib/Attic/pwdbm.c, lib/Attic/pwent.c, lib/Attic/pwpack.c, lib/pwauth.c, lib/pwio.c, lib/Attic/mkdir.c, lib/Attic/putgrent.c, lib/Attic/putpwent.c, lib/Attic/putspent.c, lib/port.c, lib/prototypes.h, lib/Attic/gsdbm.c, lib/Attic/gspack.c, lib/Attic/md5.c, lib/Attic/md5crypt.c, lib/gshadow.c, lib/lockpw.c, lib/Attic/grdbm.c, lib/Attic/grent.c, lib/Attic/grpack.c, lib/groupio.c, lib/getpass.c, lib/Attic/dialup.c, lib/encrypt.c, lib/fputsx.c, lib/getdef.c, lib/Attic/dialchk.c, lib/Attic/dialchk.h, lib/commonio.c, lib/commonio.h, lib/defines.h, doc/Attic/automake-1.0.diff, etc/limits, etc/login.defs.linux, lib/Makefile.am, doc/Attic/CHANGES, doc/Attic/README.mirrors, doc/README.linux, doc/WISHLIST, debian/Attic/login.conffiles, debian/Attic/login.postinst, debian/Attic/passwd.postinst, debian/Attic/porttime, debian/Attic/rules, debian/Attic/secure-su.README, debian/Attic/securetty, contrib/pwdauth.c, debian/Attic/changelog, debian/Attic/control, Attic/acconfig.h, Attic/aclocal.m4, Attic/shadow-utils.spec, configure.in, Makefile.am:
+       * src/userdel.c, src/usermod.c, src/shadowconfig.sh, src/su.c, src/sulogin.c, src/useradd.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/newgrp.c, src/newusers.c, src/mkpasswd.c, src/logoutd.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/dpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, old/Makefile.am, old/pwconv.8, old/vipw.8, man/shadowconfig.8, man/Makefile.am, man/limits.5, man/pwconv.8, man/vipw.8, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, libmisc/suauth.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/setup.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/rlogin.c, libmisc/motd.c, libmisc/myname.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/pwd2spwd.c, libmisc/pwd_init.c, libmisc/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/getdate.c, libmisc/failure.h, libmisc/fields.c, libmisc/getdate.h, libmisc/getdate.y, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, libmisc/chkshell.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chkname.h, lib/strdup.c, lib/strerror.c, lib/strstr.c, lib/utent.c, libmisc/Makefile.am, libmisc/addgrps.c, lib/spdbm.c, lib/sppack.c, lib/sgroupio.c, lib/shadow.c, lib/shadowio.c, lib/rename.c, lib/rmdir.c, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/rad64.c, lib/pwdbm.c, lib/pwent.c, lib/pwpack.c, lib/pwauth.c, lib/pwio.c, lib/mkdir.c, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/port.c, lib/prototypes.h, lib/gsdbm.c, lib/gspack.c, lib/md5.c, lib/md5crypt.c, lib/gshadow.c, lib/lockpw.c, lib/grdbm.c, lib/grent.c, lib/grpack.c, lib/groupio.c, lib/getpass.c, lib/dialup.c, lib/encrypt.c, lib/fputsx.c, lib/getdef.c, lib/dialchk.c, lib/dialchk.h, lib/commonio.c, lib/commonio.h, lib/defines.h, doc/automake-1.0.diff, etc/login.defs.linux, etc/limits, lib/Makefile.am, doc/CHANGES, doc/README.mirrors, doc/README.linux, doc/WISHLIST, debian/login.conffiles, debian/login.postinst, debian/passwd.postinst, debian/porttime, debian/rules, debian/secure-su.README, debian/securetty, contrib/pwdauth.c, debian/changelog, debian/control, acconfig.h, aclocal.m4, shadow-utils.spec, configure.in, Makefile.am:
        *** empty log message ***
 
 1997-10-01  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * debian/Attic/changelog, src/chpasswd.c, libmisc/Attic/login_access.c, lib/commonio.h, lib/sgroupio.c, lib/shadowio.c, etc/login.defs.linux, doc/Attic/CHANGES, doc/Attic/README.mirrors, doc/LSM, doc/WISHLIST, Attic/shadow-utils.spec:
+       * debian/changelog, src/chpasswd.c, libmisc/login_access.c, lib/commonio.h, lib/sgroupio.c, lib/shadowio.c, etc/login.defs.linux, doc/CHANGES, doc/README.mirrors, doc/LSM, doc/WISHLIST, shadow-utils.spec:
        *** empty log message ***
 
 1997-09-30  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * src/useradd.c, src/userdel.c, src/usermod.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/newusers.c, src/passwd.c, src/pwck.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/login.c, src/groupmod.c, src/Attic/dpasswd.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/Makefile.am, old/Attic/install-sh, old/Attic/pwconv-old.8, old/Attic/pwunconv-old.8, old/Attic/Makefile.am, man/pwconv.8, man/pwunconv.8, libmisc/setugid.c, libmisc/shell.c, libmisc/utmp.c, libmisc/mail.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/salt.c, libmisc/Attic/login_access.c, libmisc/isexpired.c, libmisc/env.c, libmisc/fields.c, libmisc/addgrps.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, lib/Attic/strerror.c, lib/Attic/snprintf.c, lib/Attic/snprintf.h, lib/sgroupio.c, lib/sgroupio.h, lib/shadowio.c, lib/shadowio.h, lib/Attic/putgrent.c, lib/Attic/pwent.c, lib/pwauth.c, lib/Attic/grent.c, lib/getpass.c, lib/prototypes.h, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/getdef.c, lib/Makefile.am, etc/login.defs.linux, doc/Attic/README.mirrors, doc/README.linux, doc/WISHLIST, doc/Attic/CHANGES, doc/LSM, doc/Makefile.am, debian/Attic/rules, debian/Attic/changelog, contrib/adduser.c, configure.in, Attic/acconfig.h:
+       * src/useradd.c, src/userdel.c, src/usermod.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/newusers.c, src/passwd.c, src/pwck.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/login.c, src/groupmod.c, src/dpasswd.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/Makefile.am, old/install-sh, old/pwconv-old.8, old/pwunconv-old.8, old/Makefile.am, man/pwconv.8, man/pwunconv.8, libmisc/setugid.c, libmisc/shell.c, libmisc/utmp.c, libmisc/mail.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/salt.c, libmisc/login_access.c, libmisc/isexpired.c, libmisc/env.c, libmisc/fields.c, libmisc/addgrps.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, lib/strerror.c, lib/snprintf.c, lib/snprintf.h, lib/sgroupio.c, lib/sgroupio.h, lib/shadowio.c, lib/shadowio.h, lib/putgrent.c, lib/pwent.c, lib/pwauth.c, lib/grent.c, lib/getpass.c, lib/prototypes.h, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/getdef.c, lib/Makefile.am, etc/login.defs.linux, doc/README.mirrors, doc/README.linux, doc/WISHLIST, doc/CHANGES, doc/LSM, doc/Makefile.am, debian/rules, debian/changelog, contrib/adduser.c, configure.in, acconfig.h:
        *** empty log message ***
 
 1997-09-29  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
 1997-06-16  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * doc/Attic/console.c.spec, doc/Makefile.am, doc/WISHLIST, doc/console.c.spec.txt, doc/Attic/CHANGES, debian/Attic/changelog, src/Attic/shadowconfig.sh, redhat/Attic/Makefile.am, redhat/Attic/README, redhat/Attic/shadow-970502-config.patch, redhat/Attic/shadow-utils.spec, doc/Attic/README.mirrors, doc/Attic/README.shadow-paper, doc/README.linux, debian/Attic/login.copyright, debian/Attic/passwd.copyright, debian/Attic/secure-su.copyright, Attic/shadow-utils.spec, Makefile.am, configure.in:
+       * doc/console.c.spec, doc/Makefile.am, doc/WISHLIST, doc/console.c.spec.txt, doc/CHANGES, debian/changelog, src/shadowconfig.sh, redhat/Makefile.am, redhat/README, redhat/shadow-970502-config.patch, redhat/shadow-utils.spec, doc/README.mirrors, doc/README.shadow-paper, doc/README.linux, debian/login.copyright, debian/passwd.copyright, debian/secure-su.copyright, shadow-utils.spec, Makefile.am, configure.in:
        *** empty log message ***
 
 1997-06-01  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * debian/Attic/changelog, src/userdel.c, src/usermod.c, src/pwck.c, src/pwunconv.c, src/useradd.c, src/grpunconv.c, src/newusers.c, src/passwd.c, src/expiry.c, src/grpconv.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/Makefile.am, redhat/Attic/Makefile.am, redhat/Attic/README, redhat/Attic/shadow-970502-config.patch, redhat/Attic/shadow-utils.spec, libmisc/mail.c, libmisc/Attic/login_desrpc.c, lib/pwio.h, lib/shadowio.c, lib/shadowio.h, lib/prototypes.h, lib/pwauth.c, lib/pwio.c, lib/commonio.c, lib/defines.h, doc/README.linux, doc/WISHLIST, doc/Attic/CHANGES, doc/Attic/INSTALL, Attic/install-sh, Attic/mkinstalldirs, Attic/acconfig.h, Makefile.am, configure.in:
+       * debian/changelog, src/userdel.c, src/usermod.c, src/pwck.c, src/pwunconv.c, src/useradd.c, src/grpunconv.c, src/newusers.c, src/passwd.c, src/expiry.c, src/grpconv.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/Makefile.am, redhat/Makefile.am, redhat/README, redhat/shadow-970502-config.patch, redhat/shadow-utils.spec, libmisc/mail.c, libmisc/login_desrpc.c, lib/pwio.h, lib/shadowio.c, lib/shadowio.h, lib/prototypes.h, lib/pwauth.c, lib/pwio.c, lib/commonio.c, lib/defines.h, doc/README.linux, doc/WISHLIST, doc/CHANGES, doc/INSTALL, install-sh, mkinstalldirs, acconfig.h, Makefile.am, configure.in:
        *** empty log message ***
 
 1997-05-02  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * src/Attic/shadowconfig.sh, src/Makefile.am, man/Makefile.am, libmisc/mail.c, libmisc/salt.c, lib/sgroupio.c, lib/shadowio.c, lib/groupio.c, lib/pwio.c, etc/Makefile.am, doc/WISHLIST, doc/Attic/CHANGES, debian/Attic/shadowconfig, debian/Attic/Makefile.am, debian/Attic/changelog, debian/Attic/control, debian/Attic/rules, configure.in, Attic/configure, shlib/Attic/Makefile.in, man/Attic/Makefile.in, libmisc/Attic/Makefile.in, lib/Attic/Makefile.in, etc/Attic/Makefile.in, doc/Attic/Makefile.in, contrib/Attic/Makefile.in, Attic/Makefile.in, man/userdel.8, man/usermod.8, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/Attic/pwauth.8, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/shadow.3, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/Attic/mkpasswd.8, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/limits.5, man/login.1, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/Attic/dpasswd.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, libmisc/valid.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/utmp.c, libmisc/Attic/setup.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/setugid.c, libmisc/obscure.c, libmisc/pwd2spwd.c, libmisc/rlogin.c, libmisc/Attic/login_access.c, libmisc/loginprompt.c, libmisc/motd.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/copydir.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/age.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, lib/utent.c, lib/Attic/shadow_.h, lib/Attic/spdbm.c, lib/Attic/sppack.c, lib/Attic/strstr.c, lib/shadow.c, lib/sgetpwent.c, lib/sgetspent.c, lib/Attic/pwpack.c, lib/Attic/rad64.c, lib/Attic/rename.c, lib/Attic/rmdir.c, lib/sgetgrent.c, lib/Attic/pwdbm.c, lib/Attic/pwent.c, lib/pwauth.h, lib/Attic/putgrent.c, lib/Attic/putpwent.c, lib/Attic/putspent.c, lib/port.h, lib/pwauth.c, lib/Attic/lastlog_.h, lib/Attic/mkdir.c, lib/lockpw.c, lib/port.c, lib/Attic/grpack.c, lib/Attic/gsdbm.c, lib/Attic/gspack.c, lib/gshadow.c, lib/gshadow_.h, lib/Attic/grdbm.c, lib/Attic/grent.c, lib/getdef.c, lib/getpass.c, lib/Attic/dialup.h, lib/encrypt.c, lib/faillog.h, lib/fputsx.c, lib/Attic/dialchk.c, lib/Attic/dialup.c, lib/commonio.c, lib/defines.h, etc/login.defs, etc/login.defs.linux, doc/README.linux, doc/LICENSE, doc/Makefile.am, doc/README, doc/HOWTO, doc/Attic/ANNOUNCE, debian/Attic/secure-su.README, debian/Attic/secure-su.conffiles, debian/Attic/secure-su.copyright, debian/Attic/secure-su.postrm, debian/Attic/secure-su.preinst, debian/Attic/securetty, debian/Attic/passwd.conffiles, debian/Attic/passwd.copyright, debian/Attic/passwd.postinst, debian/Attic/porttime, debian/Attic/login.conffiles, debian/Attic/login.copyright, debian/Attic/login.postinst, debian/Attic/login.postrm, debian/Attic/login.preinst, debian/Attic/login.prerm, debian/Attic/logoutd, Attic/acconfig.h, Attic/config.h.in, Makefile.am, old/Attic/Makefile.in, old/Attic/scologin.c, old/Attic/orig-config.h, old/Attic/pwconv-old.c, old/Attic/pwd.h.m4, old/Attic/pwunconv-old.c, old/Attic/config.h.sun4, old/Attic/config.h.svr4, old/Attic/config.h.xenix, old/Attic/config.h.linux, old/Attic/Makefile.sun4, old/Attic/Makefile.svr4, old/Attic/Makefile.xenix, old/Attic/Makefile.am, old/Attic/Makefile.linux, src/Attic/Makefile.in, src/pwconv.c, src/userdel.c, src/usermod.c, src/useradd.c, src/su.c, src/sulogin.c, src/Attic/pwconv5.c, src/Attic/scologin.c, src/pwck.c, src/pwunconv.c, src/Attic/patchlevel.h, src/newusers.c, src/passwd.c, src/Attic/mkpasswd.c, src/logoutd.c, src/newgrp.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/grpck.c, src/grpconv.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/Attic/dpasswd.c, src/chsh.c, src/expiry.c, src/chfn.c, src/chpasswd.c, src/chage.c:
+       * src/shadowconfig.sh, src/Makefile.am, man/Makefile.am, libmisc/mail.c, libmisc/salt.c, lib/sgroupio.c, lib/shadowio.c, lib/groupio.c, lib/pwio.c, etc/Makefile.am, doc/WISHLIST, doc/CHANGES, debian/shadowconfig, debian/Makefile.am, debian/changelog, debian/control, debian/rules, configure.in, configure, shlib/Makefile.in, man/Makefile.in, libmisc/Makefile.in, lib/Makefile.in, etc/Makefile.in, doc/Makefile.in, contrib/Makefile.in, Makefile.in, man/userdel.8, man/usermod.8, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/pwauth.8, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/shadow.3, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/mkpasswd.8, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/limits.5, man/login.1, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/dpasswd.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, libmisc/valid.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/utmp.c, libmisc/setup.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/setugid.c, libmisc/obscure.c, libmisc/pwd2spwd.c, libmisc/rlogin.c, libmisc/login_access.c, libmisc/loginprompt.c, libmisc/motd.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/copydir.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/age.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, lib/utent.c, lib/shadow_.h, lib/spdbm.c, lib/sppack.c, lib/strstr.c, lib/shadow.c, lib/sgetpwent.c, lib/sgetspent.c, lib/pwpack.c, lib/rad64.c, lib/rename.c, lib/rmdir.c, lib/sgetgrent.c, lib/pwdbm.c, lib/pwent.c, lib/pwauth.h, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/port.h, lib/pwauth.c, lib/lastlog_.h, lib/mkdir.c, lib/lockpw.c, lib/port.c, lib/grpack.c, lib/gsdbm.c, lib/gspack.c, lib/gshadow.c, lib/gshadow_.h, lib/grdbm.c, lib/grent.c, lib/getdef.c, lib/getpass.c, lib/dialup.h, lib/encrypt.c, lib/faillog.h, lib/fputsx.c, lib/dialchk.c, lib/dialup.c, lib/commonio.c, lib/defines.h, etc/login.defs.linux, etc/login.defs, doc/README.linux, doc/LICENSE, doc/Makefile.am, doc/README, doc/HOWTO, doc/ANNOUNCE, debian/secure-su.README, debian/secure-su.conffiles, debian/secure-su.copyright, debian/secure-su.postrm, debian/secure-su.preinst, debian/securetty, debian/passwd.conffiles, debian/passwd.copyright, debian/passwd.postinst, debian/porttime, debian/login.conffiles, debian/login.copyright, debian/login.postinst, debian/login.postrm, debian/login.preinst, debian/login.prerm, debian/logoutd, acconfig.h, config.h.in, Makefile.am, old/Makefile.in, old/scologin.c, old/orig-config.h, old/pwconv-old.c, old/pwd.h.m4, old/pwunconv-old.c, old/config.h.sun4, old/config.h.svr4, old/config.h.xenix, old/config.h.linux, old/Makefile.sun4, old/Makefile.svr4, old/Makefile.xenix, old/Makefile.am, old/Makefile.linux, src/Makefile.in, src/pwconv.c, src/userdel.c, src/usermod.c, src/useradd.c, src/su.c, src/sulogin.c, src/pwconv5.c, src/scologin.c, src/pwck.c, src/pwunconv.c, src/patchlevel.h, src/newusers.c, src/passwd.c, src/mkpasswd.c, src/logoutd.c, src/newgrp.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/grpck.c, src/grpconv.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/dpasswd.c, src/chsh.c, src/expiry.c, src/chfn.c, src/chpasswd.c, src/chage.c:
        *** empty log message ***
 
 1997-02-11  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * src/groupadd.c, src/useradd.c, libmisc/setupenv.c, lib/sgroupio.c, lib/shadowio.c, lib/groupio.c, lib/pwio.c, lib/Makefile.am, lib/commonio.c, doc/Attic/CHANGES, doc/HOWTO, README, configure.in:
+       * src/groupadd.c, src/useradd.c, libmisc/setupenv.c, lib/sgroupio.c, lib/shadowio.c, lib/groupio.c, lib/pwio.c, lib/Makefile.am, lib/commonio.c, doc/CHANGES, doc/HOWTO, README, configure.in:
        *** empty log message ***
 
 1997-01-08  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * src/groupadd.c, lib/commonio.c, README, src/useradd.c, src/userdel.c, src/usermod.c, src/Attic/pwconv5.c, src/pwconv.c, src/su.c, src/passwd.c, src/pwck.c, src/grpunconv.c, src/login.c, src/logoutd.c, src/newgrp.c, src/grpck.c, src/grpconv.c, src/faillog.c, src/gpasswd.c, src/groupmod.c, src/chage.c, src/chfn.c, src/chsh.c, src/expiry.c, libmisc/ttytype.c, libmisc/utmp.c, libmisc/Attic/suauth.c, libmisc/strtoday.c, libmisc/shell.c, libmisc/failure.c, libmisc/log.c, libmisc/loginprompt.c, libmisc/myname.c, lib/shadowio.h, libmisc/Makefile.am, libmisc/chkname.c, lib/sgetpwent.c, lib/sgroupio.c, lib/sgroupio.h, lib/shadow.c, lib/shadowio.c, lib/Attic/pwent.c, lib/pwio.c, lib/pwio.h, lib/Attic/putgrent.c, lib/groupio.c, lib/groupio.h, lib/gshadow.c, lib/prototypes.h, lib/defines.h, lib/faillog.h, lib/getdef.c, doc/README.linux, doc/WISHLIST, etc/login.defs.linux, lib/Makefile.am, doc/Attic/CHANGES, doc/HOWTO, Attic/acconfig.h, configure.in:
+       * src/groupadd.c, lib/commonio.c, README, src/useradd.c, src/userdel.c, src/usermod.c, src/pwconv5.c, src/pwconv.c, src/su.c, src/passwd.c, src/pwck.c, src/grpunconv.c, src/login.c, src/logoutd.c, src/newgrp.c, src/grpck.c, src/grpconv.c, src/faillog.c, src/gpasswd.c, src/groupmod.c, src/chage.c, src/chfn.c, src/chsh.c, src/expiry.c, libmisc/ttytype.c, libmisc/utmp.c, libmisc/suauth.c, libmisc/strtoday.c, libmisc/shell.c, libmisc/failure.c, libmisc/log.c, libmisc/loginprompt.c, libmisc/myname.c, lib/shadowio.h, libmisc/Makefile.am, libmisc/chkname.c, lib/sgetpwent.c, lib/sgroupio.c, lib/sgroupio.h, lib/shadow.c, lib/shadowio.c, lib/pwent.c, lib/pwio.c, lib/pwio.h, lib/putgrent.c, lib/groupio.c, lib/groupio.h, lib/gshadow.c, lib/prototypes.h, lib/defines.h, lib/faillog.h, lib/getdef.c, doc/README.linux, doc/WISHLIST, etc/login.defs.linux, lib/Makefile.am, doc/CHANGES, doc/HOWTO, acconfig.h, configure.in:
        *** empty log message ***
 
 1996-10-27  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * src/usermod.c, src/grpck.c, src/useradd.c, src/userdel.c, src/chsh.c, src/gpasswd.c, libmisc/isexpired.c, libmisc/limits.c, lib/sgroupio.c, lib/shadowio.c, lib/commonio.c, lib/groupio.c, lib/pwio.c, doc/Attic/CHANGES, doc/README.linux, doc/WISHLIST, Attic/configure, configure.in:
+       * src/usermod.c, src/grpck.c, src/useradd.c, src/userdel.c, src/chsh.c, src/gpasswd.c, libmisc/isexpired.c, libmisc/limits.c, lib/sgroupio.c, lib/shadowio.c, lib/commonio.c, lib/groupio.c, lib/pwio.c, doc/CHANGES, doc/README.linux, doc/WISHLIST, configure, configure.in:
        *** empty log message ***
 
 1996-09-25  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * src/usermod.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/su.c, src/Attic/pwconv5.c, src/newgrp.c, src/passwd.c, src/pwck.c, src/grpck.c, src/login.c, src/logoutd.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/chfn.c, src/chsh.c, src/chage.c, libmisc/strtoday.c, libmisc/env.c, libmisc/fields.c, libmisc/isexpired.c, libmisc/setupenv.c, lib/Attic/rad64.c, lib/getdef.c, lib/prototypes.h, lib/defines.h, etc/login.defs.linux, doc/README.linux, doc/WISHLIST, doc/Attic/CHANGES, Attic/configure, configure.in, Attic/config.h.in:
+       * src/usermod.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/su.c, src/pwconv5.c, src/newgrp.c, src/passwd.c, src/pwck.c, src/grpck.c, src/login.c, src/logoutd.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/chfn.c, src/chsh.c, src/chage.c, libmisc/strtoday.c, libmisc/env.c, libmisc/fields.c, libmisc/isexpired.c, libmisc/setupenv.c, lib/rad64.c, lib/getdef.c, lib/prototypes.h, lib/defines.h, etc/login.defs.linux, doc/README.linux, doc/WISHLIST, doc/CHANGES, configure, configure.in, config.h.in:
        *** empty log message ***
 
 1996-09-20  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * src/usermod.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/newusers.c, src/passwd.c, src/pwck.c, src/grpck.c, src/login.c, src/logoutd.c, src/newgrp.c, src/groupdel.c, src/groupmod.c, src/Attic/dpasswd.c, src/chsh.c, src/gpasswd.c, src/groupadd.c, src/Attic/Makefile.in, src/chage.c, src/chfn.c, src/Makefile.am, libmisc/Attic/suauth.c, libmisc/shell.c, libmisc/sub.c, libmisc/ttytype.c, libmisc/env.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/chowntty.c, lib/prototypes.h, lib/getdef.c, doc/Attic/CHANGES, doc/WISHLIST:
+       * src/usermod.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/newusers.c, src/passwd.c, src/pwck.c, src/grpck.c, src/login.c, src/logoutd.c, src/newgrp.c, src/groupdel.c, src/groupmod.c, src/dpasswd.c, src/chsh.c, src/gpasswd.c, src/groupadd.c, src/Makefile.in, src/chage.c, src/chfn.c, src/Makefile.am, libmisc/suauth.c, libmisc/shell.c, libmisc/sub.c, libmisc/ttytype.c, libmisc/env.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/chowntty.c, lib/prototypes.h, lib/getdef.c, doc/CHANGES, doc/WISHLIST:
        *** empty log message ***
 
 1996-09-10  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * src/su.c, src/sulogin.c, src/usermod.c, src/logoutd.c, src/newgrp.c, src/passwd.c, src/pwconv.c, src/Attic/Makefile.in, src/chfn.c, src/chsh.c, src/grpunconv.c, src/login.c, src/Makefile.am, man/useradd.8, man/userdel.8, man/usermod.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/Attic/pwauth.8, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/Attic/mkpasswd.8, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.access.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/Attic/dpasswd.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, libmisc/isexpired.c, libmisc/obscure.c, libmisc/setupenv.c, libmisc/utmp.c, libmisc/age.c, lib/defines.h, lib/getdef.c, lib/getpass.c, etc/limits, etc/login.access, etc/login.defs.linux, doc/Attic/CHANGES, doc/README.linux, doc/WISHLIST, contrib/Attic/Makefile.in, contrib/Makefile.am, Attic/configure, configure.in:
+       * src/su.c, src/sulogin.c, src/usermod.c, src/logoutd.c, src/newgrp.c, src/passwd.c, src/pwconv.c, src/Makefile.in, src/chfn.c, src/chsh.c, src/grpunconv.c, src/login.c, src/Makefile.am, man/useradd.8, man/userdel.8, man/usermod.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/pwauth.8, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/mkpasswd.8, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.access.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/dpasswd.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, libmisc/isexpired.c, libmisc/obscure.c, libmisc/setupenv.c, libmisc/utmp.c, libmisc/age.c, lib/defines.h, lib/getdef.c, lib/getpass.c, etc/login.defs.linux, etc/limits, etc/login.access, doc/CHANGES, doc/README.linux, doc/WISHLIST, contrib/Makefile.in, contrib/Makefile.am, configure, configure.in:
        *** empty log message ***
 
 1996-08-10  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * old/Attic/Makefile.am, old/Attic/Makefile.linux, old/Attic/Makefile.sun4, old/Attic/Makefile.svr4, old/Attic/Makefile.xenix, old/Attic/config.h.linux, old/Attic/config.h.sun4, old/Attic/config.h.svr4, old/Attic/config.h.xenix, old/Attic/install-sh, old/Attic/orig-config.h, old/Attic/pwd.h.m4, shlib/Attic/Makefile.am, shlib/Attic/Makefile.in, shlib/Attic/Makefile.in.saved:
+       * old/Makefile.am, old/Makefile.linux, old/Makefile.sun4, old/Makefile.svr4, old/Makefile.xenix, old/config.h.linux, old/config.h.sun4, old/config.h.svr4, old/config.h.xenix, old/install-sh, old/orig-config.h, old/pwd.h.m4, shlib/Makefile.am, shlib/Makefile.in, shlib/Makefile.in.saved:
        New file.
 
        * contrib/adduser-old.c, contrib/adduser.sh, contrib/adduser2.sh, contrib/atudel:
        960810 - first version under cvs
 
-       * contrib/Attic/Makefile.in, contrib/Makefile.am, contrib/README, contrib/adduser.c, contrib/pwdauth.c, doc/Attic/ANNOUNCE, doc/Attic/CHANGES, doc/Attic/Makefile.in, doc/Attic/README.sun4, doc/Attic/automake-1.0.diff, doc/Attic/console.c.spec, doc/HOWTO, doc/LICENSE, doc/Makefile.am, doc/README, doc/README.limits, doc/README.linux, doc/WISHLIST, etc/Attic/Makefile.in, etc/Makefile.am, etc/login.access, etc/login.defs, etc/login.defs.linux, old/Attic/Makefile.in, src/Attic/patchlevel.h, src/Attic/pwconv5.c, src/Attic/scologin.c, src/chage.c, src/chfn.c, src/chsh.c, src/expiry.c, src/gpasswd.c, src/groups.c, src/grpconv.c, src/id.c, src/login.c, src/newgrp.c, src/passwd.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, lib/Attic/dialup.h, lib/Attic/grdbm.c, lib/Attic/grent.c, lib/Attic/grpack.c, lib/Attic/gsdbm.c, lib/Attic/gspack.c, lib/Attic/lastlog_.h, lib/Attic/md5.c, lib/Attic/md5.h, lib/Attic/md5crypt.c, lib/Attic/mkdir.c, lib/Attic/putgrent.c, lib/Attic/putpwent.c, lib/Attic/putspent.c, lib/Attic/pwdbm.c, lib/Attic/pwent.c, lib/Attic/pwpack.c, lib/Attic/rename.c, lib/Attic/rmdir.c, lib/Attic/shadow_.h, lib/Attic/spdbm.c, lib/Attic/sppack.c, lib/Attic/strdup.c, lib/Attic/strstr.c, lib/defines.h, lib/faillog.h, lib/getdef.h, lib/groupio.h, lib/gshadow_.h, lib/port.h, lib/prototypes.h, lib/pwauth.h, lib/pwio.h, lib/rcsid.h, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/sgroupio.h, lib/shadow.c, lib/shadowio.c, lib/shadowio.h, lib/utent.c, src/Attic/Makefile.in, src/Attic/dpasswd.c, src/Attic/mkpasswd.c, src/Makefile.am, src/chpasswd.c, src/faillog.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/grpck.c, src/lastlog.c, src/logoutd.c, src/newusers.c, src/pwck.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/Attic/Makefile.in, lib/Attic/dialchk.c, lib/Attic/dialup.c, lib/Attic/rad64.c, lib/Makefile.am, lib/commonio.c, lib/encrypt.c, lib/fputsx.c, lib/getdef.c, lib/getpass.c, lib/groupio.c, lib/gshadow.c, lib/lockpw.c, lib/port.c, lib/pwauth.c, lib/pwio.c, lib/sgroupio.c, libmisc/Attic/login_access.c, libmisc/Attic/login_desrpc.c, libmisc/Attic/login_krb.c, libmisc/Attic/setup.c, libmisc/Attic/suauth.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/motd.c, libmisc/obscure.c, libmisc/pwd2spwd.c, libmisc/rlogin.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, man/Attic/Makefile.in, man/Attic/dpasswd.8, man/Attic/mkpasswd.8, man/Attic/pwauth.8, man/Makefile.am, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, Attic/Makefile.in, Attic/acconfig.h, Attic/aclocal.m4, Attic/config.h.in, Attic/configure, Attic/install-sh, Attic/mkinstalldirs, Attic/stamp-h.in, Makefile.am, README, configure.in, libmisc/Attic/Makefile.in, libmisc/Makefile.am, libmisc/addgrps.c:
+       * contrib/Makefile.in, contrib/Makefile.am, contrib/README, contrib/adduser.c, contrib/pwdauth.c, doc/ANNOUNCE, doc/CHANGES, doc/Makefile.in, doc/README.sun4, doc/automake-1.0.diff, doc/console.c.spec, doc/HOWTO, doc/LICENSE, doc/Makefile.am, doc/README, doc/README.limits, doc/README.linux, doc/WISHLIST, etc/Makefile.in, etc/login.defs.linux, etc/Makefile.am, etc/login.access, etc/login.defs, old/Makefile.in, src/patchlevel.h, src/pwconv5.c, src/scologin.c, src/chage.c, src/chfn.c, src/chsh.c, src/expiry.c, src/gpasswd.c, src/groups.c, src/grpconv.c, src/id.c, src/login.c, src/newgrp.c, src/passwd.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, lib/dialup.h, lib/grdbm.c, lib/grent.c, lib/grpack.c, lib/gsdbm.c, lib/gspack.c, lib/lastlog_.h, lib/md5.c, lib/md5.h, lib/md5crypt.c, lib/mkdir.c, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/pwdbm.c, lib/pwent.c, lib/pwpack.c, lib/rcsid.h, lib/rename.c, lib/rmdir.c, lib/shadow_.h, lib/spdbm.c, lib/sppack.c, lib/strdup.c, lib/strstr.c, lib/defines.h, lib/faillog.h, lib/getdef.h, lib/groupio.h, lib/gshadow_.h, lib/port.h, lib/prototypes.h, lib/pwauth.h, lib/pwio.h, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/sgroupio.h, lib/shadow.c, lib/shadowio.c, lib/shadowio.h, lib/utent.c, src/Makefile.in, src/dpasswd.c, src/mkpasswd.c, src/Makefile.am, src/chpasswd.c, src/faillog.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/grpck.c, src/lastlog.c, src/logoutd.c, src/newusers.c, src/pwck.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/Makefile.in, lib/dialchk.c, lib/dialup.c, lib/rad64.c, lib/Makefile.am, lib/commonio.c, lib/encrypt.c, lib/fputsx.c, lib/getdef.c, lib/getpass.c, lib/groupio.c, lib/gshadow.c, lib/lockpw.c, lib/port.c, lib/pwauth.c, lib/pwio.c, lib/sgroupio.c, libmisc/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/setup.c, libmisc/suauth.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/motd.c, libmisc/obscure.c, libmisc/pwd2spwd.c, libmisc/rlogin.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, man/Makefile.in, man/dpasswd.8, man/mkpasswd.8, man/pwauth.8, man/Makefile.am, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, Makefile.in, acconfig.h, aclocal.m4, config.h.in, configure, install-sh, mkinstalldirs, stamp-h.in, Makefile.am, README, configure.in, libmisc/Makefile.in, libmisc/Makefile.am, libmisc/addgrps.c:
        New file.
 
index d2cebf67e5417313fc5602d3c0a0f9fd23322688..f1fa4b42a948f06ed8e5b677a0fdef36eac096f6 100644 (file)
@@ -42,7 +42,8 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
        depcomp install-sh ltmain.sh missing mkinstalldirs
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -98,6 +99,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -109,6 +112,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -148,6 +152,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
diff --git a/NEWS b/NEWS
index 4c61575dce91dba6bf536ef416b1b7f81ab467be..d380acf36a0db45d70dcabed778c97c8c0a2faab 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,60 @@
-$Id: NEWS,v 1.249 2005/08/21 12:42:51 kloczek Exp $
+$Id: NEWS,v 1.281 2005/10/10 18:24:59 kloczek Exp $
+
+shadow-4.0.12 -> shadow-4.0.13                                         10-10-2005
+
+*** general:
+- chage: removed duplicated pam_start(),
+- chfn, chsh: finished PAM support usin pam_start() and co.,
+- userdel: userdel should not remove the group which is primary for someone else
+  (fix by Nicolas François <nicolas.francois@centraliens.net>
+  http://bugs.debian.org/295416),
+- login: use "%c" in strftime() output (based on patch from
+  http://bugs.debian.org/89902 by Christian Perrier <bubulle@debian.org>),
+- fixedlib/commonio.c: don't assume selinux is enabled if is_selinux_enabled()
+  returns -1 (merge isSelinuxEnabled FC patch by Jeremy Katz <katzj@redhat.com>),
+- login, su (non-PAM case): fixed setup max address space limits (added missing break
+  statement in case) spoted by Lasse Collin <lasse.collin@tukaani.org>,
+- auditing support added. Patch prepared by Peter Vrabec <pvrabec@redhat.com> basing
+  on work by Steve Grubb from http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=159215
+  Now auditing support have commands: chage, gpasswd, groupadd, groupdel, groupmod,
+  useradd, userdel, usermod.
+- chage, chfn, chsh, passwd: change to use new selinux API for
+  selinux_check_passwd_access() (patch from Fedora by Dan Walsh <dwalsh@redhat.com>),
+- use #ident preprocesor directive istead RCID macro with content similar
+  to example described in ident(1) man page (modern compilers like latest GCC
+  removes not used functions by global optimization).
+  So "ident /usr/bin/passwd" will show again some useable informations
+- su: fixed twice copy enviroment which causes auth problems
+  (bug was introduced in 4.0.12; fix by Nicolas François <nicolas.francois@centraliens.net>),
+- chage: differentiate the different failure causes by the exit value
+  This will permit to adduser Debian script to detect if chage failed because the
+  system doesn't have shadowed passwords (fix for http://bugs.debian.org/317012),
+- merge 010_more-i18ned-messages Debian patch which adds i18n support for few
+  more messages (orginaly patch was prepared by Guillem Jover <guillem@debian.org>),
+- lastlog: added handle -b option which allow print only lastlog records older than
+  specified DAYS (fix by <miles@lubin.us>),
+- chpasswd, gpasswd, newusers: fixed libmisc/salt.c for use login.defs::MD5_CRYPT_ENAB
+  only if PAM support is disabled (fix by John Gatewood Ham <zappaman@buraphalinux.org>),
+- passwd: rewrited for use getopt_long(),
+- newgrp: when newgrp process sits between parent and child shells, it should
+  propagate STOPs from child to parent and CONTs from parent to child,
+  otherwise e.g. bash's "suspend" command won't work
+  Fixed Debian http://bugs.debian.org/314727
+- updated translations: da, es, fr, pt, ro, ru.
+*** documentation:
+- chsh(1), groupadd(8), newusers(8), pwconv(8), useradd(8), userdel(8), usermod(8):
+  added missing references to /etc/login.defs and login.defs(5)
+  (Christian Perrier <bubulle@kheops.frmug.org>),
+- passwd(5): rewrited based on work by Greg Wooledge <greg@wooledge.org>
+  http://bugs.debian.org/328113
+- login(1): added securetty(5) to SEE ALSO section
+  (fixed Debian bug http://bugs.debian.org/325773),
+- groupadd(8), useradd(8): fix regular expression describing alloved login/group
+  names (pointed by Nicolas François <nicolas.francois@centraliens.net>)
+  (correct is [a-z_][a-z0-9_-]*[$]),
+- groupadd(8), useradd(8): documents in CAVEATS section the limitations shadow
+  places on user and group names (fix by Mike Frysinger <vapier@gentoo.org>).
+- chage(1), groupadd(8): document -h,--help option.
 
 shadow-4.0.11.1 -> shadow-4.0.12                                       22-08-2005
 
@@ -49,10 +105,11 @@ shadow-4.0.11.1 -> shadow-4.0.12                                   22-08-2005
   on "passwd -e" (fix by Christian Perrier <bubulle@debian.org),
 - updated translations: cs, de, fi, fr, nl, pl, pt, ru, sk.
 *** documentation:
+- regenerate all roff man pages using DocBook XSLT Stylesheets 1.69.1,
 - usermod(8): give the correct range for system users (0-999 instead of 0-99),
   (http://bugs.debian.org/286258)
 - chage(8): better description -1 value passwd in -E, -I and -M options,
-- regenerate all roff man pages using DocBook XSL Stylesheets 1.69.0.
+- regenerate all roff man pages using DocBook XSLT Stylesheets 1.69.0.
 
 shadow-4.0.11 -> shadow-4.0.11.1                                       21-07-2005
 
diff --git a/acinclude.m4 b/acinclude.m4
new file mode 100644 (file)
index 0000000..dd01f16
--- /dev/null
@@ -0,0 +1,54 @@
+# Checks the location of the XML Catalog
+# Usage:
+#   JH_PATH_XML_CATALOG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# Defines XMLCATALOG and XML_CATALOG_FILE substitutions
+AC_DEFUN([JH_PATH_XML_CATALOG],
+[
+  # check for the presence of the XML catalog
+  AC_ARG_WITH([xml-catalog],
+              AC_HELP_STRING([--with-xml-catalog=CATALOG],
+                             [path to xml catalog to use]),,
+              [with_xml_catalog=/etc/xml/catalog])
+  jh_found_xmlcatalog=true
+  XML_CATALOG_FILE="$with_xml_catalog"
+  AC_SUBST([XML_CATALOG_FILE])
+  AC_MSG_CHECKING([for XML catalog ($XML_CATALOG_FILE)])
+  if test -f "$XML_CATALOG_FILE"; then
+    AC_MSG_RESULT([found])
+  else
+    jh_found_xmlcatalog=false
+    AC_MSG_RESULT([not found])
+  fi
+
+  # check for the xmlcatalog program
+  AC_PATH_PROG(XMLCATALOG, xmlcatalog, no)
+  if test "x$XMLCATALOG" = xno; then
+    jh_found_xmlcatalog=false
+  fi
+
+  if $jh_found_xmlcatalog; then
+    ifelse([$1],,[:],[$1])
+  else
+    ifelse([$2],,[AC_MSG_ERROR([could not find XML catalog])],[$2])
+  fi
+])
+
+# Checks if a particular URI appears in the XML catalog
+# Usage:
+#   JH_CHECK_XML_CATALOG(URI, [FRIENDLY-NAME], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+AC_DEFUN([JH_CHECK_XML_CATALOG],
+[
+  AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
+  AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
+  if $jh_found_xmlcatalog && \
+     AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
+    AC_MSG_RESULT([found])
+    ifelse([$3],,,[$3
+])dnl
+  else
+    AC_MSG_RESULT([not found])
+    ifelse([$4],,
+       [AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])],
+       [$4])
+  fi
+])
index 7006c990da13b27ae6a234bfcf0af26746c69a96..7f6eb3f960aca575937a800b24c84ab6defb680b 100644 (file)
@@ -11,7 +11,7 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
-# gettext.m4 serial 36 (gettext-0.14.3)
+# gettext.m4 serial 37 (gettext-0.14.4)
 dnl Copyright (C) 1995-2005 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -152,7 +152,7 @@ changequote([,])dnl
 ], [])[extern int _nl_msg_cat_cntr;
 extern int *_nl_domain_bindings;],
             [bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
+return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
             gt_cv_func_gnugettext_libc=yes,
             gt_cv_func_gnugettext_libc=no)])
 
@@ -188,7 +188,7 @@ extern
 #endif
 const char *_nl_expand_alias (const char *);],
               [bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
+return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
               gt_cv_func_gnugettext_libintl=yes,
               gt_cv_func_gnugettext_libintl=no)
             dnl Now see whether libintl exists and depends on libiconv.
@@ -209,7 +209,7 @@ extern
 #endif
 const char *_nl_expand_alias (const char *);],
                 [bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
+return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
                [LIBINTL="$LIBINTL $LIBICONV"
                 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
                 gt_cv_func_gnugettext_libintl=yes
@@ -1614,7 +1614,7 @@ rm="rm -f"
 default_ofile=libtool
 can_build_shared=yes
 
-# All known linkers require a `.a' archive for static linking (except M$VC,
+# All known linkers require a `.a' archive for static linking (except MSVC,
 # which needs '.lib').
 libext=a
 ltmain="$ac_aux_dir/ltmain.sh"
@@ -1830,8 +1830,8 @@ if test "X${echo_test_string+set}" != Xset; then
 # find a string as large as possible, as long as the shell can cope with it
   for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
     # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-    if (echo_test_string="`eval $cmd`") 2>/dev/null &&
-       echo_test_string="`eval $cmd`" &&
+    if (echo_test_string=`eval $cmd`) 2>/dev/null &&
+       echo_test_string=`eval $cmd` &&
        (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
     then
       break
@@ -2000,7 +2000,7 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
-    case "`/usr/bin/file conftest.o`" in
+    case `/usr/bin/file conftest.o` in
     *32-bit*)
       case $host in
         x86_64-*linux*)
@@ -2082,7 +2082,7 @@ AC_CACHE_CHECK([$1], [$2],
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    # The option is referenced via a variable to avoid confusing sed.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
    (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
@@ -2121,7 +2121,7 @@ AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
    LDFLAGS="$LDFLAGS $3"
    printf "$lt_simple_link_test_code" > conftest.$ac_ext
    if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The compiler can only warn and ignore the option if not recognized
+     # The linker can only warn and ignore the option if not recognized
      # So say no if there are warnings
      if test -s conftest.err; then
        # Append any errors to the config.log.
@@ -2196,7 +2196,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
     elif test -x /usr/sbin/sysctl; then
       lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
     else
-      lt_cv_sys_max_cmd_len=65536 # usable default for *BSD
+      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
     fi
     # And add a safety zone
     lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
@@ -2208,7 +2208,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
     # nice to cause kernel panics so lets avoid the loop below.
     # First set a reasonable default.
     lt_cv_sys_max_cmd_len=16384
-    # 
+    #
     if test -x /sbin/sysconfig; then
       case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
         *1*) lt_cv_sys_max_cmd_len=-1 ;;
@@ -2325,7 +2325,7 @@ int main ()
 }]
 EOF
   if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) 2>/dev/null
+    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
     lt_status=$?
     case x$lt_status in
       x$lt_dlno_uscore) $1 ;;
@@ -2474,7 +2474,7 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
    # Note that $ac_compile itself does not contain backslashes and begins
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
    (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
@@ -2492,7 +2492,7 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
        _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
      fi
    fi
-   chmod u+w .
+   chmod u+w . 2>&AS_MESSAGE_LOG_FD
    $rm conftest*
    # SGI C++ compiler will create directory out/ii_files/ for
    # template instantiation
@@ -2752,7 +2752,8 @@ cygwin* | mingw* | pw32*)
       dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
     postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
       dlpath=$dir/\$dldll~
        $rm \$dlpath'
@@ -2805,7 +2806,7 @@ darwin* | rhapsody*)
   soname_spec='${libname}${release}${major}$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
   # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
   if test "$GCC" = yes; then
     sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
@@ -2843,7 +2844,14 @@ kfreebsd*-gnu)
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
-  objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[[123]]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
   version_type=freebsd-$objformat
   case $version_type in
     freebsd-elf*)
@@ -2888,7 +2896,7 @@ hpux9* | hpux10* | hpux11*)
   version_type=sunos
   need_lib_prefix=no
   need_version=no
-  case "$host_cpu" in
+  case $host_cpu in
   ia64*)
     shrext_cmds='.so'
     hardcode_into_libs=yes
@@ -3301,7 +3309,7 @@ AC_DEFUN([AC_LIBTOOL_DLOPEN],
 
 # AC_LIBTOOL_WIN32_DLL
 # --------------------
-# declare package support for building win32 dll's
+# declare package support for building win32 DLLs
 AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
 [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
 ])# AC_LIBTOOL_WIN32_DLL
@@ -3475,7 +3483,7 @@ dnl not every word.  This closes a longstanding sh security hole.
       if test -n "$file_magic_test_file"; then
        case $deplibs_check_method in
        "file_magic "*)
-         file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
+         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
          MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
          if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
            $EGREP "$file_magic_regex" > /dev/null; then
@@ -3585,7 +3593,7 @@ AC_CACHE_VAL(lt_cv_path_LD,
     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
       lt_cv_path_LD="$ac_dir/$ac_prog"
       # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
+      # but apparently some variants of GNU ld only accept -v.
       # Break only if it was the GNU/non-GNU ld that we prefer.
       case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
       *GNU* | *'with BFD'*)
@@ -3617,7 +3625,7 @@ AC_PROG_LD_GNU
 AC_DEFUN([AC_PROG_LD_GNU],
 [AC_REQUIRE([AC_PROG_EGREP])dnl
 AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
 case `$LD -v 2>&1 </dev/null` in
 *GNU* | *'with BFD'*)
   lt_cv_prog_gnu_ld=yes
@@ -3731,7 +3739,7 @@ gnu*)
 
 hpux10.20* | hpux11*)
   lt_cv_file_magic_cmd=/usr/bin/file
-  case "$host_cpu" in
+  case $host_cpu in
   ia64*)
     lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
     lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
@@ -3905,13 +3913,13 @@ esac
 # -----------------------------------
 # sets LIBLTDL to the link flags for the libltdl convenience library and
 # LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-convenience to the configure arguments.  Note that LIBLTDL
-# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called.  If
-# DIRECTORY is not provided, it is assumed to be `libltdl'.  LIBLTDL will
-# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with
-# '${top_srcdir}/' (note the single quotes!).  If your package is not
-# flat and you're not using automake, define top_builddir and
-# top_srcdir appropriately in the Makefiles.
+# --enable-ltdl-convenience to the configure arguments.  Note that
+# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
+# it is assumed to be `libltdl'.  LIBLTDL will be prefixed with
+# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
+# (note the single quotes!).  If your package is not flat and you're not
+# using automake, define top_builddir and top_srcdir appropriately in
+# the Makefiles.
 AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
   case $enable_ltdl_convenience in
@@ -3930,13 +3938,13 @@ AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
 # -----------------------------------
 # sets LIBLTDL to the link flags for the libltdl installable library and
 # LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-install to the configure arguments.  Note that LIBLTDL
-# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called.  If
-# DIRECTORY is not provided and an installed libltdl is not found, it is
-# assumed to be `libltdl'.  LIBLTDL will be prefixed with '${top_builddir}/'
-# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single
-# quotes!).  If your package is not flat and you're not using automake,
-# define top_builddir and top_srcdir appropriately in the Makefiles.
+# --enable-ltdl-install to the configure arguments.  Note that
+# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
+# and an installed libltdl is not found, it is assumed to be `libltdl'.
+# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
+# '${top_srcdir}/' (note the single quotes!).  If your package is not
+# flat and you're not using automake, define top_builddir and top_srcdir
+# appropriately in the Makefiles.
 # In the future, this macro may have to be called after AC_PROG_LIBTOOL.
 AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
@@ -4115,7 +4123,7 @@ test "$can_build_shared" = "no" && enable_shared=no
 
 # On AIX, shared libraries and static libraries use the same namespace, and
 # are all built from PIC.
-case "$host_os" in
+case $host_os in
 aix3*)
   test "$enable_shared" = yes && enable_static=no
   if test -n "$RANLIB"; then
@@ -4182,7 +4190,7 @@ _LT_AC_TAGVAR(postdeps, $1)=
 _LT_AC_TAGVAR(compiler_lib_search_path, $1)=
 
 # Source file extension for C++ test sources.
-ac_ext=cc
+ac_ext=cpp
 
 # Object file extension for compiled C++ test sources.
 objext=o
@@ -4398,7 +4406,7 @@ case $host_os in
        # Exported symbols can be pulled into shared objects from archives
        _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
        _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-       # This is similar to how AIX traditionally builds it's shared libraries.
+       # This is similar to how AIX traditionally builds its shared libraries.
        _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
       fi
     fi
@@ -4437,7 +4445,7 @@ case $host_os in
     fi
   ;;
       darwin* | rhapsody*)
-        case "$host_os" in
+        case $host_os in
         rhapsody* | darwin1.[[012]])
          _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
          ;;
@@ -4475,7 +4483,7 @@ case $host_os in
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
         fi
         _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
           if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
             _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           else
@@ -4488,7 +4496,7 @@ case $host_os in
          output_verbose_link_cmd='echo'
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
           _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
           _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
@@ -4568,7 +4576,7 @@ case $host_os in
     ;;
   hpux10*|hpux11*)
     if test $with_gnu_ld = no; then
-      case "$host_cpu" in
+      case $host_cpu in
       hppa*64*)
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
@@ -4584,7 +4592,7 @@ case $host_os in
         ;;
       esac
     fi
-    case "$host_cpu" in
+    case $host_cpu in
     hppa*64*)
       _LT_AC_TAGVAR(hardcode_direct, $1)=no
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -4610,7 +4618,7 @@ case $host_os in
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
       aCC*)
-       case "$host_cpu" in
+       case $host_cpu in
        hppa*64*|ia64*)
          _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
          ;;
@@ -4631,7 +4639,7 @@ case $host_os in
       *)
        if test "$GXX" = yes; then
          if test $with_gnu_ld = no; then
-           case "$host_cpu" in
+           case $host_cpu in
            ia64*|hppa*64*)
              _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
              ;;
@@ -4732,7 +4740,7 @@ case $host_os in
 
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
        _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
         ;;
       cxx*)
        # Compaq C++
@@ -4964,10 +4972,11 @@ case $host_os in
     case $cc_basename in
       CC*)
        # Sun C++ 4.2, 5.x and Centerline C++
+        _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
        _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-       $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+       $CC -G${allow_undefined_flag}  ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
 
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
        _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -4987,15 +4996,7 @@ case $host_os in
        esac
        _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
 
-       # Commands to make compiler produce verbose output that lists
-       # what "hidden" libraries, object files and flags are used when
-       # linking a shared library.
-       #
-       # There doesn't appear to be a way to prevent this compiler from
-       # explicitly linking system object files so we need to strip them
-       # from the output so that they don't get included in the library
-       # dependencies.
-       output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[[LR]]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+       output_verbose_link_cmd='echo'
 
        # Archives containing C++ object files must be created using
        # "CC -xar", where "CC" is the Sun C++ compiler.  This is
@@ -5152,7 +5153,7 @@ if AC_TRY_EVAL(ac_compile); then
   # The `*' in the case matches for architectures that use `case' in
   # $output_verbose_cmd can trigger glob expansion during the loop
   # eval without this substitution.
-  output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`"
+  output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
 
   for p in `eval $output_verbose_link_cmd`; do
     case $p in
@@ -5228,6 +5229,21 @@ fi
 
 $rm -f confest.$objext
 
+# PORTME: override above test on systems where it is broken
+ifelse([$1],[CXX],
+[case $host_os in
+solaris*)
+  case $cc_basename in
+  CC*)
+    # Adding this requires a known-good setup of shared libraries for
+    # Sun compiler versions before 5.6, else PIC objects from an old
+    # archive will be linked into the output, leading to subtle bugs.
+    _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
+    ;;
+  esac
+esac
+])
+
 case " $_LT_AC_TAGVAR(postdeps, $1) " in
 *" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
 esac
@@ -5297,7 +5313,7 @@ test "$can_build_shared" = "no" && enable_shared=no
 
 # On AIX, shared libraries and static libraries use the same namespace, and
 # are all built from PIC.
-case "$host_os" in
+case $host_os in
 aix3*)
   test "$enable_shared" = yes && enable_static=no
   if test -n "$RANLIB"; then
@@ -6196,7 +6212,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
     hpux*)
       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
       # not for PA HP-UX.
-      case "$host_cpu" in
+      case $host_cpu in
       hppa*64*|ia64*)
        ;;
       *)
@@ -6265,7 +6281,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
          aCC*)
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
-           case "$host_cpu" in
+           case $host_cpu in
            hppa*64*|ia64*)
              # +Z the default
              ;;
@@ -6306,7 +6322,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
            # Portland Group C++ compiler.
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
            ;;
          cxx*)
            # Compaq C++
@@ -6470,7 +6486,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
     hpux*)
       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
       # not for PA HP-UX.
-      case "$host_cpu" in
+      case $host_cpu in
       hppa*64*|ia64*)
        # +Z the default
        ;;
@@ -6517,7 +6533,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
       # not for PA HP-UX.
-      case "$host_cpu" in
+      case $host_cpu in
       hppa*64*|ia64*)
        # +Z the default
        ;;
@@ -6547,12 +6563,12 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
         ;;
-      pgcc* | pgf77* | pgf90*)
+      pgcc* | pgf77* | pgf90* | pgf95*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
        # which looks to be a dead project)
        _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
        _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         ;;
       ccc*)
         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
@@ -6635,7 +6651,7 @@ if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
     [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
 fi
-case "$host_os" in
+case $host_os in
   # For platforms which do not support PIC, -DPIC is meaningless:
   *djgpp*)
     _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
@@ -6731,7 +6747,7 @@ ifelse([$1],[CXX],[
   if test "$with_gnu_ld" = yes; then
     # If archive_cmds runs LD, not CC, wlarc should be empty
     wlarc='${wl}'
-    
+
     # Set some defaults for GNU ld with shared library support. These
     # are reset later if shared libraries are not supported. Putting them
     # here allows them to be overridden if necessary.
@@ -6752,7 +6768,7 @@ ifelse([$1],[CXX],[
       *\ 2.11.*) ;; # other 2.11 versions
       *) supports_anon_versioning=yes ;;
     esac
-    
+
     # See if GNU ld supports shared libraries.
     case $host_os in
     aix3* | aix4* | aix5*)
@@ -6826,11 +6842,11 @@ EOF
        tmp_addflag=
        case $cc_basename,$host_cpu in
        pgcc*)                          # Portland Group C compiler
-         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
          tmp_addflag=' $pic_flag'
          ;;
-       pgf77* | pgf90* )                       # Portland Group f77 and f90 compilers
-         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+       pgf77* | pgf90* | pgf95*)       # Portland Group f77 and f90 compilers
+         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
          tmp_addflag=' $pic_flag -Mnomain' ;;
        ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
          tmp_addflag=' -i_dynamic' ;;
@@ -7036,7 +7052,7 @@ EOF
          # Exported symbols can be pulled into shared objects from archives
          _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
          _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-         # This is similar to how AIX traditionally builds it's shared libraries.
+         # This is similar to how AIX traditionally builds its shared libraries.
          _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
        fi
       fi
@@ -7076,7 +7092,7 @@ EOF
       ;;
 
     darwin* | rhapsody*)
-      case "$host_os" in
+      case $host_os in
         rhapsody* | darwin1.[[012]])
          _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
          ;;
@@ -7105,7 +7121,7 @@ EOF
        output_verbose_link_cmd='echo'
         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
       _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
       _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     else
@@ -7114,7 +7130,7 @@ EOF
          output_verbose_link_cmd='echo'
          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
          _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
@@ -7180,7 +7196,7 @@ EOF
 
     hpux10* | hpux11*)
       if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-       case "$host_cpu" in
+       case $host_cpu in
        hppa*64*|ia64*)
          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
          ;;
@@ -7189,7 +7205,7 @@ EOF
          ;;
        esac
       else
-       case "$host_cpu" in
+       case $host_cpu in
        hppa*64*|ia64*)
          _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
          ;;
@@ -7199,7 +7215,7 @@ EOF
        esac
       fi
       if test "$with_gnu_ld" = no; then
-       case "$host_cpu" in
+       case $host_cpu in
        hppa*64*)
          _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
          _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
@@ -9113,3 +9129,4 @@ AC_SUBST([am__tar])
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
 
+m4_include([acinclude.m4])
index 70fb75e456afef8ed077449e8b57d69094edf006..5f4b0496d78e2cc25292ee79cfacfb6a1f13669d 100644 (file)
 /* Version number of package */
 #undef VERSION
 
+/* Define if you want to enable Audit messages */
+#undef WITH_AUDIT
+
 /* Build shadow with SELinux support */
 #undef WITH_SELINUX
 
index b8034b22dee3e7a7257291315dad9fc57061f342..7e4070f05af477f40e06954f9f9ecf1b258b4bff 100755 (executable)
--- a/configure
+++ b/configure
@@ -285,8 +285,8 @@ if test "X${echo_test_string+set}" != Xset; then
 # find a string as large as possible, as long as the shell can cope with it
   for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
     # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-    if (echo_test_string="`eval $cmd`") 2>/dev/null &&
-       echo_test_string="`eval $cmd`" &&
+    if (echo_test_string=`eval $cmd`) 2>/dev/null &&
+       echo_test_string=`eval $cmd` &&
        (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
     then
       break
@@ -462,7 +462,7 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE LN_S YACC CPP EGREP U ANSI2KNR build build_cpu build_vendor build_os host host_cpu host_vendor host_os ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS LIBCRYPT LIBCRACK LIBSELINUX LIBPAM LIBSKEY LIBMD MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE INTL_MACOSX_LIBS LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE LN_S YACC CPP EGREP U ANSI2KNR build build_cpu build_vendor build_os host host_cpu host_vendor host_os ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS XSLTPROC XML_CATALOG_FILE XMLCATALOG ENABLE_REGENERATE_MAN_TRUE ENABLE_REGENERATE_MAN_FALSE LIBCRYPT LIBAUDIT LIBCRACK LIBSELINUX LIBPAM LIBSKEY LIBMD MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE INTL_MACOSX_LIBS LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -1034,7 +1034,9 @@ Optional Features:
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --disable-largefile     omit support for large files
-  --enable-shadowgrp      enable shadow group support default=yes
+  --enable-shadowgrp      enable shadow group support [default=yes]
+  --enable-man            regenerate roff man pages from Docbook
+                          [default=no]
   --disable-nls           do not use Native Language Support
   --disable-rpath         do not hardcode runtime library paths
 
@@ -1046,10 +1048,15 @@ Optional Packages:
                           both]
   --with-tags[=TAGS]
                           include additional configurations [automatic]
-  --with-libcrack         try to use libcrack (default if found)
-  --with-libpam           use libpam for PAM support
-  --with-selinux          use SELinux support
-  --with-skey             use S/Key support
+  --with-audit            use auditing support [default=yes if found]
+  --with-libpam           use libpam for PAM support [default=yes if
+                          found]
+  --with-selinux          use SELinux support [default=autodetect]
+  --with-skey             use S/Key support [default=no]
+  --with-libcrack         use libcrack [default=yes if found and if PAM not
+                          enabled]
+  --with-xml-catalog=CATALOG
+                          path to xml catalog to use
   --with-gnu-ld           assume the C compiler uses GNU ld default=no
   --with-libiconv-prefix[=DIR]  search for libiconv in DIR/include and DIR/lib
   --without-libiconv-prefix     don't search for libiconv in includedir and libdir
@@ -1815,7 +1822,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE=shadow
- VERSION=4.0.12
+ VERSION=4.0.13
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4176,7 +4183,7 @@ else
     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
       lt_cv_path_LD="$ac_dir/$ac_prog"
       # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
+      # but apparently some variants of GNU ld only accept -v.
       # Break only if it was the GNU/non-GNU ld that we prefer.
       case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
       *GNU* | *'with BFD'*)
@@ -4210,7 +4217,7 @@ echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
 if test "${lt_cv_prog_gnu_ld+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
 case `$LD -v 2>&1 </dev/null` in
 *GNU* | *'with BFD'*)
   lt_cv_prog_gnu_ld=yes
@@ -4369,7 +4376,7 @@ gnu*)
 
 hpux10.20* | hpux11*)
   lt_cv_file_magic_cmd=/usr/bin/file
-  case "$host_cpu" in
+  case $host_cpu in
   ia64*)
     lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
     lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
@@ -4514,7 +4521,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 4517 "configure"' > conftest.$ac_ext
+  echo '#line 4524 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -4557,7 +4564,7 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-    case "`/usr/bin/file conftest.o`" in
+    case `/usr/bin/file conftest.o` in
     *32-bit*)
       case $host in
         x86_64-*linux*)
@@ -5620,7 +5627,7 @@ fi
 
 
 # Provide some information about the compiler.
-echo "$as_me:5623:" \
+echo "$as_me:5630:" \
      "checking for Fortran 77 compiler version" >&5
 ac_compiler=`set X $ac_compile; echo $2`
 { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
@@ -5817,7 +5824,7 @@ else
     elif test -x /usr/sbin/sysctl; then
       lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
     else
-      lt_cv_sys_max_cmd_len=65536 # usable default for *BSD
+      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
     fi
     # And add a safety zone
     lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
@@ -6132,7 +6139,7 @@ rm="rm -f"
 default_ofile=libtool
 can_build_shared=yes
 
-# All known linkers require a `.a' archive for static linking (except M$VC,
+# All known linkers require a `.a' archive for static linking (except MSVC,
 # which needs '.lib').
 libext=a
 ltmain="$ac_aux_dir/ltmain.sh"
@@ -6453,7 +6460,7 @@ else
       if test -n "$file_magic_test_file"; then
        case $deplibs_check_method in
        "file_magic "*)
-         file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
+         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
          MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
          if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
            $EGREP "$file_magic_regex" > /dev/null; then
@@ -6515,7 +6522,7 @@ else
       if test -n "$file_magic_test_file"; then
        case $deplibs_check_method in
        "file_magic "*)
-         file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
+         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
          MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
          if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
            $EGREP "$file_magic_regex" > /dev/null; then
@@ -6664,7 +6671,7 @@ else
    LDFLAGS="$LDFLAGS $lt_prog_compiler_static"
    printf "$lt_simple_link_test_code" > conftest.$ac_ext
    if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The compiler can only warn and ignore the option if not recognized
+     # The linker can only warn and ignore the option if not recognized
      # So say no if there are warnings
      if test -s conftest.err; then
        # Append any errors to the config.log.
@@ -6715,14 +6722,14 @@ else
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    # The option is referenced via a variable to avoid confusing sed.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:6721: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:6728: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:6725: \$? = $ac_status" >&5
+   echo "$as_me:6732: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -6805,7 +6812,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
     hpux*)
       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
       # not for PA HP-UX.
-      case "$host_cpu" in
+      case $host_cpu in
       hppa*64*|ia64*)
        # +Z the default
        ;;
@@ -6852,7 +6859,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       lt_prog_compiler_wl='-Wl,'
       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
       # not for PA HP-UX.
-      case "$host_cpu" in
+      case $host_cpu in
       hppa*64*|ia64*)
        # +Z the default
        ;;
@@ -6882,12 +6889,12 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        lt_prog_compiler_pic='-KPIC'
        lt_prog_compiler_static='-static'
         ;;
-      pgcc* | pgf77* | pgf90*)
+      pgcc* | pgf77* | pgf90* | pgf95*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
        # which looks to be a dead project)
        lt_prog_compiler_wl='-Wl,'
        lt_prog_compiler_pic='-fpic'
-       lt_prog_compiler_static='-static'
+       lt_prog_compiler_static='-Bstatic'
         ;;
       ccc*)
         lt_prog_compiler_wl='-Wl,'
@@ -6977,14 +6984,14 @@ else
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    # The option is referenced via a variable to avoid confusing sed.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:6983: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:6990: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:6987: \$? = $ac_status" >&5
+   echo "$as_me:6994: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -7011,7 +7018,7 @@ else
 fi
 
 fi
-case "$host_os" in
+case $host_os in
   # For platforms which do not support PIC, -DPIC is meaningless:
   *djgpp*)
     lt_prog_compiler_pic=
@@ -7039,14 +7046,14 @@ else
    # Note that $ac_compile itself does not contain backslashes and begins
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7045: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7052: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:7049: \$? = $ac_status" >&5
+   echo "$as_me:7056: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -7057,7 +7064,7 @@ else
        lt_cv_prog_compiler_c_o=yes
      fi
    fi
-   chmod u+w .
+   chmod u+w . 2>&5
    $rm conftest*
    # SGI C++ compiler will create directory out/ii_files/ for
    # template instantiation
@@ -7257,11 +7264,11 @@ EOF
        tmp_addflag=
        case $cc_basename,$host_cpu in
        pgcc*)                          # Portland Group C compiler
-         whole_archive_flag_spec='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
          tmp_addflag=' $pic_flag'
          ;;
-       pgf77* | pgf90* )                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+       pgf77* | pgf90* | pgf95*)       # Portland Group f77 and f90 compilers
+         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
          tmp_addflag=' $pic_flag -Mnomain' ;;
        ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
          tmp_addflag=' -i_dynamic' ;;
@@ -7569,7 +7576,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
          # Exported symbols can be pulled into shared objects from archives
          whole_archive_flag_spec=' '
          archive_cmds_need_lc=yes
-         # This is similar to how AIX traditionally builds it's shared libraries.
+         # This is similar to how AIX traditionally builds its shared libraries.
          archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
        fi
       fi
@@ -7609,7 +7616,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       ;;
 
     darwin* | rhapsody*)
-      case "$host_os" in
+      case $host_os in
         rhapsody* | darwin1.[012])
          allow_undefined_flag='${wl}-undefined ${wl}suppress'
          ;;
@@ -7638,7 +7645,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        output_verbose_link_cmd='echo'
         archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
       module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
       archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
       module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     else
@@ -7647,7 +7654,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
          output_verbose_link_cmd='echo'
          archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
          module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
          archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
@@ -7713,7 +7720,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
     hpux10* | hpux11*)
       if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-       case "$host_cpu" in
+       case $host_cpu in
        hppa*64*|ia64*)
          archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
          ;;
@@ -7722,7 +7729,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
          ;;
        esac
       else
-       case "$host_cpu" in
+       case $host_cpu in
        hppa*64*|ia64*)
          archive_cmds='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
          ;;
@@ -7732,7 +7739,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        esac
       fi
       if test "$with_gnu_ld" = no; then
-       case "$host_cpu" in
+       case $host_cpu in
        hppa*64*)
          hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
          hardcode_libdir_flag_spec_ld='+b $libdir'
@@ -8191,7 +8198,8 @@ cygwin* | mingw* | pw32*)
       dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
     postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
       dlpath=$dir/\$dldll~
        $rm \$dlpath'
@@ -8244,7 +8252,7 @@ darwin* | rhapsody*)
   soname_spec='${libname}${release}${major}$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
   # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
   if test "$GCC" = yes; then
     sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
@@ -8282,7 +8290,14 @@ kfreebsd*-gnu)
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
-  objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
   version_type=freebsd-$objformat
   case $version_type in
     freebsd-elf*)
@@ -8327,7 +8342,7 @@ hpux9* | hpux10* | hpux11*)
   version_type=sunos
   need_lib_prefix=no
   need_version=no
-  case "$host_cpu" in
+  case $host_cpu in
   ia64*)
     shrext_cmds='.so'
     hardcode_into_libs=yes
@@ -8428,7 +8443,7 @@ linux*)
   libsuff=
   case "$host_cpu" in
   x86_64*|s390x*|powerpc64*)
-    echo '#line 8431 "configure"' > conftest.$ac_ext
+    echo '#line 8446 "configure"' > conftest.$ac_ext
     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -9303,7 +9318,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 9306 "configure"
+#line 9321 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -9369,7 +9384,7 @@ EOF
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) 2>/dev/null
+    (./conftest; exit; ) >&5 2>/dev/null
     lt_status=$?
     case x$lt_status in
       x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
@@ -9401,7 +9416,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 9404 "configure"
+#line 9419 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -9467,7 +9482,7 @@ EOF
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) 2>/dev/null
+    (./conftest; exit; ) >&5 2>/dev/null
     lt_status=$?
     case x$lt_status in
       x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
@@ -9517,7 +9532,7 @@ test "$can_build_shared" = "no" && enable_shared=no
 
 # On AIX, shared libraries and static libraries use the same namespace, and
 # are all built from PIC.
-case "$host_os" in
+case $host_os in
 aix3*)
   test "$enable_shared" = yes && enable_static=no
   if test -n "$RANLIB"; then
@@ -10120,7 +10135,7 @@ postdeps_CXX=
 compiler_lib_search_path_CXX=
 
 # Source file extension for C++ test sources.
-ac_ext=cc
+ac_ext=cpp
 
 # Object file extension for compiled C++ test sources.
 objext=o
@@ -10256,7 +10271,7 @@ else
     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
       lt_cv_path_LD="$ac_dir/$ac_prog"
       # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
+      # but apparently some variants of GNU ld only accept -v.
       # Break only if it was the GNU/non-GNU ld that we prefer.
       case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
       *GNU* | *'with BFD'*)
@@ -10290,7 +10305,7 @@ echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
 if test "${lt_cv_prog_gnu_ld+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
 case `$LD -v 2>&1 </dev/null` in
 *GNU* | *'with BFD'*)
   lt_cv_prog_gnu_ld=yes
@@ -10570,7 +10585,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        # Exported symbols can be pulled into shared objects from archives
        whole_archive_flag_spec_CXX=' '
        archive_cmds_need_lc_CXX=yes
-       # This is similar to how AIX traditionally builds it's shared libraries.
+       # This is similar to how AIX traditionally builds its shared libraries.
        archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
       fi
     fi
@@ -10609,7 +10624,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     fi
   ;;
       darwin* | rhapsody*)
-        case "$host_os" in
+        case $host_os in
         rhapsody* | darwin1.[012])
          allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress'
          ;;
@@ -10647,7 +10662,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
           archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
         fi
         module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
           if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
             archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           else
@@ -10660,7 +10675,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
          output_verbose_link_cmd='echo'
           archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
           module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
           archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
@@ -10740,7 +10755,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     ;;
   hpux10*|hpux11*)
     if test $with_gnu_ld = no; then
-      case "$host_cpu" in
+      case $host_cpu in
       hppa*64*)
        hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
        hardcode_libdir_flag_spec_ld_CXX='+b $libdir'
@@ -10756,7 +10771,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
         ;;
       esac
     fi
-    case "$host_cpu" in
+    case $host_cpu in
     hppa*64*)
       hardcode_direct_CXX=no
       hardcode_shlibpath_var_CXX=no
@@ -10782,7 +10797,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        ld_shlibs_CXX=no
        ;;
       aCC*)
-       case "$host_cpu" in
+       case $host_cpu in
        hppa*64*|ia64*)
          archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
          ;;
@@ -10803,7 +10818,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       *)
        if test "$GXX" = yes; then
          if test $with_gnu_ld = no; then
-           case "$host_cpu" in
+           case $host_cpu in
            ia64*|hppa*64*)
              archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
              ;;
@@ -10904,7 +10919,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
        hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
        export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-       whole_archive_flag_spec_CXX='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+       whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
         ;;
       cxx*)
        # Compaq C++
@@ -11136,10 +11151,11 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     case $cc_basename in
       CC*)
        # Sun C++ 4.2, 5.x and Centerline C++
+        archive_cmds_need_lc_CXX=yes
        no_undefined_flag_CXX=' -zdefs'
-       archive_cmds_CXX='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+       archive_cmds_CXX='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
        archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-       $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+       $CC -G${allow_undefined_flag}  ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
 
        hardcode_libdir_flag_spec_CXX='-R$libdir'
        hardcode_shlibpath_var_CXX=no
@@ -11159,15 +11175,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        esac
        link_all_deplibs_CXX=yes
 
-       # Commands to make compiler produce verbose output that lists
-       # what "hidden" libraries, object files and flags are used when
-       # linking a shared library.
-       #
-       # There doesn't appear to be a way to prevent this compiler from
-       # explicitly linking system object files so we need to strip them
-       # from the output so that they don't get included in the library
-       # dependencies.
-       output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[LR]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+       output_verbose_link_cmd='echo'
 
        # Archives containing C++ object files must be created using
        # "CC -xar", where "CC" is the Sun C++ compiler.  This is
@@ -11271,7 +11279,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   # The `*' in the case matches for architectures that use `case' in
   # $output_verbose_cmd can trigger glob expansion during the loop
   # eval without this substitution.
-  output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`"
+  output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
 
   for p in `eval $output_verbose_link_cmd`; do
     case $p in
 
 $rm -f confest.$objext
 
+# PORTME: override above test on systems where it is broken
+case $host_os in
+solaris*)
+  case $cc_basename in
+  CC*)
+    # Adding this requires a known-good setup of shared libraries for
+    # Sun compiler versions before 5.6, else PIC objects from an old
+    # archive will be linked into the output, leading to subtle bugs.
+    postdeps_CXX='-lCstd -lCrun'
+    ;;
+  esac
+esac
+
+
 case " $postdeps_CXX " in
 *" -lc "*) archive_cmds_need_lc_CXX=no ;;
 esac
@@ -11402,7 +11424,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
     hpux*)
       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
       # not for PA HP-UX.
-      case "$host_cpu" in
+      case $host_cpu in
       hppa*64*|ia64*)
        ;;
       *)
@@ -11471,7 +11493,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
          aCC*)
            lt_prog_compiler_wl_CXX='-Wl,'
            lt_prog_compiler_static_CXX="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
-           case "$host_cpu" in
+           case $host_cpu in
            hppa*64*|ia64*)
              # +Z the default
              ;;
@@ -11512,7 +11534,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
            # Portland Group C++ compiler.
            lt_prog_compiler_wl_CXX='-Wl,'
            lt_prog_compiler_pic_CXX='-fpic'
-           lt_prog_compiler_static_CXX='-static'
+           lt_prog_compiler_static_CXX='-Bstatic'
            ;;
          cxx*)
            # Compaq C++
@@ -11646,14 +11668,14 @@ else
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    # The option is referenced via a variable to avoid confusing sed.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11652: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:11674: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:11656: \$? = $ac_status" >&5
+   echo "$as_me:11678: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -11680,7 +11702,7 @@ else
 fi
 
 fi
-case "$host_os" in
+case $host_os in
   # For platforms which do not support PIC, -DPIC is meaningless:
   *djgpp*)
     lt_prog_compiler_pic_CXX=
@@ -11708,14 +11730,14 @@ else
    # Note that $ac_compile itself does not contain backslashes and begins
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11714: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:11736: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:11718: \$? = $ac_status" >&5
+   echo "$as_me:11740: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -11726,7 +11748,7 @@ else
        lt_cv_prog_compiler_c_o_CXX=yes
      fi
    fi
-   chmod u+w .
+   chmod u+w . 2>&5
    $rm conftest*
    # SGI C++ compiler will create directory out/ii_files/ for
    # template instantiation
@@ -11989,7 +12011,8 @@ cygwin* | mingw* | pw32*)
       dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
     postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
       dlpath=$dir/\$dldll~
        $rm \$dlpath'
@@ -12042,7 +12065,7 @@ darwin* | rhapsody*)
   soname_spec='${libname}${release}${major}$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
   # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
   if test "$GCC" = yes; then
     sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
@@ -12080,7 +12103,14 @@ kfreebsd*-gnu)
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
-  objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
   version_type=freebsd-$objformat
   case $version_type in
     freebsd-elf*)
@@ -12125,7 +12155,7 @@ hpux9* | hpux10* | hpux11*)
   version_type=sunos
   need_lib_prefix=no
   need_version=no
-  case "$host_cpu" in
+  case $host_cpu in
   ia64*)
     shrext_cmds='.so'
     hardcode_into_libs=yes
@@ -12226,7 +12256,7 @@ linux*)
   libsuff=
   case "$host_cpu" in
   x86_64*|s390x*|powerpc64*)
-    echo '#line 12229 "configure"' > conftest.$ac_ext
+    echo '#line 12259 "configure"' > conftest.$ac_ext
     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -13101,7 +13131,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 13104 "configure"
+#line 13134 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13167,7 +13197,7 @@ EOF
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) 2>/dev/null
+    (./conftest; exit; ) >&5 2>/dev/null
     lt_status=$?
     case x$lt_status in
       x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
@@ -13199,7 +13229,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 13202 "configure"
+#line 13232 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13265,7 +13295,7 @@ EOF
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) 2>/dev/null
+    (./conftest; exit; ) >&5 2>/dev/null
     lt_status=$?
     case x$lt_status in
       x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
@@ -13821,7 +13851,7 @@ test "$can_build_shared" = "no" && enable_shared=no
 
 # On AIX, shared libraries and static libraries use the same namespace, and
 # are all built from PIC.
-case "$host_os" in
+case $host_os in
 aix3*)
   test "$enable_shared" = yes && enable_static=no
   if test -n "$RANLIB"; then
@@ -13909,7 +13939,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
     hpux*)
       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
       # not for PA HP-UX.
-      case "$host_cpu" in
+      case $host_cpu in
       hppa*64*|ia64*)
        # +Z the default
        ;;
@@ -13956,7 +13986,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       lt_prog_compiler_wl_F77='-Wl,'
       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
       # not for PA HP-UX.
-      case "$host_cpu" in
+      case $host_cpu in
       hppa*64*|ia64*)
        # +Z the default
        ;;
@@ -13986,12 +14016,12 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        lt_prog_compiler_pic_F77='-KPIC'
        lt_prog_compiler_static_F77='-static'
         ;;
-      pgcc* | pgf77* | pgf90*)
+      pgcc* | pgf77* | pgf90* | pgf95*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
        # which looks to be a dead project)
        lt_prog_compiler_wl_F77='-Wl,'
        lt_prog_compiler_pic_F77='-fpic'
-       lt_prog_compiler_static_F77='-static'
+       lt_prog_compiler_static_F77='-Bstatic'
         ;;
       ccc*)
         lt_prog_compiler_wl_F77='-Wl,'
@@ -14081,14 +14111,14 @@ else
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    # The option is referenced via a variable to avoid confusing sed.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14087: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14117: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:14091: \$? = $ac_status" >&5
+   echo "$as_me:14121: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -14115,7 +14145,7 @@ else
 fi
 
 fi
-case "$host_os" in
+case $host_os in
   # For platforms which do not support PIC, -DPIC is meaningless:
   *djgpp*)
     lt_prog_compiler_pic_F77=
@@ -14143,14 +14173,14 @@ else
    # Note that $ac_compile itself does not contain backslashes and begins
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14149: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14179: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:14153: \$? = $ac_status" >&5
+   echo "$as_me:14183: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -14161,7 +14191,7 @@ else
        lt_cv_prog_compiler_c_o_F77=yes
      fi
    fi
-   chmod u+w .
+   chmod u+w . 2>&5
    $rm conftest*
    # SGI C++ compiler will create directory out/ii_files/ for
    # template instantiation
@@ -14361,11 +14391,11 @@ EOF
        tmp_addflag=
        case $cc_basename,$host_cpu in
        pgcc*)                          # Portland Group C compiler
-         whole_archive_flag_spec_F77='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+         whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
          tmp_addflag=' $pic_flag'
          ;;
-       pgf77* | pgf90* )                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec_F77='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+       pgf77* | pgf90* | pgf95*)       # Portland Group f77 and f90 compilers
+         whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
          tmp_addflag=' $pic_flag -Mnomain' ;;
        ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
          tmp_addflag=' -i_dynamic' ;;
@@ -14653,7 +14683,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
          # Exported symbols can be pulled into shared objects from archives
          whole_archive_flag_spec_F77=' '
          archive_cmds_need_lc_F77=yes
-         # This is similar to how AIX traditionally builds it's shared libraries.
+         # This is similar to how AIX traditionally builds its shared libraries.
          archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
        fi
       fi
@@ -14693,7 +14723,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       ;;
 
     darwin* | rhapsody*)
-      case "$host_os" in
+      case $host_os in
         rhapsody* | darwin1.[012])
          allow_undefined_flag_F77='${wl}-undefined ${wl}suppress'
          ;;
@@ -14722,7 +14752,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        output_verbose_link_cmd='echo'
         archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
       module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
       archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
       module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     else
@@ -14731,7 +14761,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
          output_verbose_link_cmd='echo'
          archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
          module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
          archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
@@ -14797,7 +14827,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
     hpux10* | hpux11*)
       if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-       case "$host_cpu" in
+       case $host_cpu in
        hppa*64*|ia64*)
          archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
          ;;
@@ -14806,7 +14836,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
          ;;
        esac
       else
-       case "$host_cpu" in
+       case $host_cpu in
        hppa*64*|ia64*)
          archive_cmds_F77='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
          ;;
@@ -14816,7 +14846,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        esac
       fi
       if test "$with_gnu_ld" = no; then
-       case "$host_cpu" in
+       case $host_cpu in
        hppa*64*)
          hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
          hardcode_libdir_flag_spec_ld_F77='+b $libdir'
@@ -15275,7 +15305,8 @@ cygwin* | mingw* | pw32*)
       dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
     postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
       dlpath=$dir/\$dldll~
        $rm \$dlpath'
@@ -15328,7 +15359,7 @@ darwin* | rhapsody*)
   soname_spec='${libname}${release}${major}$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
   # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
   if test "$GCC" = yes; then
     sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
@@ -15366,7 +15397,14 @@ kfreebsd*-gnu)
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
-  objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
   version_type=freebsd-$objformat
   case $version_type in
     freebsd-elf*)
@@ -15411,7 +15449,7 @@ hpux9* | hpux10* | hpux11*)
   version_type=sunos
   need_lib_prefix=no
   need_version=no
-  case "$host_cpu" in
+  case $host_cpu in
   ia64*)
     shrext_cmds='.so'
     hardcode_into_libs=yes
@@ -15512,7 +15550,7 @@ linux*)
   libsuff=
   case "$host_cpu" in
   x86_64*|s390x*|powerpc64*)
-    echo '#line 15515 "configure"' > conftest.$ac_ext
+    echo '#line 15553 "configure"' > conftest.$ac_ext
     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -16286,14 +16324,14 @@ else
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    # The option is referenced via a variable to avoid confusing sed.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16292: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16330: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:16296: \$? = $ac_status" >&5
+   echo "$as_me:16334: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -16376,7 +16414,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
     hpux*)
       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
       # not for PA HP-UX.
-      case "$host_cpu" in
+      case $host_cpu in
       hppa*64*|ia64*)
        # +Z the default
        ;;
@@ -16423,7 +16461,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       lt_prog_compiler_wl_GCJ='-Wl,'
       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
       # not for PA HP-UX.
-      case "$host_cpu" in
+      case $host_cpu in
       hppa*64*|ia64*)
        # +Z the default
        ;;
@@ -16453,12 +16491,12 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        lt_prog_compiler_pic_GCJ='-KPIC'
        lt_prog_compiler_static_GCJ='-static'
         ;;
-      pgcc* | pgf77* | pgf90*)
+      pgcc* | pgf77* | pgf90* | pgf95*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
        # which looks to be a dead project)
        lt_prog_compiler_wl_GCJ='-Wl,'
        lt_prog_compiler_pic_GCJ='-fpic'
-       lt_prog_compiler_static_GCJ='-static'
+       lt_prog_compiler_static_GCJ='-Bstatic'
         ;;
       ccc*)
         lt_prog_compiler_wl_GCJ='-Wl,'
@@ -16548,14 +16586,14 @@ else
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    # The option is referenced via a variable to avoid confusing sed.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16554: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16592: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:16558: \$? = $ac_status" >&5
+   echo "$as_me:16596: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -16582,7 +16620,7 @@ else
 fi
 
 fi
-case "$host_os" in
+case $host_os in
   # For platforms which do not support PIC, -DPIC is meaningless:
   *djgpp*)
     lt_prog_compiler_pic_GCJ=
@@ -16610,14 +16648,14 @@ else
    # Note that $ac_compile itself does not contain backslashes and begins
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16616: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16654: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:16620: \$? = $ac_status" >&5
+   echo "$as_me:16658: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -16628,7 +16666,7 @@ else
        lt_cv_prog_compiler_c_o_GCJ=yes
      fi
    fi
-   chmod u+w .
+   chmod u+w . 2>&5
    $rm conftest*
    # SGI C++ compiler will create directory out/ii_files/ for
    # template instantiation
@@ -16828,11 +16866,11 @@ EOF
        tmp_addflag=
        case $cc_basename,$host_cpu in
        pgcc*)                          # Portland Group C compiler
-         whole_archive_flag_spec_GCJ='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+         whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
          tmp_addflag=' $pic_flag'
          ;;
-       pgf77* | pgf90* )                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec_GCJ='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+       pgf77* | pgf90* | pgf95*)       # Portland Group f77 and f90 compilers
+         whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
          tmp_addflag=' $pic_flag -Mnomain' ;;
        ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
          tmp_addflag=' -i_dynamic' ;;
@@ -17140,7 +17178,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
          # Exported symbols can be pulled into shared objects from archives
          whole_archive_flag_spec_GCJ=' '
          archive_cmds_need_lc_GCJ=yes
-         # This is similar to how AIX traditionally builds it's shared libraries.
+         # This is similar to how AIX traditionally builds its shared libraries.
          archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
        fi
       fi
@@ -17180,7 +17218,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       ;;
 
     darwin* | rhapsody*)
-      case "$host_os" in
+      case $host_os in
         rhapsody* | darwin1.[012])
          allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress'
          ;;
@@ -17209,7 +17247,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        output_verbose_link_cmd='echo'
         archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
       module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
       archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
       module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     else
@@ -17218,7 +17256,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
          output_verbose_link_cmd='echo'
          archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
          module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
          archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
@@ -17284,7 +17322,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
     hpux10* | hpux11*)
       if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-       case "$host_cpu" in
+       case $host_cpu in
        hppa*64*|ia64*)
          archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
          ;;
@@ -17293,7 +17331,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
          ;;
        esac
       else
-       case "$host_cpu" in
+       case $host_cpu in
        hppa*64*|ia64*)
          archive_cmds_GCJ='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
          ;;
@@ -17303,7 +17341,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        esac
       fi
       if test "$with_gnu_ld" = no; then
-       case "$host_cpu" in
+       case $host_cpu in
        hppa*64*)
          hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
          hardcode_libdir_flag_spec_ld_GCJ='+b $libdir'
@@ -17762,7 +17800,8 @@ cygwin* | mingw* | pw32*)
       dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
     postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
       dlpath=$dir/\$dldll~
        $rm \$dlpath'
@@ -17815,7 +17854,7 @@ darwin* | rhapsody*)
   soname_spec='${libname}${release}${major}$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
   # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
   if test "$GCC" = yes; then
     sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
@@ -17853,7 +17892,14 @@ kfreebsd*-gnu)
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
-  objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
   version_type=freebsd-$objformat
   case $version_type in
     freebsd-elf*)
@@ -17898,7 +17944,7 @@ hpux9* | hpux10* | hpux11*)
   version_type=sunos
   need_lib_prefix=no
   need_version=no
-  case "$host_cpu" in
+  case $host_cpu in
   ia64*)
     shrext_cmds='.so'
     hardcode_into_libs=yes
@@ -17999,7 +18045,7 @@ linux*)
   libsuff=
   case "$host_cpu" in
   x86_64*|s390x*|powerpc64*)
-    echo '#line 18002 "configure"' > conftest.$ac_ext
+    echo '#line 18048 "configure"' > conftest.$ac_ext
     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -18874,7 +18920,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 18877 "configure"
+#line 18923 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -18940,7 +18986,7 @@ EOF
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) 2>/dev/null
+    (./conftest; exit; ) >&5 2>/dev/null
     lt_status=$?
     case x$lt_status in
       x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
@@ -18972,7 +19018,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 18975 "configure"
+#line 19021 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -19038,7 +19084,7 @@ EOF
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) 2>/dev/null
+    (./conftest; exit; ) >&5 2>/dev/null
     lt_status=$?
     case x$lt_status in
       x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
@@ -23207,29 +23253,54 @@ else
 
 fi;
 
+# Check whether --enable-man or --disable-man was given.
+if test "${enable_man+set}" = set; then
+  enableval="$enable_man"
+  enable_man=yes
+else
+  enable_man=no
+
+fi;
 
-# Check whether --with-libcrack or --without-libcrack was given.
-if test "${with_libcrack+set}" = set; then
-  withval="$with_libcrack"
 
+# Check whether --with-audit or --without-audit was given.
+if test "${with_audit+set}" = set; then
+  withval="$with_audit"
+  with_audit=$withval
+else
+  with_audit=yes
 fi;
 
 # Check whether --with-libpam or --without-libpam was given.
 if test "${with_libpam+set}" = set; then
   withval="$with_libpam"
-
+  with_libpam=$withval
+else
+  with_libpam=yes
 fi;
 
 # Check whether --with-selinux or --without-selinux was given.
 if test "${with_selinux+set}" = set; then
   withval="$with_selinux"
-
+  with_selinux=$withval
+else
+  with_selinux=yes
 fi;
 
 # Check whether --with-skey or --without-skey was given.
 if test "${with_skey+set}" = set; then
   withval="$with_skey"
+  with_skey=$withval
+else
+  with_skey=no
+fi;
 
+# Check whether --with-libcrack or --without-libcrack was given.
+if test "${with_libcrack+set}" = set; then
+  withval="$with_libcrack"
+  with_libcrack=$withval
+else
+  with_libcrack=no
 fi;
 
 
@@ -23620,6 +23691,171 @@ _ACEOF
 
 fi
 
+if test "$enable_man" = "yes"; then
+                               # Extract the first word of "xsltproc", so it can be a program name with args.
+set dummy xsltproc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_XSLTPROC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $XSLTPROC in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_XSLTPROC="$XSLTPROC" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_XSLTPROC="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  ;;
+esac
+fi
+XSLTPROC=$ac_cv_path_XSLTPROC
+
+if test -n "$XSLTPROC"; then
+  echo "$as_me:$LINENO: result: $XSLTPROC" >&5
+echo "${ECHO_T}$XSLTPROC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+       if test -z "$XSLTPROC"; then
+               enable_man=no
+       fi
+
+
+  # check for the presence of the XML catalog
+
+# Check whether --with-xml-catalog or --without-xml-catalog was given.
+if test "${with_xml_catalog+set}" = set; then
+  withval="$with_xml_catalog"
+
+else
+  with_xml_catalog=/etc/xml/catalog
+fi;
+  jh_found_xmlcatalog=true
+  XML_CATALOG_FILE="$with_xml_catalog"
+
+  echo "$as_me:$LINENO: checking for XML catalog ($XML_CATALOG_FILE)" >&5
+echo $ECHO_N "checking for XML catalog ($XML_CATALOG_FILE)... $ECHO_C" >&6
+  if test -f "$XML_CATALOG_FILE"; then
+    echo "$as_me:$LINENO: result: found" >&5
+echo "${ECHO_T}found" >&6
+  else
+    jh_found_xmlcatalog=false
+    echo "$as_me:$LINENO: result: not found" >&5
+echo "${ECHO_T}not found" >&6
+  fi
+
+  # check for the xmlcatalog program
+  # Extract the first word of "xmlcatalog", so it can be a program name with args.
+set dummy xmlcatalog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_XMLCATALOG+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $XMLCATALOG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_XMLCATALOG="$XMLCATALOG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_XMLCATALOG="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_path_XMLCATALOG" && ac_cv_path_XMLCATALOG="no"
+  ;;
+esac
+fi
+XMLCATALOG=$ac_cv_path_XMLCATALOG
+
+if test -n "$XMLCATALOG"; then
+  echo "$as_me:$LINENO: result: $XMLCATALOG" >&5
+echo "${ECHO_T}$XMLCATALOG" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  if test "x$XMLCATALOG" = xno; then
+    jh_found_xmlcatalog=false
+  fi
+
+  if $jh_found_xmlcatalog; then
+    :
+  else
+    :
+  fi
+
+
+    echo "$as_me:$LINENO: checking for DocBook XML DTD V4.1.2 in XML catalog" >&5
+echo $ECHO_N "checking for DocBook XML DTD V4.1.2 in XML catalog... $ECHO_C" >&6
+  if $jh_found_xmlcatalog && \
+     { (echo "$as_me:$LINENO: \$XMLCATALOG --noout \"\$XML_CATALOG_FILE\" \"-//OASIS//DTD DocBook XML V4.1.2//EN\" >&2") >&5
+  ($XMLCATALOG --noout "$XML_CATALOG_FILE" "-//OASIS//DTD DocBook XML V4.1.2//EN" >&2) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+    echo "$as_me:$LINENO: result: found" >&5
+echo "${ECHO_T}found" >&6
+      else
+    echo "$as_me:$LINENO: result: not found" >&5
+echo "${ECHO_T}not found" >&6
+    enable_man=no
+  fi
+
+
+    echo "$as_me:$LINENO: checking for DocBook XSL Stylesheets in XML catalog" >&5
+echo $ECHO_N "checking for DocBook XSL Stylesheets in XML catalog... $ECHO_C" >&6
+  if $jh_found_xmlcatalog && \
+     { (echo "$as_me:$LINENO: \$XMLCATALOG --noout \"\$XML_CATALOG_FILE\" \"http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\" >&2") >&5
+  ($XMLCATALOG --noout "$XML_CATALOG_FILE" "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" >&2) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+    echo "$as_me:$LINENO: result: found" >&5
+echo "${ECHO_T}found" >&6
+      else
+    echo "$as_me:$LINENO: result: not found" >&5
+echo "${ECHO_T}not found" >&6
+    enable_man=no
+  fi
+
+fi
+
+
+if test x$enable_man != xno; then
+  ENABLE_REGENERATE_MAN_TRUE=
+  ENABLE_REGENERATE_MAN_FALSE='#'
+else
+  ENABLE_REGENERATE_MAN_TRUE='#'
+  ENABLE_REGENERATE_MAN_FALSE=
+fi
+
+
 
 echo "$as_me:$LINENO: checking for crypt in -lcrypt" >&5
 echo $ECHO_N "checking for crypt in -lcrypt... $ECHO_C" >&6
 
 
 
+if test "$with_audit" = "yes"; then
+       if test "${ac_cv_header_libaudit_h+set}" = set; then
+  echo "$as_me:$LINENO: checking for libaudit.h" >&5
+echo $ECHO_N "checking for libaudit.h... $ECHO_C" >&6
+if test "${ac_cv_header_libaudit_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_libaudit_h" >&5
+echo "${ECHO_T}$ac_cv_header_libaudit_h" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking libaudit.h usability" >&5
+echo $ECHO_N "checking libaudit.h usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <libaudit.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_header_compiler=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking libaudit.h presence" >&5
+echo $ECHO_N "checking libaudit.h presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <libaudit.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: libaudit.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: libaudit.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: libaudit.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: libaudit.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: libaudit.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: libaudit.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: libaudit.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: libaudit.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: libaudit.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: libaudit.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: libaudit.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: libaudit.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: libaudit.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: libaudit.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: libaudit.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: libaudit.h: in the future, the compiler will take precedence" >&2;}
+    (
+      cat <<\_ASBOX
+## ------------------------------------------ ##
+## Report this to the AC_PACKAGE_NAME lists.  ##
+## ------------------------------------------ ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+echo "$as_me:$LINENO: checking for libaudit.h" >&5
+echo $ECHO_N "checking for libaudit.h... $ECHO_C" >&6
+if test "${ac_cv_header_libaudit_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_libaudit_h=$ac_header_preproc
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_libaudit_h" >&5
+echo "${ECHO_T}$ac_cv_header_libaudit_h" >&6
+
+fi
+if test $ac_cv_header_libaudit_h = yes; then
+  audit_header="yes"
+else
+  audit_header="no"
+fi
+
+
+       if test "$audit_header" = "yes"; then
+               echo "$as_me:$LINENO: checking for audit_send_message_if_enabled in -laudit" >&5
+echo $ECHO_N "checking for audit_send_message_if_enabled in -laudit... $ECHO_C" >&6
+if test "${ac_cv_lib_audit_audit_send_message_if_enabled+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-laudit  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char audit_send_message_if_enabled ();
+int
+main ()
+{
+audit_send_message_if_enabled ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_audit_audit_send_message_if_enabled=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_audit_audit_send_message_if_enabled=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_audit_audit_send_message_if_enabled" >&5
+echo "${ECHO_T}$ac_cv_lib_audit_audit_send_message_if_enabled" >&6
+if test $ac_cv_lib_audit_audit_send_message_if_enabled = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define WITH_AUDIT 1
+_ACEOF
+
+                       LIBAUDIT="-laudit"
+fi
+
+       fi
+fi
+
+
 if test "$with_libcrack" = "yes"; then
        echo "checking cracklib flavour, don't be surprised by the results"
        echo "$as_me:$LINENO: checking for FascistCheck in -lcrack" >&5
@@ -23983,7 +24442,9 @@ echo "${ECHO_T}$ac_cv_lib_selinux_is_selinux_enabled" >&6
 if test $ac_cv_lib_selinux_is_selinux_enabled = yes; then
   LIBSELINUX="-lselinux"
 else
-  SELinux enabled but libselinux not found
+  { { echo "$as_me:$LINENO: error: libselinux not found" >&5
+echo "$as_me: error: libselinux not found" >&2;}
+   { (exit 1); exit 1; }; }
 fi
 
 
@@ -24312,7 +24773,7 @@ fi
 
 
 
-if test "$with_libskey" = "yes"; then
+if test "$with_skey" = "yes"; then
        echo "$as_me:$LINENO: checking for MD5Init in -lmd" >&5
 echo $ECHO_N "checking for MD5Init in -lmd... $ECHO_C" >&6
 if test "${ac_cv_lib_md_MD5Init+set}" = set; then
@@ -25521,7 +25982,7 @@ int
 main ()
 {
 bindtextdomain ("", "");
-return (int) gettext ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_domain_bindings
+return * gettext ("") + * ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_domain_bindings
   ;
   return 0;
 }
@@ -26131,7 +26592,7 @@ int
 main ()
 {
 bindtextdomain ("", "");
-return (int) gettext ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_expand_alias ("")
+return * gettext ("") + * ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_expand_alias ("")
   ;
   return 0;
 }
@@ -26186,7 +26647,7 @@ int
 main ()
 {
 bindtextdomain ("", "");
-return (int) gettext ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_expand_alias ("")
+return * gettext ("") + * ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_expand_alias ("")
   ;
   return 0;
 }
@@ -26464,6 +26925,13 @@ echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${ENABLE_REGENERATE_MAN_TRUE}" && test -z "${ENABLE_REGENERATE_MAN_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"ENABLE_REGENERATE_MAN\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"ENABLE_REGENERATE_MAN\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 
 : ${CONFIG_STATUS=./config.status}
 ac_clean_files_save=$ac_clean_files
@@ -27100,7 +27568,13 @@ s,@FFLAGS@,$FFLAGS,;t t
 s,@ac_ct_F77@,$ac_ct_F77,;t t
 s,@LIBTOOL@,$LIBTOOL,;t t
 s,@LIBOBJS@,$LIBOBJS,;t t
+s,@XSLTPROC@,$XSLTPROC,;t t
+s,@XML_CATALOG_FILE@,$XML_CATALOG_FILE,;t t
+s,@XMLCATALOG@,$XMLCATALOG,;t t
+s,@ENABLE_REGENERATE_MAN_TRUE@,$ENABLE_REGENERATE_MAN_TRUE,;t t
+s,@ENABLE_REGENERATE_MAN_FALSE@,$ENABLE_REGENERATE_MAN_FALSE,;t t
 s,@LIBCRYPT@,$LIBCRYPT,;t t
+s,@LIBAUDIT@,$LIBAUDIT,;t t
 s,@LIBCRACK@,$LIBCRACK,;t t
 s,@LIBSELINUX@,$LIBSELINUX,;t t
 s,@LIBPAM@,$LIBPAM,;t t
@@ -27947,3 +28421,14 @@ if test "$no_create" != yes; then
   $ac_cs_success || { (exit 1); exit 1; }
 fi
 
+
+echo
+echo "shadow will be compiled with the followig feactures:"
+echo
+echo " auditing support:               $with_audit"
+echo " CrackLib support:               $with_libcrack"
+echo " PAM support:                    $with_libpam"
+echo " SELinux support:                $with_selinux"
+echo " shadow group support:           $enable_shadowgrp"
+echo " S/Key support:                  $with_skey"
+echo
index 3ec82291d63e886b3c7d847f4274de34d0435a8b..1aace9abec5f8ae2bf8f4e897446469152e9fcb6 100644 (file)
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_INIT
-AM_INIT_AUTOMAKE(shadow, 4.0.12)
+AM_INIT_AUTOMAKE(shadow, 4.0.13)
 AC_CONFIG_HEADERS([config.h])
 
 dnl Some hacks...
@@ -202,7 +202,7 @@ AC_DEFINE(getpass, libshadow_getpass,
        [Define to libshadow_getpass to use our own version of getpass().])
 
 AC_ARG_ENABLE(shadowgrp,
-       [  --enable-shadowgrp      enable shadow group support [default=yes]],
+       [AC_HELP_STRING([--enable-shadowgrp], [enable shadow group support @<:@default=yes@:>@])],
        [case "${enableval}" in
         yes) enable_shadowgrp="yes" ;;
          no) enable_shadowgrp="no" ;;
@@ -211,10 +211,28 @@ AC_ARG_ENABLE(shadowgrp,
        [enable_shadowgrp="yes"]
 )
 
-AC_ARG_WITH(libcrack, [  --with-libcrack         try to use libcrack (default if found)])
-AC_ARG_WITH(libpam,   [  --with-libpam           use libpam for PAM support])
-AC_ARG_WITH(selinux,  [  --with-selinux          use SELinux support])
-AC_ARG_WITH(skey,     [  --with-skey             use S/Key support])
+AC_ARG_ENABLE(man,
+       [AC_HELP_STRING([--enable-man],
+               [regenerate roff man pages from Docbook @<:@default=no@:>@])],
+       [enable_man=yes],
+        [enable_man=no]
+)
+
+AC_ARG_WITH(audit, 
+       [AC_HELP_STRING([--with-audit], [use auditing support @<:@default=yes if found@:>@])],
+       [with_audit=$withval], [with_audit=yes])
+AC_ARG_WITH(libpam,
+       [AC_HELP_STRING([--with-libpam], [use libpam for PAM support @<:@default=yes if found@:>@])],
+       [with_libpam=$withval], [with_libpam=yes])
+AC_ARG_WITH(selinux,
+       [AC_HELP_STRING([--with-selinux], [use SELinux support @<:@default=autodetect@:>@])],
+       [with_selinux=$withval], [with_selinux=yes])
+AC_ARG_WITH(skey,
+       [AC_HELP_STRING([--with-skey], [use S/Key support @<:@default=no@:>@])],
+       [with_skey=$withval], [with_skey=no])
+AC_ARG_WITH(libcrack,
+       [AC_HELP_STRING([--with-libcrack], [use libcrack @<:@default=yes if found and if PAM not enabled@:>@])],
+       [with_libcrack=$withval], [with_libcrack=no])
 
 dnl Check for some functions in libc first, only if not found check for
 dnl other libraries.  This should prevent linking libnsl if not really
@@ -228,10 +246,37 @@ if test "$enable_shadowgrp" = "yes"; then
        AC_DEFINE(SHADOWGRP, 1, [Define to support the shadow group file.])
 fi
 
+if test "$enable_man" = "yes"; then
+       dnl
+       dnl Check for xsltproc
+       dnl
+       AC_PATH_PROG([XSLTPROC], [xsltproc])
+       if test -z "$XSLTPROC"; then
+               enable_man=no
+       fi
+
+       dnl check for DocBook DTD and stylesheets in the local catalog.
+       JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
+               [DocBook XML DTD V4.1.2], [], enable_man=no)
+       JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
+               [DocBook XSL Stylesheets], [], enable_man=no)
+fi
+AM_CONDITIONAL(ENABLE_REGENERATE_MAN, test x$enable_man != xno)
+
 AC_SUBST(LIBCRYPT)
 AC_CHECK_LIB(crypt, crypt, [LIBCRYPT=-lcrypt],
        [AC_MSG_ERROR([crypt() not found])])
 
+AC_SUBST(LIBAUDIT)
+if test "$with_audit" = "yes"; then
+       AC_CHECK_HEADER(libaudit.h, [audit_header="yes"], [audit_header="no"])
+       if test "$audit_header" = "yes"; then
+               AC_CHECK_LIB(audit, audit_send_message_if_enabled,
+                       [AC_DEFINE(WITH_AUDIT, 1, [Define if you want to enable Audit messages])
+                       LIBAUDIT="-laudit"])
+       fi
+fi
+
 AC_SUBST(LIBCRACK)
 if test "$with_libcrack" = "yes"; then
        echo "checking cracklib flavour, don't be surprised by the results"
@@ -244,7 +289,9 @@ if test "$with_libcrack" = "yes"; then
 fi
 
 if test "$with_selinux" = "yes"; then
-       AC_CHECK_LIB(selinux, is_selinux_enabled, [LIBSELINUX="-lselinux"], [SELinux enabled but libselinux not found])
+       AC_CHECK_LIB(selinux, is_selinux_enabled,
+               [LIBSELINUX="-lselinux"],
+               [AC_MSG_ERROR([libselinux not found])])
        AC_SUBST(LIBSELINUX)
        AC_CHECK_HEADERS(selinux/selinux.h, [], [selinux/selinux.h is missing])
        AC_DEFINE(WITH_SELINUX, 1, [Build shadow with SELinux support])
@@ -272,7 +319,7 @@ fi
 
 AC_SUBST(LIBSKEY)
 AC_SUBST(LIBMD)
-if test "$with_libskey" = "yes"; then
+if test "$with_skey" = "yes"; then
        AC_CHECK_LIB(md, MD5Init, [LIBMD=-lmd])
        AC_CHECK_LIB(skey, skeychallenge, [LIBSKEY=-lskey],
                [AC_MSG_ERROR([liskey missing. You can download S/Key source code from http://rsync1.it.gentoo.org/gentoo/distfiles/skey-1.1.5.tar.bz2])])
@@ -310,3 +357,14 @@ AC_CONFIG_FILES([
        shadow.spec
 ])
 AC_OUTPUT
+
+echo
+echo "shadow will be compiled with the followig feactures:"
+echo
+echo " auditing support:               $with_audit"
+echo " CrackLib support:               $with_libcrack"
+echo " PAM support:                    $with_libpam"
+echo " SELinux support:                $with_selinux"
+echo " shadow group support:           $enable_shadowgrp"
+echo " S/Key support:                  $with_skey"
+echo
index 8394d645aa72464bc321457b74cbe116db1fa962..7a94556745413f1d0b4b8565650d4d6d68e76482 100644 (file)
@@ -41,7 +41,8 @@ host_triplet = @host@
 subdir = contrib
 DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -76,6 +77,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -87,6 +90,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -126,6 +130,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -186,9 +193,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  contrib/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  contrib/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  contrib/Makefile
+         $(AUTOMAKE) --foreign  contrib/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 48b9f332d5f1fe69fe26165dbdb0116695937a51..4c944a7b8cf5bc258596f1ea49e1ea3ca110aff1 100644 (file)
@@ -41,7 +41,8 @@ host_triplet = @host@
 subdir = doc
 DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -76,6 +77,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -87,6 +90,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -126,6 +130,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -186,9 +193,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  doc/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  doc/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  doc/Makefile
+         $(AUTOMAKE) --foreign  doc/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 2191f65f1e4728f3420acd2f26b1b62bb8d424ab..c63ce3f493b2702be25d37b83daf759156befe1f 100644 (file)
@@ -5,8 +5,6 @@ EXTRA_DIST = \
        limits \
        login.access \
        login.defs \
-       login.defs.hurd \
-       login.defs.linux \
        useradd
 
 SUBDIRS = pam.d
index bcc74803e62874a9470250b48cad17ef68521231..02c6ced2764b0d8ac2378798b580fefd038e9e4a 100644 (file)
@@ -41,7 +41,8 @@ host_triplet = @host@
 subdir = etc
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -85,6 +86,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -96,6 +99,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -135,6 +139,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -183,8 +190,6 @@ EXTRA_DIST = \
        limits \
        login.access \
        login.defs \
-       login.defs.hurd \
-       login.defs.linux \
        useradd
 
 SUBDIRS = pam.d
@@ -200,9 +205,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  etc/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  etc/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  etc/Makefile
+         $(AUTOMAKE) --foreign  etc/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index cc002abfe4b5648a5b19e2cb66386015b7014d9e..8cff417dfbfb12cd6d0b4ec4833e8e7eec2af097 100644 (file)
@@ -1,20 +1,13 @@
 #
-# /etc/login.defs - Configuration control definitions for the login package.
+# /etc/login.defs - Configuration control definitions for the shadow package.
 #
-#      $Id: login.defs,v 1.6 2005/03/07 10:09:06 kloczek Exp $
-#
-# Three items must be defined:  MAIL_DIR, ENV_SUPATH, and ENV_PATH.
-# If unspecified, some arbitrary (and possibly incorrect) value will
-# be assumed.  All other items are optional - if not specified then
-# the described action or option will be inhibited.
-#
-# Comment lines (lines beginning with "#") and blank lines are ignored.
+#      $Id: login.defs,v 1.8 2005/09/01 19:57:45 kloczek Exp $
 #
 
 #
 # Delay in seconds before being allowed another attempt after a login failure
 #
-FAIL_DELAY             5
+FAIL_DELAY             3
 
 #
 # Enable logging and display of /var/log/faillog login failure info.
@@ -24,7 +17,12 @@ FAILLOG_ENAB         yes
 #
 # Enable display of unknown usernames when login failures are recorded.
 #
-LOG_UNKFAIL_ENAB       yes
+LOG_UNKFAIL_ENAB       no
+
+#
+# Enable logging of successful logins
+#
+LOG_OK_LOGINS          no
 
 #
 # Enable logging and display of /var/log/lastlog login time info.
@@ -34,6 +32,9 @@ LASTLOG_ENAB          yes
 #
 # Enable checking and display of mailbox status upon login.
 #
+# Disable if the shell startup files already check for mail
+# ("mailx -e" or equivalent).
+#
 MAIL_CHECK_ENAB                yes
 
 #
@@ -55,21 +56,21 @@ QUOTAS_ENAB         yes
 # Enable "syslog" logging of su activity - in addition to sulog file logging.
 # SYSLOG_SG_ENAB does the same for newgrp and sg.
 #
-SYSLOG_SU_ENAB         no
-SYSLOG_SG_ENAB         no
+SYSLOG_SU_ENAB         yes
+SYSLOG_SG_ENAB         yes
 
 #
 # If defined, either full pathname of a file containing device names or
 # a ":" delimited list of device names.  Root logins will be allowed only
 # upon these devices.
 #
-CONSOLE                /etc/consoles
+CONSOLE                /etc/securetty
 #CONSOLE       console:tty01:tty02:tty03:tty04
 
 #
 # If defined, all su activity is logged to this file.
 #
-SULOG_FILE     /var/log/sulog
+#SULOG_FILE    /var/log/sulog
 
 #
 # If defined, ":" delimited list of "message of the day" files to
@@ -87,19 +88,20 @@ MOTD_FILE   /etc/motd
 # If defined, file which maps tty line to TERM environment parameter.
 # Each line of the file is in a format something like "vt100  tty01".
 #
-TTYTYPE_FILE   /etc/ttytype
+#TTYTYPE_FILE  /etc/ttytype
 
 #
 # If defined, login failures will be logged here in a utmp format.
+# last, when invoked as lastb, will read /var/log/btmp, so...
 #
-FTMP_FILE      /etc/ftmp
+FTMP_FILE      /var/log/btmp
 
 #
 # If defined, name of file whose presence which will inhibit non-root
 # logins.  The contents of this file should be a message indicating
 # why logins are inhibited.
 #
-NOLOGINS_FILE  /etc/nologins
+NOLOGINS_FILE  /etc/nologin
 
 #
 # If defined, the command name to display when running "su -".  For
@@ -113,10 +115,8 @@ SU_NAME            su
 # *REQUIRED*
 #   Directory where mailboxes reside, _or_ name of file, relative to the
 #   home directory.  If you _do_ define both, MAIL_DIR takes precedence.
-#   MAILDIR is for Qmail
 #
-#MAILDIR       Maildir
-MAIL_DIR       /var/mail
+MAIL_DIR       /var/spool/mail
 #MAIL_FILE     .mail
 
 #
@@ -125,24 +125,28 @@ MAIL_DIR  /var/mail
 # user's name or shell are found in the file.  If not a full pathname, then
 # hushed mode will be enabled if the file exists in the user's home directory.
 #
-#HUSHLOGIN_FILE        .hushlogin
-HUSHLOGIN_FILE /etc/hushlogins
+HUSHLOGIN_FILE .hushlogin
+#HUSHLOGIN_FILE        /etc/hushlogins
 
 #
 # If defined, either a TZ environment parameter spec or the
 # fully-rooted pathname of a file containing such a spec.
 #
-ENV_TZ         TZ=CST6CDT
+#ENV_TZ                TZ=CST6CDT
 #ENV_TZ                /etc/tzname
 
 #
 # If defined, an HZ environment parameter spec.
 #
-ENV_HZ         HZ=50
+# for Linux/x86
+ENV_HZ         HZ=100
+# For Linux/Alpha...
+#ENV_HZ                HZ=1024
 
 #
 # *REQUIRED*  The default PATH settings, for superuser and normal users.
 #
+# (they are minimal, add the rest in the shell startup files)
 ENV_SUPATH     PATH=/sbin:/bin:/usr/sbin:/usr/bin
 ENV_PATH       PATH=/bin:/usr/bin
 
@@ -157,9 +161,8 @@ ENV_PATH    PATH=/bin:/usr/bin
 # TTYPERM to 0620.  Otherwise leave TTYGROUP commented out and assign
 # TTYPERM to either 622 or 600.
 #
-#TTYGROUP      7
-#TTYPERM       0620
-TTYPERM                0622
+TTYGROUP       tty
+TTYPERM                0600
 
 #
 # Login configuration initializations:
@@ -171,13 +174,14 @@ TTYPERM           0622
 #
 # The ERASECHAR and KILLCHAR are used only on System V machines.
 # The ULIMIT is used only if the system supports it.
+# (now it works with setrlimit too; ulimit is in 512-byte units)
 #
 # Prefix these values with "0" to get octal, "0x" to get hexadecimal.
 #
-ERASECHAR      010
+ERASECHAR      0177
 KILLCHAR       025
 UMASK          022
-ULIMIT         2097152
+#ULIMIT                2097152
 
 #
 # Password aging controls:
@@ -193,15 +197,144 @@ PASS_MIN_LEN     5
 PASS_WARN_AGE  7
 
 #
-# Only allow group 0 members to "su" to root.
+# If "yes", the user must be listed as a member of the first gid 0 group
+# in /etc/group (called "root" on most Linux systems) to be able to "su"
+# to uid 0 accounts.  If the group doesn't exist or is empty, no one
+# will be able to "su" to uid 0.
 #
 SU_WHEEL_ONLY  no
 
 #
 # If compiled with cracklib support, where are the dictionaries
 #
-#CRACKLIB_DICTPATH     /usr/share/lib/pw_dict
+CRACKLIB_DICTPATH      /var/cache/cracklib/cracklib_dict
+
+#
+# Min/max values for automatic uid selection in useradd
+#
+UID_MIN                         1000
+UID_MAX                        60000
+
+#
+# Min/max values for automatic gid selection in groupadd
+#
+GID_MIN                          100
+GID_MAX                        60000
+
+#
+# Max number of login retries if password is bad
+#
+LOGIN_RETRIES          5
+
+#
+# Max time in seconds for login
+#
+LOGIN_TIMEOUT          60
+
+#
+# Maximum number of attempts to change password if rejected (too easy)
+#
+PASS_CHANGE_TRIES      5
+
+#
+# Warn about weak passwords (but still allow them) if you are root.
+#
+PASS_ALWAYS_WARN       yes
+
+#
+# Number of significant characters in the password for crypt().
+# Default is 8, don't change unless your crypt() is better.
+# Ignored if MD5_CRYPT_ENAB set to "yes".
+#
+#PASS_MAX_LEN          8
+
+#
+# Require password before chfn/chsh can make any changes.
+#
+CHFN_AUTH              yes
 
-# chkpasswd uses this one
-MD5_CRYPT_ENAB  yes
+#
+# Which fields may be changed by regular users using chfn - use
+# any combination of letters "frwh" (full name, room number, work
+# phone, home phone).  If not defined, no changes are allowed.
+# For backward compatibility, "yes" = "rwh" and "no" = "frwh".
+# 
+CHFN_RESTRICT          rwh
+
+#
+# Password prompt (%s will be replaced by user name).
+#
+# XXX - it doesn't work correctly yet, for now leave it commented out
+# to use the default which is just "Password: ".
+#LOGIN_STRING          "%s's Password: "
+
+#
+# Only works if compiled with MD5_CRYPT defined:
+# If set to "yes", new passwords will be encrypted using the MD5-based
+# algorithm compatible with the one used by recent releases of FreeBSD.
+# It supports passwords of unlimited length and longer salt strings.
+# Set to "no" if you need to copy encrypted passwords to other systems
+# which don't understand the new algorithm.  Default is "no".
+#
+#MD5_CRYPT_ENAB        no
+
+#
+# List of groups to add to the user's supplementary group set
+# when logging in on the console (as determined by the CONSOLE
+# setting).  Default is none.
+#
+# Use with caution - it is possible for users to gain permanent
+# access to these groups, even when not logged in on the console.
+# How to do it is left as an exercise for the reader...
+#
+#CONSOLE_GROUPS                floppy:audio:cdrom
+
+#
+# Should login be allowed if we can't cd to the home directory?
+# Default in no.
+#
+DEFAULT_HOME   yes
+
+#
+# If this file exists and is readable, login environment will be
+# read from it.  Every line should be in the form name=value.
+#
+ENVIRON_FILE   /etc/environment
+
+#
+# If defined, this command is run when removing a user.
+# It should remove any at/cron/print jobs etc. owned by
+# the user to be removed (passed as the first argument).
+#
+#USERDEL_CMD   /usr/sbin/userdel_local
+
+#
+# When prompting for password without echo, getpass() can optionally
+# display a random number (in the range 1 to GETPASS_ASTERISKS) of '*'
+# characters for each character typed.  This feature is designed to
+# confuse people looking over your shoulder when you enter a password :-).
+# Also, the new getpass() accepts both Backspace (8) and Delete (127)
+# keys to delete previous character (to cope with different terminal
+# types), Control-U to delete all characters, and beeps when there are
+# no more characters to delete, or too many characters entered.
+#
+# Setting GETPASS_ASTERISKS to 1 results in more traditional behaviour -
+# exactly one '*' displayed for each character typed.
+#
+# Setting GETPASS_ASTERISKS to 0 disables the '*' characters (Backspace,
+# Delete, Control-U and beep continue to work as described above).
+#
+# Setting GETPASS_ASTERISKS to -1 reverts to the traditional getpass()
+# without any new features.  This is the default.
+#
+#GETPASS_ASTERISKS 1
+
+#
+# Enable setting of the umask group bits to be the same as owner bits
+# (examples: 022 -> 002, 077 -> 007) for non-root users, if the uid is
+# the same as gid, and username is the same as the primary group name.
+#
+# This also enables userdel to remove user groups if no members exist.
+#
+USERGROUPS_ENAB yes
 
diff --git a/etc/login.defs.hurd b/etc/login.defs.hurd
deleted file mode 100644 (file)
index a8e6ba7..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-#
-# /etc/login.defs - Configuration control definitions for the login package.
-#
-#      $Id: login.defs.hurd,v 1.3 2005/08/09 18:09:41 kloczek Exp $
-#
-# One item must be defined:  MAIL_DIR.
-# If unspecified, some arbitrary (and possibly incorrect) value will
-# be assumed.  All other items are optional - if not specified then
-# the described action or option will be inhibited.
-#
-# Comment lines (lines beginning with "#") and blank lines are ignored.
-#
-# Modified for the Hurd.  --brinkmd
-
-#
-# Enable additional checks upon password changes.
-#
-OBSCURE_CHECKS_ENAB    yes
-
-#
-# *REQUIRED*
-#   Directory where mailboxes reside, _or_ name of file, relative to the
-#   home directory.  If you _do_ define both, MAIL_DIR takes precedence.
-#
-MAIL_DIR       /var/spool/mail
-#MAIL_FILE     .mail
-
-#
-# Password aging controls:
-#
-#      PASS_MAX_DAYS   Maximum number of days a password may be used.
-#      PASS_MIN_DAYS   Minimum number of days allowed between password changes.
-#      PASS_MIN_LEN    Minimum acceptable password length.
-#      PASS_WARN_AGE   Number of days warning given before a password expires.
-#
-PASS_MAX_DAYS  99999
-PASS_MIN_DAYS  0
-PASS_MIN_LEN   5
-PASS_WARN_AGE  7
-
-#
-# If compiled with cracklib support, where are the dictionaries
-#
-#CRACKLIB_DICTPATH     /usr/lib/passwd/pw_dict
-
-#
-# Min/max values for automatic uid selection in useradd
-#
-UID_MIN                 1000
-UID_MAX                60000
-
-#
-# Min/max values for automatic gid selection in groupadd
-#
-GID_MIN                  100
-GID_MAX                60000
-
-#
-# Maximum number of attempts to change password if rejected (too easy)
-#
-PASS_CHANGE_TRIES      5
-
-#
-# Warn about weak passwords (but still allow them) if you are root.
-#
-PASS_ALWAYS_WARN       yes
-
-#
-# Number of significant characters in the password for crypt().
-# Default is 8, don't change unless your crypt() is better.
-# Ignored if MD5_CRYPT_ENAB set to "yes".
-#
-#PASS_MAX_LEN          8
-
-#
-# Require password before chfn/chsh can make any changes.
-#
-CHFN_AUTH              yes
-
-#
-# Which fields may be changed by regular users using chfn - use
-# any combination of letters "frwh" (full name, room number, work
-# phone, home phone).  If not defined, no changes are allowed.
-# For backward compatibility, "yes" = "rwh" and "no" = "frwh".
-#
-CHFN_RESTRICT          rwh
-
-#
-# Password prompt (%s will be replaced by user name).
-#
-# XXX - it doesn't work correctly yet, for now leave it commented out
-# to use the default which is just "Password: ".
-#LOGIN_STRING          "%s's Password: "
-
-#
-# Only works if compiled with MD5_CRYPT defined:
-# If set to "yes", new passwords will be encrypted using the MD5-based
-# algorithm compatible with the one used by recent releases of FreeBSD.
-# It supports passwords of unlimited length and longer salt strings.
-# Set to "no" if you need to copy encrypted passwords to other systems
-# which don't understand the new algorithm.  Default is "no".
-#
-#MD5_CRYPT_ENAB                no
-
-#
-# If defined, this command is run when removing a user.
-# It should remove any at/cron/print jobs etc. owned by
-# the user to be removed (passed as the first argument).
-#
-#USERDEL_CMD   /usr/sbin/userdel_local
-
-#
-# When prompting for password without echo, getpass() can optionally
-# display a random number (in the range 1 to GETPASS_ASTERISKS) of '*'
-# characters for each character typed.  This feature is designed to
-# confuse people looking over your shoulder when you enter a password :-).
-# Also, the new getpass() accepts both Backspace (8) and Delete (127)
-# keys to delete previous character (to cope with different terminal
-# types), Control-U to delete all characters, and beeps when there are
-# no more characters to delete, or too many characters entered.
-#
-# Setting GETPASS_ASTERISKS to 1 results in more traditional behaviour -
-# exactly one '*' displayed for each character typed.
-#
-# Setting GETPASS_ASTERISKS to 0 disables the '*' characters (Backspace,
-# Delete, Control-U and beep continue to work as described above).
-#
-# Setting GETPASS_ASTERISKS to -1 reverts to the traditional getpass()
-# without any new features.  This is the default.
-#
-#GETPASS_ASTERISKS 1
-
-#
-# Enable setting of the umask group bits to be the same as owner bits
-# (examples: 022 -> 002, 077 -> 007) for non-root users, if the uid is
-# the same as gid, and username is the same as the primary group name.
-#
-# This also enables userdel to remove user groups if no members exist.
-#
-USERGROUPS_ENAB yes
-
diff --git a/etc/login.defs.linux b/etc/login.defs.linux
deleted file mode 100644 (file)
index 6a2fa0d..0000000
+++ /dev/null
@@ -1,348 +0,0 @@
-#
-# /etc/login.defs - Configuration control definitions for the login package.
-#
-#      $Id: login.defs.linux,v 1.16 2005/08/09 18:09:41 kloczek Exp $
-#
-# Three items must be defined:  MAIL_DIR, ENV_SUPATH, and ENV_PATH.
-# If unspecified, some arbitrary (and possibly incorrect) value will
-# be assumed.  All other items are optional - if not specified then
-# the described action or option will be inhibited.
-#
-# Comment lines (lines beginning with "#") and blank lines are ignored.
-#
-# Modified for Linux.  --marekm
-
-#
-# Delay in seconds before being allowed another attempt after a login failure
-#
-FAIL_DELAY             3
-
-#
-# Enable logging and display of /var/log/faillog login failure info.
-#
-FAILLOG_ENAB           yes
-
-#
-# Enable display of unknown usernames when login failures are recorded.
-#
-LOG_UNKFAIL_ENAB       no
-
-#
-# Enable logging of successful logins
-#
-LOG_OK_LOGINS          no
-
-#
-# Enable logging and display of /var/log/lastlog login time info.
-#
-LASTLOG_ENAB           yes
-
-#
-# Enable checking and display of mailbox status upon login.
-#
-# Disable if the shell startup files already check for mail
-# ("mailx -e" or equivalent).
-#
-MAIL_CHECK_ENAB                yes
-
-#
-# Enable additional checks upon password changes.
-#
-OBSCURE_CHECKS_ENAB    yes
-
-#
-# Enable checking of time restrictions specified in /etc/porttime.
-#
-PORTTIME_CHECKS_ENAB   yes
-
-#
-# Enable setting of ulimit, umask, and niceness from passwd gecos field.
-#
-QUOTAS_ENAB            yes
-
-#
-# Enable "syslog" logging of su activity - in addition to sulog file logging.
-# SYSLOG_SG_ENAB does the same for newgrp and sg.
-#
-SYSLOG_SU_ENAB         yes
-SYSLOG_SG_ENAB         yes
-
-#
-# If defined, either full pathname of a file containing device names or
-# a ":" delimited list of device names.  Root logins will be allowed only
-# upon these devices.
-#
-CONSOLE                /etc/securetty
-#CONSOLE       console:tty01:tty02:tty03:tty04
-
-#
-# If defined, all su activity is logged to this file.
-#
-#SULOG_FILE    /var/log/sulog
-
-#
-# If defined, ":" delimited list of "message of the day" files to
-# be displayed upon login.
-#
-MOTD_FILE      /etc/motd
-#MOTD_FILE     /etc/motd:/usr/lib/news/news-motd
-
-#
-# If defined, this file will be output before each login prompt.
-#
-#ISSUE_FILE    /etc/issue
-
-#
-# If defined, file which maps tty line to TERM environment parameter.
-# Each line of the file is in a format something like "vt100  tty01".
-#
-#TTYTYPE_FILE  /etc/ttytype
-
-#
-# If defined, login failures will be logged here in a utmp format.
-# last, when invoked as lastb, will read /var/log/btmp, so...
-#
-FTMP_FILE      /var/log/btmp
-
-#
-# If defined, name of file whose presence which will inhibit non-root
-# logins.  The contents of this file should be a message indicating
-# why logins are inhibited.
-#
-NOLOGINS_FILE  /etc/nologin
-
-#
-# If defined, the command name to display when running "su -".  For
-# example, if this is defined as "su" then a "ps" will display the
-# command is "-su".  If not defined, then "ps" would display the
-# name of the shell actually being run, e.g. something like "-sh".
-#
-SU_NAME                su
-
-#
-# *REQUIRED*
-#   Directory where mailboxes reside, _or_ name of file, relative to the
-#   home directory.  If you _do_ define both, MAIL_DIR takes precedence.
-#
-MAIL_DIR       /var/spool/mail
-#MAIL_FILE     .mail
-
-#
-# If defined, file which inhibits all the usual chatter during the login
-# sequence.  If a full pathname, then hushed mode will be enabled if the
-# user's name or shell are found in the file.  If not a full pathname, then
-# hushed mode will be enabled if the file exists in the user's home directory.
-#
-HUSHLOGIN_FILE .hushlogin
-#HUSHLOGIN_FILE        /etc/hushlogins
-
-#
-# If defined, either a TZ environment parameter spec or the
-# fully-rooted pathname of a file containing such a spec.
-#
-#ENV_TZ                TZ=CST6CDT
-#ENV_TZ                /etc/tzname
-
-#
-# If defined, an HZ environment parameter spec.
-#
-# for Linux/x86
-ENV_HZ         HZ=100
-# For Linux/Alpha...
-#ENV_HZ                HZ=1024
-
-#
-# *REQUIRED*  The default PATH settings, for superuser and normal users.
-#
-# (they are minimal, add the rest in the shell startup files)
-ENV_SUPATH     PATH=/sbin:/bin:/usr/sbin:/usr/bin
-ENV_PATH       PATH=/bin:/usr/bin
-
-#
-# Terminal permissions
-#
-#      TTYGROUP        Login tty will be assigned this group ownership.
-#      TTYPERM         Login tty will be set to this permission.
-#
-# If you have a "write" program which is "setgid" to a special group
-# which owns the terminals, define TTYGROUP to the group number and
-# TTYPERM to 0620.  Otherwise leave TTYGROUP commented out and assign
-# TTYPERM to either 622 or 600.
-#
-TTYGROUP       tty
-TTYPERM                0600
-
-#
-# Login configuration initializations:
-#
-#      ERASECHAR       Terminal ERASE character ('\010' = backspace).
-#      KILLCHAR        Terminal KILL character ('\025' = CTRL/U).
-#      UMASK           Default "umask" value.
-#      ULIMIT          Default "ulimit" value.
-#
-# The ERASECHAR and KILLCHAR are used only on System V machines.
-# The ULIMIT is used only if the system supports it.
-# (now it works with setrlimit too; ulimit is in 512-byte units)
-#
-# Prefix these values with "0" to get octal, "0x" to get hexadecimal.
-#
-ERASECHAR      0177
-KILLCHAR       025
-UMASK          022
-#ULIMIT                2097152
-
-#
-# Password aging controls:
-#
-#      PASS_MAX_DAYS   Maximum number of days a password may be used.
-#      PASS_MIN_DAYS   Minimum number of days allowed between password changes.
-#      PASS_MIN_LEN    Minimum acceptable password length.
-#      PASS_WARN_AGE   Number of days warning given before a password expires.
-#
-PASS_MAX_DAYS  99999
-PASS_MIN_DAYS  0
-PASS_MIN_LEN   5
-PASS_WARN_AGE  7
-
-#
-# If "yes", the user must be listed as a member of the first gid 0 group
-# in /etc/group (called "root" on most Linux systems) to be able to "su"
-# to uid 0 accounts.  If the group doesn't exist or is empty, no one
-# will be able to "su" to uid 0.
-#
-SU_WHEEL_ONLY  no
-
-#
-# If compiled with cracklib support, where are the dictionaries
-#
-CRACKLIB_DICTPATH      /var/cache/cracklib/cracklib_dict
-
-#
-# Min/max values for automatic uid selection in useradd
-#
-UID_MIN                         1000
-UID_MAX                        60000
-
-#
-# Min/max values for automatic gid selection in groupadd
-#
-GID_MIN                          100
-GID_MAX                        60000
-
-#
-# Max number of login retries if password is bad
-#
-LOGIN_RETRIES          5
-
-#
-# Max time in seconds for login
-#
-LOGIN_TIMEOUT          60
-
-#
-# Maximum number of attempts to change password if rejected (too easy)
-#
-PASS_CHANGE_TRIES      5
-
-#
-# Warn about weak passwords (but still allow them) if you are root.
-#
-PASS_ALWAYS_WARN       yes
-
-#
-# Number of significant characters in the password for crypt().
-# Default is 8, don't change unless your crypt() is better.
-# Ignored if MD5_CRYPT_ENAB set to "yes".
-#
-#PASS_MAX_LEN          8
-
-#
-# Require password before chfn/chsh can make any changes.
-#
-CHFN_AUTH              yes
-
-#
-# Which fields may be changed by regular users using chfn - use
-# any combination of letters "frwh" (full name, room number, work
-# phone, home phone).  If not defined, no changes are allowed.
-# For backward compatibility, "yes" = "rwh" and "no" = "frwh".
-# 
-CHFN_RESTRICT          rwh
-
-#
-# Password prompt (%s will be replaced by user name).
-#
-# XXX - it doesn't work correctly yet, for now leave it commented out
-# to use the default which is just "Password: ".
-#LOGIN_STRING          "%s's Password: "
-
-#
-# Only works if compiled with MD5_CRYPT defined:
-# If set to "yes", new passwords will be encrypted using the MD5-based
-# algorithm compatible with the one used by recent releases of FreeBSD.
-# It supports passwords of unlimited length and longer salt strings.
-# Set to "no" if you need to copy encrypted passwords to other systems
-# which don't understand the new algorithm.  Default is "no".
-#
-#MD5_CRYPT_ENAB        no
-
-#
-# List of groups to add to the user's supplementary group set
-# when logging in on the console (as determined by the CONSOLE
-# setting).  Default is none.
-#
-# Use with caution - it is possible for users to gain permanent
-# access to these groups, even when not logged in on the console.
-# How to do it is left as an exercise for the reader...
-#
-#CONSOLE_GROUPS                floppy:audio:cdrom
-
-#
-# Should login be allowed if we can't cd to the home directory?
-# Default in no.
-#
-DEFAULT_HOME   yes
-
-#
-# If this file exists and is readable, login environment will be
-# read from it.  Every line should be in the form name=value.
-#
-ENVIRON_FILE   /etc/environment
-
-#
-# If defined, this command is run when removing a user.
-# It should remove any at/cron/print jobs etc. owned by
-# the user to be removed (passed as the first argument).
-#
-#USERDEL_CMD   /usr/sbin/userdel_local
-
-#
-# When prompting for password without echo, getpass() can optionally
-# display a random number (in the range 1 to GETPASS_ASTERISKS) of '*'
-# characters for each character typed.  This feature is designed to
-# confuse people looking over your shoulder when you enter a password :-).
-# Also, the new getpass() accepts both Backspace (8) and Delete (127)
-# keys to delete previous character (to cope with different terminal
-# types), Control-U to delete all characters, and beeps when there are
-# no more characters to delete, or too many characters entered.
-#
-# Setting GETPASS_ASTERISKS to 1 results in more traditional behaviour -
-# exactly one '*' displayed for each character typed.
-#
-# Setting GETPASS_ASTERISKS to 0 disables the '*' characters (Backspace,
-# Delete, Control-U and beep continue to work as described above).
-#
-# Setting GETPASS_ASTERISKS to -1 reverts to the traditional getpass()
-# without any new features.  This is the default.
-#
-#GETPASS_ASTERISKS 1
-
-#
-# Enable setting of the umask group bits to be the same as owner bits
-# (examples: 022 -> 002, 077 -> 007) for non-root users, if the uid is
-# the same as gid, and username is the same as the primary group name.
-#
-# This also enables userdel to remove user groups if no members exist.
-#
-USERGROUPS_ENAB yes
-
index e3ae561697d13724a678fe07a68f22458990d59d..797abc36a5e1fe4bd71bd095bf34e9eef7ba698e 100644 (file)
@@ -41,7 +41,8 @@ host_triplet = @host@
 subdir = etc/pam.d
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -76,6 +77,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -87,6 +90,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -126,6 +130,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -196,9 +203,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  etc/pam.d/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  etc/pam.d/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  etc/pam.d/Makefile
+         $(AUTOMAKE) --foreign  etc/pam.d/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 46d5ed765efe49d9694d9f20e69a7bc2975f5263..a9259a3a3c9659516ae529c6de791a3e124ae454 100644 (file)
@@ -33,7 +33,6 @@ libshadow_la_SOURCES = \
        pwauth.h \
        pwio.c \
        pwio.h \
-       rcsid.h \
        sgetgrent.c \
        sgetpwent.c \
        sgroupio.c \
index 7b82a4a4c465b5fdd2d1bc6d07dc4bba2b925340..5838641c30e7e832795e69151e11e7ee97461e4b 100644 (file)
@@ -39,7 +39,8 @@ host_triplet = @host@
 subdir = lib
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -105,6 +106,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -116,6 +119,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -155,6 +159,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -228,7 +235,6 @@ libshadow_la_SOURCES = \
        pwauth.h \
        pwio.c \
        pwio.h \
-       rcsid.h \
        sgetgrent.c \
        sgetpwent.c \
        sgroupio.c \
index 5ecf7d7ce662c0cc799c4dca8d8e854ff2ba1b2c..a588bd8f5c28cf18c50ac8ed59ab88de5f2b9175 100644 (file)
@@ -1,8 +1,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: commonio.c,v 1.28 2005/03/31 05:14:49 kloczek Exp $")
+#ident "$Id: commonio.c,v 1.30 2005/09/24 12:22:50 kloczek Exp $"
+
 #include "defines.h"
 #include <sys/stat.h>
 #include <utime.h>
@@ -432,7 +432,7 @@ int commonio_open (struct commonio_db *db, int mode)
        }
 #ifdef WITH_SELINUX
        db->scontext = NULL;
-       if (is_selinux_enabled () && (!db->readonly)) {
+       if ((is_selinux_enabled () > 0) && (!db->readonly)) {
                if (fgetfilecon (fileno (db->fp), &db->scontext) < 0) {
                        goto cleanup_errno;
                }
index 68e74b3c2747c8aa4afedae9b29f50af4421104d..c4f118f62756d5ce5289f0237c4d0324f3c9bcdb 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: defines.h,v 1.27 2005/08/03 18:11:27 kloczek Exp $ */
+/* $Id: defines.h,v 1.29 2005/09/05 16:22:03 kloczek Exp $ */
 /* some useful defines */
 
 #ifndef _DEFINES_H_
@@ -331,4 +331,15 @@ extern char *strerror ();
 #define SHADOW_PASSWD_STRING "x"
 #endif
 
+#ifdef WITH_AUDIT
+#ifdef __u8                    /* in case we use pam < 0.80 */
+#undef __u8
+#endif
+#ifdef __u32
+#undef __u32
+#endif
+
+#include <libaudit.h>
+#endif
+
 #endif                         /* _DEFINES_H_ */
index 74a33bb12769700b4d6c23b282dc20a2e3b6d88e..fd54cf7cefa12545ae8b2869350fa76c767676f3 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: encrypt.c,v 1.13 2005/05/25 19:31:50 kloczek Exp $")
+#ident "$Id: encrypt.c,v 1.14 2005/08/31 17:24:56 kloczek Exp $"
+
 #include <unistd.h>
 #include "prototypes.h"
 #include "defines.h"
index 98db848eecb584eb0e68bff42625a240a59edf4f..232b74527f5d74cf22777353deb803757f12556e 100644 (file)
@@ -1,9 +1,13 @@
-/* $Id: exitcodes.h,v 1.3 2005/07/27 10:10:31 kloczek Exp $ */
+/* $Id: exitcodes.h,v 1.7 2005/08/31 17:36:11 kloczek Exp $ */
 
 /*
  * Exit codes used by shadow programs
  */
-#define E_SUCCESS       0      /* success */
-#define E_NOPERM        1      /* permission denied */
-#define E_USAGE         2      /* invalid command syntax */
-#define E_BAD_ARG       3      /* invalid argument to option */
+#define E_SUCCESS              0       /* success */
+#define E_NOPERM               1       /* permission denied */
+#define E_USAGE                2       /* invalid command syntax */
+#define E_BAD_ARG              3       /* invalid argument to option */
+#define E_PASSWD_NOTFOUND      14      /* not found password file */
+#define E_SHADOW_NOTFOUND      15      /* not found shadow password file */
+#define E_GROUP_NOTFOUND       16      /* not found group file */
+#define E_GSHADOW_NOTFOUND     17      /* not found shadow group file */
index d3b997dbfeac7e4d2ce041e1007b895093ebb3b3..1495cb909f53093a72ea926a7918ef16227b2113 100644 (file)
@@ -32,8 +32,8 @@
 #include <stdio.h>
 #include "defines.h"
 
-#include "rcsid.h"
-RCSID ("$Id: fputsx.c,v 1.6 2005/03/31 05:14:49 kloczek Exp $")
+#ident "$Id: fputsx.c,v 1.7 2005/08/31 17:24:56 kloczek Exp $"
+
 
 char *fgetsx (char *buf, int cnt, FILE * f)
 {
index 4f72a089b5854c3880a324ff121cf3ad49645f9c..ca35ade7277dbcc2c8c675112381f60a7015bcd6 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: getdef.c,v 1.35 2005/08/11 11:26:11 kloczek Exp $")
+#ident "$Id: getdef.c,v 1.36 2005/08/31 17:24:56 kloczek Exp $"
+
 #include "prototypes.h"
 #include "defines.h"
 #include <stdio.h>
index 42d1cf9be4d2ab6e418c418c74475e565ee0a530..db45998ab8bcbedce2f0648f829f4e975156ed42 100644 (file)
@@ -30,8 +30,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: getpass.c,v 1.13 2005/03/31 05:14:49 kloczek Exp $")
+#ident "$Id: getpass.c,v 1.14 2005/08/31 17:24:56 kloczek Exp $"
+
 #include "defines.h"
 #include <signal.h>
 #include <stdio.h>
index 235e2e90b6ed5d281af9ce042d4ee0ef67375720..4c30cf4399a3f197d0c835dc3e7d49b4ecc3e8a4 100644 (file)
@@ -1,8 +1,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: groupio.c,v 1.12 2005/06/20 09:56:37 kloczek Exp $")
+#ident "$Id: groupio.c,v 1.13 2005/08/31 17:24:56 kloczek Exp $"
+
 #include "prototypes.h"
 #include "defines.h"
 #include "commonio.h"
index a9c95c25f52a014d381d7cfa94295c0cf707035a..867bdfe721c6d0a6e67b9191e7db532813e285d1 100644 (file)
@@ -32,8 +32,8 @@
 /* Newer versions of Linux libc already have shadow support.  */
 #if defined(SHADOWGRP) && !defined(HAVE_SHADOWGRP)     /*{ */
 
-#include "rcsid.h"
-RCSID ("$Id: gshadow.c,v 1.10 2005/05/25 19:31:50 kloczek Exp $")
+#ident "$Id: gshadow.c,v 1.11 2005/08/31 17:24:56 kloczek Exp $"
+
 #include <stdio.h>
 #include "prototypes.h"
 #include "defines.h"
index 54a0a2e6c8751ccef5410d44c72af2d68ff16f35..fdec03dbc643c7f955c60f562214d79bc56dd33a 100644 (file)
@@ -31,8 +31,8 @@
 
 #ifndef HAVE_LCKPWDF
 
-#include "rcsid.h"
-RCSID ("$Id: lockpw.c,v 1.6 2005/05/25 18:20:22 kloczek Exp $")
+#ident "$Id: lockpw.c,v 1.7 2005/08/31 17:24:56 kloczek Exp $"
+
 #include "prototypes.h"
 #include "defines.h"
 #include "pwio.h"
index 5a9399916deb66c17b9393869344ace7cd4f223a..e92e4cbce55273637fc88497fc1c7c1727ffd320 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: port.c,v 1.4 2005/03/31 05:14:49 kloczek Exp $")
+#ident "$Id: port.c,v 1.5 2005/08/31 17:24:56 kloczek Exp $"
+
 #include <stdio.h>
 #include <ctype.h>
 #include <errno.h>
index 0ffd513c9c5aede8e80e1654535153e0b066ac46..0153613b6b51220a0c5b50ae864ea0cc92d4eb57 100644 (file)
@@ -6,7 +6,7 @@
  * Juha Virtanen, <jiivee@hut.fi>; November 1995
  */
 /*
- * $Id: prototypes.h,v 1.22 2005/08/02 10:50:51 kloczek Exp $
+ * $Id: prototypes.h,v 1.24 2005/09/05 16:22:03 kloczek Exp $
  *
  * Added a macro to work around ancient (non-ANSI) compilers, just in case
  * someone ever tries to compile this with SunOS cc...  --marekm
@@ -87,6 +87,18 @@ extern int putgrent (const struct group *, FILE *);
 /* hushed.c */
 extern int hushed (const struct passwd *);
 
+/* audit_help.c */
+#ifdef WITH_AUDIT
+extern int audit_fd;
+#endif
+void audit_help_open (void);
+void audit_help_log (const char *, ...)
+#ifdef __GNUC__
+    __attribute__ ((format (printf, 1, 2)));
+#else
+;
+#endif
+
 /* limits.c */
 extern void setup_limits (const struct passwd *);
 
index e7b741a1b4732f8ae8d6973e1162646040c6e8f0..63013b9e04b5c88740fdfa1d1505f8c0505133eb 100644 (file)
@@ -30,8 +30,8 @@
 #include <config.h>
 
 #ifndef USE_PAM
-#include "rcsid.h"
-RCSID ("$Id: pwauth.c,v 1.18 2005/07/07 18:53:14 kloczek Exp $")
+#ident "$Id: pwauth.c,v 1.19 2005/08/31 17:24:56 kloczek Exp $"
+
 #include <sys/types.h>
 #include <signal.h>
 #include <fcntl.h>
index ac21ac4efecdb14cce3b4fdc99b3668eca04333e..5ffc9b4ee0c0bfff54d302d7c675db6026aa9152 100644 (file)
@@ -1,8 +1,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: pwio.c,v 1.15 2005/06/20 10:01:57 kloczek Exp $")
+#ident "$Id: pwio.c,v 1.16 2005/08/31 17:24:56 kloczek Exp $"
+
 #include "prototypes.h"
 #include "defines.h"
 #include <pwd.h>
diff --git a/lib/rcsid.h b/lib/rcsid.h
deleted file mode 100644 (file)
index 60ba0db..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * $Id: rcsid.h,v 1.3 2005/03/31 05:14:49 kloczek Exp $
- */
-#define PKG_VER " $Package: " PACKAGE " $ $Version: " VERSION " $ "
-#if defined(NO_RCSID) || defined(lint)
-#define RCSID(x)               /* empty */
-#else
-#if __STDC__
-/*
- * This function is never called from anywhere, but it calls itself
- * recursively only to fool gcc to not generate warnings :-).
- */
-static const char *rcsid (const char *);
-
-#define RCSID(x) \
-  static const char *rcsid(const char *s) { \
-  return rcsid(x); }
-#else                          /* ! __STDC__ */
-#define RCSID(x) \
-  static char *rcsid(s) char *s; { \
-  return rcsid(x); }
-#endif                         /* ! __STDC__ */
-#endif
index d42b7c07efb55e2c4d6c8c66a7f9553a77398d87..7fefc05c312e97f0fa1bff280bc7d7a810964af3 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: sgetgrent.c,v 1.5 2005/03/31 05:14:49 kloczek Exp $")
+#ident "$Id: sgetgrent.c,v 1.6 2005/08/31 17:24:56 kloczek Exp $"
+
 #include <stdio.h>
 #include <grp.h>
 #include "defines.h"
index b721a777cd24152fa6ae13651a2b46c6d76c62ac..71a02e255c7c933d28274b4bcb954a4a66809640 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: sgetpwent.c,v 1.7 2005/03/31 05:14:49 kloczek Exp $")
+#ident "$Id: sgetpwent.c,v 1.8 2005/08/31 17:24:56 kloczek Exp $"
+
 #include <sys/types.h>
 #include "defines.h"
 #include <stdio.h>
index 5b24efa0538514c0d79b679c89faa5c89aeed125..389b9ba0eba9ac865dbb16880444fcdb14406e78 100644 (file)
@@ -3,8 +3,8 @@
 
 #ifdef SHADOWGRP
 
-#include "rcsid.h"
-RCSID ("$Id: sgroupio.c,v 1.13 2005/03/31 05:14:49 kloczek Exp $")
+#ident "$Id: sgroupio.c,v 1.14 2005/08/31 17:24:56 kloczek Exp $"
+
 #include "prototypes.h"
 #include "defines.h"
 #include "commonio.h"
index 3b8f82b591430b2a04982913526c4c2d2e85e0ad..ee4562d748b72c56d0c5fbd5f2927286f7e1ae08 100644 (file)
@@ -32,8 +32,8 @@
 /* Newer versions of Linux libc already have shadow support.  */
 #ifndef HAVE_GETSPNAM
 
-#include "rcsid.h"
-RCSID ("$Id: shadow.c,v 1.11 2005/05/25 19:31:50 kloczek Exp $")
+#ident "$Id: shadow.c,v 1.12 2005/08/31 17:24:56 kloczek Exp $"
+
 #include <sys/types.h>
 #include "prototypes.h"
 #include "defines.h"
index 3355c64cb8983a7b4910a6174c471773df39d786..f362e335012814d64ac0818195dc0d5c1c99baa8 100644 (file)
@@ -1,8 +1,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: shadowio.c,v 1.15 2005/05/25 18:20:22 kloczek Exp $")
+#ident "$Id: shadowio.c,v 1.16 2005/08/31 17:24:56 kloczek Exp $"
+
 #include "prototypes.h"
 #include "defines.h"
 #ifdef HAVE_SHADOW_H
index f7ac91eaac9435ec222c85cca7cbc00b19912904..803be7f7d457dec5559c38efa814441de84820d3 100644 (file)
@@ -8,6 +8,7 @@ noinst_LIBRARIES = libmisc.a
 libmisc_a_SOURCES = \
        addgrps.c \
        age.c \
+       audit_help.c \
        basename.c \
        chkname.c \
        chkname.h \
@@ -20,8 +21,8 @@ libmisc_a_SOURCES = \
        failure.c \
        failure.h \
        fields.c \
-       getdate.y \
        getdate.h \
+       getdate.y \
        hushed.c \
        isexpired.c \
        limits.c \
index 66bbda7655c26f108a81d5f10740d381309dc912..c62fa0246a515be378f561c503547804614688cf 100644 (file)
@@ -39,7 +39,8 @@ host_triplet = @host@
 subdir = libmisc
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in getdate.c
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -50,19 +51,20 @@ ARFLAGS = cru
 libmisc_a_AR = $(AR) $(ARFLAGS)
 libmisc_a_LIBADD =
 am_libmisc_a_OBJECTS = addgrps.$(OBJEXT) age.$(OBJEXT) \
-       basename.$(OBJEXT) chkname.$(OBJEXT) chowndir.$(OBJEXT) \
-       chowntty.$(OBJEXT) console.$(OBJEXT) copydir.$(OBJEXT) \
-       entry.$(OBJEXT) env.$(OBJEXT) failure.$(OBJEXT) \
-       fields.$(OBJEXT) getdate.$(OBJEXT) hushed.$(OBJEXT) \
-       isexpired.$(OBJEXT) limits.$(OBJEXT) list.$(OBJEXT) \
-       log.$(OBJEXT) loginprompt.$(OBJEXT) mail.$(OBJEXT) \
-       motd.$(OBJEXT) myname.$(OBJEXT) obscure.$(OBJEXT) \
-       pam_pass.$(OBJEXT) pwd2spwd.$(OBJEXT) pwdcheck.$(OBJEXT) \
-       pwd_init.$(OBJEXT) rlogin.$(OBJEXT) salt.$(OBJEXT) \
-       setugid.$(OBJEXT) setupenv.$(OBJEXT) shell.$(OBJEXT) \
-       strtoday.$(OBJEXT) sub.$(OBJEXT) sulog.$(OBJEXT) \
-       ttytype.$(OBJEXT) tz.$(OBJEXT) ulimit.$(OBJEXT) utmp.$(OBJEXT) \
-       valid.$(OBJEXT) xmalloc.$(OBJEXT)
+       audit_help.$(OBJEXT) basename.$(OBJEXT) chkname.$(OBJEXT) \
+       chowndir.$(OBJEXT) chowntty.$(OBJEXT) console.$(OBJEXT) \
+       copydir.$(OBJEXT) entry.$(OBJEXT) env.$(OBJEXT) \
+       failure.$(OBJEXT) fields.$(OBJEXT) getdate.$(OBJEXT) \
+       hushed.$(OBJEXT) isexpired.$(OBJEXT) limits.$(OBJEXT) \
+       list.$(OBJEXT) log.$(OBJEXT) loginprompt.$(OBJEXT) \
+       mail.$(OBJEXT) motd.$(OBJEXT) myname.$(OBJEXT) \
+       obscure.$(OBJEXT) pam_pass.$(OBJEXT) pwd2spwd.$(OBJEXT) \
+       pwdcheck.$(OBJEXT) pwd_init.$(OBJEXT) rlogin.$(OBJEXT) \
+       salt.$(OBJEXT) setugid.$(OBJEXT) setupenv.$(OBJEXT) \
+       shell.$(OBJEXT) strtoday.$(OBJEXT) sub.$(OBJEXT) \
+       sulog.$(OBJEXT) ttytype.$(OBJEXT) tz.$(OBJEXT) \
+       ulimit.$(OBJEXT) utmp.$(OBJEXT) valid.$(OBJEXT) \
+       xmalloc.$(OBJEXT)
 libmisc_a_OBJECTS = $(am_libmisc_a_OBJECTS)
 DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
@@ -109,6 +111,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -120,6 +124,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -159,6 +164,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -209,6 +217,7 @@ noinst_LIBRARIES = libmisc.a
 libmisc_a_SOURCES = \
        addgrps.c \
        age.c \
+       audit_help.c \
        basename.c \
        chkname.c \
        chkname.h \
@@ -221,8 +230,8 @@ libmisc_a_SOURCES = \
        failure.c \
        failure.h \
        fields.c \
-       getdate.y \
        getdate.h \
+       getdate.y \
        hushed.c \
        isexpired.c \
        limits.c \
@@ -264,9 +273,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  libmisc/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  libmisc/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  libmisc/Makefile
+         $(AUTOMAKE) --foreign  libmisc/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
@@ -300,6 +309,7 @@ distclean-compile:
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addgrps.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/age.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/audit_help.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chkname.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chowndir.Po@am__quote@
index feb313fbad5b7b5294763ee22cf4e6ae969d6fe3..652d4d77377d5c192540092d9d3c4cccd154d294 100644 (file)
@@ -9,8 +9,8 @@
 #include <grp.h>
 #include <errno.h>
 
-#include "rcsid.h"
-RCSID ("$Id: addgrps.c,v 1.7 2005/03/31 05:14:50 kloczek Exp $")
+#ident "$Id: addgrps.c,v 1.8 2005/08/31 17:24:57 kloczek Exp $"
+
 #define SEP ",:"
 /*
  * Add groups with names from LIST (separated by commas or colons)
index 517b70c643f71a82ce5eaa7ea6912147f479480b..57e9c1d8aeb66d6832b15683863b6391f1f5e1ff 100644 (file)
@@ -38,8 +38,8 @@
 #include <pwd.h>
 #include <grp.h>
 
-#include "rcsid.h"
-RCSID ("$Id: age.c,v 1.11 2005/05/25 18:20:22 kloczek Exp $")
+#ident "$Id: age.c,v 1.12 2005/08/31 17:24:57 kloczek Exp $"
+
 #ifndef PASSWD_PROGRAM
 #define PASSWD_PROGRAM "/bin/passwd"
 #endif
diff --git a/libmisc/audit_help.c b/libmisc/audit_help.c
new file mode 100644 (file)
index 0000000..0558bde
--- /dev/null
@@ -0,0 +1,96 @@
+/*
+ *  Audit helper functions used throughout shadow
+ *
+ *  Copyright (C) 2005, Red Hat, Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Julianne F. Haugh nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+
+#include <config.h>
+
+#ifdef WITH_AUDIT
+
+#include <stdlib.h>
+#include <syslog.h>
+#include <stdarg.h>
+#include <libaudit.h>
+#include <errno.h>
+#include <stdio.h>
+int audit_fd;
+
+void audit_help_open (void)
+{
+       audit_fd = audit_open ();
+       if (audit_fd < 0) {
+               /* You get these only when the kernel doesn't have
+                * audit compiled in. */
+               if (errno == EINVAL || errno == EPROTONOSUPPORT ||
+                   errno == EAFNOSUPPORT)
+                       return;
+               fprintf (stderr, "Cannot open audit interface - aborting.\n");
+               exit (1);
+       }
+}
+
+/*
+ * This function will log a message to the audit system using a predefined
+ * message format. Parameter usage is as follows:
+ *
+ * type - type of message: AUDIT_USER_CHAUTHTOK for changing any account 
+ *       attributes.
+ * pgname - program's name
+ * op  -  operation. "adding user", "changing finger info", "deleting group"
+ * name - user's account or group name. If not available use NULL.
+ * id  -  uid or gid that the operation is being performed on. This is used
+ *       only when user is NULL.
+ * result - 1 is "success" and 0 is "failed"
+ */
+void audit_logger (int type, const char *pgname, const char *op,
+                  const char *name, unsigned int id, int result)
+{
+       if (audit_fd < 0)
+               return;
+       else {
+               char buf[PATH_MAX];
+               const char *success;
+
+               if (result)
+                       success = "success";
+               else
+                       success = "failed";
+
+               if (name)
+                       snprintf (buf, sizeof (buf), "%s: op=%s acct=%s res=%s",
+                                 pgname, op, name, success);
+               else
+                       snprintf (buf, sizeof (buf), "%s: op=%s id=%u res=%s",
+                                 pgname, op, id, success);
+
+               audit_send_user_message (audit_fd, type, buf);
+       }
+}
+
+#endif                         /* WITH_AUDIT */
index ae8432f61d19714d4149c93a32c86cbadd2c2d09..38d53af5e29f26ec204420782babaf5586bcb54d 100644 (file)
@@ -7,8 +7,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: basename.c,v 1.3 2003/04/22 10:59:21 kloczek Exp $")
+#ident "$Id: basename.c,v 1.4 2005/08/31 17:24:57 kloczek Exp $"
+
 #include "defines.h"
 #include "prototypes.h"
 char *Basename (char *str)
index 1d6f90d96bc5b7e6b795f5a39d6caef9b5dcb528..be97b893f39e8c9ca310c8fac3b1fa6d0e5bd4c7 100644 (file)
@@ -5,8 +5,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: chkname.c,v 1.8 2003/05/12 05:29:14 kloczek Exp $")
+#ident "$Id: chkname.c,v 1.11 2005/08/31 17:24:57 kloczek Exp $"
+
 #include <ctype.h>
 #include "defines.h"
 #include "chkname.h"
@@ -18,7 +18,7 @@ RCSID ("$Id: chkname.c,v 1.8 2003/05/12 05:29:14 kloczek Exp $")
 static int good_name (const char *name)
 {
        /*
-        * User/group names must match [a-z_][a-z0-9_-]*
+        * User/group names must match [a-z_][a-z0-9_-]*[$]
         */
        if (!*name || !((*name >= 'a' && *name <= 'z') || *name == '_'))
                return 0;
index 4af7b4326878b132fb838d9f5ffd4fe55a4d97c1..055b89f11e2145ef65f1083dbcc0de81bbd8c64a 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: chowndir.c,v 1.8 2005/03/31 05:14:50 kloczek Exp $")
+#ident "$Id: chowndir.c,v 1.9 2005/08/31 17:24:57 kloczek Exp $"
+
 #include <sys/types.h>
 #include <sys/stat.h>
 #include "prototypes.h"
index e4703204e76daec5e0facc5cfe2e0bbedf62a995..bb5a60369dcafd0d11ef54daecfa87a7a60868cb 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: chowntty.c,v 1.12 2005/08/09 18:03:15 kloczek Exp $")
+#ident "$Id: chowntty.c,v 1.13 2005/08/31 17:24:57 kloczek Exp $"
+
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <stdio.h>
index d73b423e17210e218d6d087f82a0bdcd392a171f..92f3b2bcd8ae6967bb3d138fa0556ec0cca3fae6 100644 (file)
@@ -32,8 +32,8 @@
 #include <stdio.h>
 #include "getdef.h"
 
-#include "rcsid.h"
-RCSID ("$Id: console.c,v 1.6 2003/04/22 10:59:21 kloczek Exp $")
+#ident "$Id: console.c,v 1.7 2005/08/31 17:24:57 kloczek Exp $"
+
 
 /*
  * This is now rather generic function which decides if "tty" is listed
index fe56b5af6061e457b8fd3905cb8867384c6c6758..ccbae419170da31658bf7320fa0334eebad9d4f4 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: copydir.c,v 1.12 2005/03/31 05:14:50 kloczek Exp $")
+#ident "$Id: copydir.c,v 1.13 2005/08/31 17:24:57 kloczek Exp $"
+
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <fcntl.h>
index 773b7383cb9421446dd59244974b56a5c997af62..51b030b4e8a6e756f182c67aac248f3f24d1337b 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: entry.c,v 1.8 2005/06/20 09:18:50 kloczek Exp $")
+#ident "$Id: entry.c,v 1.9 2005/08/31 17:24:57 kloczek Exp $"
+
 #include <sys/types.h>
 #include <stdio.h>
 #include "prototypes.h"
index 175c0410b08de43f61cc012f490a7f572985e31a..cf738a268cf09fe068fc2ad900bf60d15616e324 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: env.c,v 1.11 2005/03/31 05:14:50 kloczek Exp $")
+#ident "$Id: env.c,v 1.12 2005/08/31 17:24:57 kloczek Exp $"
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
index 6cd7507faccdcba0debf8c90dcb9bdd70f0f0f2b..6434fa5c446edf720c58df2eab4e63b1c53c698a 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: failure.c,v 1.15 2005/06/20 10:02:02 kloczek Exp $")
+#ident "$Id: failure.c,v 1.17 2005/09/26 18:46:11 kloczek Exp $"
+
 #include <fcntl.h>
 #include <stdio.h>
 #include "defines.h"
@@ -183,7 +183,6 @@ void failprint (const struct faillog *fail)
 #if HAVE_STRFTIME
        char lasttimeb[256];
        char *lasttime = lasttimeb;
-       const char *fmt;
 #else
        char *lasttime;
 #endif
@@ -197,24 +196,15 @@ void failprint (const struct faillog *fail)
 
 #if HAVE_STRFTIME
        /*
-        * Only print as much date and time info as it needed to
-        * know when the failure was.
+        * Print all information we have.
         */
-
-       if (NOW - fail->fail_time >= YEAR)
-               fmt = "%Y";
-       else if (NOW - fail->fail_time >= DAY)
-               fmt = "%A %T";
-       else
-               fmt = "%T";
-       strftime (lasttimeb, sizeof lasttimeb, fmt, tp);
+       strftime (lasttimeb, sizeof lasttimeb, "%c", tp);
 #else
 
        /*
         * Do the same thing, but don't use strftime since it
         * probably doesn't exist on this system
         */
-
        lasttime = asctime (tp);
        lasttime[24] = '\0';
 
index 16b044b5f7de2499bc2b7ac5913df87328f80bee..fcb4e0499114d76a3a999a34c84d38dcd81c0a96 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: fields.c,v 1.6 2003/04/22 10:59:22 kloczek Exp $")
+#ident "$Id: fields.c,v 1.7 2005/08/31 17:24:57 kloczek Exp $"
+
 #include <ctype.h>
 #include <string.h>
 #include <stdio.h>
index 2d2a22a7d70f734a289e2a429051e1873879de85..b3426a3ed903df76c3c0bba3a2675450b81b7e77 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: hushed.c,v 1.6 2005/03/31 05:14:50 kloczek Exp $")
+#ident "$Id: hushed.c,v 1.7 2005/08/31 17:24:57 kloczek Exp $"
+
 #include <sys/types.h>
 #include <stdio.h>
 #include "defines.h"
index bc0c2ee887ec76d75bb3b85c9d0041fca5d52a33..14e0e7ab6203a9e902dcbc3ec641d1c3a84ec664 100644 (file)
@@ -39,9 +39,9 @@
 #include "defines.h"
 #include <pwd.h>
 #include <time.h>
-#include "rcsid.h"
 
-RCSID ("$Id: isexpired.c,v 1.14 2005/05/25 19:31:50 kloczek Exp $")
+#ident "$Id: isexpired.c,v 1.15 2005/08/31 17:24:57 kloczek Exp $"
+
 
 /*
  * isexpired - determine if account is expired yet
index 4b80686c95508798dc90afaf2fa22f9a39ddcddc..65593f12d6bccdb51c8d408c3412b128cc67c2f7 100644 (file)
@@ -36,8 +36,8 @@
 
 #ifndef USE_PAM
 
-#include "rcsid.h"
-RCSID ("$Id: limits.c,v 1.18 2005/06/20 10:02:02 kloczek Exp $")
+#ident "$Id: limits.c,v 1.20 2005/09/05 17:32:17 kloczek Exp $"
+
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <stdio.h>
@@ -210,6 +210,7 @@ static int do_user_limits (const char *buf, const char *name)
                case 'A':
                        /* RLIMIT_AS - max address space (KB) */
                        retval |= setrlimit_value (RLIMIT_AS, pp, 1024);
+                       break;
 #endif
 #ifdef RLIMIT_CPU
                case 't':
index 2ba0e4b8e6c01c0cf1edfd4b7635a036e4b2c16a..dcc379b562ceeb96328e4ec67b38072cf1c1db58 100644 (file)
@@ -32,8 +32,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: list.c,v 1.4 2003/04/22 10:59:22 kloczek Exp $")
+#ident "$Id: list.c,v 1.5 2005/08/31 17:24:57 kloczek Exp $"
+
 #include "prototypes.h"
 #include "defines.h"
 /*
index 22119f28f8e4586abb48c2f6bad7903fcb51f118..6b4f2c40b4af276b2f553083653ab73e384bf909 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: log.c,v 1.9 2005/04/02 11:31:39 kloczek Exp $")
+#ident "$Id: log.c,v 1.10 2005/08/31 17:24:57 kloczek Exp $"
+
 #include <sys/types.h>
 #include <pwd.h>
 #include <fcntl.h>
index b501e6ab3051e8877b4e33a05cd215f7dbbeb361..f263695ab5c0b5b46537e551cd30bd3932716477 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: loginprompt.c,v 1.8 2005/03/31 05:14:50 kloczek Exp $")
+#ident "$Id: loginprompt.c,v 1.9 2005/08/31 17:24:57 kloczek Exp $"
+
 #include <stdio.h>
 #include <signal.h>
 #include <ctype.h>
index 111752c29b7a25a32d8a767dfe64718f71a0a623..b9ca3bebd07e5c6816acb75801c003a992ef74aa 100644 (file)
@@ -36,8 +36,8 @@
 
 #include "getdef.h"
 
-#include "rcsid.h"
-RCSID ("$Id: mail.c,v 1.8 2003/04/22 10:59:22 kloczek Exp $")
+#ident "$Id: mail.c,v 1.9 2005/08/31 17:24:57 kloczek Exp $"
+
 
 void mailcheck (void)
 {
index 7c26f54c1964b9b30abce94817610e51f2e0b726..5b1d8018056e0fa417e4398d08b6c7776ac2d35a 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: motd.c,v 1.5 2005/03/31 05:14:50 kloczek Exp $")
+#ident "$Id: motd.c,v 1.6 2005/08/31 17:24:57 kloczek Exp $"
+
 #include <stdio.h>
 #include "prototypes.h"
 #include "defines.h"
index bd6d9caa40897f227245df3ceb9979e32e9d577d..d6b9a034a5f10a504a1586d1f9e4a82703bac761 100644 (file)
@@ -10,8 +10,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: myname.c,v 1.3 2003/04/22 10:59:22 kloczek Exp $")
+#ident "$Id: myname.c,v 1.4 2005/08/31 17:24:57 kloczek Exp $"
+
 #include "defines.h"
 #include <pwd.h>
 #include "prototypes.h"
index 092a93ae9b4443953bfa08ce6faae420120fae8c..7f20a3173b700d7e5edb30b55b7061bc9c7146fc 100644 (file)
@@ -31,8 +31,8 @@
 
 #ifndef USE_PAM
 
-#include "rcsid.h"
-RCSID ("$Id: obscure.c,v 1.12 2005/03/24 04:29:23 kloczek Exp $")
+#ident "$Id: obscure.c,v 1.14 2005/08/31 17:24:57 kloczek Exp $"
+
 
 /*
  * This version of obscure.c contains modifications to support "cracklib"
@@ -158,7 +158,7 @@ static const char *password_check (const char *old, const char *new,
 #endif
 
        if (strcmp (new, old) == 0)
-               return "no change";
+               return _("no change");
 
        newmono = str_lower (xstrdup (new));
        oldmono = str_lower (xstrdup (old));
@@ -167,19 +167,19 @@ static const char *password_check (const char *old, const char *new,
        strcat (wrapped, oldmono);
 
        if (palindrome (oldmono, newmono))
-               msg = "a palindrome";
+               msg = _("a palindrome");
 
        if (!msg && strcmp (oldmono, newmono) == 0)
-               msg = "case changes only";
+               msg = _("case changes only");
 
        if (!msg && similar (oldmono, newmono))
-               msg = "too similar";
+               msg = _("too similar");
 
        if (!msg && simple (old, new))
-               msg = "too simple";
+               msg = _("too simple");
 
        if (!msg && strstr (wrapped, newmono))
-               msg = "rotated";
+               msg = _("rotated");
 
 #ifdef HAVE_LIBCRACK
        /*
@@ -215,7 +215,7 @@ static const char *password_check (const char *old, const char *new,
        newlen = strlen (new);
 
        if (newlen < getdef_num ("PASS_MIN_LEN", 0))
-               return "too short";
+               return _("too short");
 
        /*
         * Remaining checks are optional.
index 2a50ed1457fba4daa6bd726550b6abf1e2f78f0e..3955650f0cfef001e4def77568848fcc22bad09d 100644 (file)
@@ -2,8 +2,8 @@
 
 #ifdef USE_PAM
 
-#include "rcsid.h"
-RCSID ("$Id: pam_pass.c,v 1.10 2005/03/31 05:14:50 kloczek Exp $")
+#ident "$Id: pam_pass.c,v 1.11 2005/08/31 17:24:57 kloczek Exp $"
+
 
 /*
  * Change the user's password using PAM.  Requires libpam and libpam_misc
index 5ce06cae684dbc57733e7f9bf4d8118bf7f824d8..0a381987581e8e2aa0ac19ab2ff6c9eb6f5b9052 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: pwd2spwd.c,v 1.6 2005/05/25 18:20:22 kloczek Exp $")
+#ident "$Id: pwd2spwd.c,v 1.7 2005/08/31 17:24:57 kloczek Exp $"
+
 #include <sys/types.h>
 #include "prototypes.h"
 #include "defines.h"
index 6930ae46bc33585dd37e1e084e665e9025d8f4ce..49e8e053af7b9612147680d5384a766aacb523d2 100644 (file)
@@ -1,8 +1,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: pwd_init.c,v 1.2 2003/04/22 10:59:22 kloczek Exp $")
+#ident "$Id: pwd_init.c,v 1.3 2005/08/31 17:24:58 kloczek Exp $"
+
 #include "defines.h"
 #include <signal.h>
 #include <sys/types.h>
index 706188bd934c95b7f03e57f2dcf257a7cf2c7096..c772ab44287c4ba4aba9fb1cd3335203bc506964 100644 (file)
@@ -1,7 +1,7 @@
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: pwdcheck.c,v 1.7 2005/07/18 12:55:36 kloczek Exp $")
+#ident "$Id: pwdcheck.c,v 1.8 2005/08/31 17:24:58 kloczek Exp $"
+
 #include <pwd.h>
 #include <stdio.h>
 #include "prototypes.h"
index ec7ff2c46f0a3a00f12104a776d4952969c7dd3e..6dac04d009e98eb27770859a4ef7e8897039d808 100644 (file)
@@ -31,8 +31,8 @@
 
 #ifdef RLOGIN
 
-#include "rcsid.h"
-RCSID ("$Id: rlogin.c,v 1.9 2005/03/31 05:14:50 kloczek Exp $")
+#ident "$Id: rlogin.c,v 1.10 2005/08/31 17:24:58 kloczek Exp $"
+
 #include "prototypes.h"
 #include "defines.h"
 #include <stdio.h>
index ab5b2b44552048efa1b8814ea3c0a52d511ad47a..562452f7d020f8a0fe2a6a084acec56ef898359d 100644 (file)
@@ -7,8 +7,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: salt.c,v 1.8 2005/05/25 19:31:50 kloczek Exp $")
+#ident "$Id: salt.c,v 1.10 2005/08/31 17:24:58 kloczek Exp $"
+
 #include <sys/time.h>
 #include <stdlib.h>
 #include "prototypes.h"
@@ -26,9 +26,11 @@ char *crypt_make_salt (void)
        static char result[40];
 
        result[0] = '\0';
+#ifndef USE_PAM
        if (getdef_bool ("MD5_CRYPT_ENAB")) {
                strcpy (result, "$1$"); /* magic for the new MD5 crypt() */
        }
+#endif
 
        /*
         * Generate 8 chars of salt, the old crypt() will use only first 2.
index 9eadc564cfa5759648f19d5626cfa24402f56658..4df9565e178195bad9118acd177f24e0aadc14d3 100644 (file)
@@ -33,8 +33,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: setugid.c,v 1.9 2005/03/31 05:14:50 kloczek Exp $")
+#ident "$Id: setugid.c,v 1.10 2005/08/31 17:24:58 kloczek Exp $"
+
 #include <stdio.h>
 #include <grp.h>
 #include "prototypes.h"
index 87173f8b754a35d0e69ce348e57f875943ffd1cf..006f83c3e55ac36ae3f465b63000761c9f819e0b 100644 (file)
@@ -33,8 +33,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: setupenv.c,v 1.18 2005/08/09 18:09:42 kloczek Exp $")
+#ident "$Id: setupenv.c,v 1.20 2005/09/30 14:29:11 kloczek Exp $"
+
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <stdio.h>
@@ -234,10 +234,6 @@ void setup_env (struct passwd *info)
 
        addenv ("SHELL", info->pw_shell);
 
-       /*
-        * Create the PATH environmental variable and export it.
-        */
-
        /*
         * Export the user name.  For BSD derived systems, it's "USER", for
         * all others it's "LOGNAME".  We set both of them.
@@ -247,6 +243,10 @@ void setup_env (struct passwd *info)
        addenv ("LOGNAME", info->pw_name);
 
 #ifndef USE_PAM
+       /*
+        * Create the PATH environmental variable and export it.
+        */
+
        cp = getdef_str ((info->pw_uid == 0) ? "ENV_SUPATH" : "ENV_PATH");
 
        if (!cp) {
index 08095b1d52eec0fdd34be6cbc84cf5e021e48086..632d740e653cc5020e25c2633d1dd1ecefa71f1b 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: shell.c,v 1.10 2005/03/31 05:14:50 kloczek Exp $")
+#ident "$Id: shell.c,v 1.11 2005/08/31 17:24:58 kloczek Exp $"
+
 #include <stdio.h>
 #include <errno.h>
 #include "prototypes.h"
index 4a220f45d28be6d269d70a57c3a02e395d2f44db..2df8ded0854ed0c1c431783ebd7af22fae1a8a00 100644 (file)
@@ -33,8 +33,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: strtoday.c,v 1.10 2005/03/31 05:14:50 kloczek Exp $")
+#ident "$Id: strtoday.c,v 1.11 2005/08/31 17:24:58 kloczek Exp $"
+
 #include "defines.h"
 #ifndef USE_GETDATE
 #define USE_GETDATE 1
index 87e821701f321e407d602ec1b6cd693c0d3f8b24..c8de35ab768306eb26e8a133866b4c40d20087a3 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: sub.c,v 1.8 2005/07/18 13:19:05 kloczek Exp $")
+#ident "$Id: sub.c,v 1.9 2005/08/31 17:24:58 kloczek Exp $"
+
 #include <pwd.h>
 #include <stdio.h>
 #include <sys/types.h>
index 3a5fa916b89cf02e5a46c43af198e599f616369f..46762d86b2fd3bcd2217e7717a41d07f4c2eb71b 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: sulog.c,v 1.8 2005/03/31 05:14:50 kloczek Exp $")
+#ident "$Id: sulog.c,v 1.9 2005/08/31 17:24:58 kloczek Exp $"
+
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <stdio.h>
index 56250a3c9870c58dbdd99249efdbb78fdb7fcc9b..4da3c03874f75593fab5b62300c144e2a68d82ba 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: ttytype.c,v 1.9 2005/03/31 05:14:50 kloczek Exp $")
+#ident "$Id: ttytype.c,v 1.10 2005/08/31 17:24:58 kloczek Exp $"
+
 #include <stdio.h>
 #include "prototypes.h"
 #include "defines.h"
index 43605f16a45d49ff664640b4ec3164dc565cc205..eaa1c1f5396e96e1c87cb35cd416305141158daf 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: tz.c,v 1.6 2005/07/06 11:33:05 kloczek Exp $")
+#ident "$Id: tz.c,v 1.7 2005/08/31 17:24:58 kloczek Exp $"
+
 #include <stdio.h>
 #include <string.h>
 #include "defines.h"
index 5efb47e63c7a569da3d4e4f1fbdb9b096e10dfed..e9b7452ee83a94ff0c3cd42af4ef16a78faad6fd 100644 (file)
@@ -1,7 +1,7 @@
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: ulimit.c,v 1.3 2003/04/22 10:59:22 kloczek Exp $")
+#ident "$Id: ulimit.c,v 1.4 2005/08/31 17:24:58 kloczek Exp $"
+
 #if HAVE_ULIMIT_H
 #include <ulimit.h>
 #ifndef UL_SETFSIZE
index eb832da313e5ad5a5c710c049a5c1fd00e7e4a31..d86a596a5e0480945cd9cf6f65c1962166370551 100644 (file)
@@ -40,8 +40,8 @@
 #include <fcntl.h>
 #include <stdio.h>
 
-#include "rcsid.h"
-RCSID ("$Id: utmp.c,v 1.16 2005/07/05 20:17:51 kloczek Exp $")
+#ident "$Id: utmp.c,v 1.18 2005/08/31 17:24:58 kloczek Exp $"
+
 #if HAVE_UTMPX_H
 struct utmpx utxent;
 #endif
@@ -53,9 +53,9 @@ extern void setutent ();
 extern void endutent ();
 
 #define        NO_UTENT \
-       "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+       _("No utmp entry.  You must exec \"login\" from the lowest level \"sh\"")
 #define        NO_TTY \
-       "Unable to determine your tty name."
+       _("Unable to determine your tty name.")
 
 /*
  * checkutmp - see if utmp file is correct for this process
index 5bde285c406e2c13cf5d122ed2b41350a4be1316..9ab28132fc9a569af6fcd3c0641ba5be0b5f2e3c 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: valid.c,v 1.5 2003/04/22 10:59:22 kloczek Exp $")
+#ident "$Id: valid.c,v 1.6 2005/08/31 17:24:58 kloczek Exp $"
+
 #include <sys/types.h>
 #include <stdio.h>
 #include "prototypes.h"
index d21592cc4f11f16bf4b77959269a1ae23c4aada2..881ae7a73d1229950b4efb2ea9b2847a30c8f7a6 100644 (file)
@@ -9,8 +9,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: xmalloc.c,v 1.6 2005/03/31 05:14:50 kloczek Exp $")
+#ident "$Id: xmalloc.c,v 1.7 2005/08/31 17:24:58 kloczek Exp $"
+
 #include <stdio.h>
 #include "defines.h"
 char *xmalloc (size_t size)
index bc489012d93bb6c1b63dc3c2d8b79f031c76a223..9e71d27d86d48ea79d31f3be040ec3933bd76623 100644 (file)
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -43,8 +43,8 @@ EXIT_FAILURE=1
 
 PROGRAM=ltmain.sh
 PACKAGE=libtool
-VERSION=1.5.18
-TIMESTAMP=" (1.1220.2.246 2005/05/16 10:00:18)"
+VERSION=1.5.20
+TIMESTAMP=" (1.1220.2.287 2005/08/31 18:54:15)"
 
 # See if we are running on zsh, and set the options which allow our
 # commands through without removal of \ escapes.
@@ -88,14 +88,15 @@ rm="rm -f"
 Xsed="${SED}"' -e 1s/^X//'
 sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
 # test EBCDIC or ASCII
-case `echo A|tr A '\301'` in
- A) # EBCDIC based system
-  SP2NL="tr '\100' '\n'"
-  NL2SP="tr '\r\n' '\100\100'"
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  SP2NL='tr \040 \012'
+  NL2SP='tr \015\012 \040\040'
   ;;
- *) # Assume ASCII based system
-  SP2NL="tr '\040' '\012'"
-  NL2SP="tr '\015\012' '\040\040'"
+ *) # EBCDIC based system
+  SP2NL='tr \100 \n'
+  NL2SP='tr \r\n \100\100'
   ;;
 esac
 
@@ -133,7 +134,6 @@ show_help=
 execute_dlfiles=
 lo2o="s/\\.lo\$/.${objext}/"
 o2lo="s/\\.${objext}\$/.lo/"
-quote_scanset='[[~#^*{};<>?'"'"'       ]'
 
 #####################################
 # Shell function definitions:
@@ -192,7 +192,7 @@ func_infer_tag ()
       CC_quoted=
       for arg in $CC; do
        case $arg in
-         *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+         *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
          arg="\"$arg\""
          ;;
        esac
@@ -213,7 +213,7 @@ func_infer_tag ()
            for arg in $CC; do
            # Double-quote args containing other shell metacharacters.
            case $arg in
-             *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+             *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
              arg="\"$arg\""
              ;;
            esac
@@ -337,7 +337,7 @@ func_extract_archives ()
            func_extract_an_archive "$my_xdir" "$my_xabs"
          fi # $darwin_arches
        fi # $run
-      ;;
+       ;;
       *)
         func_extract_an_archive "$my_xdir" "$my_xabs"
         ;;
@@ -576,7 +576,7 @@ if test -z "$show_help"; then
 
     for arg
     do
-      case "$arg_mode" in
+      case $arg_mode in
       arg  )
        # do not "continue".  Instead, add this to base_compile
        lastarg="$arg"
@@ -627,7 +627,7 @@ if test -z "$show_help"; then
            # Many Bourne shells cannot handle close brackets correctly
            # in scan sets, so we specify it separately.
            case $arg in
-             *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+             *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
              arg="\"$arg\""
              ;;
            esac
@@ -662,7 +662,7 @@ if test -z "$show_help"; then
       # in scan sets (worked around with variable expansion),
       # and furthermore cannot handle '|' '&' '(' ')' in scan sets 
       # at all, so we specify them separately.
-      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
        lastarg="\"$lastarg\""
        ;;
       esac
@@ -737,13 +737,12 @@ if test -z "$show_help"; then
 
     qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
     case $qlibobj in
-      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
        qlibobj="\"$qlibobj\"" ;;
     esac
-    if test "X$libobj" != "X$qlibobj"; then
-       $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
-       exit $EXIT_FAILURE
-    fi
+    test "X$libobj" != "X$qlibobj" \
+       && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"'  &()|`$[]' \
+       && $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
     objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
     xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
     if test "X$xdir" = "X$obj"; then
@@ -824,7 +823,7 @@ compiler."
     fi
     qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
     case $qsrcfile in
-      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
       qsrcfile="\"$qsrcfile\"" ;;
     esac
 
@@ -1111,7 +1110,7 @@ EOF
       arg="$1"
       shift
       case $arg in
-      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
        qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
        ;;
       *) qarg=$arg ;;
@@ -1420,7 +1419,7 @@ EOF
        continue
        ;;
 
-      -framework)
+      -framework|-arch)
         prev=darwin_framework
         compiler_flags="$compiler_flags $arg"
        compile_command="$compile_command $arg"
@@ -1543,7 +1542,7 @@ EOF
        # to be aesthetically quoted because they are evaled later.
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
        case $arg in
-       *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
          arg="\"$arg\""
          ;;
        esac
@@ -1659,7 +1658,7 @@ EOF
        for flag in $args; do
          IFS="$save_ifs"
          case $flag in
-           *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+           *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
            flag="\"$flag\""
            ;;
          esac
@@ -1677,7 +1676,7 @@ EOF
        for flag in $args; do
          IFS="$save_ifs"
          case $flag in
-           *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+           *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
            flag="\"$flag\""
            ;;
          esac
@@ -1710,7 +1709,7 @@ EOF
        # to be aesthetically quoted because they are evaled later.
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
        case $arg in
-       *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
          arg="\"$arg\""
          ;;
        esac
@@ -1844,7 +1843,7 @@ EOF
        # to be aesthetically quoted because they are evaled later.
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
        case $arg in
-       *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
          arg="\"$arg\""
          ;;
        esac
@@ -2409,7 +2408,7 @@ EOF
              case "$temp_rpath " in
              *" $dir "*) ;;
              *" $absdir "*) ;;
-             *) temp_rpath="$temp_rpath $dir" ;;
+             *) temp_rpath="$temp_rpath $absdir" ;;
              esac
            fi
 
@@ -2595,7 +2594,7 @@ EOF
                add_dir="-L$dir"
                # Try looking first in the location we're being installed to.
                if test -n "$inst_prefix_dir"; then
-                 case "$libdir" in
+                 case $libdir in
                    [\\/]*)
                      add_dir="$add_dir -L$inst_prefix_dir$libdir"
                      ;;
@@ -2668,7 +2667,7 @@ EOF
              add_dir="-L$libdir"
              # Try looking first in the location we're being installed to.
              if test -n "$inst_prefix_dir"; then
-               case "$libdir" in
+               case $libdir in
                  [\\/]*)
                    add_dir="$add_dir -L$inst_prefix_dir$libdir"
                    ;;
@@ -2729,8 +2728,6 @@ EOF
              fi
            fi
          else
-           convenience="$convenience $dir/$old_library"
-           old_convenience="$old_convenience $dir/$old_library"
            deplibs="$dir/$old_library $deplibs"
            link_static=yes
          fi
@@ -3420,7 +3417,7 @@ EOF
          if test "$?" -eq 0 ; then
            ldd_output=`ldd conftest`
            for i in $deplibs; do
-             name="`expr $i : '-l\(.*\)'`"
+             name=`expr $i : '-l\(.*\)'`
              # If $name is empty we are operating on a -L argument.
               if test "$name" != "" && test "$name" -ne "0"; then
                if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
@@ -3457,7 +3454,7 @@ EOF
            # Error occurred in the first compile.  Let's try to salvage
            # the situation: Compile a separate program for each library.
            for i in $deplibs; do
-             name="`expr $i : '-l\(.*\)'`"
+             name=`expr $i : '-l\(.*\)'`
              # If $name is empty we are operating on a -L argument.
               if test "$name" != "" && test "$name" != "0"; then
                $rm conftest
@@ -3509,7 +3506,7 @@ EOF
          set dummy $deplibs_check_method
          file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
          for a_deplib in $deplibs; do
-           name="`expr $a_deplib : '-l\(.*\)'`"
+           name=`expr $a_deplib : '-l\(.*\)'`
            # If $name is empty we are operating on a -L argument.
             if test "$name" != "" && test  "$name" != "0"; then
              if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
@@ -3578,7 +3575,7 @@ EOF
          set dummy $deplibs_check_method
          match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
          for a_deplib in $deplibs; do
-           name="`expr $a_deplib : '-l\(.*\)'`"
+           name=`expr $a_deplib : '-l\(.*\)'`
            # If $name is empty we are operating on a -L argument.
            if test -n "$name" && test "$name" != "0"; then
              if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
@@ -3819,6 +3816,9 @@ EOF
                # The command line is too long to execute in one step.
                $show "using reloadable object file for export list..."
                skipped_export=:
+               # Break out early, otherwise skipped_export may be
+               # set to false by a later but shorter cmd.
+               break
              fi
            done
            IFS="$save_ifs"
@@ -3888,7 +3888,8 @@ EOF
          fi
        fi
 
-       if test "X$skipped_export" != "X:" && len=`expr "X$test_cmds" : ".*"` &&
+       if test "X$skipped_export" != "X:" &&
+          len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
           test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
          :
        else
@@ -3923,7 +3924,7 @@ EOF
          do
            eval test_cmds=\"$reload_cmds $objlist $last_robj\"
            if test "X$objlist" = X ||
-              { len=`expr "X$test_cmds" : ".*"` &&
+              { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
                 test "$len" -le "$max_cmd_len"; }; then
              objlist="$objlist $obj"
            else
@@ -4013,13 +4014,30 @@ EOF
          IFS="$save_ifs"
          eval cmd=\"$cmd\"
          $show "$cmd"
-         $run eval "$cmd" || exit $?
+         $run eval "$cmd" || {
+           lt_exit=$?
+
+           # Restore the uninstalled library and exit
+           if test "$mode" = relink; then
+             $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+           fi
+
+           exit $lt_exit
+         }
        done
        IFS="$save_ifs"
 
        # Restore the uninstalled library and exit
        if test "$mode" = relink; then
          $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
+
+         if test -n "$convenience"; then
+           if test -z "$whole_archive_flag_spec"; then
+             $show "${rm}r $gentop"
+             $run ${rm}r "$gentop"
+           fi
+         fi
+
          exit $EXIT_SUCCESS
        fi
 
@@ -4364,7 +4382,7 @@ extern \"C\" {
            if test -z "$export_symbols"; then
              export_symbols="$output_objdir/$outputname.exp"
              $run $rm $export_symbols
-             $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+             $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
            else
              $run eval "${SED} -e 's/\([ ][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
              $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
@@ -4766,6 +4784,7 @@ EOF
 EOF
 
            cat >> $cwrappersource <<"EOF"
+  return 127;
 }
 
 void *
@@ -5029,13 +5048,13 @@ else
        # Backslashes separate directories on plain windows
        *-*-mingw | *-*-os2*)
          $echo >> $output "\
-      exec \$progdir\\\\\$program \${1+\"\$@\"}
+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
 "
          ;;
 
        *)
          $echo >> $output "\
-      exec \$progdir/\$program \${1+\"\$@\"}
+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
 "
          ;;
        esac
@@ -5045,7 +5064,7 @@ else
     fi
   else
     # The program doesn't exist.
-    \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
+    \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
     \$echo \"This script is just a wrapper for \$program.\" 1>&2
     $echo \"See the $PACKAGE documentation for more information.\" 1>&2
     exit $EXIT_FAILURE
@@ -5168,7 +5187,7 @@ fi\
            oldobjs="$objlist $obj"
            objlist="$objlist $obj"
            eval test_cmds=\"$old_archive_cmds\"
-           if len=`expr "X$test_cmds" : ".*"` &&
+           if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
               test "$len" -le "$max_cmd_len"; then
              :
            else
@@ -5365,11 +5384,11 @@ relink_command=\"$relink_command\""
     # install_prog (especially on Windows NT).
     if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
        # Allow the use of GNU shtool's install command.
-       $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then
+       $echo "X$nonopt" | grep shtool > /dev/null; then
       # Aesthetically quote it.
       arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
       case $arg in
-      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
        arg="\"$arg\""
        ;;
       esac
@@ -5378,14 +5397,14 @@ relink_command=\"$relink_command\""
       shift
     else
       install_prog=
-      arg="$nonopt"
+      arg=$nonopt
     fi
 
     # The real first argument should be the name of the installation program.
     # Aesthetically quote it.
     arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
     case $arg in
-    *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \      ]*|*]*|"")
       arg="\"$arg\""
       ;;
     esac
@@ -5403,28 +5422,31 @@ relink_command=\"$relink_command\""
     do
       if test -n "$dest"; then
        files="$files $dest"
-       dest="$arg"
+       dest=$arg
        continue
       fi
 
       case $arg in
       -d) isdir=yes ;;
-      -f) prev="-f" ;;
-      -g) prev="-g" ;;
-      -m) prev="-m" ;;
-      -o) prev="-o" ;;
+      -f) 
+       case " $install_prog " in
+       *[\\\ /]cp\ *) ;;
+       *) prev=$arg ;;
+       esac
+       ;;
+      -g | -m | -o) prev=$arg ;;
       -s)
        stripme=" -s"
        continue
        ;;
-      -*) ;;
-
+      -*)
+       ;;
       *)
        # If the previous option needed an argument, then skip it.
        if test -n "$prev"; then
          prev=
        else
-         dest="$arg"
+         dest=$arg
          continue
        fi
        ;;
@@ -5433,7 +5455,7 @@ relink_command=\"$relink_command\""
       # Aesthetically quote the argument.
       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
       case $arg in
-      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
        arg="\"$arg\""
        ;;
       esac
@@ -5602,11 +5624,14 @@ relink_command=\"$relink_command\""
 
          if test "$#" -gt 0; then
            # Delete the old symlinks, and create new ones.
+           # Try `ln -sf' first, because the `ln' binary might depend on
+           # the symlink we replace!  Solaris /bin/ln does not understand -f,
+           # so we also need to try rm && ln -s.
            for linkname
            do
              if test "$linkname" != "$realname"; then
-               $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
-               $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
+                $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
+                $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
              fi
            done
          fi
@@ -5619,7 +5644,16 @@ relink_command=\"$relink_command\""
            IFS="$save_ifs"
            eval cmd=\"$cmd\"
            $show "$cmd"
-           $run eval "$cmd" || exit $?
+           $run eval "$cmd" || {
+             lt_exit=$?
+
+             # Restore the uninstalled library and exit
+             if test "$mode" = relink; then
+               $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+             fi
+
+             exit $lt_exit
+           }
          done
          IFS="$save_ifs"
        fi
@@ -5713,17 +5747,15 @@ relink_command=\"$relink_command\""
          notinst_deplibs=
          relink_command=
 
-         # To insure that "foo" is sourced, and not "foo.exe",
-         # finese the cygwin/MSYS system by explicitly sourcing "foo."
-         # which disallows the automatic-append-.exe behavior.
-         case $build in
-         *cygwin* | *mingw*) wrapperdot=${wrapper}. ;;
-         *) wrapperdot=${wrapper} ;;
-         esac
+         # Note that it is not necessary on cygwin/mingw to append a dot to
+         # foo even if both foo and FILE.exe exist: automatic-append-.exe
+         # behavior happens only for exec(3), not for open(2)!  Also, sourcing
+         # `FILE.' does not work on cygwin managed mounts.
+         #
          # If there is no directory component, then add one.
-         case $file in
-         */* | *\\*) . ${wrapperdot} ;;
-         *) . ./${wrapperdot} ;;
+         case $wrapper in
+         */* | *\\*) . ${wrapper} ;;
+         *) . ./${wrapper} ;;
          esac
 
          # Check the variables that should have been set.
@@ -5751,17 +5783,15 @@ relink_command=\"$relink_command\""
          done
 
          relink_command=
-         # To insure that "foo" is sourced, and not "foo.exe",
-         # finese the cygwin/MSYS system by explicitly sourcing "foo."
-         # which disallows the automatic-append-.exe behavior.
-         case $build in
-         *cygwin* | *mingw*) wrapperdot=${wrapper}. ;;
-         *) wrapperdot=${wrapper} ;;
-         esac
+         # Note that it is not necessary on cygwin/mingw to append a dot to
+         # foo even if both foo and FILE.exe exist: automatic-append-.exe
+         # behavior happens only for exec(3), not for open(2)!  Also, sourcing
+         # `FILE.' does not work on cygwin managed mounts.
+         #
          # If there is no directory component, then add one.
-         case $file in
-         */* | *\\*) . ${wrapperdot} ;;
-         *) . ./${wrapperdot} ;;
+         case $wrapper in
+         */* | *\\*) . ${wrapper} ;;
+         *) . ./${wrapper} ;;
          esac
 
          outputname=
@@ -5802,7 +5832,7 @@ relink_command=\"$relink_command\""
        fi
 
        # remove .exe since cygwin /usr/bin/install will append another
-       # one anyways
+       # one anyway 
        case $install_prog,$host in
        */usr/bin/install*,*cygwin*)
          case $file:$destfile in
index 92c45ad136a3b3decc802b997f935e3ac8be86ae..27c3f189b2b3e121036b4601d7b855fba28f4f61 100644 (file)
@@ -24,6 +24,7 @@ man_XMANS = \
        login.access.5.xml \
        login.defs.5.xml \
        logoutd.8.xml \
+       newgrp.1.xml \
        newusers.8.xml \
        passwd.1.xml \
        passwd.5.xml \
@@ -32,6 +33,7 @@ man_XMANS = \
        pwconv.8.xml \
        shadow.3.xml \
        shadow.5.xml \
+       sg.1.xml \
        su.1.xml \
        suauth.5.xml \
        useradd.8.xml \
@@ -94,6 +96,131 @@ EXTRA_DIST = $(man_MANS) \
 
 all:
 
-shadow-man-pages.pot:
+shadow-man-pages.pot: $(man_XMANS)
        xml2po -o $@ $(man_XMANS)
 
+if ENABLE_REGENERATE_MAN
+
+chage.1: chage.1.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+chfn.1: chfn.1.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+chpasswd.8: chpasswd.8.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+chsh.1: chsh.1.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+expiry.1: expiry.1.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+faillog.5: faillog.5.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+faillog.8: faillog.8.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+gpasswd.1: gpasswd.1.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+groupadd.8: groupadd.8.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+groupdel.8: groupdel.8.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+groupmems.8: groupmems.8.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+groupmod.8: groupmod.8.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+groups.1: groups.1.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+grpck.8: grpck.8.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+gshadow.5: gshadow.5.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+id.1: id.1.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+lastlog.8: lastlog.8.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+limits.5: limits.5.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+login.1: login.1.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+login.access.5: login.access.5.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+login.defs.5: login.defs.5.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+logoutd.8: logoutd.8.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+newgrp.1: newgrp.1.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+newusers.8: newusers.8.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+passwd.1: passwd.1.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+passwd.5: passwd.5.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+porttime.5: porttime.5.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+pw_auth.3: pw_auth.3.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+pwck.8: pwck.8.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+grpconv.8 grpunconv.8 pwconv.8 pwunconv.8: pwconv.8.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+shadow.3 getspnam.3: shadow.3.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+shadow.5: shadow.5.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+sg.1: sg.1.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+su.1: su.1.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+sulogin.8: sulogin.8.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+suauth.5: suauth.5.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+useradd.8: useradd.8.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+userdel.8: userdel.8.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+usermod.8: usermod.8.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+vigr.8 vipw.8: vipw.8.xml
+       $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+CLEANFILES = $(man_MANS)
+
+endif
index a119b11f27a33ff91d69444488d948646fc02dca..32225ea1e424c3429c6b2973590920f0e6710e84 100644 (file)
@@ -38,7 +38,8 @@ host_triplet = @host@
 subdir = man
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -90,6 +91,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -101,6 +104,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -140,6 +144,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -209,6 +216,7 @@ man_XMANS = \
        login.access.5.xml \
        login.defs.5.xml \
        logoutd.8.xml \
+       newgrp.1.xml \
        newusers.8.xml \
        passwd.1.xml \
        passwd.5.xml \
@@ -217,6 +225,7 @@ man_XMANS = \
        pwconv.8.xml \
        shadow.3.xml \
        shadow.5.xml \
+       sg.1.xml \
        su.1.xml \
        suauth.5.xml \
        useradd.8.xml \
@@ -277,6 +286,7 @@ EXTRA_DIST = $(man_MANS) \
        sulogin.8.xml \
        sulogin.8.xml
 
+@ENABLE_REGENERATE_MAN_TRUE@CLEANFILES = $(man_MANS)
 all: all-recursive
 
 .SUFFIXES:
@@ -289,9 +299,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  man/Makefile
+         $(AUTOMAKE) --foreign  man/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
@@ -699,6 +709,7 @@ install-strip:
 mostlyclean-generic:
 
 clean-generic:
+       -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
 
 distclean-generic:
        -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
@@ -776,8 +787,128 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \
 
 all:
 
-shadow-man-pages.pot:
+shadow-man-pages.pot: $(man_XMANS)
        xml2po -o $@ $(man_XMANS)
+
+@ENABLE_REGENERATE_MAN_TRUE@chage.1: chage.1.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@chfn.1: chfn.1.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@chpasswd.8: chpasswd.8.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@chsh.1: chsh.1.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@expiry.1: expiry.1.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@faillog.5: faillog.5.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@faillog.8: faillog.8.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@gpasswd.1: gpasswd.1.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@groupadd.8: groupadd.8.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@groupdel.8: groupdel.8.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@groupmems.8: groupmems.8.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@groupmod.8: groupmod.8.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@groups.1: groups.1.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@grpck.8: grpck.8.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@gshadow.5: gshadow.5.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@id.1: id.1.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@lastlog.8: lastlog.8.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@limits.5: limits.5.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@login.1: login.1.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@login.access.5: login.access.5.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@login.defs.5: login.defs.5.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@logoutd.8: logoutd.8.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@newgrp.1: newgrp.1.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@newusers.8: newusers.8.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@passwd.1: passwd.1.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@passwd.5: passwd.5.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@porttime.5: porttime.5.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@pw_auth.3: pw_auth.3.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@pwck.8: pwck.8.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@grpconv.8 grpunconv.8 pwconv.8 pwunconv.8: pwconv.8.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@shadow.3 getspnam.3: shadow.3.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@shadow.5: shadow.5.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@sg.1: sg.1.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@su.1: su.1.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@sulogin.8: sulogin.8.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@suauth.5: suauth.5.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@useradd.8: useradd.8.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@userdel.8: userdel.8.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@usermod.8: usermod.8.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@vigr.8 vipw.8: vipw.8.xml
+@ENABLE_REGENERATE_MAN_TRUE@   $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
index f94df8c7781074fdbae1b831b79f54c7f9bb4ada..3db7c9932e9e6430c83a5e3b7fb94856afb783e1 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "CHAGE" "1" "08/09/2005" "User Commands" "User Commands"
+.TH "CHAGE" "1" "10/10/2005" "User Commands" "User Commands"
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -14,37 +14,38 @@ chage \- change user password expiry information
 \fBchage\fR [\fIoptions\fR] \fIuser\fR
 .SH "DESCRIPTION"
 .PP
-\fBchage\fR 
+\fBchage\fR
 command changes the number of days between password changes and the date of the last password change. This information is used by the system to determine when a user must change her password.
 .SH "OPTIONS"
 .PP
-The options which apply to the 
-\fBchage\fR 
+The options which apply to the
+\fBchage\fR
 command are:
 .TP
 \fB\-d\fR, \fB\-\-lastday\fR \fILAST_DAY\fR
 Set the number of days since January 1st, 1970 when the password was last changed. The date may also be expressed in the format YYYY\-MM\-DD (or the format more commonly used in your area).
 .TP
 \fB\-E\fR, \fB\-\-expiredate\fR \fIEXPIRE_DATE\fR
-Set the date on which the user's account will no longer be accessible. The 
-\fIEXPIRE_DATE\fR 
-option is the number of days since January 1, 1970 on which the accounted is locked. The date may also be expressed in the format YYYY\-MM\-DD (or the format more commonly used in your area). A user whose account is locked must contact the system administrator before being able to use the system again.
-
-Passing the number 
-\fI\-1\fR 
-as the 
-\fIEXPIRE_DATE\fR 
+Set the date number of days since January 1, 1970 on which the user's account will no longer be accessible. The date may also be expressed in the format YYYY\-MM\-DD (or the format more commonly used in your area). A user whose account is locked must contact the system administrator before being able to use the system again.
+.sp
+Passing the number
+\fI\-1\fR
+as the
+\fIEXPIRE_DATE\fR
 will remove an account expiration date.
 .TP
+\fB\-h\fR, \fB\-\-help\fR
+Display help message and exit.
+.TP
 \fB\-I\fR, \fB\-\-inactive\fR \fIINACTIVE\fR
-Set the number of days of inactivity after a password has expired before the account is locked. The 
-\fIINACTIVE\fR 
+Set the number of days of inactivity after a password has expired before the account is locked. The
+\fIINACTIVE\fR
 option is the number of days of inactivity. A user whose account is locked must contact the system administrator before being able to use the system again.
-
-Passing the number 
-\fI\-1\fR 
-as the 
-\fIINACTIVE\fR 
+.sp
+Passing the number
+\fI\-1\fR
+as the
+\fIINACTIVE\fR
 will remove an accounts inactivity.
 .TP
 \fB\-l\fR, \fB\-\-list\fR
@@ -54,40 +55,40 @@ Show account aging information.
 Set the minimum number of days between password changes. A value of zero for this field indicates that the user may change her password at any time.
 .TP
 \fB\-M\fR, \fB\-\-maxdays\fR \fIMAX_DAYS\fR
-Set maximum number of days during which a password is valid. When 
-\fIMAX_DAYS\fR 
-plus 
-\fILAST_DAY\fR 
-is less than the current day, the user will be required to change her password before being able to use her account. This occurence can be planned for in advance by use of the 
-\fB\-W\fR 
+Set maximum number of days during which a password is valid. When
+\fIMAX_DAYS\fR
+plus
+\fILAST_DAY\fR
+is less than the current day, the user will be required to change her password before being able to use her account. This occurence can be planned for in advance by use of the
+\fB\-W\fR
 option, which provides the user with advance warning.
-
-Passing the number 
-\fI\-1\fR 
-as the 
-\fIMAX_DAYS\fR 
+.sp
+Passing the number
+\fI\-1\fR
+as the
+\fIMAX_DAYS\fR
 will remove checking a password validation.
 .TP
-\fB\-W\fR, \fBwarndays\fR \fIWARN_DAYS\fR
-Set the number of days of warning before a password change is required. The 
-\fIWARN_DAYS\fR 
+\fB\-W\fR, \fB\-\-warndays\fR \fIWARN_DAYS\fR
+Set the number of days of warning before a password change is required. The
+\fIWARN_DAYS\fR
 option is the number of days prior to the password expiring that a user will be warned her password is about to expire.
 .PP
-If none of the options are selected, 
-\fBchage\fR 
-operates in an interactive fashion, prompting the user with the current values for all of the fields. Enter the new value to change the field, or leave the line blank to use the current value. The current value is displayed between a pair of 
-\fI[ ]\fR 
+If none of the options are selected,
+\fBchage\fR
+operates in an interactive fashion, prompting the user with the current values for all of the fields. Enter the new value to change the field, or leave the line blank to use the current value. The current value is displayed between a pair of
+\fI[ ]\fR
 marks.
 .SH "NOTE"
 .PP
-The 
-\fBchage\fR 
+The
+\fBchage\fR
 program requires shadow password file to be available. Its functionality is not available when passwords are stored in the passwd file.
 .PP
-The 
-\fBchage\fR 
-command is restricted to the root user, except for the 
-\fB\-l\fR 
+The
+\fBchage\fR
+command is restricted to the root user, except for the
+\fB\-l\fR
 option, which may be used by an unprivileged user to determine when her password or account is due to expire.
 .SH "FILES"
 .TP
@@ -96,9 +97,26 @@ user account information
 .TP
 \fI/etc/shadow\fR
 secure user account information
+.SH "EXIT VALUES"
+.PP
+The
+\fBchage\fR
+command exits with the following values:
+.TP
+\fI0\fR
+success
+.TP
+\fI1\fR
+permission denied
+.TP
+\fI2\fR
+invalid command syntax
+.TP
+\fI15\fR
+can't find the shadow password file
 .SH "SEE ALSO"
 .PP
-\fBpasswd\fR(5), 
+\fBpasswd\fR(5),
 \fBshadow\fR(5).
 .SH "AUTHOR"
 .PP
index 514f1093747e8d2f734050306b8b60ca819bddb0..c360adf71cf6328dec23090305a46fe936c4bb2d 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='chage.1'>
-  <!--  $Id: chage.1.xml,v 1.15 2005/08/10 08:25:00 kloczek Exp $  -->
+  <!--  $Id: chage.1.xml,v 1.27 2005/10/10 17:11:22 kloczek Exp $  -->
   <refmeta>
     <refentrytitle>chage</refentrytitle>
     <manvolnum>1</manvolnum>
       <arg choice='plain'><replaceable>user</replaceable></arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><command>chage</command> command changes the number of days
-      between password changes and the date of the last password change. 
-      This information is used by the system to determine when a user must
-      change her password.
+    <para>
+      <command>chage</command> command changes the number of days between
+      password changes and the date of the last password change. This
+      information is used by the system to determine when a user must change
+      her password.
     </para>
   </refsect1>
-  
+
   <refsect1 id='options'>
     <title>OPTIONS</title>
     <para>
     </para>
     <variablelist remap='IP'>
       <varlistentry>
-        <term>
-          <option>-d</option>, <option>--lastday</option> <replaceable>LAST_DAY</replaceable>
-        </term>
-        <listitem>
-          <para>
-            Set the number of days since January 1st, 1970 when the password
-            was last changed. The date may also be expressed in the format
-            YYYY-MM-DD (or the format more commonly used in your area).
-          </para>
-        </listitem>
+       <term>
+         <option>-d</option>, <option>--lastday</option> <replaceable>LAST_DAY</replaceable>
+       </term>
+       <listitem>
+         <para>
+           Set the number of days since January 1st, 1970 when the password
+           was last changed. The date may also be expressed in the format
+           YYYY-MM-DD (or the format more commonly used in your area).
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-E</option>, <option>--expiredate</option> <replaceable>EXPIRE_DATE</replaceable>
-        </term>
-        <listitem>
-          <para>Set the date on which the user's account will no longer be
-            accessible. The <emphasis remap='I'>EXPIRE_DATE</emphasis> option
-            is the number of days since January 1, 1970 on which the
-            accounted is locked. The date may also be expressed in the
-            format YYYY-MM-DD (or the format more commonly used in your
-            area). A user whose account is locked must contact the system
-            administrator before being able to use the system again.
+       <term>
+         <option>-E</option>, <option>--expiredate</option> <replaceable>EXPIRE_DATE</replaceable>
+       </term>
+       <listitem>
+         <para>
+           Set the date number of days since January 1, 1970 on which the
+           user's account will no longer be accessible. The date may also
+           be expressed in the format YYYY-MM-DD (or the format more
+           commonly used in your area). A user whose account is locked must
+           contact the system administrator before being able to use the
+           system again.
          </para>
          <para>
-           Passing the number <emphasis remap='I'>-1</emphasis> as the <emphasis
-           remap='I'>EXPIRE_DATE</emphasis> will remove an account expiration date.
-          </para>
-        </listitem>
+           Passing the number <emphasis remap='I'>-1</emphasis> as the
+           <replaceable>EXPIRE_DATE</replaceable> will remove an account
+           expiration date.
+         </para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term><option>-h</option>, <option>--help</option></term>
+       <listitem>
+         <para>Display help message and exit.</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-I</option>, <option>--inactive</option> <replaceable>INACTIVE</replaceable>
-        </term>
-        <listitem>
-          <para>
-            Set the number of days of inactivity after a password has
-            expired before the account is locked. The <emphasis
-            remap='I'>INACTIVE</emphasis> option is the number of days of
-            inactivity. A user whose account is locked must contact the system
-           administrator before being able to use the system again.
+       <term>
+         <option>-I</option>, <option>--inactive</option> <replaceable>INACTIVE</replaceable>
+       </term>
+       <listitem>
+         <para>
+           Set the number of days of inactivity after a password has
+           expired before the account is locked. The
+           <replaceable>INACTIVE</replaceable> option is the number of days
+           of inactivity. A user whose account is locked must contact the
+           system administrator before being able to use the system again.
          </para>
          <para>
-           Passing the number <emphasis remap='I'>-1</emphasis> as the <emphasis
-           remap='I'>INACTIVE</emphasis> will remove an accounts inactivity.
-          </para>
-        </listitem>
+           Passing the number <emphasis remap='I'>-1</emphasis> as the
+           <replaceable>INACTIVE</replaceable> will remove an accounts
+           inactivity.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-l</option>, <option>--list</option>
-        </term>
-        <listitem>
-          <para>
+       <term>
+         <option>-l</option>, <option>--list</option>
+       </term>
+       <listitem>
+         <para>
          Show account aging information.
-          </para>
-        </listitem>
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-m</option>, <option>--mindays</option> <replaceable>MIN_DAYS</replaceable>
-        </term>
-        <listitem>
-          <para>
-            Set the minimum number of days between password changes. A value
-            of zero for this field indicates that the user may change her
-            password at any time.
-          </para>
-        </listitem>
+       <term>
+         <option>-m</option>, <option>--mindays</option> <replaceable>MIN_DAYS</replaceable>
+       </term>
+       <listitem>
+         <para>
+           Set the minimum number of days between password changes. A value
+           of zero for this field indicates that the user may change her
+           password at any time.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-M</option>, <option>--maxdays</option> <replaceable>MAX_DAYS</replaceable>
-        </term>
-        <listitem>
-          <para>
-            Set maximum number of days during which a password is valid.
-            When <emphasis remap='I'>MAX_DAYS</emphasis> plus <emphasis
-            remap='I'>LAST_DAY</emphasis> is less than the current day, the
-            user will be required to change her password before being able
-            to use her account. This occurence can be planned for in
-            advance by use of the <option>-W</option> option, which provides
-            the user with advance warning.
-          </para>
+       <term>
+         <option>-M</option>, <option>--maxdays</option> <replaceable>MAX_DAYS</replaceable>
+       </term>
+       <listitem>
+         <para>
+           Set maximum number of days during which a password is valid. 
+           When <replaceable>MAX_DAYS</replaceable> plus
+           <replaceable>LAST_DAY</replaceable> is less than the current
+           day, the user will be required to change her password before
+           being able to use her account. This occurence can be planned for
+           in advance by use of the <option>-W</option> option, which
+           provides the user with advance warning.
+         </para>
          <para>
-           Passing the number <emphasis remap='I'>-1</emphasis> as the <emphasis
-           remap='I'>MAX_DAYS</emphasis> will remove checking a password validation.
-          </para>
-        </listitem>
+           Passing the number <emphasis remap='I'>-1</emphasis> as the
+           <replaceable>MAX_DAYS</replaceable> will remove checking a
+           password validation.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-W</option>, <option>warndays</option> <replaceable>WARN_DAYS</replaceable>
-        </term>
-        <listitem>
-          <para>
-            Set the number of days of warning before a password change is
-            required. The <emphasis remap='I'>WARN_DAYS</emphasis> option is
-            the number of days prior to the password expiring that a user
-            will be warned her password is about to expire.
-          </para>
-        </listitem>
+       <term>
+         <option>-W</option>, <option>--warndays</option> <replaceable>WARN_DAYS</replaceable>
+       </term>
+       <listitem>
+         <para>
+           Set the number of days of warning before a password change is
+           required. The <replaceable>WARN_DAYS</replaceable> option is the
+           number of days prior to the password expiring that a user will
+           be warned her password is about to expire.
+         </para>
+       </listitem>
       </varlistentry>
     </variablelist>
     <para>
       in an interactive fashion, prompting the user with the current values
       for all of the fields. Enter the new value to change the field, or
       leave the line blank to use the current value. The current value is
-      displayed between a pair of <emphasis remap='B'>[ ]</emphasis> marks.
+      displayed between a pair of <emphasis>[ ]</emphasis> marks.
     </para>
   </refsect1>
   <refsect1 id='note'>
       to expire.
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term>
-          <filename>/etc/passwd</filename>
-        </term>
-        <listitem>user account information</listitem>
+       <term>
+         <filename>/etc/passwd</filename>
+       </term>
+       <listitem>
+         <para>user account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <filename>/etc/shadow</filename>
-        </term>
-        <listitem>secure user account information</listitem>
+       <term>
+         <filename>/etc/shadow</filename>
+       </term>
+       <listitem>
+         <para>secure user account information</para>
+       </listitem>
       </varlistentry>
     </variablelist>
-    
   </refsect1>
-  
+
+  <refsect1 id='exit_values'>
+    <title>EXIT VALUES</title>
+    <para>
+      The <command>chage</command> command exits with the following values:
+      <variablelist>
+       <varlistentry>
+         <term><replaceable>0</replaceable></term>
+         <listitem>
+           <para>success</para>
+         </listitem>
+       </varlistentry>
+       <varlistentry>
+         <term><replaceable>1</replaceable></term>
+         <listitem>
+           <para>permission denied</para>
+         </listitem>
+       </varlistentry>
+       <varlistentry>
+         <term><replaceable>2</replaceable></term>
+         <listitem>
+           <para>invalid command syntax</para>
+         </listitem>
+       </varlistentry>
+       <varlistentry>
+         <term><replaceable>15</replaceable></term>
+         <listitem>
+           <para>can't find the shadow password file</para>
+         </listitem>
+       </varlistentry>
+      </variablelist>
+    </para>
+  </refsect1>
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
+       <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para>
index ba2c979602631e5006a0e8d8a9e28ffcb80c8921..3448373b4f2d20b455a9d0288f5a0049478dbaaf 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "CHFN" "1" "08/10/2005" "User Commands" "User Commands"
+.TH "CHFN" "1" "10/03/2005" "User Commands" "User Commands"
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -14,33 +14,35 @@ chfn \- change real user name and information
 \fBchfn\fR [\-f\ \fIfull_name\fR] [\-r\ \fIroom_no\fR] [\-w\ \fIwork_ph\fR] [\-h\ \fIhome_ph\fR] [\-o\ \fIother\fR] [\fIuser\fR]
 .SH "DESCRIPTION"
 .PP
-\fBchfn\fR 
-changes user fullname, office number, office extension, and home phone number information for a user's account. This information is typically printed by 
-\fBfinger\fR(1) 
-and similar programs. A normal user may only change the fields for her own account, subject to the restrictions in 
-\fI/etc/login.defs\fR. (The default configuration is to prevent users from changing their fullname.) The super user may change any field for any account. Additionally, only the super user may use the 
-\fB\-o\fR 
+\fBchfn\fR
+changes user fullname, office number, office extension, and home phone number information for a user's account. This information is typically printed by
+\fBfinger\fR(1)
+and similar programs. A normal user may only change the fields for her own account, subject to the restrictions in
+\fI/etc/login.defs\fR. (The default configuration is to prevent users from changing their fullname.) The super user may change any field for any account. Additionally, only the super user may use the
+\fB\-o\fR
 option to change the undefined portions of the GECOS field.
 .PP
-The only restriction placed on the contents of the fields is that no control characters may be present, nor any of comma, colon, or equal sign. The 
-\fIother\fR 
+The only restriction placed on the contents of the fields is that no control characters may be present, nor any of comma, colon, or equal sign. The
+\fIother\fR
 field does not have this restriction, and is used to store accounting information used by other applications.
 .PP
-If none of the options are selected, 
-\fBchfn\fR 
-operates in an interactive fashion, prompting the user with the current values for all of the fields. Enter the new value to change the field, or leave the line blank to use the current value. The current value is displayed between a pair of 
-\fI[ ]\fR 
+If none of the options are selected,
+\fBchfn\fR
+operates in an interactive fashion, prompting the user with the current values for all of the fields. Enter the new value to change the field, or leave the line blank to use the current value. The current value is displayed between a pair of
+\fI[ ]\fR
 marks. Without options, chfn prompts for the current user account.
 .SH "FILES"
 .TP
+\fI/etc/login.defs\fR
+shadow password suite configuration
+.TP
 \fI/etc/passwd\fR
 user account information
-.TP
-\fI/etc/login.defs\fR
-runtime configuration
 .SH "SEE ALSO"
 .PP
-\fBpasswd\fR(5)
+\fBchsh\fR(1),
+\fBlogin.defs\fR(5),
+\fBpasswd\fR(5).
 .SH "AUTHOR"
 .PP
 Julianne Frances Haugh <jockgrrl@ix.netcom.com>
index 1c68ac4d0e09c5c7b7deee3d06fa9da09201930f..80d9ef840ff7c45063c9a67c2ff47b75971b7856 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
-                   "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+                  "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='chfn.1'>
-  <!-- $Id: chfn.1.xml,v 1.12 2005/08/10 08:23:18 kloczek Exp $ -->
+  <!-- $Id: chfn.1.xml,v 1.17 2005/10/03 17:49:41 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>chfn</refentrytitle>
     <manvolnum>1</manvolnum>
@@ -15,7 +15,7 @@
 
   <refsynopsisdiv id='synopsis'>
     <cmdsynopsis>
-      <command>chfn</command>    
+      <command>chfn</command>
       <arg choice='opt'>-f <replaceable>full_name</replaceable></arg>
       <arg choice='opt'>-r <replaceable>room_no</replaceable></arg>
       <arg choice='opt'>-w <replaceable>work_ph</replaceable></arg>
@@ -24,7 +24,7 @@
       <arg choice='opt'><replaceable>user</replaceable></arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
     <para><command>chfn</command> changes user fullname, office number,
       the <option>-o</option> option to change the undefined portions of the
       GECOS field.
     </para>
-    
+
     <para>The only restriction placed on the contents of the fields is that
       no control characters may be present, nor any of comma, colon, or
       equal sign. The <emphasis remap='I'>other</emphasis> field does not
       have this restriction, and is used to store accounting information
       used by other applications.
     </para>
-    
+
     <para> If none of the options are selected, <command>chfn</command>
       operates in an interactive fashion, prompting the user with the
       current values for all of the fields. Enter the new value to change
       the field, or leave the line blank to use the current value. The
       current value is displayed between a pair of <emphasis remap='B'>[
-        ]</emphasis> marks. Without options, chfn prompts for the current
+       ]</emphasis> marks. Without options, chfn prompts for the current
       user account.
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/passwd</filename></term>
-        <listitem>user account information</listitem>
+       <term><filename>/etc/login.defs</filename></term>
+       <listitem>
+         <para>shadow password suite configuration</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/login.defs</filename></term>
-        <listitem>runtime configuration</listitem>
+       <term><filename>/etc/passwd</filename></term>
+       <listitem>
+         <para>user account information</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
-      </citerefentry>
+    <para>
+      <citerefentry>
+       <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para>
index 2b7812092f556c13a03ea76c5bd0027024df2ae3..71280f41331bf369b2c1f545957633d8509f0783 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "CHPASSWD" "8" "08/03/2005" "" ""
+.TH "CHPASSWD" "8" "10/01/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -14,18 +14,18 @@ chpasswd \- update passwords in batch mode
 \fBchpasswd\fR [\fIoptions\fR]
 .SH "DESCRIPTION"
 .PP
-\fBchpasswd\fR 
+\fBchpasswd\fR
 reads a list of user name and password pairs from standard input and uses this information to update a group of existing users. Each line is of the format:
 .PP
- \fIuser_name\fR:\fIpassword\fR
+\fIuser_name\fR:\fIpassword\fR
 .PP
 By default the supplied password must be in clear\-text. Default encription algoritm is DES. Also the password age will be updated, if present.
 .PP
 This command is intended to be used in a large system environment where many accounts are created at a single time.
 .SH "OPTIONS"
 .PP
-The options which apply to the 
-\fBchpasswd\fR 
+The options which apply to the
+\fBchpasswd\fR
 command are:
 .TP
 \fB\-e\fR, \fB\-\-encrypted\fR
@@ -38,14 +38,14 @@ Display help message and exit.
 Use MD5 encryption instead DES when the supplied passwords are not encrypted.
 .SH "CAVEATS"
 .PP
-Remember keep protected for reading by others fille passed to standard input 
-\fBchpasswd\fR 
+Remember keep protected for reading by others fille passed to standard input
+\fBchpasswd\fR
 command if it contains unencrypted passwords.
 .SH "SEE ALSO"
 .PP
-\fBpasswd\fR(1), 
-\fBnewusers\fR(8), 
-\fBuseradd\fR(8)
+\fBpasswd\fR(1),
+\fBnewusers\fR(8),
+\fBuseradd\fR(8).
 .SH "AUTHOR"
 .PP
 Julianne Frances Haugh (jockgrrl@ix.netcom.com)
index 86ed12187dbe822c6a84caf4f44864b629cd277c..9a1ffde81e312bc6bc3f1d0f6f9fb84c9b197550 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
-                   "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+                  "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='chpasswd.8'>
-  <!-- $Id: chpasswd.8.xml,v 1.8 2005/06/16 15:42:19 kloczek Exp $ -->
+  <!-- $Id: chpasswd.8.xml,v 1.12 2005/10/01 15:01:45 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>chpasswd</refentrytitle>
     <manvolnum>8</manvolnum>
     <cmdsynopsis>
       <command>chpasswd</command>
       <arg choice='opt'>
-        <replaceable>options</replaceable>
+       <replaceable>options</replaceable>
       </arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><command>chpasswd</command> reads a list of user name and password
+    <para>
+      <command>chpasswd</command> reads a list of user name and password
       pairs from standard input and uses this information to update a group
       of existing users. Each line is of the format:
     </para>
       <emphasis remap='I'>user_name</emphasis>:<emphasis
       remap='I'>password</emphasis>
     </para>
-    <para>By default the supplied password must be in clear-text. Default
+    <para>
+      By default the supplied password must be in clear-text. Default
       encription algoritm is DES. Also the password age will be updated, if
       present.
     </para>
-    <para>This command is intended to be used in a large system environment
+    <para>
+      This command is intended to be used in a large system environment
       where many accounts are created at a single time.
     </para>
   </refsect1>
-  
+
   <refsect1 id='options'>
     <title>OPTIONS</title>
     <para>
     </para>
     <variablelist remap='IP'>
       <varlistentry>
-        <term><option>-e</option>, <option>--encrypted</option></term>
-        <listitem>
-          <para>Supplied passwords are in encrypted form.</para>
-        </listitem>
+       <term><option>-e</option>, <option>--encrypted</option></term>
+       <listitem>
+         <para>Supplied passwords are in encrypted form.</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><option>-h</option>, <option>--help</option></term>
-        <listitem>
-          <para>Display help message and exit.</para>
-        </listitem>
+       <term><option>-h</option>, <option>--help</option></term>
+       <listitem>
+         <para>Display help message and exit.</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><option>-m</option>, <option>--md5</option></term>
-        <listitem>
-          <para>Use MD5 encryption instead DES when the supplied passwords
-            are not encrypted.
-          </para>
-        </listitem>
+       <term><option>-m</option>, <option>--md5</option></term>
+       <listitem>
+         <para>
+           Use MD5 encryption instead DES when the supplied passwords are
+           not encrypted.
+         </para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='caveats'>
     <title>CAVEATS</title>
-    <para>Remember keep protected for reading by others fille passed to
-      standard input <command>chpasswd</command> command if it contains
-      unencrypted passwords.
+    <para>
+      Remember keep protected for reading by others fille passed to standard
+      input <command>chpasswd</command> command if it contains unencrypted
+      passwords.
     </para>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>newusers</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>newusers</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
-      </citerefentry>
+       <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
index 61c262dacd4e416ae5acefb1cff63dd70da36e4b..d4845a701dcfba73064600a8f20532e11ff32f63 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "CHSH" "1" "08/03/2005" "User Commands" "User Commands"
+.TH "CHSH" "1" "10/03/2005" "User Commands" "User Commands"
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -14,23 +14,23 @@ chsh \- change login shell
 \fBchsh\fR [\-s\ \fIlogin_shell\fR] [\fIuser\fR]
 .SH "DESCRIPTION"
 .PP
-\fBchsh\fR 
+\fBchsh\fR
 changes the user login shell. This determines the name of the user's initial login command. A normal user may only change the login shell for her own account, the super user may change the login shell for any account.
 .PP
-The only restrictions placed on the login shell is that the command name must be listed in 
-\fI/etc/shells\fR, unless the invoker is the super\-user, and then any value may be added. An account with a restricted login shell may not change her login shell. For this reason, placing 
-\fI/bin/rsh\fR 
-in 
-\fI/etc/shells\fR 
-is discouraged since accidentally changing to a restricted shell would prevent the user from every changing her login shell back to its original value.
+The only restriction placed on the login shell is that the command name must be listed in
+\fI/etc/shells\fR, unless the invoker is the super\-user, and then any value may be added. An account with a restricted login shell may not change her login shell. For this reason, placing
+\fI/bin/rsh\fR
+in
+\fI/etc/shells\fR
+is discouraged since accidentally changing to a restricted shell would prevent the user from ever changing her login shell back to its original value.
 .SH "OPTIONS"
 .PP
-If the 
-\fB\-s\fR 
-option is not selected, 
-\fBchsh\fR 
-operates in an interactive fashion, prompting the user with the current login shell. Enter the new value to change the shell, or leave the line blank to use the current one. The current shell is displayed between a pair of 
-\fI[ ]\fR 
+If the
+\fB\-s\fR
+option is not selected,
+\fBchsh\fR
+operates in an interactive fashion, prompting the user with the current login shell. Enter the new value to change the shell, or leave the line blank to use the current one. The current shell is displayed between a pair of
+\fI[ ]\fR
 marks.
 .SH "FILES"
 .TP
@@ -39,10 +39,14 @@ user account information
 .TP
 \fI/etc/shells\fR
 list of valid login shells
+.TP
+\fI/etc/login.defs\fR
+shadow password suite configuration
 .SH "SEE ALSO"
 .PP
-\fBchfn\fR(1), 
-\fBpasswd\fR(5)
+\fBchfn\fR(1),
+\fBlogin.defs\fR(5),
+\fBpasswd\fR(5).
 .SH "AUTHOR"
 .PP
 Julianne Frances Haugh <jockgrrl@ix.netcom.com>
index cef1a164331e1be451b9c0a680b665572710362f..dc7f2920ab009daac3d77093c5a8b090039251c4 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-<refentry id='chsh1'>
-  <!-- $Id: chsh.1.xml,v 1.8 2005/06/16 15:43:48 kloczek Exp $ -->
+<refentry id='chsh.1'>
+  <!-- $Id: chsh.1.xml,v 1.18 2005/10/03 17:49:41 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>chsh</refentrytitle>
     <manvolnum>1</manvolnum>
 
   <refsynopsisdiv id='synopsis'>
     <cmdsynopsis>
-      <command>chsh</command>    
+      <command>chsh</command>
       <arg choice='opt'>-s <replaceable>login_shell</replaceable></arg>
       <arg choice='opt'><replaceable>user</replaceable>
       </arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><command>chsh</command> changes the user login shell. This determines
+    <para>
+      <command>chsh</command> changes the user login shell. This determines
       the name of the user's initial login command. A normal user may only
       change the login shell for her own account, the super user may change
       the login shell for any account.
     </para>
-    
-    <para>The only restrictions placed on the login shell is that the
-      command name must be listed in <filename>/etc/shells</filename>,
-      unless the invoker is the super-user, and then any value may be added. 
-      An account with a restricted login shell may not change her login
-      shell. For this reason, placing <filename>/bin/rsh</filename> in
+
+    <para>
+      The only restriction placed on the login shell is that the command
+      name must be listed in <filename>/etc/shells</filename>, unless the
+      invoker is the super-user, and then any value may be added. An
+      account with a restricted login shell may not change her login shell.
+      For this reason, placing <filename>/bin/rsh</filename> in
       <filename>/etc/shells</filename> is discouraged since accidentally
-      changing to a restricted shell would prevent the user from every
+      changing to a restricted shell would prevent the user from ever
       changing her login shell back to its original value.
     </para>
   </refsect1>
-  
+
   <refsect1 id='options'>
     <title>OPTIONS</title>
-    <para>If the <option>-s</option> option is not selected,
+    <para>
+      If the <option>-s</option> option is not selected,
       <command>chsh</command> operates in an interactive fashion, prompting
       the user with the current login shell. Enter the new value to change
       the shell, or leave the line blank to use the current one. The current
-      shell is displayed between a pair of <emphasis remap='B'>[ ]</emphasis>
-      marks.
+      shell is displayed between a pair of <emphasis>[ ]</emphasis> marks.
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/passwd</filename></term>
-        <listitem>user account information</listitem>
+       <term><filename>/etc/passwd</filename></term>
+       <listitem>
+         <para>user account information</para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term><filename>/etc/shells</filename></term>
+       <listitem>
+         <para>list of valid login shells</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/shells</filename></term>
-        <listitem>list of valid login shells</listitem>
+       <term><filename>/etc/login.defs</filename></term>
+       <listitem>
+         <para>shadow password suite configuration</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
-      </citerefentry>
+       <refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para>
index cda3bb5f80b5abb98f3a2dd6f84852251b3a68a8..d55ffb4755d86c4d386e20fbccd17d56605181a8 100644 (file)
@@ -38,7 +38,8 @@ host_triplet = @host@
 subdir = man/cs
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -80,6 +81,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -91,6 +94,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -130,6 +134,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -195,9 +202,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/cs/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/cs/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  man/cs/Makefile
+         $(AUTOMAKE) --foreign  man/cs/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index e04a41829d5b151e8cb20d33096ffdeb5b1d6956..1d159e544bad347302e6e1089e0cf080ad5868bd 100644 (file)
@@ -38,7 +38,8 @@ host_triplet = @host@
 subdir = man/de
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -80,6 +81,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -91,6 +94,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -130,6 +134,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -197,9 +204,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/de/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/de/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  man/de/Makefile
+         $(AUTOMAKE) --foreign  man/de/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 3d3625b68c6f00db14371d53f363d850fba26bff..65d8f59317629cbf3926dfae8321facca0d4ddd6 100644 (file)
@@ -38,7 +38,8 @@ host_triplet = @host@
 subdir = man/es
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -77,6 +78,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -88,6 +91,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -127,6 +131,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -189,9 +196,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/es/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/es/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  man/es/Makefile
+         $(AUTOMAKE) --foreign  man/es/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 782fd332f30eb9c9abef16aeae6382e3e2f8a5f0..a47d09da55a34d41e2515f95cea3679ff1342569 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "EXPIRY" "1" "08/03/2005" "User Commands" "User Commands"
+.TH "EXPIRY" "1" "09/30/2005" "User Commands" "User Commands"
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -14,7 +14,7 @@ expiry \- check and enforce password expiration policy
 \fBexpiry\fR [\-c] [\-f]
 .SH "DESCRIPTION"
 .PP
-\fBexpiry\fR 
+\fBexpiry\fR
 checks (\fB\-c\fR) the current password expiration and forces (\fB\-f\fR) changes when required. It is callable as a normal user command.
 .SH "FILES"
 .TP
@@ -25,8 +25,8 @@ user account information
 secure user account information
 .SH "SEE ALSO"
 .PP
-\fBpasswd\fR(5), 
-\fBshadow\fR(5)
+\fBpasswd\fR(5),
+\fBshadow\fR(5).
 .SH "AUTHOR"
 .PP
 Ben Collins <bcollins@debian.org>
index cd72756e553206d94f1d4a25d78a91a133e84384..d2bf0381c7906da98f6da44fbd07fa34dd748672 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='expiry.1'>
-  <!-- $Id: expiry.1.xml,v 1.8 2005/06/14 20:18:17 kloczek Exp $ -->
+  <!-- $Id: expiry.1.xml,v 1.12 2005/09/30 15:41:20 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>expiry</refentrytitle>
     <manvolnum>1</manvolnum>
       <arg choice='opt'>-f </arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><command>expiry</command> checks (<option>-c</option>) the current
+    <para>
+      <command>expiry</command> checks (<option>-c</option>) the current
       password expiration and forces (<option>-f</option>) changes when
       required. It is callable as a normal user command.
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/passwd</filename></term>
-        <listitem>user account information</listitem>
+       <term><filename>/etc/passwd</filename></term>
+       <listitem>
+         <para>user account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/shadow</filename></term>
-        <listitem>secure user account information</listitem>
+       <term><filename>/etc/shadow</filename></term>
+       <listitem>
+         <para>secure user account information</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
-      </citerefentry>
+       <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Ben Collins &lt;bcollins@debian.org&gt;</para>
index afb1761bb2a40a9b27b05b8709f79a765ee5c284..b79f19522b20f836bf32802cb9fd5631c50ce048 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "FAILLOG" "5" "08/03/2005" "" ""
+.TH "FAILLOG" "5" "09/20/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
 faillog \- Login failure logging file
 .SH "DESCRIPTION"
 .PP
-\fI/var/log/faillog\fR 
+\fI/var/log/faillog\fR
 maintains a count of login failures and the limits for each account. The file is fixed length record, indexed by numerical UID. Each record contains the count of login failures since the last successful login; the maximum number of failures before the account is disabled; the line the last login failure occured on; and the date the last login failure occured.
 .PP
 The structure of the file is:
-
+.sp
 .nf
-
 struct faillog {
        short   fail_cnt;
        short   fail_max;
index c6627ce82d4874f9899a1c6d2abbd1d4393e58da..bd62c5388d77388571984d12bc92ee7b1afdf007 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='faillog.5'>
-  <!-- $Id: faillog.5.xml,v 1.7 2005/06/16 15:49:42 kloczek Exp $ -->
+  <!-- $Id: faillog.5.xml,v 1.10 2005/09/20 15:22:24 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>faillog</refentrytitle>
     <manvolnum>5</manvolnum>
@@ -11,7 +11,7 @@
     <refname>faillog</refname>
     <refpurpose>Login failure logging file</refpurpose>
   </refnamediv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
     <para><filename>/var/log/faillog</filename> maintains a count of login
@@ -21,7 +21,7 @@
       failures before the account is disabled; the line the last login
       failure occured on; and the date the last login failure occured.
     </para>
-    
+
     <para>The structure of the file is:</para>
       <programlisting>
 struct faillog {
@@ -31,25 +31,28 @@ struct      faillog {
        time_t  fail_time;
 };</programlisting>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/var/log/faillog</filename></term>
-        <listitem>login failure log</listitem>
+       <term><filename>/var/log/faillog</filename></term>
+       <listitem>
+         <para>login failure log</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>faillog</refentrytitle><manvolnum>8</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>faillog</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
index a45db969a0caf540c90fd4cafa7af1d5cd07b129..e2d0595d657ce277dd2afc8b7f0ff92b22b495c6 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "FAILLOG" "8" "08/03/2005" "" ""
+.TH "FAILLOG" "8" "10/01/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -14,16 +14,16 @@ faillog \- display faillog records or set login failure limits
 \fBfaillog\fR [\fIoptions\fR]
 .SH "DESCRIPTION"
 .PP
-\fBfaillog\fR 
-formats the contents of the failure log from 
-\fI/var/log/faillog\fR 
-database. It also can be used for maintains failure counters and limits. Run 
-\fBfaillog\fR 
+\fBfaillog\fR
+formats the contents of the failure log from
+\fI/var/log/faillog\fR
+database. It also can be used for maintains failure counters and limits. Run
+\fBfaillog\fR
 without arguments display only list of user faillog records who have ever had a login failure.
 .SH "OPTIONS"
 .PP
-The options which apply to the 
-\fBfaillog\fR 
+The options which apply to the
+\fBfaillog\fR
 command are:
 .TP
 \fB\-a\fR, \fB\-\-all\fR
@@ -33,47 +33,47 @@ Display faillog records for all users.
 Display help message and exit.
 .TP
 \fB\-l\fR, \fB\-\-lock\-time\fR \fISEC\fR
-Lock accout to 
-\fISEC\fR 
+Lock account to
+\fISEC\fR
 seconds after failed login.
 .TP
 \fB\-m\fR, \fB\-\-maximum\fR \fIMAX\fR
-Set maiximum number of login failures after the account is disabled to 
-\fIMAX\fR. Selecting 
-\fIMAX\fR 
-value of 0 has the effect of not placing a limit on the number of failed logins. The maximum failure count should always be 0 for 
-\fIroot\fR 
+Set maximum number of login failures after the account is disabled to
+\fIMAX\fR. Selecting
+\fIMAX\fR
+value of 0 has the effect of not placing a limit on the number of failed logins. The maximum failure count should always be 0 for
+\fIroot\fR
 to prevent a denial of services attack against the system.
 .TP
 \fB\-r\fR, \fB\-\-reset\fR
-Reset the counters of login failures or one recor if used with \-u 
-\fILOGIN\fR 
-option. Write access to 
-\fI/var/log/faillog\fR 
+Reset the counters of login failures or one record if used with the \-u
+\fILOGIN\fR
+option. Write access to
+\fI/var/log/faillog\fR
 is required for this option.
 .TP
 \fB\-t\fR, \fB\-\-time\fR \fIDAYS\fR
-Display faillog records more recent than 
-\fIDAYS\fR. The 
-\fB\-t\fR 
-flag overrides the use of 
+Display faillog records more recent than
+\fIDAYS\fR. The
+\fB\-t\fR
+flag overrides the use of
 \fB\-u\fR.
 .TP
 \fB\-u\fR, \fB\-\-user\fR \fILOGIN\fR
-Display faillog record or maintains failure counters and limits (if used with 
-\fB\-l\fR, 
-\fB\-m\fR 
-or 
-\fB\-r\fR 
-options) only for user with 
+Display faillog record or maintains failure counters and limits (if used with
+\fB\-l\fR,
+\fB\-m\fR
+or
+\fB\-r\fR
+options) only for user with
 \fILOGIN\fR.
 .SH "CAVEATS"
 .PP
-\fBfaillog\fR 
-only prints out users with no successful login since the last failure. To print out a user who has had a successful login since their last failure, you must explicitly request the user with the 
-\fB\-u\fR 
-flag, or print out all users with the 
-\fB\-a\fR 
+\fBfaillog\fR
+only prints out users with no successful login since the last failure. To print out a user who has had a successful login since their last failure, you must explicitly request the user with the
+\fB\-u\fR
+flag, or print out all users with the
+\fB\-a\fR
 flag.
 .SH "FILES"
 .TP
@@ -81,8 +81,8 @@ flag.
 failure logging file
 .SH "SEE ALSO"
 .PP
-\fBlogin\fR(1), 
-\fBfaillog\fR(5)
+\fBlogin\fR(1),
+\fBfaillog\fR(5).
 .SH "AUTHOR"
 .PP
 Julianne Frances Haugh (jockgrrl@ix.netcom.com)
index e99d9d8629893d3e0071619c35cd111879ce7cf8..14d71230a3ec15e5998c1861b3cd941f37fbb4eb 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='faillog.8'>
-  <!--  $Id: faillog.8.xml,v 1.9 2005/06/16 15:50:30 kloczek Exp $ -->
+  <!--  $Id: faillog.8.xml,v 1.16 2005/10/01 15:01:45 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>faillog</refentrytitle>
     <manvolnum>8</manvolnum>
 
   <refsynopsisdiv id='synopsis'>
     <cmdsynopsis>
-      <command>faillog</command>    
+      <command>faillog</command>
       <arg choice='opt'>
-        <replaceable>options</replaceable>
+       <replaceable>options</replaceable>
       </arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><command>faillog</command> formats the contents of the failure log
+    <para>
+      <command>faillog</command> formats the contents of the failure log
       from <filename>/var/log/faillog</filename> database. It also can be
       used for maintains failure counters and limits. Run
       <command>faillog</command> without arguments display only list of user
       faillog records who have ever had a login failure.
     </para>
   </refsect1>
-  
+
   <refsect1 id='options'>
     <title>OPTIONS</title>
     <para>
     </para>
     <variablelist remap='IP'>
       <varlistentry>
-        <term><option>-a</option>, <option>--all</option></term>
-        <listitem>
-          <para>Display faillog records for all users.</para>
-        </listitem>
+       <term><option>-a</option>, <option>--all</option></term>
+       <listitem>
+         <para>Display faillog records for all users.</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><option>-h</option>, <option>--help</option></term>
-        <listitem>
-          <para>Display help message and exit.</para>
-        </listitem>
+       <term><option>-h</option>, <option>--help</option></term>
+       <listitem>
+         <para>Display help message and exit.</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-l</option>, <option>--lock-time</option>
-          <replaceable>SEC</replaceable>
-        </term>
-        <listitem>
-          <para>
-            Lock accout to <emphasis remap='I'>SEC</emphasis>
-            seconds after failed login.
-          </para>
-        </listitem>
+       <term>
+         <option>-l</option>, <option>--lock-time</option>
+         <replaceable>SEC</replaceable>
+       </term>
+       <listitem>
+         <para>
+           Lock account to <replaceable>SEC</replaceable>
+           seconds after failed login.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-m</option>, <option>--maximum</option>
-          <replaceable>MAX</replaceable>
-        </term>
-        <listitem>
-          <para>Set maiximum number of login failures after the account is
-            disabled to <emphasis remap='I'>MAX</emphasis>. Selecting
-            <emphasis remap='I'>MAX</emphasis> value of 0 has the effect of
-            not placing a limit on the number of failed logins. The maximum
-            failure count should always be 0 for <emphasis
-            remap='B'>root</emphasis> to prevent a denial of services attack
-            against the system.
-          </para>
-        </listitem>
+       <term>
+         <option>-m</option>, <option>--maximum</option>
+         <replaceable>MAX</replaceable>
+       </term>
+       <listitem>
+         <para>
+           Set maximum number of login failures after the account is
+           disabled to <replaceable>MAX</replaceable>. Selecting
+           <replaceable>MAX</replaceable> value of 0 has the effect of not
+           placing a limit on the number of failed logins. The maximum
+           failure count should always be 0 for <emphasis>root</emphasis>
+           to prevent a denial of services attack against the system.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><option>-r</option>, <option>--reset</option></term>
-        <listitem>
-          <para>Reset the counters of login failures or one recor if used
-            with -u <emphasis remap='I'>LOGIN</emphasis> option. Write
-            access to <filename>/var/log/faillog</filename> is required for
-            this option.
-          </para>
-        </listitem>
+       <term><option>-r</option>, <option>--reset</option></term>
+       <listitem>
+         <para>
+           Reset the counters of login failures or one record if used with
+           the -u <replaceable>LOGIN</replaceable> option. Write access to
+           <filename>/var/log/faillog</filename> is required for this
+           option.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><option>-t</option>, <option>--time</option>
-        <replaceable>DAYS</replaceable>
-        </term>
-        <listitem>
-          <para>
-            Display faillog records more recent than <emphasis
-            remap='I'>DAYS</emphasis>. The <option>-t</option> flag overrides
-            the use of <option>-u</option>.
-          </para>
-        </listitem>
+       <term><option>-t</option>, <option>--time</option>
+       <replaceable>DAYS</replaceable>
+       </term>
+       <listitem>
+         <para>
+           Display faillog records more recent than
+           <replaceable>DAYS</replaceable>. The <option>-t</option>
+           flag overrides the use of <option>-u</option>.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-u</option>, <option>--user</option>
-          <replaceable>LOGIN</replaceable>
-        </term>
-        <listitem>
-          <para>Display faillog record or maintains failure counters and
-            limits (if used with <option>-l</option>, <option>-m</option> or
-            <option>-r</option> options) only for user with <emphasis
-            remap='I'>LOGIN</emphasis>.
-          </para>
-        </listitem>
+       <term>
+         <option>-u</option>, <option>--user</option> <replaceable>LOGIN</replaceable>
+       </term>
+       <listitem>
+         <para>
+           Display faillog record or maintains failure counters and limits
+           (if used with <option>-l</option>, <option>-m</option> or
+           <option>-r</option> options) only for user with
+           <replaceable>LOGIN</replaceable>.
+         </para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='caveats'>
     <title>CAVEATS</title>
-    <para><command>faillog</command> only prints out users with no successful
+    <para>
+      <command>faillog</command> only prints out users with no successful
       login since the last failure. To print out a user who has had a
       successful login since their last failure, you must explicitly request
       the user with the <option>-u</option> flag, or print out all users
       with the <option>-a</option> flag.
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/var/log/faillog</filename></term>
-        <listitem>failure logging file</listitem>
+       <term><filename>/var/log/faillog</filename></term>
+       <listitem>
+         <para>failure logging file</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>faillog</refentrytitle><manvolnum>5</manvolnum>
-      </citerefentry>
+       <refentrytitle>faillog</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
index 6528293c7877639539fce084b7dff27c55f4585f..8f1b8dc9504b5010e7700acf70fbceecdb575adc 100644 (file)
@@ -38,7 +38,8 @@ host_triplet = @host@
 subdir = man/fr
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -80,6 +81,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -91,6 +94,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -130,6 +134,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -202,9 +209,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/fr/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/fr/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  man/fr/Makefile
+         $(AUTOMAKE) --foreign  man/fr/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 0cd58f9370d47ea6159aa7c1f2a0bab7d5da5662..cd473da3c22516dd422e962cbae4532b69ac3cf3 100644 (file)
@@ -1 +1 @@
-.so shadow.3
+.so man3/shadow.3
index 561f4162341dd74a39b5f9314c4b26df9e61a7dc..bc6669221da323c62efae4413c709d38cb7a2bfa 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GPASSWD" "1" "08/03/2005" "User Commands" "User Commands"
+.TH "GPASSWD" "1" "09/30/2005" "User Commands" "User Commands"
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -24,35 +24,35 @@ gpasswd \- administer the /etc/group file
 \fBgpasswd\fR [\-A\ \fIuser,\fR...] [\-M\ \fIuser,\fR...] \fIgroup\fR
 .SH "DESCRIPTION"
 .PP
-\fBgpasswd\fR 
-is used to administer the 
-\fI/etc/group\fR 
-file (and 
-\fI/etc/gshadow\fR 
-file if compiled with SHADOWGRP defined). Every group can have administrators, members and a password. System administrator can use 
-\fB\-A\fR 
-option to define group administrator(s) and 
-\fB\-M\fR 
+\fBgpasswd\fR
+is used to administer the
+\fI/etc/group\fR
+file (and
+\fI/etc/gshadow\fR
+file if compiled with SHADOWGRP defined). Every group can have administrators, members and a password. System administrator can use
+\fB\-A\fR
+option to define group administrator(s) and
+\fB\-M\fR
 option to define members and has all rights of group administrators and members.
 .SH "OPTIONS"
 .PP
-Group administrator can add and delete users using 
-\fB\-a\fR 
-and 
-\fB\-d\fR 
-options respectively. Administrators can use 
-\fB\-r\fR 
-option to remove group password. When no password is set only group members can use 
-\fBnewgrp\fR 
-to join the group. Option 
-\fB\-R\fR 
-disables access via a password to the group through 
-\fBnewgrp\fR 
+Group administrator can add and delete users using
+\fB\-a\fR
+and
+\fB\-d\fR
+options respectively. Administrators can use
+\fB\-r\fR
+option to remove group password. When no password is set only group members can use
+\fBnewgrp\fR
+to join the group. Option
+\fB\-R\fR
+disables access via a password to the group through
+\fBnewgrp\fR
 command (however members will still be able to switch to this group).
 .PP
-\fBgpasswd\fR 
-called by a group administrator with group name only prompts for the group password. If password is set the members can still 
-\fBnewgrp\fR(1) 
+\fBgpasswd\fR
+called by a group administrator with group name only prompts for the group password. If password is set the members can still
+\fBnewgrp\fR(1)
 without a password, non\-members must supply the password.
 .SH "FILES"
 .TP
@@ -63,13 +63,13 @@ group account information
 secure group account information
 .SH "SEE ALSO"
 .PP
-\fBnewgrp\fR(1), 
-\fBgroupadd\fR(8), 
-\fBgroupdel\fR(8), 
-\fBgroupmod\fR(8), 
-\fBgrpck\fR(8), 
-\fBgroup\fR(5), 
-\fBgshadow\fR(5)
+\fBnewgrp\fR(1),
+\fBgshadow\fR(5),
+\fBgroupadd\fR(8),
+\fBgroupdel\fR(8),
+\fBgroupmod\fR(8),
+\fBgrpck\fR(8),
+\fBgroup\fR(5).
 .SH "AUTHOR"
 .PP
 Rafal Maszkowski <rzm@pdi.net>
index 071f8adb65e958d97e64743f78377c043f183ff1..521e0c9409f1f97ac3d372c8d1e2bc354a8d8845 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-<refentry id='gpasswd1'>
-  <!-- $Id: gpasswd.1.xml,v 1.9 2005/06/14 20:18:17 kloczek Exp $ -->
+<refentry id='gpasswd.1'>
+  <!-- $Id: gpasswd.1.xml,v 1.14 2005/09/30 15:41:20 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>gpasswd</refentrytitle>
     <manvolnum>1</manvolnum>
   <!-- body begins here -->
   <refsynopsisdiv id='synopsis'>
     <cmdsynopsis>
-      <command>gpasswd</command>    
+      <command>gpasswd</command>
       <arg choice='plain'>
-        <replaceable>group</replaceable>
+       <replaceable>group</replaceable>
       </arg>
     </cmdsynopsis>
     <cmdsynopsis>
-      <command>gpasswd</command>    
+      <command>gpasswd</command>
       <arg choice='plain'>-a <replaceable>user</replaceable></arg>
       <arg choice='plain'><replaceable>group</replaceable></arg>
     </cmdsynopsis>
     <cmdsynopsis>
-      <command>gpasswd</command>    
+      <command>gpasswd</command>
       <arg choice='plain'>-d <replaceable>user</replaceable></arg>
       <arg choice='plain'><replaceable>group</replaceable></arg>
     </cmdsynopsis>
     <cmdsynopsis>
-      <command>gpasswd</command>    
+      <command>gpasswd</command>
       <arg choice='plain'>-R <replaceable>group</replaceable></arg>
     </cmdsynopsis>
     <cmdsynopsis>
       <arg choice='plain'>-r <replaceable>group</replaceable></arg>
     </cmdsynopsis>
     <cmdsynopsis>
-      <command>gpasswd</command>    
+      <command>gpasswd</command>
       <arg choice='opt' rep='repeat'>-A <replaceable>user,</replaceable></arg>
       <arg choice='opt' rep='repeat'>-M <replaceable>user,</replaceable></arg>
       <arg choice='plain'><replaceable>group</replaceable></arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><command>gpasswd</command> is used to administer the
+    <para>
+      <command>gpasswd</command> is used to administer the
       <filename>/etc/group</filename> file (and
       <filename>/etc/gshadow</filename> file if compiled with SHADOWGRP
       defined). Every group can have administrators, members and a password. 
@@ -57,7 +58,7 @@
       members and has all rights of group administrators and members.
     </para>
   </refsect1>
-  
+
   <refsect1 id='options'>
     <title>OPTIONS</title>
     <para>
       to the group through <command>newgrp</command> command (however
       members will still be able to switch to this group).
     </para>
-    
-    <para><command>gpasswd</command> called by a group administrator with
-      group name only prompts for the group password. If password is set the
+
+    <para>
+      <command>gpasswd</command> called by a group administrator with group
+      name only prompts for the group password. If password is set the
       members can still <citerefentry>
-        <refentrytitle>newgrp</refentrytitle><manvolnum>1</manvolnum>
-      </citerefentry> without a password, non-members must supply the password.
+      <refentrytitle>newgrp</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry> without a password, non-members must supply the
+      password.
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/group</filename></term>
-        <listitem>group account information</listitem>
+       <term><filename>/etc/group</filename></term>
+       <listitem>
+         <para>group account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/gshadow</filename></term>
-        <listitem>secure group account information</listitem>
+       <term><filename>/etc/gshadow</filename></term>
+       <listitem>
+         <para>secure group account information</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>newgrp</refentrytitle><manvolnum>1</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>newgrp</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>gshadow</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>grpck</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
+       <refentrytitle>grpck</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>gshadow</refentrytitle><manvolnum>5</manvolnum>
-      </citerefentry>
+       <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Rafal Maszkowski &lt;rzm@pdi.net&gt;</para>
index 730e327c7a93dbe954eaf4eca23d7d1d67594e0a..ac1c817a8c02d89a3782a24fcf022d7ffb4f1d86 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GROUPADD" "8" "08/03/2005" "" ""
+.TH "GROUPADD" "8" "09/30/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
 groupadd \- Create a new group
 .SH "SYNOPSIS"
 .HP 9
-\fBgroupadd\fR [\-g\ \fIgid\fR\ [\-o]] [\-f] [\-K\ \fIKEY\fR=\fIVALUE\fR] \fIgroup\fR
+\fBgroupadd\fR [\-g\ \fIgid\fR\ [\-o]] [\-f] [\-K\ \fIKEY\fR=\fIVALUE\fR] \fIgroup\fR
 .SH "DESCRIPTION"
 .PP
-The 
-\fBgroupadd\fR 
+The
+\fBgroupadd\fR
 command creates a new group account using the values specified on the command line and the default values from the system. The new group will be entered into the system files as needed.
 .SH "OPTIONS"
 .PP
-The options which apply to the 
-\fBgroupadd\fR 
+The options which apply to the
+\fBgroupadd\fR
 command are:
 .TP
 \fB\-f\fR
-This option causes to just exit with success status if the specified group already exists. With 
-\fB\-g\fR, if specified gid already exists, other (unique) gid is chosen (i.e. 
-\fB\-g\fR 
+This option causes to just exit with success status if the specified group already exists. With
+\fB\-g\fR, if specified gid already exists, other (unique) gid is chosen (i.e.
+\fB\-g\fR
 is turned off).
 .TP
-\fB\-g\fR \fIgid\fR
-The numerical value of the group's ID. This value must be unique, unless the 
-\fB\-o\fR 
+\fB\-g\fR \fIGID\fR
+The numerical value of the group's ID. This value must be unique, unless the
+\fB\-o\fR
 option is used. The value must be non\-negative. The default is to use the smallest ID value greater than 999 and greater than every other group. Values between 0 and 999 are typically reserved for system accounts.
 .TP
+\fB\-h\fR, \fB\-\-help\fR
+Display help message and exit.
+.TP
 \fB\-K \fR\fB\fIKEY\fR\fR\fB=\fR\fB\fIVALUE\fR\fR
-Overrides /etc/login.defs defaults (GID_MIN, GID_MAX and others). Multiple 
-\fB\-K\fR 
-options can be specified, e.g.: 
-\fB\-K\fR \fIGID_MIN\fR=\fI100\fR \fB\-K\fR \fIGID_MAX\fR=\fI499\fR
-
-Note: 
-\fB\-K\fR \fIGID_MIN\fR=\fI10\fR,\fIGID_MAX\fR=\fI499\fR 
+Overrides /etc/login.defs defaults (GID_MIN, GID_MAX and others). Multiple
+\fB\-K\fR
+options can be specified.
+.sp
+Example:
+\fB\-K \fR\fIGID_MIN\fR=\fI100\fR\fB \-K \fR\fIGID_MAX\fR=\fI499\fR
+.sp
+Note:
+\fB\-K \fR\fIGID_MIN\fR=\fI10\fR,\fIGID_MAX\fR=\fI499\fR
 doesn't work yet.
 .TP
 \fB\-o\fR
-Allow add group wit non\-unique GID.
+This option permits to add group with non\-unique GID.
 .SH "FILES"
 .TP
 \fI/etc/group\fR
@@ -53,11 +58,19 @@ group account information
 .TP
 \fI/etc/gshadow\fR
 secure group account information
+.TP
+\fI/etc/login.defs\fR
+shadow password suite configuration
+.SH "CAVEATS"
+.PP
+Groupnames must begin with a lower case letter or an underscore, and only lower case letters, underscores, dashes, and dollar signs may follow. In regular expression terms: [a\-z_][a\-z0\-9_\-]*[$]
+.PP
+Groupnames may only be up to 16 characters long.
 .SH "EXIT VALUES"
 .PP
-The 
-\fBgroupadd\fR 
-command exits with the following values: 
+The
+\fBgroupadd\fR
+command exits with the following values:
 .TP
 \fI0\fR
 success
@@ -69,7 +82,9 @@ invalid command syntax
 invalid argument to option
 .TP
 \fI4\fR
-gid not unique (when \-o not used)
+gid not unique (when
+\fB\-o\fR
+not used)
 .TP
 \fI9\fR
 group name not unique
@@ -78,15 +93,16 @@ group name not unique
 can't update group file
 .SH "SEE ALSO"
 .PP
-\fBchfn\fR(1), 
-\fBchsh\fR(1), 
-\fBpasswd\fR(1), 
-\fBgpasswd\fR(8), 
-\fBgroupdel\fR(8), 
-\fBgroupmod\fR(8), 
-\fBuseradd\fR(8), 
-\fBuserdel\fR(8), 
-\fBusermod\fR(8)
+\fBchfn\fR(1),
+\fBchsh\fR(1),
+\fBpasswd\fR(1),
+\fBgpasswd\fR(8),
+\fBgroupdel\fR(8),
+\fBgroupmod\fR(8),
+\fBlogin.defs\fR(5),
+\fBuseradd\fR(8),
+\fBuserdel\fR(8),
+\fBusermod\fR(8).
 .SH "AUTHOR"
 .PP
 Julianne Frances Haugh (jockgrrl@ix.netcom.com)
index 5b03a78a0c23492fe135e4820aabf3dc198565eb..1c3324e8bf554e66598899f49c6993ffa3201f0c 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='groupadd.8'>
-  <!-- $Id: groupadd.8.xml,v 1.11 2005/07/07 19:25:36 kloczek Exp $ -->
+  <!-- $Id: groupadd.8.xml,v 1.20 2005/09/30 15:41:20 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>groupadd</refentrytitle>
     <manvolnum>8</manvolnum>
   <!-- body begins here -->
   <refsynopsisdiv id='synopsis'>
     <cmdsynopsis>
-      <command>groupadd</command>    
+      <command>groupadd</command>
       <arg choice='opt'>
-        <arg choice='plain'>-g <replaceable>gid</replaceable></arg>
-        <arg choice='opt'>-o </arg>
+       <arg choice='plain'>-g <replaceable>gid</replaceable></arg>
+       <arg choice='opt'>-o</arg>
       </arg>
       <arg choice='opt'>-f </arg>
       <arg choice='opt'>-K <replaceable>KEY</replaceable>=<replaceable>VALUE</replaceable></arg>
       <arg choice='plain'>
-        <replaceable>group</replaceable>
+       <replaceable>group</replaceable>
       </arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
     <para>The <command>groupadd</command> command creates a new group
@@ -35,7 +35,7 @@
       files as needed.
     </para>
   </refsect1>
-  
+
   <refsect1 id='options'>
     <title>OPTIONS</title>
     <para>
     </para>
     <variablelist remap='IP'>
       <varlistentry>
-        <term>
-          <option>-f</option>
-        </term>
-        <listitem>
-          <para>This option causes to just exit with success status if the
-            specified group already exists. With <option>-g</option>, if
-            specified gid already exists, other (unique) gid is chosen (i.e.
-            <option>-g</option> is turned off).
-          </para>
-        </listitem>
+       <term>
+         <option>-f</option>
+       </term>
+       <listitem>
+         <para>This option causes to just exit with success status if the
+           specified group already exists. With <option>-g</option>, if
+           specified gid already exists, other (unique) gid is chosen (i.e.
+           <option>-g</option> is turned off).
+         </para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term>
+         <option>-g</option> <replaceable>GID</replaceable>
+       </term>
+       <listitem>
+         <para>The numerical value of the group's ID. This value must be
+           unique, unless the <option>-o</option> option is used. The value
+           must be non-negative. The default is to use the smallest ID
+           value greater than 999 and greater than every other group.
+           Values between 0 and 999 are typically reserved for system
+           accounts.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-g</option> <replaceable>gid</replaceable>
-        </term>
-        <listitem>
-          <para>The numerical value of the group's ID. This value must be
-            unique, unless the <option>-o</option> option is used. The value
-            must be non-negative. The default is to use the smallest ID
-            value greater than 999 and greater than every other group.
-            Values between 0 and 999 are typically reserved for system
-            accounts.
-          </para>
-        </listitem>
+       <term><option>-h</option>, <option>--help</option></term>
+       <listitem>
+         <para>Display help message and exit.</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-K <replaceable>KEY</replaceable>=<replaceable>VALUE</replaceable></option>
-        </term>
-        <listitem>
+       <term>
+         <option>-K <replaceable>KEY</replaceable>=<replaceable>VALUE</replaceable></option>
+       </term>
+       <listitem>
          <para>
            Overrides /etc/login.defs defaults (GID_MIN, GID_MAX and others). Multiple
-           <option>-K</option> options can be specified, e.g.: <option>-K</option>
-           <replaceable>GID_MIN</replaceable>=<replaceable>100</replaceable>
-           <option>-K</option> <replaceable>GID_MAX</replaceable>=<replaceable>499</replaceable>
+           <option>-K</option> options can be specified.
+         </para>
+         <para>
+            Example: <option>-K </option><replaceable>GID_MIN</replaceable>=<replaceable>100</replaceable>
+           <option> -K </option><replaceable>GID_MAX</replaceable>=<replaceable>499</replaceable>
          </para>
          <para>
-           Note: <option>-K</option> <replaceable>GID_MIN</replaceable>=<replaceable>10</replaceable>,<replaceable>GID_MAX</replaceable>=<replaceable>499</replaceable>
+           Note: <option>-K </option>
+           <replaceable>GID_MIN</replaceable>=<replaceable>10</replaceable>,<replaceable>GID_MAX</replaceable>=<replaceable>499</replaceable>
            doesn't work yet.
          </para>
-        </listitem>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-o</option>
-        </term>
-        <listitem>
-          <para>
-           Allow add group wit non-unique GID.
+       <term>
+         <option>-o</option>
+       </term>
+       <listitem>
+         <para>
+           This option permits to add group with non-unique GID.
          </para>
-        </listitem>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/group</filename></term>
-        <listitem>group account information</listitem>
+       <term><filename>/etc/group</filename></term>
+       <listitem>
+         <para>group account information</para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term><filename>/etc/gshadow</filename></term>
+       <listitem>
+         <para>secure group account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/gshadow</filename></term>
-        <listitem>secure group account information</listitem>
+       <term><filename>/etc/login.defs</filename></term>
+       <listitem>
+         <para>shadow password suite configuration</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
+   <refsect1 id='caveats'>
+     <title>CAVEATS</title>
+     <para>Groupnames must begin with a lower case letter or an underscore, and 
+       only lower case letters, underscores, dashes, and dollar signs may 
+       follow. In regular expression terms: [a-z_][a-z0-9_-]*[$]
+     </para>
+     <para>Groupnames may only be up to 16 characters long.</para>
+   </refsect1>
+
   <refsect1 id='exit_values'>
     <title>EXIT VALUES</title>
     <para>
       The <command>groupadd</command> command exits with the following values:
       <variablelist>
-        <varlistentry>
-          <term><replaceable>0</replaceable></term>
-          <listitem>success</listitem>
-        </varlistentry>
-        <varlistentry>
-          <term><replaceable>2</replaceable></term>
-          <listitem>invalid command syntax</listitem>
-        </varlistentry>
-        <varlistentry>
-          <term><replaceable>3</replaceable></term>
-          <listitem>invalid argument to option</listitem>
-        </varlistentry>
-        <varlistentry>
-          <term><replaceable>4</replaceable></term>
-          <listitem>gid not unique (when -o not used)</listitem>
-        </varlistentry>
-        <varlistentry>
-          <term><replaceable>9</replaceable></term>
-          <listitem>group name not unique</listitem>
-        </varlistentry>
-        <varlistentry>
-          <term><replaceable>10</replaceable></term>
-          <listitem>can't update group file</listitem>
-        </varlistentry>
+       <varlistentry>
+         <term><replaceable>0</replaceable></term>
+         <listitem>
+           <para>success</para>
+         </listitem>
+       </varlistentry>
+       <varlistentry>
+         <term><replaceable>2</replaceable></term>
+         <listitem>
+           <para>invalid command syntax</para>
+         </listitem>
+       </varlistentry>
+       <varlistentry>
+         <term><replaceable>3</replaceable></term>
+         <listitem>
+           <para>invalid argument to option</para>
+         </listitem>
+       </varlistentry>
+       <varlistentry>
+         <term><replaceable>4</replaceable></term>
+         <listitem>
+           <para>gid not unique (when <option>-o</option> not used)</para>
+         </listitem>
+       </varlistentry>
+       <varlistentry>
+         <term><replaceable>9</replaceable></term>
+         <listitem>
+           <para>group name not unique</para>
+         </listitem>
+       </varlistentry>
+       <varlistentry>
+         <term><replaceable>10</replaceable></term>
+         <listitem>
+           <para>can't update group file</para>
+         </listitem>
+       </varlistentry>
       </variablelist>
     </para>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
     <para><citerefentry>
-        <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>gpasswd</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>gpasswd</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
-      </citerefentry>
+       <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
index 31410501c404eda7a2b82dbe8f2c112c67703396..7664cbece1367126abf0f0964d2d17dd7fac2e18 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GROUPDEL" "8" "08/03/2005" "" ""
+.TH "GROUPDEL" "8" "09/20/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -14,9 +14,9 @@ groupdel \- Delete a group
 \fBgroupdel\fR \fIgroup\fR
 .SH "DESCRIPTION"
 .PP
-The 
-\fBgroupdel\fR 
-command modifies the system account files, deleting all entries that refer to 
+The
+\fBgroupdel\fR
+command modifies the system account files, deleting all entries that refer to
 \fIgroup\fR. The named group must exist.
 .PP
 You must manually check all file systems to insure that no files remain with the named group as the file group ID.
@@ -32,9 +32,9 @@ group account information
 secure group account information
 .SH "EXIT VALUES"
 .PP
-The 
-\fBgroupdel\fR 
-command exits with the following values: 
+The
+\fBgroupdel\fR
+command exits with the following values:
 .TP
 \fI0\fR
 success
@@ -49,14 +49,14 @@ can't remove user's primary group
 can't update group file
 .SH "SEE ALSO"
 .PP
-\fBchfn\fR(1), 
-\fBchsh\fR(1), 
-\fBpasswd\fR(1), 
-\fBgpasswd\fR(8), 
-\fBgroupadd\fR(8), 
-\fBgroupmod\fR(8), 
-\fBuseradd\fR(8), 
-\fBuserdel\fR(8), 
+\fBchfn\fR(1),
+\fBchsh\fR(1),
+\fBpasswd\fR(1),
+\fBgpasswd\fR(8),
+\fBgroupadd\fR(8),
+\fBgroupmod\fR(8),
+\fBuseradd\fR(8),
+\fBuserdel\fR(8),
 \fBusermod\fR(8)
 .SH "AUTHOR"
 .PP
index 9b4f5eaeb1a4a44c32bece9d9620b22a74e7b23e..1397b5b2bb02771938d5d887c9430fe521b7078b 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='groupdel.8'>
-  <!-- $Id: groupdel.8.xml,v 1.9 2005/07/10 20:00:21 kloczek Exp $ -->
+  <!-- $Id: groupdel.8.xml,v 1.12 2005/09/20 15:22:24 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>groupdel</refentrytitle>
     <manvolnum>8</manvolnum>
   <!-- body begins here -->
   <refsynopsisdiv id='synopsis'>
     <cmdsynopsis>
-      <command>groupdel</command>    
+      <command>groupdel</command>
       <arg choice='plain'>
-        <replaceable>group</replaceable>
+       <replaceable>group</replaceable>
       </arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
     <para> The <command>groupdel</command> command modifies the system
       account files, deleting all entries that refer to <emphasis
       remap='I'>group</emphasis>. The named group must exist.
     </para>
-    
+
     <para>You must manually check all file systems to insure that no files
       remain with the named group as the file group ID.
     </para>
   </refsect1>
-  
+
   <refsect1 id='caveats'>
     <title>CAVEATS</title>
     <para>You may not remove the primary group of any existing user. You
       must remove the user before you remove the group.
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/group</filename></term>
-        <listitem>group account information</listitem>
+       <term><filename>/etc/group</filename></term>
+       <listitem>
+         <para>group account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/gshadow</filename></term>
-        <listitem>secure group account information</listitem>
+       <term><filename>/etc/gshadow</filename></term>
+       <listitem>
+         <para>secure group account information</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
     <para>
       The <command>groupdel</command> command exits with the following values:
       <variablelist>
-        <varlistentry>
-          <term><replaceable>0</replaceable></term>
-         <listitem>success</listitem>
+       <varlistentry>
+         <term><replaceable>0</replaceable></term>
+         <listitem>
+           <para>success</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>2</replaceable></term>
-         <listitem>invalid command syntax</listitem>
+       <varlistentry>
+         <term><replaceable>2</replaceable></term>
+         <listitem>
+           <para>invalid command syntax</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>8</replaceable></term>
-         <listitem>can't remove user's primary group</listitem>
+       <varlistentry>
+         <term><replaceable>8</replaceable></term>
+         <listitem>
+           <para>can't remove user's primary group</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>10</replaceable></term>
-         <listitem>can't update group file</listitem>
+       <varlistentry>
+         <term><replaceable>10</replaceable></term>
+         <listitem>
+           <para>can't update group file</para>
+         </listitem>
        </varlistentry>
       </variablelist>
     </para>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
     <para><citerefentry>
-        <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>gpasswd</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>gpasswd</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
index f42eda4214a69e116f7d091840dd3cf1600764fc..db48c5a3138160c1e51e11ba1c380e878bb20dcd 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='groupmems.8'>
-  <!-- $Id: groupmems.8.xml,v 1.7 2005/06/15 12:39:27 kloczek Exp $ -->
+  <!-- $Id: groupmems.8.xml,v 1.12 2005/10/01 15:01:45 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>groupmems</refentrytitle>
     <manvolnum>8</manvolnum>
 
   <refsynopsisdiv id='synopsis'>
     <cmdsynopsis>
-      <command>groupmems</command>    
+      <command>groupmems</command>
       <group choice='plain'>
-        <arg choice='plain'>-a <replaceable>user_name</replaceable></arg>
-        <arg choice='plain'>-d <replaceable>user_name</replaceable></arg>
-        <arg choice='plain'>-l </arg><arg choice='plain'>-D </arg>
-        <arg choice='opt'>-g <replaceable>group_name</replaceable></arg>
+       <arg choice='plain'>-a <replaceable>user_name</replaceable></arg>
+       <arg choice='plain'>-d <replaceable>user_name</replaceable></arg>
+       <arg choice='plain'>-l </arg><arg choice='plain'>-D </arg>
+       <arg choice='opt'>-g <replaceable>group_name</replaceable></arg>
       </group>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
     <para>
       systems that configure its users to be in their own name sake primary
       group (i.e., guest / guest).
     </para>
-    
+
     <para>Only the super user, as administrator, can use
       <command>groupmems</command> to alter the memberships of other groups.
     </para>
   </refsect1>
-  
+
   <refsect1 id='options'>
     <title>OPTIONS</title>
     <para>
     </para>
     <variablelist remap='IP'>
       <varlistentry>
-        <term><option>-a</option> <replaceable>user_name</replaceable></term>
-        <listitem>
-          <para>Add a new user to the group membership list.</para>
-        </listitem>
+       <term><option>-a</option> <replaceable>user_name</replaceable></term>
+       <listitem>
+         <para>Add a new user to the group membership list.</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><option>-d</option> <replaceable>user_name</replaceable></term>
-        <listitem>
-          <para>Delete a user from the group membership list.</para>
-        </listitem>
+       <term><option>-d</option> <replaceable>user_name</replaceable></term>
+       <listitem>
+         <para>Delete a user from the group membership list.</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><option>-D</option></term>
-        <listitem>
-          <para>Delete all users from the group membership list.</para>
-        </listitem>
+       <term><option>-D</option></term>
+       <listitem>
+         <para>Delete all users from the group membership list.</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><option>-g</option> <replaceable>group_name</replaceable></term>
-        <listitem>
-          <para>The super user can specify which group membership
-            list to modify.
-          </para>
-        </listitem>
+       <term><option>-g</option> <replaceable>group_name</replaceable></term>
+       <listitem>
+         <para>The super user can specify which group membership
+           list to modify.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><option>-l</option></term>
-        <listitem>
-          <para>List the group membership list.</para>
-        </listitem>
+       <term><option>-l</option></term>
+       <listitem>
+         <para>List the group membership list.</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='setup'>
     <title>SETUP</title>
     <para>
       The <command>groupmems</command> executable should be in mode
-      <literal>2770</literal> as user <emphasis remap='B'>root</emphasis>
-      and in group <emphasis remap='B'>groups</emphasis>. The system
-      administrator can add users to group groups to allow or disallow them
-      using the <command>groupmems</command> utility to manage their own
-      group membership list.
+      <literal>2770</literal> as user <emphasis>root</emphasis> and in group
+      <emphasis>groups</emphasis>. The system administrator can add users to
+      group groups to allow or disallow them using the
+      <command>groupmems</command> utility to manage their own group
+      membership list.
     </para>
-    
+
     <para>     $ groupadd -r groups
-      <!-- .br -->
       $ chmod 2770 groupmems
-      <!-- .br -->
       $ chown root.groups groupmems
-      <!-- .br -->
       $ groupmems -g groups -a gk4
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/group</filename></term>
-        <listitem>group account information</listitem>
+       <term><filename>/etc/group</filename></term>
+       <listitem>
+         <para>group account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/gshadow</filename></term>
-        <listitem>secure group account information</listitem>
+       <term><filename>/etc/gshadow</filename></term>
+       <listitem>
+         <para>secure group account information</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
-      </citerefentry>
+       <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>George Kraft IV (gk4@us.ibm.com)</para>
index 135ffa7d5a18e31c64530fc3915b005b4ff07f0e..e58f44f78fad55bf2a6efeae9f2a1a6aacb34dfb 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GROUPMOD" "8" "08/03/2005" "" ""
+.TH "GROUPMOD" "8" "09/30/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -14,24 +14,24 @@ groupmod \- modify a group
 \fBgroupmod\fR [\-g\ \fIgid\fR\ [\-o\ ]] [\-n\ \fInew_group_name\fR] \fIgroup\fR
 .SH "DESCRIPTION"
 .PP
-The 
-\fBgroupmod\fR 
+The
+\fBgroupmod\fR
 command modifies the system account files to reflect the changes that are specified on the command line.
 .SH "OPTIONS"
 .PP
-The options which apply to the 
-\fBgroupmod\fR 
+The options which apply to the
+\fBgroupmod\fR
 command are:
 .TP
 \fB\-g\fR \fIgid\fR
-The numerical value of the group's ID. This value must be unique, unless the 
-\fB\-o\fR 
+The numerical value of the group's ID. This value must be unique, unless the
+\fB\-o\fR
 option is used. The value must be non\-negative. Values between 0 and 999 are typically reserved for system groups. Any files which the old group ID is the file group ID must have the file group ID changed manually.
 .TP
 \fB\-n\fR \fInew_group_name\fR
-The name of the group will be changed from 
-\fIgroup\fR 
-to 
+The name of the group will be changed from
+\fIgroup\fR
+to
 \fInew_group_name\fR.
 .SH "FILES"
 .TP
@@ -42,9 +42,9 @@ group account information
 secure group account information
 .SH "EXIT VALUES"
 .PP
-The 
-\fBgroupmod\fR 
-command exits with the following values: 
+The
+\fBgroupmod\fR
+command exits with the following values:
 .TP
 \fI0\fR
 success
@@ -68,15 +68,15 @@ group name already in use
 can't update group file
 .SH "SEE ALSO"
 .PP
-\fBchfn\fR(1), 
-\fBchsh\fR(1), 
-\fBpasswd\fR(1), 
-\fBgpasswd\fR(8), 
-\fBgroupadd\fR(8), 
-\fBgroupdel\fR(8), 
-\fBuseradd\fR(8), 
-\fBuserdel\fR(8), 
-\fBusermod\fR(8)
+\fBchfn\fR(1),
+\fBchsh\fR(1),
+\fBpasswd\fR(1),
+\fBgpasswd\fR(8),
+\fBgroupadd\fR(8),
+\fBgroupdel\fR(8),
+\fBuseradd\fR(8),
+\fBuserdel\fR(8),
+\fBusermod\fR(8).
 .SH "AUTHOR"
 .PP
 Julianne Frances Haugh (jockgrrl@ix.netcom.com)
index 316f207ada3cdc4790b3fc0b3cfa180fccc51036..567b42bb885cd468609cefc1c224ee4164de095c 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='groupmod.8'>
-  <!-- $Id: groupmod.8.xml,v 1.8 2005/06/30 19:26:08 kloczek Exp $ -->
+  <!-- $Id: groupmod.8.xml,v 1.12 2005/09/30 15:41:20 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>groupmod</refentrytitle>
     <manvolnum>8</manvolnum>
   <!-- body begins here -->
   <refsynopsisdiv id='synopsis'>
     <cmdsynopsis>
-      <command>groupmod</command>    
+      <command>groupmod</command>
       <arg choice='opt'>
-        <arg choice='plain'>-g <replaceable>gid</replaceable></arg>
-        <arg choice='opt'>-o </arg>
+       <arg choice='plain'>-g <replaceable>gid</replaceable></arg>
+       <arg choice='opt'>-o </arg>
       </arg>
       <arg choice='opt'>-n <replaceable>new_group_name</replaceable></arg>
       <arg choice='plain'><replaceable>group</replaceable></arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
     <para>
@@ -31,7 +31,7 @@
       files to reflect the changes that are specified on the command line.
     </para>
   </refsect1>
-  
+
   <refsect1 id='options'>
     <title>OPTIONS</title>
     <para>
     </para>
     <variablelist remap='IP'>
       <varlistentry>
-        <term>
-          <option>-g</option> <replaceable>gid</replaceable>
-        </term>
-        <listitem>
-          <para>The numerical value of the group's ID. This value must be
-            unique, unless the <option>-o</option> option is used. The value
-            must be non-negative. Values between 0 and 999 are typically
-            reserved for system groups. Any files which the old group ID is
-            the file group ID must have the file group ID changed manually.
-          </para>
-        </listitem>
+       <term>
+         <option>-g</option> <replaceable>gid</replaceable>
+       </term>
+       <listitem>
+         <para>
+           The numerical value of the group's ID. This value must be
+           unique, unless the <option>-o</option> option is used. The value
+           must be non-negative. Values between 0 and 999 are typically
+           reserved for system groups. Any files which the old group ID is
+           the file group ID must have the file group ID changed manually.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><option>-n</option> <replaceable>new_group_name</replaceable></term>
-        <listitem>
-          <para> The name of the group will be changed from <emphasis
-            remap='I'>group</emphasis> to <emphasis
-            remap='I'>new_group_name</emphasis>.
-          </para>
-        </listitem>
+       <term><option>-n</option> <replaceable>new_group_name</replaceable></term>
+       <listitem>
+         <para> 
+           The name of the group will be changed from <emphasis
+           remap='I'>group</emphasis> to <emphasis
+           remap='I'>new_group_name</emphasis>.
+         </para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/group</filename></term>
-        <listitem>group account information</listitem>
+       <term><filename>/etc/group</filename></term>
+       <listitem>
+         <para>group account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/gshadow</filename></term>
-        <listitem>secure group account information</listitem>
+       <term><filename>/etc/gshadow</filename></term>
+       <listitem>
+         <para>secure group account information</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='exit_values'>
     <title>EXIT VALUES</title>
     <para>
       The <command>groupmod</command> command exits with the following values:
       <variablelist>
-        <varlistentry>
-          <term><replaceable>0</replaceable></term>
-         <listitem>success</listitem>
+       <varlistentry>
+         <term><replaceable>0</replaceable></term>
+         <listitem>
+           <para>success</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>2</replaceable></term>
-         <listitem>invalid command syntax</listitem>
+       <varlistentry>
+         <term><replaceable>2</replaceable></term>
+         <listitem>
+           <para>invalid command syntax</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>3</replaceable></term>
-         <listitem>invalid argument to option</listitem>
+       <varlistentry>
+         <term><replaceable>3</replaceable></term>
+         <listitem>
+           <para>invalid argument to option</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>4</replaceable></term>
-         <listitem>specified group doesn't exist</listitem>
+       <varlistentry>
+         <term><replaceable>4</replaceable></term>
+         <listitem>
+           <para>specified group doesn't exist</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>6</replaceable></term>
-         <listitem>specified group doesn't exist</listitem>
+       <varlistentry>
+         <term><replaceable>6</replaceable></term>
+         <listitem>
+           <para>specified group doesn't exist</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>9</replaceable></term>
-         <listitem>group name already in use</listitem>
+       <varlistentry>
+         <term><replaceable>9</replaceable></term>
+         <listitem>
+           <para>group name already in use</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>10</replaceable></term>
-         <listitem>can't update group file</listitem>
+       <varlistentry>
+         <term><replaceable>10</replaceable></term>
+         <listitem>
+           <para>can't update group file</para>
+         </listitem>
        </varlistentry>
       </variablelist>
     </para>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>gpasswd</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>gpasswd</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
-      </citerefentry>
+       <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
index 393de2fbb90256637b752060723583a383fc1110..65fbeda1a482fb0ebdf667a911d89e17fa72b234 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GROUPS" "1" "08/03/2005" "User Commands" "User Commands"
+.TH "GROUPS" "1" "09/30/2005" "User Commands" "User Commands"
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -14,20 +14,20 @@ groups \- display current group names
 \fBgroups\fR [\fIuser\fR]
 .SH "DESCRIPTION"
 .PP
-\fBgroups\fR 
-displays the current group names or ID values. If the value does not have a corresponding entry in 
-\fI/etc/group\fR, the value will be displayed as the numerical group value. The optional 
-\fIuser\fR 
-parameter will display the groups for the named 
+\fBgroups\fR
+displays the current group names or ID values. If the value does not have a corresponding entry in
+\fI/etc/group\fR, the value will be displayed as the numerical group value. The optional
+\fIuser\fR
+parameter will display the groups for the named
 \fIuser\fR.
 .SH "NOTE"
 .PP
-Systems which do not support concurrent group sets will have the information from 
-\fI/etc/group\fR 
-reported. The user must use 
-\fBnewgrp\fR 
-or 
-\fBsg\fR 
+Systems which do not support concurrent group sets will have the information from
+\fI/etc/group\fR
+reported. The user must use
+\fBnewgrp\fR
+or
+\fBsg\fR
 to change their current real and effective group ID.
 .SH "FILES"
 .TP
@@ -35,10 +35,10 @@ to change their current real and effective group ID.
 group account information
 .SH "SEE ALSO"
 .PP
-\fBnewgrp\fR(1), 
-\fBgetgid\fR(2), 
-\fBgetgroups\fR(2), 
-\fBgetuid\fR(2)
+\fBnewgrp\fR(1),
+\fBgetgid\fR(2),
+\fBgetgroups\fR(2),
+\fBgetuid\fR(2).
 .SH "AUTHOR"
 .PP
 Julianne Frances Haugh <jockgrrl@ix.netcom.com>
index 3e0ac2bd65c6861436f8f40483e2244789e232a8..dccd0e76356088f81779ccd65239b19ad1f44035 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='groups.1'>
-  <!-- $Id: groups.1.xml,v 1.9 2005/06/14 20:18:17 kloczek Exp $ -->
+  <!-- $Id: groups.1.xml,v 1.13 2005/09/30 15:41:20 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>groups</refentrytitle>
     <manvolnum>1</manvolnum>
 
   <refsynopsisdiv id='synopsis'>
     <cmdsynopsis>
-      <command>groups</command>    
+      <command>groups</command>
       <arg choice='opt'>
-        <replaceable>user</replaceable>
+       <replaceable>user</replaceable>
       </arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><command>groups</command> displays the current group names or ID
+    <para>
+      <command>groups</command> displays the current group names or ID
       values. If the value does not have a corresponding entry in
       <filename>/etc/group</filename>, the value will be displayed as the
       numerical group value. The optional <emphasis
       named <emphasis remap='I'>user</emphasis>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='note'>
     <title>NOTE</title>
-    <para>Systems which do not support concurrent group sets will have the
+    <para>
+      Systems which do not support concurrent group sets will have the
       information from <filename>/etc/group</filename> reported. The user
       must use <command>newgrp</command> or <command>sg</command> to change
       their current real and effective group ID.
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/group</filename></term>
-        <listitem>group account information</listitem>
+       <term><filename>/etc/group</filename></term>
+       <listitem>
+         <para>group account information</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>newgrp</refentrytitle><manvolnum>1</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>newgrp</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>getgid</refentrytitle><manvolnum>2</manvolnum>
+       <refentrytitle>getgid</refentrytitle><manvolnum>2</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>getgroups</refentrytitle><manvolnum>2</manvolnum>
+       <refentrytitle>getgroups</refentrytitle><manvolnum>2</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>getuid</refentrytitle><manvolnum>2</manvolnum>
-      </citerefentry>
+       <refentrytitle>getuid</refentrytitle><manvolnum>2</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para>
index ad1d9cb3537d3d2d474e765b470c32024c199b34..5c02fcd9826e46fc9f07f9a648805276a6511a7d 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GRPCK" "8" "08/03/2005" "" ""
+.TH "GRPCK" "8" "10/01/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -14,11 +14,11 @@ grpck \- verify integrity of group files
 \fBgrpck\fR [\-r] [\fIgroup\fR\ \fIshadow\fR]
 .SH "DESCRIPTION"
 .PP
- \fBgrpck\fR 
-verifies the integrity of the system authentication information. All entries in the 
-\fI/etc/group\fR 
-and 
-\fI/etc/gshadow\fR 
+\fBgrpck\fR
+verifies the integrity of the system authentication information. All entries in the
+\fI/etc/group\fR
+and
+\fI/etc/gshadow\fR
 are checked to see that the entry has the proper format and valid data in each field. The user is prompted to delete entries that are improperly formatted or which have other uncorrectable errors.
 .PP
 Checks are made to verify that each entry has:
@@ -32,38 +32,38 @@ a unique group name
 \(bu
 a valid list of members and administrators
 .PP
-The checks for correct number of fields and unique group name are fatal. If the entry has the wrong number of fields, the user will be prompted to delete the entire line. If the user does not answer affirmatively, all further checks are bypassed. An entry with a duplicated group name is prompted for deletion, but the remaining checks will still be made. All other errors are warnings and the user is encouraged to run the 
-\fBgroupmod\fR 
+The checks for correct number of fields and unique group name are fatal. If the entry has the wrong number of fields, the user will be prompted to delete the entire line. If the user does not answer affirmatively, all further checks are bypassed. An entry with a duplicated group name is prompted for deletion, but the remaining checks will still be made. All other errors are warnings and the user is encouraged to run the
+\fBgroupmod\fR
 command to correct the error.
 .PP
-The commands which operate on the 
-\fI/etc/group\fR 
-file are not able to alter corrupted or duplicated entries. 
-\fBgrpck\fR 
+The commands which operate on the
+\fI/etc/group\fR
+file are not able to alter corrupted or duplicated entries.
+\fBgrpck\fR
 should be used in those circumstances to remove the offending entry.
 .SH "OPTIONS"
 .PP
-By default, 
-\fBgrpck\fR 
-operates on the files 
-\fI/etc/group\fR 
-and 
-\fI/etc/gshadow\fR. The user may select alternate files with the 
-\fIgroup\fR 
-and 
-\fIshadow\fR 
-parameters. Additionally, the user may execute the command in read\-only mode by specifying the 
-\fB\-r\fR 
-flag. This causes all questions regarding changes to be answered 
-\fIno\fR 
-without user intervention. 
-\fBgrpck\fR 
-can also sort entries in 
-\fI/etc/group\fR 
-and 
-\fI/etc/gshadow\fR 
-by GID. To run it in sort mode pass it 
-\fB\-s\fR 
+By default,
+\fBgrpck\fR
+operates on the files
+\fI/etc/group\fR
+and
+\fI/etc/gshadow\fR. The user may select alternate files with the
+\fIgroup\fR
+and
+\fIshadow\fR
+parameters. Additionally, the user may execute the command in read\-only mode by specifying the
+\fB\-r\fR
+flag. This causes all questions regarding changes to be answered
+\fIno\fR
+without user intervention.
+\fBgrpck\fR
+can also sort entries in
+\fI/etc/group\fR
+and
+\fI/etc/gshadow\fR
+by GID. To run it in sort mode pass it
+\fB\-s\fR
 flag. No checks are performed then, it just sorts.
 .SH "FILES"
 .TP
@@ -77,15 +77,15 @@ secure group account information
 user account information
 .SH "SEE ALSO"
 .PP
-\fBgroup\fR(5), 
-\fBpasswd\fR(5), 
-\fBshadow\fR(5), 
-\fBgroupmod\fR(8)
+\fBgroup\fR(5),
+\fBpasswd\fR(5),
+\fBshadow\fR(5),
+\fBgroupmod\fR(8).
 .SH "EXIT VALUES"
 .PP
-The 
-\fBgrpck\fR 
-command exits with the following values: 
+The
+\fBgrpck\fR
+command exits with the following values:
 .TP
 \fI0\fR
 success
index 2ade41f5e3bb5ecce0157f436b1f60e19128e606..23f6d92efd72ace226fad35aeea8b8b122bbc532 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='grpck.8'>
-  <!-- $Id: grpck.8.xml,v 1.9 2005/06/20 08:57:34 kloczek Exp $ -->
+  <!-- $Id: grpck.8.xml,v 1.14 2005/10/01 15:01:45 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>grpck</refentrytitle>
     <manvolnum>8</manvolnum>
     <cmdsynopsis>
       <command>grpck</command>    <arg choice='opt'>-r </arg>
       <arg choice='opt'>
-        <arg choice='plain'><replaceable>group</replaceable></arg>
-        <arg choice='plain'><replaceable>shadow</replaceable></arg>
+       <arg choice='plain'><replaceable>group</replaceable></arg>
+       <arg choice='plain'><replaceable>shadow</replaceable></arg>
       </arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
     <para>
       in each field. The user is prompted to delete entries that are
       improperly formatted or which have other uncorrectable errors.
     </para>
-    
+
     <para>Checks are made to verify that each entry has:</para>
 
     <itemizedlist mark='bullet'>
       <listitem>
-        <para>the correct number of fields</para>
+       <para>the correct number of fields</para>
       </listitem>
       <listitem>
-        <para>a unique group name</para>
+       <para>a unique group name</para>
       </listitem>
       <listitem>
-        <para>a valid list of members and administrators</para>
+       <para>a valid list of members and administrators</para>
       </listitem>
-    </itemizedlist>    
-    
-    <para>The checks for correct number of fields and unique group name are
+    </itemizedlist>
+
+    <para>
+      The checks for correct number of fields and unique group name are
       fatal. If the entry has the wrong number of fields, the user will be
       prompted to delete the entire line. If the user does not answer
       affirmatively, all further checks are bypassed. An entry with a
       is encouraged to run the <command>groupmod</command> command to
       correct the error.
     </para>
-    
-    <para>The commands which operate on the <filename>/etc/group</filename>
-      file are not able to alter corrupted or duplicated entries.
+
+    <para>
+      The commands which operate on the <filename>/etc/group</filename> file
+      are not able to alter corrupted or duplicated entries. 
       <command>grpck</command> should be used in those circumstances to
       remove the offending entry.
     </para>
   </refsect1>
-  
+
   <refsect1 id='options'>
     <title>OPTIONS</title>
     <para>
       remap='I'>group</emphasis> and <emphasis remap='I'>shadow</emphasis>
       parameters. Additionally, the user may execute the command in
       read-only mode by specifying the <option>-r</option> flag. This causes
-      all questions regarding changes to be answered <emphasis
-      remap='B'>no</emphasis> without user intervention. 
-      <command>grpck</command> can also sort entries in
-      <filename>/etc/group</filename> and <filename>/etc/gshadow</filename>
-      by GID. To run it in sort mode pass it <option>-s</option> flag. No
-      checks are performed then, it just sorts.
+      all questions regarding changes to be answered <emphasis>no</emphasis>
+      without user intervention. <command>grpck</command> can also sort
+      entries in <filename>/etc/group</filename> and
+      <filename>/etc/gshadow</filename> by GID. To run it in sort mode pass
+      it <option>-s</option> flag. No checks are performed then, it just
+      sorts.
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/group</filename></term>
-        <listitem>group account information</listitem>
+       <term><filename>/etc/group</filename></term>
+       <listitem>
+         <para>group account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/gshadow</filename></term>
-        <listitem>secure group account information</listitem>
+       <term><filename>/etc/gshadow</filename></term>
+       <listitem>
+         <para>secure group account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/passwd</filename></term>
-        <listitem>user account information</listitem>
+       <term><filename>/etc/passwd</filename></term>
+       <listitem>
+         <para>user account information</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+       <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
+       <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum>
-      </citerefentry>
+       <refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='exit_values'>
     <title>EXIT VALUES</title>
     <para>
       The <command>grpck</command> command exits with the following values:
       <variablelist>
-        <varlistentry>
-          <term><replaceable>0</replaceable></term>
-         <listitem>success</listitem>
+       <varlistentry>
+         <term><replaceable>0</replaceable></term>
+         <listitem>
+           <para>success</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>1</replaceable></term>
-         <listitem>invalid command syntax</listitem>
+       <varlistentry>
+         <term><replaceable>1</replaceable></term>
+         <listitem>
+           <para>invalid command syntax</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>2</replaceable></term>
-         <listitem>one or more bad group entries</listitem>
+       <varlistentry>
+         <term><replaceable>2</replaceable></term>
+         <listitem>
+           <para>one or more bad group entries</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>3</replaceable></term>
-         <listitem>can't open group files</listitem>
+       <varlistentry>
+         <term><replaceable>3</replaceable></term>
+         <listitem>
+           <para>can't open group files</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>4</replaceable></term>
-         <listitem>can't lock group files</listitem>
+       <varlistentry>
+         <term><replaceable>4</replaceable></term>
+         <listitem>
+           <para>can't lock group files</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>5</replaceable></term>
-         <listitem>can't update group files</listitem>
+       <varlistentry>
+         <term><replaceable>5</replaceable></term>
+         <listitem>
+           <para>can't update group files</para>
+         </listitem>
        </varlistentry>
       </variablelist>
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
index ee83e2028fdfa8c1163b43ba52e6adaa569ecac7..4335e22ce0cebfd9a7059babf2250fa9820c7691 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GSHADOW" "5" "08/03/2005" "" ""
+.TH "GSHADOW" "5" "09/30/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -11,7 +11,7 @@
 gshadow \- shadowed group file
 .SH "DESCRIPTION"
 .PP
-\fI/etc/gshadow\fR 
+\fI/etc/gshadow\fR
 contains the shadowed information for group accounts. It contains lines with the following colon\-separated fields:
 .TP 3
 \(bu
@@ -26,13 +26,13 @@ comma\-separated list of group administrators
 \(bu
 comma\-separated list of group members
 .PP
-The group name and password fields must be filled. The encrypted password consists of 13 characters from the 64\-character alphabet a thru z, A thru Z, 0 thru 9, \\. and /. Refer to 
-\fBcrypt\fR(3) 
-for details on how this string is interpreted. If the password field contains some string that is not valid result of 
-\fBcrypt\fR(3), for instance ! or *, the user will not be able to use a unix password to log in, subject to 
+The group name and password fields must be filled. The encrypted password consists of characters from the 64\-character alphabet a thru z, A thru Z, 0 thru 9, \\. and /. Refer to
+\fBcrypt\fR(3)
+for details on how this string is interpreted. If the password field contains some string that is not valid result of
+\fBcrypt\fR(3), for instance ! or *, the user will not be able to use a unix password to log in, subject to
 \fBpam\fR(7).
 .PP
-This information supersedes any password present in 
+This information supersedes any password present in
 \fI/etc/group\fR.
 .PP
 This file must not be readable by regular users if password security is to be maintained.
@@ -45,9 +45,9 @@ group account information
 secure group account information
 .SH "SEE ALSO"
 .PP
-\fBgroup\fR(5), 
-\fBgpasswd\fR(5), 
-\fBnewgrp\fR(5)
+\fBgroup\fR(5),
+\fBgpasswd\fR(5),
+\fBnewgrp\fR(5).
 .SH "AUTHOR"
 .PP
 Nicolas FRANCOIS
index 70b3dac2fe1cc1053a8917df0ba64ebb21e4d201..dac0b476fa6d9a91a1a5ec49c4e466f7963e5310 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='gshadow.5'>
-  <!-- $Id: gshadow.5.xml,v 1.10 2005/06/16 17:35:43 kloczek Exp $ -->
+  <!-- $Id: gshadow.5.xml,v 1.15 2005/09/30 15:41:20 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>gshadow</refentrytitle>
     <manvolnum>5</manvolnum>
     <refname>gshadow</refname>
     <refpurpose>shadowed group file</refpurpose>
   </refnamediv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><filename>/etc/gshadow</filename> contains the shadowed
-      information for group accounts. It contains lines with the following
+    <para>
+      <filename>/etc/gshadow</filename> contains the shadowed information
+      for group accounts. It contains lines with the following
       colon-separated fields:
     </para>
     <itemizedlist mark='bullet'>
       <listitem>
-        <para>group name</para>
-      </listitem>    
+       <para>group name</para>
+      </listitem>
       <listitem>
-        <para>encrypted password</para>
-      </listitem>    
+       <para>encrypted password</para>
+      </listitem>
       <listitem>
-        <para>comma-separated list of group administrators</para>
-      </listitem>    
+       <para>comma-separated list of group administrators</para>
+      </listitem>
       <listitem>
-        <para>comma-separated list of group members</para>
-      </listitem>    
+       <para>comma-separated list of group members</para>
+      </listitem>
     </itemizedlist>
-    
-    <para>The group name and password fields must be filled. The encrypted
-      password consists of 13 characters from the 64-character alphabet a
-      thru z, A thru Z, 0 thru 9, \. and /. Refer to <citerefentry>
+
+    <para>
+      The group name and password fields must be filled. The encrypted
+      password consists of characters from the 64-character alphabet a thru
+      z, A thru Z, 0 thru 9, \. and /. Refer to <citerefentry>
       <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
       </citerefentry> for details on how this string is interpreted. If the
       password field contains some string that is not valid result of
       a unix password to log in, subject to <citerefentry>
       <refentrytitle>pam</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
     </para>
-    
-    <para>This information supersedes any password present in
+
+    <para>
+      This information supersedes any password present in
       <filename>/etc/group</filename>.
     </para>
-    
-    <para>This file must not be readable by regular users if password
-      security is to be maintained.
+
+    <para>
+      This file must not be readable by regular users if password security
+      is to be maintained.
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/group</filename></term>
-        <listitem>group account information</listitem>
+       <term><filename>/etc/group</filename></term>
+       <listitem>
+         <para>group account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/gshadow</filename></term>
-        <listitem>secure group account information</listitem>
+       <term><filename>/etc/gshadow</filename></term>
+       <listitem>
+         <para>secure group account information</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>gpasswd</refentrytitle><manvolnum>5</manvolnum>
+       <refentrytitle>gpasswd</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>newgrp</refentrytitle><manvolnum>5</manvolnum>
-      </citerefentry>
+       <refentrytitle>newgrp</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Nicolas FRANCOIS</para>
index 044a4cf23dceba4647efc6d29726b82213c1c703..c7e0ee396390d69b002cd4c7fba8690ecf1c291c 100644 (file)
@@ -38,7 +38,8 @@ host_triplet = @host@
 subdir = man/hu
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -77,6 +78,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -88,6 +91,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -127,6 +131,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -194,9 +201,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/hu/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/hu/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  man/hu/Makefile
+         $(AUTOMAKE) --foreign  man/hu/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 9c6e5829e7551c2bd36674208224d92727e0cac4..adfada945c03fcd7d151386e2d98cfac74d3e520 100644 (file)
--- a/man/id.1
+++ b/man/id.1
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "ID" "1" "08/03/2005" "User Commands" "User Commands"
+.TH "ID" "1" "09/30/2005" "User Commands" "User Commands"
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -14,12 +14,12 @@ id \- Display current user and group ID names
 \fBid\fR [\-a]
 .SH "DESCRIPTION"
 .PP
-\fBid\fR 
-displays the current real and effective user and group ID names or values. If the value does not have a corresponding entry in 
-\fI/etc/passwd\fR 
-or 
-\fI/etc/group\fR, the value will be displayed without the corresponding name. The optional 
-\fB\-a\fR 
+\fBid\fR
+displays the current real and effective user and group ID names or values. If the value does not have a corresponding entry in
+\fI/etc/passwd\fR
+or
+\fI/etc/group\fR, the value will be displayed without the corresponding name. The optional
+\fB\-a\fR
 flag will display the group set on systems which support multiple concurrent group membership.
 .SH "FILES"
 .TP
@@ -30,8 +30,8 @@ group account information
 user account information
 .SH "SEE ALSO"
 .PP
-\fBgetgid\fR(2), 
-\fBgetgroups\fR(2), 
+\fBgetgid\fR(2),
+\fBgetgroups\fR(2),
 \fBgetuid\fR(2)
 .SH "AUTHOR"
 .PP
index 704051ba6d85c867e2de90224dd5ae83625dc72a..6a84b0369f1190a1536954e22ee0eda5df40f8ee 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='id.1'>
-  <!-- $Id: id.1.xml,v 1.8 2005/06/14 20:18:17 kloczek Exp $ -->
+  <!-- $Id: id.1.xml,v 1.12 2005/09/30 15:41:20 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>id</refentrytitle>
     <manvolnum>1</manvolnum>
       <command>id</command>    <arg choice='opt'>-a </arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><command>id</command> displays the current real and effective user
-      and group ID names or values. If the value does not have a
-      corresponding entry in <filename>/etc/passwd</filename> or
+    <para>
+      <command>id</command> displays the current real and effective user and
+      group ID names or values. If the value does not have a corresponding
+      entry in <filename>/etc/passwd</filename> or
       <filename>/etc/group</filename>, the value will be displayed without
       the corresponding name. The optional <option>-a</option> flag will
       display the group set on systems which support multiple concurrent
       group membership.
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/group</filename></term>
-        <listitem>group account information</listitem>
+       <term><filename>/etc/group</filename></term>
+       <listitem>
+         <para>group account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/passwd</filename></term>
-        <listitem>user account information</listitem>
+       <term><filename>/etc/passwd</filename></term>
+       <listitem>
+         <para>user account information</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>getgid</refentrytitle><manvolnum>2</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>getgid</refentrytitle><manvolnum>2</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>getgroups</refentrytitle><manvolnum>2</manvolnum>
+       <refentrytitle>getgroups</refentrytitle><manvolnum>2</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>getuid</refentrytitle><manvolnum>2</manvolnum>
+       <refentrytitle>getuid</refentrytitle><manvolnum>2</manvolnum>
       </citerefentry>
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para>
index 6d44e99efa72f3fe9656f69a4608858e231ce55f..72fd9fa5f8192eb66cc1c50833b9e063ede5f23f 100644 (file)
@@ -38,7 +38,8 @@ host_triplet = @host@
 subdir = man/id
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -78,6 +79,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -89,6 +92,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -128,6 +132,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -190,9 +197,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/id/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/id/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  man/id/Makefile
+         $(AUTOMAKE) --foreign  man/id/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 9e27387e9a201a3541f58fda7f8aa44183b04558..e13a49d9fee70cb8a77d54315959a7923ef7f370 100644 (file)
@@ -7,11 +7,11 @@
 .\"  there is no warranty.
 .\"
 .\"  $Author: kloczek $
-.\"  $Revision: 1.3 $
-.\"  $Date: 2005/04/05 19:08:54 $
+.\"  $Revision: 1.4 $
+.\"  $Date: 2005/08/29 13:59:29 $
 .\"
 .TH CHSH 1 "October 13 1994" "chsh" "Linux Reference Manual"
-.SH NAMA PERINTAH/PROGRAM
+.SH NAMA
 chsh \- merubah shell login
 .SH RINGKASAN
 .B chsh
index 718a6de0227928ad48e47f4520773520c77745c2..adef97a296805b4443ca14e99568d8d4aa0fb18c 100644 (file)
@@ -38,7 +38,8 @@ host_triplet = @host@
 subdir = man/it
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -81,6 +82,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -92,6 +95,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -131,6 +135,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -225,9 +232,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/it/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/it/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  man/it/Makefile
+         $(AUTOMAKE) --foreign  man/it/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 05c5302829c26e8a33cc034f64688a5b31d90d96..af9c0bc5e304a60f88d0972b2661a880485341ed 100644 (file)
@@ -38,7 +38,8 @@ host_triplet = @host@
 subdir = man/ja
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -80,6 +81,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -91,6 +94,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -130,6 +134,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -232,9 +239,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/ja/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/ja/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  man/ja/Makefile
+         $(AUTOMAKE) --foreign  man/ja/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 5a10dfa782aeb6b81a281e0a14a0ede83e11f173..603c488129d998dfde29ad002842c4da04e82eee 100644 (file)
@@ -38,7 +38,8 @@ host_triplet = @host@
 subdir = man/ko
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -78,6 +79,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -89,6 +92,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -128,6 +132,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -193,9 +200,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/ko/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/ko/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  man/ko/Makefile
+         $(AUTOMAKE) --foreign  man/ko/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 77b6bfa3498e4e2734321ca7868c49101275dcf3..8552f42470e7e1db5f2906872cdc99f4f9e0410e 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "LASTLOG" "8" "08/10/2005" "" ""
+.TH "LASTLOG" "8" "10/01/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -14,45 +14,47 @@ lastlog \- examine lastlog file
 \fBlastlog\fR [\fIoptions\fR]
 .SH "DESCRIPTION"
 .PP
-\fBlastlog\fR 
-formats and prints the contents of the last login log 
-\fI/var/log/lastlog\fR 
-file. The 
-\fI login\-name\fR, 
-\fIport\fR, and 
-\fIlast login time\fR 
-will be printed. The default (no flags) causes lastlog entries to be printed, sorted by their order in 
+\fBlastlog\fR
+formats and prints the contents of the last login log
+\fI/var/log/lastlog\fR
+file. The
+\fIlogin\-name\fR,
+\fIport\fR, and
+\fIlast login time\fR
+will be printed. The default (no flags) causes lastlog entries to be printed, sorted by their order in
 \fI/etc/passwd\fR.
 .SH "OPTIONS"
+.PP
+The options which apply to the
+\fBlastlog\fR
+command are:
 .TP
-The options which apply to the \fBlastlog\fR command are:
+\fB\-b\fR, \fB\-\-before\fR \fIDAYS\fR
+Print only lastlog records older than
+\fIDAYS\fR.
 .TP
 \fB\-h\fR, \fB\-\-help\fR
-Print help message and exit.
+Display help message and exit.
 .TP
 \fB\-t\fR, \fB\-\-time\fR \fIDAYS\fR
-Print the lastlog records more recent than 
+Print the lastlog records more recent than
 \fIDAYS\fR.
 .TP
 \fB\-u\fR, \fB\-\-user\fR \fILOGIN\fR
-Print the lastlog record for user with specified 
-\fILOGIN\fR 
+Print the lastlog record for user with specified
+\fILOGIN\fR
 only.
 .TP
 The \fB\-t\fR flag overrides the use of \fB\-u\fR.
-
 .PP
-If the user has never logged in the message 
-\fI **Never logged in**\fR 
+If the user has never logged in the message
+\fI** Never logged in**\fR
 will be displayed instead of the port and time.
 .SH "NOTE"
 .PP
-The 
-\fBlastlog\fR 
-file is a database which contains info on the last login of each user. You should not rotate it. It is a sparse file, so its size on the disk is much smaller than the one shown by 
-\fBls \-l\fR 
-(which can indicate a really big file if you have a high UID). You can display its real size with 
-\fBls \-s\fR.
+The
+\fIlastlog\fR
+file is a database which contains info on the last login of each user. You should not rotate it. It is a sparse file, so its size on the disk is much smaller than the one shown by "\fBls \-l\fR" (which can indicate a really big file if you have a high UID). You can display its real size with "\fBls \-s\fR".
 .SH "FILES"
 .TP
 \fI/var/log/lastlog\fR
index 57fd15d576be86f72f983df0bb044ac4db980ffb..cd11ff4e8552c4d07c60a2d2bda7f5083dbebcfe 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='lastlog.8'>
-  <!-- $Id: lastlog.8.xml,v 1.9 2005/08/10 07:41:27 kloczek Exp $ -->
+  <!-- $Id: lastlog.8.xml,v 1.18 2005/10/01 15:01:45 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>lastlog</refentrytitle>
     <manvolnum>8</manvolnum>
   <!-- body begins here -->
   <refsynopsisdiv id='synopsis'>
     <cmdsynopsis>
-      <command>lastlog</command>    
+      <command>lastlog</command>
       <arg choice='opt'>
-        <replaceable>options</replaceable>
+       <replaceable>options</replaceable>
       </arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><command>lastlog</command> formats and prints the contents of the last
-      login log <filename>/var/log/lastlog</filename> file. The <emphasis
-      remap='B'> login-name</emphasis>, <emphasis remap='B'>port</emphasis>,
-      and <emphasis remap='B'>last login time</emphasis> will be printed.
-      The default (no flags) causes lastlog entries to be printed, sorted by
-      their order in <filename>/etc/passwd</filename>.
+    <para>
+      <command>lastlog</command> formats and prints the contents of the last
+      login log <filename>/var/log/lastlog</filename> file. The
+      <emphasis>login-name</emphasis>, <emphasis>port</emphasis>, and
+      <emphasis>last login time</emphasis> will be printed.  The default (no
+      flags) causes lastlog entries to be printed, sorted by their order in
+      <filename>/etc/passwd</filename>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='options'>
     <title>OPTIONS</title>
-    <variablelist remap='TP'>
+    <para>
+      The options which apply to the <command>lastlog</command> command are:
+    </para>
+    <variablelist remap='IP'>
       <varlistentry>
-        <term>
-          The options which apply to the <command>lastlog</command>
-          command are:
-        </term>
+       <term>
+         <option>-b</option>, <option>--before</option> <replaceable>DAYS</replaceable>
+       </term>
+       <listitem>
+         <para>
+           Print only lastlog records older than <emphasis remap='I'>DAYS</emphasis>.
+         </para>
+       </listitem>
       </varlistentry>
-    </variablelist>
-    <variablelist remap='IP'>
       <varlistentry>
-        <term>
-          <option>-h</option>, <option>--help</option>
-        </term>
-        <listitem>
-          <para>Print help message and exit.</para>
-        </listitem>
+       <term>
+         <option>-h</option>, <option>--help</option>
+       </term>
+       <listitem>
+         <para>Display help message and exit.</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-t</option>, <option>--time</option>
+       <term>
+         <option>-t</option>, <option>--time</option>
          <replaceable>DAYS</replaceable>
-        </term>
-        <listitem>
-          <para>
-            Print the lastlog records more recent than
+       </term>
+       <listitem>
+         <para>
+           Print the lastlog records more recent than
            <emphasis remap='I'>DAYS</emphasis>.
-          </para>
-        </listitem>
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-u</option>, <option>--user</option>
+       <term>
+         <option>-u</option>, <option>--user</option>
          <replaceable>LOGIN</replaceable>
-        </term>
-        <listitem>
-          <para>Print the lastlog record for user with specified
+       </term>
+       <listitem>
+         <para>Print the lastlog record for user with specified
            <emphasis remap='I'>LOGIN</emphasis> only.
-          </para>
-        </listitem>
+         </para>
+       </listitem>
       </varlistentry>
     </variablelist>
     <variablelist remap='TP'>
       <varlistentry>
-        <term>
-          The <option>-t</option> flag overrides the use of <option>-u</option>.
-        </term>
-        <listitem>
-          <para></para>
-        </listitem>
+       <term>
+         The <option>-t</option> flag overrides the use of <option>-u</option>.
+       </term>
+       <listitem>
+         <para></para>
+       </listitem>
       </varlistentry>
     </variablelist>
-    
-    <para>If the user has never logged in the message <emphasis remap='B'>
-      **Never logged in**</emphasis> will be displayed instead of the port and
-      time.
+
+    <para>
+      If the user has never logged in the message <emphasis>** Never logged
+      in**</emphasis> will be displayed instead of the port and time.
     </para>
   </refsect1>
-  
+
   <refsect1 id='note'>
     <title>NOTE</title>
     <para>
-      The <command>lastlog</command> file is a database which contains info
+      The <filename>lastlog</filename> file is a database which contains info
       on the last login of each user. You should not rotate it. It is a sparse
       file, so its size on the disk is much smaller than the one shown by
-      <command>ls -l</command> (which can indicate a really big file if
+      "<command>ls -l</command>" (which can indicate a really big file if
       you have a high UID). You can display its real size with
-      <command>ls -s</command>.
+      "<command>ls -s</command>".
     </para>
   </refsect1>
 
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/var/log/lastlog</filename></term>
-        <listitem>lastlog logging file</listitem>
+       <term><filename>/var/log/lastlog</filename></term>
+       <listitem>
+         <para>lastlog logging file</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='caveats'>
     <title>CAVEATS</title>
-    <para>Large gaps in uid numbers will cause the lastlog program to run
+    <para>
+      Large gaps in uid numbers will cause the lastlog program to run
       longer with no output to the screen (i.e. if mmdf=800 and last
       uid=170, program will appear to hang as it processes uid 171-799).
     </para>
   </refsect1>
-  
+
   <refsect1 id='authors'>
     <title>AUTHORS</title>
     <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
index 7cbc875db5f301393ca25d879bc32bb04d024387..13699e72e03014fbf44bba28d76f68531ae95c38 100644 (file)
@@ -1,75 +1,65 @@
-.\"$Id: limits.5,v 1.9 2005/04/05 18:47:50 kloczek Exp $
-.TH LIMITS 5
-.SH NAME
+.\" ** You probably do not want to edit this file directly **
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
+.\" Instead of manually editing it, you probably should edit the DocBook XML
+.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
+.TH "LIMITS" "5" "10/01/2005" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.SH "NAME"
 limits \- Resource limits definition
-.SH DESCRIPTION
-The \fIlimits\fR file (/etc/limits by default or LIMITS_FILE defined
-config.h) describes the resource limits you wish to impose. It should be
-owned by root and readable by root account only.
+.SH "DESCRIPTION"
 .PP
-By default no quotas are imposed on 'root'. In fact, there is no way to impose
-limits via this procedure to root\-equiv accounts (accounts with UID 0).
+The
+\fIlimits\fR
+file (/etc/limits by default or LIMITS_FILE defined config.h) describes the resource limits you wish to impose. It should be owned by root and readable by root account only.
+.PP
+By default no quota is imposed on 'root'. In fact, there is no way to impose limits via this procedure to root\-equiv accounts (accounts with UID 0).
 .PP
 Each line describes a limit for a user in the form:
-.sp
-.I     user LIMITS_STRING
 .PP
-The \fBLIMITS_STRING\fP is a string of a concatenated list of resource limits.
-Each limit consists of a letter identifier followed by a numerical limit.
+\fIuser LIMITS_STRING\fR
+.PP
+The
+\fILIMITS_STRING\fR
+is a string of a concatenated list of resource limits. Each limit consists of a letter identifier followed by a numerical limit.
 .PP
 The valid identifiers are:
-.sp
-A: max address space (KB)
-.br
-C: max core file size (KB)
-.br
-D: max data size (KB)
-.br
-F: maximum filesize (KB)
-.br
-M: max locked\-in\-memory address space (KB)
-.br
-N: max number of open files
-.br
-R: max resident set size (KB)
-.br
-S: max stack size (KB)
-.br
-T: max CPU time (MIN)
-.br
-U: max number of processes
-.br
-K: file creation mask, set by \fBumask\fR(2).
-.br
-L: max number of logins for this user
-.br
-P: process priority, set by \fBsetpriority\fR(2).
 .PP
-For example, \fIL2D2048N5\fP is a valid \fBLIMITS_STRING\fP. For reading convenience,
-the following entries are equivalent:
-.sp
-username L2D2048N5
-.br
-username L2 D2048 N5
+A: max address space (KB) C: max core file size (KB) D: max data size (KB) F: maximum filesize (KB) M: max locked\-in\-memory address space (KB) N: max number of open files R: max resident set size (KB) S: max stack size (KB) T: max CPU time (MIN) U: max number of processes K: file creation mask, set by
+\fBumask\fR(2)
+. L: max number of logins for this user P: process priority, set by
+\fBsetpriority\fR(2).
+.PP
+For example,
+\fIL2D2048N5\fR
+is a valid
+\fILIMITS_STRING \fR. For reading convenience, the following entries are equivalent:
 .PP
-Be aware that after \fIusername\fP the rest of the line is considered a
-limit string, thus comments are not allowed. A invalid limits string will be
-rejected (not considered) by the login program.
+username L2D2048N5username L2 D2048 N5
 .PP
-The default entry is denoted by username "\fB*\fP". If you have multiple
-\fIdefault\fP entries in your \fBLIMITS_FILE\fP, then the last one will be
-used as the default entry.
+Be aware that after
+\fIusername\fR
+the rest of the line is considered a limit string, thus comments are not allowed. A invalid limits string will be rejected (not considered) by the login program.
 .PP
-To completely disable limits for a user, a single dash "\fB\-\fP" will do.
+The default entry is denoted by username "\fI*\fR". If you have multiple
+\fIdefault\fR
+entries in your
+\fILIMITS_FILE\fR, then the last one will be used as the default entry.
 .PP
-Also, please note that all limit settings are set PER LOGIN. They are not
-global, nor are they permanent. Perhaps global limits will come, but for
-now this will have to do ;)
-.SH FILES
+To completely disable limits for a user, a single dash "\fI\-\fR
+"will do.
+.PP
+Also, please note that all limit settings are set PER LOGIN. They are not global, nor are they permanent. Perhaps global limits will come, but for now this will have to do ;)
+.SH "FILES"
+.TP
 \fI/etc/limits\fR
-.SH SEE ALSO
-.BR login (1),
-.BR setpriority (2),
-.BR setrlimit (2)
-.SH AUTHOR
+.SH "SEE ALSO"
+.PP
+\fBlogin\fR(1),
+\fBsetpriority\fR(2),
+\fBsetrlimit\fR(2).
+.SH "AUTHOR"
+.PP
 Cristian Gafton (gafton@sorosis.ro)
index 84b4fd8ff99b00c021340993aa502b6d1636ff5d..18266cb6ae2e175736678973b9e621ac3d0f6154 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-<refentry id='limits5'>
-  <!-- $Id: limits.5.xml,v 1.6 2005/06/14 20:18:17 kloczek Exp $ -->
+<refentry id='limits.5'>
+  <!-- $Id: limits.5.xml,v 1.13 2005/10/01 15:01:45 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>LIMITS</refentrytitle>
     <manvolnum>5</manvolnum>
     <refpurpose>Resource limits definition</refpurpose>
   </refnamediv>
   <!-- body begins here -->
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
     <para>
-      The <emphasis remap='I'>limits</emphasis> file (/etc/limits by
-      default or LIMITS_FILE defined
-      config.h) describes the resource limits you wish to impose. It
-      should be
-      owned by root and readable by root account only.
+      The <emphasis remap='I'>limits</emphasis> file (/etc/limits by default
+      or LIMITS_FILE defined config.h) describes the resource limits you
+      wish to impose. It should be owned by root and readable by root
+      account only.
     </para>
-    
-    <para>By default no quotas are imposed on 'root'. In fact, there is no
-      way to impose
-      limits via this procedure to root-equiv accounts (accounts with UID
-      0).
+
+    <para>
+      By default no quota is imposed on 'root'. In fact, there is no way to
+      impose limits via this procedure to root-equiv accounts (accounts with
+      UID 0).
     </para>
-    
+
     <para>Each line describes a limit for a user in the form:</para>
-    
+
     <para>
       <emphasis remap='I'>user LIMITS_STRING</emphasis>
     </para>
-    
+
     <para>
-      The <emphasis remap='B'>LIMITS_STRING</emphasis> is a string of a
+      The <emphasis>LIMITS_STRING</emphasis> is a string of a
       concatenated list of resource limits.
       Each limit consists of a letter identifier followed by a numerical
       limit.
     </para>
-    
+
     <para>The valid identifiers are:</para>
-    
+
     <para>A: max address space (KB)
-      <!-- .br -->
       C: max core file size (KB)
-      <!-- .br -->
       D: max data size (KB)
-      <!-- .br -->
       F: maximum filesize (KB)
-      <!-- .br -->
       M: max locked-in-memory address space (KB)
-      <!-- .br -->
       N: max number of open files
-      <!-- .br -->
       R: max resident set size (KB)
-      <!-- .br -->
       S: max stack size (KB)
-      <!-- .br -->
       T: max CPU time (MIN)
-      <!-- .br -->
       U: max number of processes
-      <!-- .br -->
-      K: file creation mask, set by 
+      K: file creation mask, set by
       <citerefentry>
-        <refentrytitle>umask</refentrytitle><manvolnum>2</manvolnum>
+       <refentrytitle>umask</refentrytitle><manvolnum>2</manvolnum>
       </citerefentry>
       .
-      <!-- .br -->
       L: max number of logins for this user
-      <!-- .br -->
-      P: process priority, set by 
+      P: process priority, set by
       <citerefentry>
-        <refentrytitle>setpriority</refentrytitle><manvolnum>2</manvolnum>
-      </citerefentry>
-      .
+      <refentrytitle>setpriority</refentrytitle><manvolnum>2</manvolnum>
+      </citerefentry>.
     </para>
-    
-    <para> For example, <emphasis remap='I'>L2D2048N5</emphasis> is a valid
-      <emphasis remap='B'>LIMITS_STRING </emphasis>. For reading
-      convenience, the following entries are equivalent:
+
+    <para>
+      For example, <emphasis remap='I'>L2D2048N5</emphasis> is a valid
+      <emphasis>LIMITS_STRING </emphasis>. For reading convenience, the
+      following entries are equivalent:
     </para>
-    
+
     <para>username L2D2048N5
       <!-- .br -->
       username L2 D2048 N5
     </para>
-    
-    <para> Be aware that after <emphasis remap='I'>username</emphasis> the
-      rest of the line is considered a limit string, thus comments are not
+
+    <para>
+      Be aware that after <emphasis remap='I'>username</emphasis> the rest
+      of the line is considered a limit string, thus comments are not
       allowed. A invalid limits string will be rejected (not considered) by
       the login program.
     </para>
-    
-    <para> The default entry is denoted by username "<emphasis
-      remap='B'>*</emphasis>". If you have multiple <emphasis
-      remap='I'>default</emphasis> entries in your <emphasis
-      remap='B'>LIMITS_FILE</emphasis>, then the last one will be used as
-      the default entry.
-    </para>
-    
-    <para>To completely disable limits for a user, a single dash "<emphasis
-      remap='B'>-</emphasis> "will do.
+
+    <para>
+      The default entry is denoted by username "<emphasis>*</emphasis>". If
+      you have multiple <emphasis remap='I'>default</emphasis> entries in
+      your <emphasis>LIMITS_FILE</emphasis>, then the last one will be used
+      as the default entry.
     </para>
-    
-    <para>Also, please note that all limit settings are set PER LOGIN. They
-      are not global, nor are they permanent. Perhaps global limits will
-      come, but for now this will have to do ;)
+
+    <para>
+      To completely disable limits for a user, a single dash
+      "<emphasis>-</emphasis> "will do.  </para>
+    <para>
+      Also, please note that all limit settings are set PER LOGIN. They are
+      not global, nor are they permanent. Perhaps global limits will come,
+      but for now this will have to do ;)
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/limits</filename></term>
-        <listitem></listitem>
+       <term><filename>/etc/limits</filename></term>
+       <listitem><para></para></listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>setpriority</refentrytitle><manvolnum>2</manvolnum>
+       <refentrytitle>setpriority</refentrytitle><manvolnum>2</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>setrlimit</refentrytitle><manvolnum>2</manvolnum>
-      </citerefentry>
+       <refentrytitle>setrlimit</refentrytitle><manvolnum>2</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Cristian Gafton (gafton@sorosis.ro)</para>
index a44c3bcfbd47542ef4650831de11458aae2856ab..271bfdc41f6f759b2df97ce8ef5948d51943ead2 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "LOGIN" "1" "08/03/2005" "User Commands" "User Commands"
+.TH "LOGIN" "1" "10/01/2005" "User Commands" "User Commands"
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -18,62 +18,61 @@ login \- begin session on the system
 \fBlogin\fR [\-p] \-r\ \fIhost\fR
 .SH "DESCRIPTION"
 .PP
-\fBlogin\fR 
-is used to establish a new session with the system. It is normally invoked automatically by responding to the 
-\fIlogin:\fR 
-prompt on the user\(aas terminal. 
-\fBlogin\fR 
-may be special to the shell and may not be invoked as a sub\-process. Typically, 
-\fBlogin\fR 
-is treated by the shell as 
-\fIexec login\fR 
-which causes the user to exit from the current shell. Attempting to execute 
-\fBlogin\fR 
+\fBlogin\fR
+is used to establish a new session with the system. It is normally invoked automatically by responding to the
+\fIlogin:\fR
+prompt on the user\(aas terminal.
+\fBlogin\fR
+may be special to the shell and may not be invoked as a sub\-process. Typically,
+\fBlogin\fR
+is treated by the shell as
+\fIexec login\fR
+which causes the user to exit from the current shell. Attempting to execute
+\fBlogin\fR
 from any shell but the login shell will produce an error message.
 .PP
-The user is then prompted for a password, where appropriate. Echoing is disabled to prevent revealing the password. Only a small number of password failures are permitted before 
-\fBlogin\fR 
+The user is then prompted for a password, where appropriate. Echoing is disabled to prevent revealing the password. Only a small number of password failures are permitted before
+\fBlogin\fR
 exits and the communications link is severed.
 .PP
-If password aging has been enabled for your account, you may be prompted for a new password before proceeding. You will be forced to provide your old password and the new password before continuing. Please refer to 
-\fBpasswd\fR(1) 
+If password aging has been enabled for your account, you may be prompted for a new password before proceeding. You will be forced to provide your old password and the new password before continuing. Please refer to
+\fBpasswd\fR(1)
 for more information.
 .PP
-After a successful login, you will be informed of any system messages and the presence of mail. You may turn off the printing of the system message file, 
-\fI/etc/motd\fR, by creating a zero\-length file 
-.hushlogin 
-in your login directory. The mail message will be one of "\fIYou have new mail.\fR 
-", "\fIYou have mail.\fR", or "\fINo Mail.\fR 
+After a successful login, you will be informed of any system messages and the presence of mail. You may turn off the printing of the system message file,
+\fI/etc/motd\fR, by creating a zero\-length file
+.hushlogin
+in your login directory. The mail message will be one of "\fIYou have new mail.\fR", "\fIYou have mail.\fR", or "\fINo Mail.\fR
 "according to the condition of your mailbox.
 .PP
-Your user and group ID will be set according to their values in the 
-\fI/etc/passwd\fR 
-file. The value for 
-\fI$HOME\fR, 
-\fI$SHELL\fR, 
-\fI$PATH\fR, 
-\fI$LOGNAME\fR, and 
-\fI$MAIL\fR 
+Your user and group ID will be set according to their values in the
+\fI/etc/passwd\fR
+file. The value for
+\fI$HOME\fR,
+\fI$SHELL\fR,
+\fI$PATH\fR,
+\fI$LOGNAME\fR, and
+\fI$MAIL\fR
 are set according to the appropriate fields in the password entry. Ulimit, umask and nice values may also be set according to entries in the GECOS field.
 .PP
-On some installations, the environmental variable 
-\fI$TERM\fR 
-will be initialized to the terminal type on your tty line, as specified in 
+On some installations, the environmental variable
+\fI$TERM\fR
+will be initialized to the terminal type on your tty line, as specified in
 \fI/etc/ttytype\fR.
 .PP
 An initialization script for your command interpreter may also be executed. Please see the appropriate manual section for more information on this function.
 .PP
 A subsystem login is indicated by the presence of a "*" as the first character of the login shell. The given home directory will be used as the root of a new file system which the user is actually logged into.
 .PP
-The 
-\fBlogin\fR 
-program is NOT responsible for removing users from the utmp file. It is the responsibility of 
-getty(8) 
-and 
-init(8) 
-to clean up apparent ownership of a terminal session. If you use 
-\fBlogin\fR 
-from the shell prompt without 
+The
+\fBlogin\fR
+program is NOT responsible for removing users from the utmp file. It is the responsibility of
+\fBgetty\fR(8)
+and
+\fBinit\fR(8)
+to clean up apparent ownership of a terminal session. If you use
+\fBlogin\fR
+from the shell prompt without
 \fBexec\fR, the user you use will continue to appear to be logged in even after you log out of the "subsession".
 .SH "OPTIONS"
 .TP
@@ -89,18 +88,18 @@ Preserve environment.
 \fB\-r\fR
 Perform autologin protocol for rlogin.
 .PP
-The 
-\fB\-r\fR, 
-\fB\-h\fR 
-and 
-\fB\-f\fR 
-options are only used when 
-\fBlogin\fR 
+The
+\fB\-r\fR,
+\fB\-h\fR
+and
+\fB\-f\fR
+options are only used when
+\fBlogin\fR
 is invoked by root.
 .SH "CAVEATS"
 .PP
-This version of 
-\fBlogin\fR 
+This version of
+\fBlogin\fR
 has many compilation options, only some of which may be in use at any particular site.
 .PP
 The location of files is subject to differences in system configuration.
@@ -131,14 +130,15 @@ list of terminal types
 suppress printing of system messages
 .SH "SEE ALSO"
 .PP
-\fBmail\fR(1), 
-\fBpasswd\fR(1), 
-\fBsh\fR(1), 
-\fBsu\fR(1), 
-\fBlogin.defs\fR(5), 
-\fBnologin\fR(5), 
-\fBpasswd\fR(5), 
-\fBgetty\fR(8)
+\fBmail\fR(1),
+\fBpasswd\fR(1),
+\fBsh\fR(1),
+\fBsu\fR(1),
+\fBlogin.defs\fR(5),
+\fBnologin\fR(5),
+\fBpasswd\fR(5),
+\fBsecuretty\fR(5),
+\fBgetty\fR(8).
 .SH "AUTHOR"
 .PP
 Julianne Frances Haugh <jockgrrl@ix.netcom.com>
index ec2087dcc987f2908a13e73d116a30746360e20c..960c88763f96710ce8ceaf7a717fc13c9c50a951 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='login.1'>
-  <!--  $Id: login.1.xml,v 1.10 2005/07/10 20:10:09 kloczek Exp $ -->
+  <!--  $Id: login.1.xml,v 1.17 2005/10/01 15:01:45 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>LOGIN</refentrytitle>
     <manvolnum>1</manvolnum>
       <arg choice='plain'>-r <replaceable>host</replaceable></arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><command>login</command> is used to establish a new session with the
+    <para>
+      <command>login</command> is used to establish a new session with the
       system. It is normally invoked automatically by responding to the
       <emphasis remap='I'>login:</emphasis> prompt on the user&acute;s
       terminal. <command>login</command> may be special to the shell and may
       execute <command>login</command> from any shell but the login shell
       will produce an error message.
     </para>
-    
-    <para>The user is then prompted for a password, where appropriate. 
-      Echoing is disabled to prevent revealing the password. Only a small
-      number of password failures are permitted before
-      <command>login</command> exits and the communications link is severed.
+
+    <para>
+      The user is then prompted for a password, where appropriate. Echoing
+      is disabled to prevent revealing the password. Only a small number of
+      password failures are permitted before <command>login</command> exits
+      and the communications link is severed.
     </para>
-    
-    <para>If password aging has been enabled for your account, you may be
+
+    <para>
+      If password aging has been enabled for your account, you may be
       prompted for a new password before proceeding. You will be forced to
       provide your old password and the new password before continuing. 
       Please refer to <citerefentry>
       <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry> for more information.
     </para>
-    
-    <para>After a successful login, you will be informed of any system
-      messages and the presence of mail. You may turn off the printing of
-      the system message file, <filename>/etc/motd</filename>, by creating a
+
+    <para>
+      After a successful login, you will be informed of any system messages
+      and the presence of mail. You may turn off the printing of the system
+      message file, <filename>/etc/motd</filename>, by creating a
       zero-length file <markup>.hushlogin</markup> in your login directory. 
-      The mail message will be one of "<emphasis remap='B'>You have new
-      mail.</emphasis> ", "<emphasis remap='B'>You have mail.</emphasis>",
-      or "<emphasis remap='B'>No Mail.</emphasis> "according to the
-      condition of your mailbox.
+      The mail message will be one of "<emphasis>You have new
+      mail.</emphasis>", "<emphasis>You have mail.</emphasis>", or
+      "<emphasis>No Mail.</emphasis> "according to the condition of your
+      mailbox.
     </para>
-    
-    <para>Your user and group ID will be set according to their values in
-      the <filename>/etc/passwd</filename> file. The value for <emphasis
-      remap='B'>$HOME</emphasis>, <emphasis remap='B'>$SHELL</emphasis>,
-      <emphasis remap='B'>$PATH</emphasis>, <emphasis remap='B'>$LOGNAME</emphasis>,
-      and <emphasis remap='B'>$MAIL</emphasis> are set according to the
-      appropriate fields in the password entry. Ulimit, umask and nice
-      values may also be set according to entries in the GECOS field.
+
+    <para>
+      Your user and group ID will be set according to their values in the
+      <filename>/etc/passwd</filename> file. The value for
+      <emphasis>$HOME</emphasis>, <emphasis>$SHELL</emphasis>,
+      <emphasis>$PATH</emphasis>, <emphasis>$LOGNAME</emphasis>, and
+      <emphasis>$MAIL</emphasis> are set according to the appropriate fields
+      in the password entry. Ulimit, umask and nice values may also be set
+      according to entries in the GECOS field.
     </para>
-    
-    <para>On some installations, the environmental variable <emphasis
-      remap='B'>$TERM</emphasis> will be initialized to the terminal type on
+
+    <para>
+      On some installations, the environmental variable
+      <emphasis>$TERM</emphasis> will be initialized to the terminal type on
       your tty line, as specified in <filename>/etc/ttytype</filename>.
     </para>
-    
-    <para>An initialization script for your command interpreter may also be
+
+    <para>
+      An initialization script for your command interpreter may also be
       executed. Please see the appropriate manual section for more
-      information on
-      this function.
+      information on this function.
     </para>
-    
-    <para>A subsystem login is indicated by the presence of a "*" as the
-      first character of the login shell. The given home directory will be
-      used as the root of a new file system which the user is actually
-      logged into.
+
+    <para>
+      A subsystem login is indicated by the presence of a "*" as the first
+      character of the login shell. The given home directory will be used as
+      the root of a new file system which the user is actually logged into.
     </para>
 
-    <para>The <command>login</command> program is NOT responsible for
-      removing users from the utmp file. It is the responsibility of
-      <refentrytitle>getty</refentrytitle><manvolnum>8</manvolnum> and
-      <refentrytitle>init</refentrytitle><manvolnum>8</manvolnum> to clean
-      up apparent ownership of a terminal session. If you use
-      <command>login</command> from the shell prompt without
-      <command>exec</command>, the user you use will continue to appear to
-      be logged in even after you log out of the "subsession".
+    <para>
+      The <command>login</command> program is NOT responsible for removing
+      users from the utmp file. It is the responsibility of
+      <citerefentry><refentrytitle>getty</refentrytitle>
+      <manvolnum>8</manvolnum></citerefentry> and
+      <citerefentry><refentrytitle>init</refentrytitle>
+      <manvolnum>8</manvolnum></citerefentry> to clean up apparent ownership
+      of a terminal session. If you use <command>login</command> from the
+      shell prompt without <command>exec</command>, the user you use will
+      continue to appear to be logged in even after you log out of the
+      "subsession".
     </para>
 
   </refsect1>
-  
+
   <refsect1 id='options'>
     <title>OPTIONS</title>
     <variablelist remap='IP'>
       <varlistentry>
-        <term>
-          <option>-f</option>
-        </term>
-        <listitem>
-          <para>Do not perform authentication, user is preauthenticated.
-          </para>
-        </listitem>
+       <term>
+         <option>-f</option>
+       </term>
+       <listitem>
+         <para>Do not perform authentication, user is preauthenticated.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-h</option>
-        </term>
-        <listitem>
-          <para>Name of the remote host for this login.</para>
-        </listitem>
+       <term>
+         <option>-h</option>
+       </term>
+       <listitem>
+         <para>Name of the remote host for this login.</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-p</option>
-        </term>
-        <listitem>
-          <para>Preserve environment.</para>
-        </listitem>
+       <term>
+         <option>-p</option>
+       </term>
+       <listitem>
+         <para>Preserve environment.</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-r</option>
-        </term>
-        <listitem>
-          <para>Perform autologin protocol for rlogin.</para>
-        </listitem>
+       <term>
+         <option>-r</option>
+       </term>
+       <listitem>
+         <para>Perform autologin protocol for rlogin.</para>
+       </listitem>
       </varlistentry>
     </variablelist>
-    
+
     <para>The <option>-r</option>, <option>-h</option> and
       <option>-f</option> options are only used when
       <command>login</command> is invoked by root.
     </para>
   </refsect1>
-  
+
   <refsect1 id='caveats'>
     <title>CAVEATS</title>
     <para>
       This version of <command>login</command> has many compilation options,
       only some of which may be in use at any particular site.
     </para>
-    
+
     <para>The location of files is subject to differences in system
       configuration.
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/var/run/utmp</filename></term>
-        <listitem>list of current login sessions</listitem>
+       <term><filename>/var/run/utmp</filename></term>
+       <listitem>
+         <para>list of current login sessions</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/var/log/wtmp</filename></term>
-        <listitem>list of previous login sessions</listitem>
+       <term><filename>/var/log/wtmp</filename></term>
+       <listitem>
+         <para>list of previous login sessions</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/passwd</filename></term>
-        <listitem>user account information</listitem>
+       <term><filename>/etc/passwd</filename></term>
+       <listitem>
+         <para>user account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/shadow</filename></term>
-        <listitem>secure user account information</listitem>
+       <term><filename>/etc/shadow</filename></term>
+       <listitem>
+         <para>secure user account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/motd</filename></term>
-        <listitem>system message of the day file</listitem>
+       <term><filename>/etc/motd</filename></term>
+       <listitem>
+         <para>system message of the day file</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/nologin</filename></term>
-        <listitem>prevent non-root users from logging in</listitem>
+       <term><filename>/etc/nologin</filename></term>
+       <listitem>
+         <para>prevent non-root users from logging in</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/ttytype</filename></term>
-        <listitem>list of terminal types</listitem>
+       <term><filename>/etc/ttytype</filename></term>
+       <listitem>
+         <para>list of terminal types</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>$HOME/.hushlogin</filename></term>
-        <listitem>suppress printing of system messages</listitem>
+       <term><filename>$HOME/.hushlogin</filename></term>
+       <listitem>
+         <para>suppress printing of system messages</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
 
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>mail</refentrytitle><manvolnum>1</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>mail</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>sh</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>sh</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum>
+       <refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>nologin</refentrytitle><manvolnum>5</manvolnum>
+       <refentrytitle>nologin</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+       <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>getty</refentrytitle><manvolnum>8</manvolnum>
-      </citerefentry>
+       <refentrytitle>securetty</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>getty</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para>
index c4007a1886ee8e8fa830062421e888664ea418ea..463278255b51ef63c6fa34e3ef6789cd1627a22b 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "LOGIN.ACCESS" "5" "08/03/2005" "" ""
+.TH "LOGIN.ACCESS" "5" "10/01/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
 login.access \- Login access control table
 .SH "DESCRIPTION"
 .PP
-The 
-\fIlogin.access\fR 
+The
+\fIlogin.access\fR
 file specifies (user, host) combinations and/or (user, tty) combinations for which a login will be either accepted or refused.
 .PP
-When someone logs in, the 
-\fIlogin.access\fR 
+When someone logs in, the
+\fIlogin.access\fR
 is scanned for the first entry that matches the (user, host) combination, or, in case of non\-networked logins, the first entry that matches the (user, tty) combination. The permissions field of that table entry determines whether the login will be accepted or refused.
 .PP
 Each line of the login access control table has three fields separated by a ":" character:
 .PP
- \fIpermission\fR:\fIusers\fR:\fI origins \fR
+\fIpermission\fR:\fIusers\fR:\fI origins \fR
 .PP
-The first field should be a "\fI+\fR" (access granted) or "\fI\-\fR" (access denied) character. The second field should be a list of one or more login names, group names, or 
-\fIALL\fR 
-(always matches). The third field should be a list of one or more tty names (for non\-networked logins), host names, domain names (begin with "."), host addresses, internet network numbers (end with "."), 
-\fIALL\fR 
-(always matches) or 
-\fI LOCAL \fR 
+The first field should be a "\fI+\fR" (access granted) or "\fI\-\fR" (access denied) character. The second field should be a list of one or more login names, group names, or
+\fIALL\fR
+(always matches). The third field should be a list of one or more tty names (for non\-networked logins), host names, domain names (begin with "."), host addresses, internet network numbers (end with "."),
+\fIALL\fR
+(always matches) or
+\fILOCAL\fR
 (matches any string that does not contain a "." character). If you run NIS you can use @netgroupname in host or user patterns.
 .PP
-The 
-\fIEXCEPT\fR 
+The
+\fIEXCEPT\fR
 operator makes it possible to write very compact rules.
 .PP
 The group file is searched only when a name does not match that of the logged\-in user. Only groups are matched in which users are explicitly listed: the program does not look at a user's primary group id value.
 .SH "FILES"
-.PP
- \fI/etc/loginn.defs\fR 
-\- shadow password suite configuration
+.TP
+\fI/etc/login.defs\fR
+shadow password suite configuration
 .SH "SEE ALSO"
 .PP
-\fBlogin\fR(1)
+\fBlogin\fR(1).
 .SH "AUTHOR"
 .PP
 Guido van Rooij
index d3d9cf2c428177d06a544febcdada1c29b93712e..aacdf0530e77309b533822bda72da6e3a1dac6a7 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-<refentry id='loginaccess5'>
-  <!-- $Id: login.access.5.xml,v 1.5 2005/06/14 20:18:17 kloczek Exp $ -->
+<refentry id='login.access.5'>
+  <!-- $Id: login.access.5.xml,v 1.13 2005/10/01 15:01:45 kloczek Exp $ -->
   <!--  this is comment -->
   <refmeta>
     <refentrytitle>LOGIN.ACCESS</refentrytitle>
     <refpurpose>Login access control table</refpurpose>
   </refnamediv>
   <!-- body begins here -->
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
     <para>
-      The <emphasis remap='I'>login.access</emphasis> file specifies
-      (user, host) combinations and/or
-      (user, tty) combinations for which a login will be either accepted
-      or
-      refused.
+      The <emphasis remap='I'>login.access</emphasis> file specifies (user,
+      host) combinations and/or (user, tty) combinations for which a login
+      will be either accepted or refused.
     </para>
-    
+
     <para>
-      When someone logs in, the <emphasis remap='I'>login.access</emphasis> is
-      scanned for the first entry
-      that matches the (user, host) combination, or, in case of
-      non-networked
-      logins, the first entry that matches the (user, tty) combination.
-      The
-      permissions field of that table entry determines whether the login
-      will be
-      accepted or refused.
+      When someone logs in, the <emphasis remap='I'>login.access</emphasis>
+      is scanned for the first entry that matches the (user, host)
+      combination, or, in case of non-networked logins, the first entry that
+      matches the (user, tty) combination. The permissions field of that
+      table entry determines whether the login will be accepted or refused.
     </para>
-    
-    <para>Each line of the login access control table has three fields
-      separated by a
-      ":" character:
+
+    <para>
+      Each line of the login access control table has three fields separated
+      by a ":" character:
     </para>
-    
+
     <para>
       <emphasis remap='I'>permission</emphasis>:<emphasis remap='I'>users</emphasis>:<emphasis remap='I'>
-        origins
+       origins
       </emphasis>
     </para>
-    
+
     <para>
-      The first field should be a "<emphasis remap='B'>+</emphasis>"
-      (access granted) or "<emphasis remap='B'>-</emphasis>" (access
-      denied) character. The second field should be a list of one or more
-      login
-      names, group names, or <emphasis remap='B'>ALL</emphasis> (always
-      matches). The third field should be
-      a list of one or more tty names (for non-networked logins), host
-      names,
+      The first field should be a "<emphasis>+</emphasis>" (access granted)
+      or "<emphasis>-</emphasis>" (access denied) character. The second
+      field should be a list of one or more login names, group names, or
+      <emphasis>ALL</emphasis> (always matches). The third field should be a
+      list of one or more tty names (for non-networked logins), host names,
       domain names (begin with "<literal>.</literal>"), host addresses,
-      internet network
-      numbers (end with "<literal>.</literal>"), <emphasis remap='B'>ALL</emphasis> (always matches) or <emphasis remap='B'>
-        LOCAL
-      </emphasis>
-      (matches any string that does not contain a "<literal>.</literal>"
-      character). If you run
-      NIS you can use @netgroupname in host or user patterns.
+      internet network numbers (end with "<literal>.</literal>"),
+      <emphasis>ALL</emphasis> (always matches) or
+      <emphasis>LOCAL</emphasis> (matches any string that does not contain a
+      "<literal>.</literal>" character). If you run NIS you can use
+      @netgroupname in host or user patterns.
     </para>
-    
+
     <para>
-      The <emphasis remap='B'>EXCEPT</emphasis> operator makes it
-      possible to write very compact rules.
+      The <emphasis>EXCEPT</emphasis> operator makes it possible to write
+      very compact rules.
     </para>
-    
-    <para>The group file is searched only when a name does not match that
-      of the
-      logged-in user. Only groups are matched in which users are
-      explicitly
-      listed: the program does not look at a user's primary group id
-      value.
+
+    <para>
+      The group file is searched only when a name does not match that of the
+      logged-in user. Only groups are matched in which users are explicitly
+      listed: the program does not look at a user's primary group id value.
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
-    <para>
-      <filename>/etc/loginn.defs</filename>    - shadow password suite
-      configuration
-    </para>
+    <variablelist>
+      <varlistentry>
+       <term><filename>/etc/login.defs</filename></term>
+       <listitem>
+         <para>shadow password suite configuration</para>
+       </listitem>
+      </varlistentry>
+    </variablelist>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
-      </citerefentry>
+    <para>
+      <citerefentry>
+       <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Guido van Rooij</para>
index 5f5387c589a34eedf58356796187fc3729766598..d4696225a709debdc8048f5d877403ad0bf5a5bd 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "LOGIN.DEFS" "5" "08/03/2005" "" ""
+.TH "LOGIN.DEFS" "5" "09/30/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -11,8 +11,8 @@
 login.defs \- shadow password suite configuration
 .SH "DESCRIPTION"
 .PP
-The 
-\fI/etc/login.defs\fR 
+The
+\fI/etc/login.defs\fR
 file defines the site\-specific configuration for the shadow password suite. This file is required. Absence of this file will not prevent system operation, but will probably result in undesirable operation.
 .PP
 This file is a readable text file, each line of the file describing one configuration parameter. The lines consist of a configuration name and value, separated by whitespace. Blank lines and comment lines are ignored. Comments are introduced with a `#' pound sign and the pound sign must be the first non\-white character of the line.
@@ -22,36 +22,37 @@ Parameter values may be of four types: strings, booleans, numbers, and long numb
 The following configuration items are provided:
 .TP
 CHFN_AUTH (boolean)
-If 
-\fIyes\fR, the 
-\fBchfn\fR 
-and 
-\fBchsh\fR 
+If
+\fIyes\fR, the
+\fBchfn\fR
+and
+\fBchsh\fR
 programs will require authentication before making any changes, unless run by the superuser.
 .TP
 CHFN_RESTRICT (string)
-This parameter specifies which values in the 
-\fIgecos\fR 
-field of the 
-\fI/etc/passwd\fR 
-file may be changed by regular users using the 
-\fBchfn\fR 
-program. It can be any combination of letters 
-\fIf\fR 
-,\fIr\fR, 
-\fIw\fR, 
+This parameter specifies which values in the
+\fIgecos\fR
+field of the
+\fI/etc/passwd\fR
+file may be changed by regular users using the
+\fBchfn\fR
+program. It can be any combination of letters
+\fIf\fR
+,\fIr\fR,
+\fIw\fR,
 \fIh\fR, for Full name, Room number, Work phone, and Home phone, respectively. For backward compatibility, "yes" is equivalent to "rwh" and "no" is equivalent to "frwh". If not specified, only the superuser can make any changes. The most restrictive setting is better achieved by not installing chfn SUID.
 .TP
 CREATE_HOME (boolean)
-This defines whether useradd should create home directories for users by default. This option is OR'ed with the 
-\fB\-m\fR 
+This defines whether useradd should create home directories for users by default. This option is OR'ed with the
+\fB\-m\fR
 flag on useradd command line.
 .TP
 GID_MAX (number), GID_MIN (number)
-Range of group IDs to choose from for the 
-\fBuseradd\fR 
-and 
-\fBgroupadd\fRprograms.
+Range of group IDs to choose from for the
+\fBuseradd\fR
+and
+\fBgroupadd\fR
+programs.
 .TP
 MAIL_DIR (string)
 The mail spool directory. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted. If not specified, a compile\-time default is used.
@@ -68,8 +69,8 @@ The number of days warning given before a password expires. A zero means warning
 PASS_MAX_DAYS, PASS_MIN_DAYS and PASS_WARN_AGE are only used at the time of account creation. Any changes to these settings won't affect existing accounts.
 .TP
 UID_MAX (number), UID_MIN (number)
-Range of user IDs to choose from for the 
-\fBuseradd\fR 
+Range of user IDs to choose from for the
+\fBuseradd\fR
 program.
 .TP
 UMASK (number)
@@ -106,20 +107,20 @@ usermod
 MAIL_DIR
 .SH "BUGS"
 .PP
-Much of the functionality that used to be provided by the shadow password suite is now handled by PAM. Thus, 
-\fI/etc/login.defs\fR 
-is no longer used by programs such as: 
-\fBlogin\fR(1), 
-\fBpasswd\fR(1), 
+Much of the functionality that used to be provided by the shadow password suite is now handled by PAM. Thus,
+\fI/etc/login.defs\fR
+is no longer used by programs such as:
+\fBlogin\fR(1),
+\fBpasswd\fR(1),
 \fBsu\fR(1). Please refer to the corresponding PAM configuration files instead.
 .SH "SEE ALSO"
 .PP
-\fBlogin\fR(1), 
-\fBpasswd\fR(1), 
-\fBsu\fR(1), 
-\fBpasswd\fR(5), 
-\fBshadow\fR(5), 
-\fBpam\fR(8)
+\fBlogin\fR(1),
+\fBpasswd\fR(1),
+\fBsu\fR(1),
+\fBpasswd\fR(5),
+\fBshadow\fR(5),
+\fBpam\fR(8).
 .SH "AUTHORS"
 .PP
 Julianne Frances Haugh (jockgrrl@ix.netcom.com) Chip Rosenthal (chip@unicom.com)
index 897cbc021c79f07dd09e25c7dcbbecd975f620c2..95e51c57e7b22d0d285839f5f25a48a765cbea32 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='login.defs.5'>
-  <!--  $Id: login.defs.5.xml,v 1.8 2005/06/15 12:39:27 kloczek Exp $ -->
+  <!--  $Id: login.defs.5.xml,v 1.13 2005/10/01 13:30:10 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>login.defs</refentrytitle>
     <manvolnum>5</manvolnum>
     <refname>login.defs</refname>
     <refpurpose>shadow password suite configuration</refpurpose>
   </refnamediv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>The <filename>/etc/login.defs</filename> file defines the
+    <para>
+      The <filename>/etc/login.defs</filename> file defines the
       site-specific configuration for the shadow password suite. This file
       is required. Absence of this file will not prevent system operation,
       but will probably result in undesirable operation.
     </para>
-    
-    <para>This file is a readable text file, each line of the file
-      describing one configuration parameter. The lines consist of a
-      configuration name and value, separated by whitespace. Blank lines and
-      comment lines are ignored. Comments are introduced with a `#' pound
-      sign and the pound sign must be the first non-white character of the
-      line.
+
+    <para>
+      This file is a readable text file, each line of the file describing
+      one configuration parameter. The lines consist of a configuration name
+      and value, separated by whitespace. Blank lines and comment lines are
+      ignored. Comments are introduced with a `#' pound sign and the pound
+      sign must be the first non-white character of the line.
     </para>
-    
-    <para>Parameter values may be of four types: strings, booleans,
-      numbers, and long numbers. A string is comprised of any printable
-      characters. A boolean should be either the value &ldquo;yes&rdquo; or
+
+    <para>
+      Parameter values may be of four types: strings, booleans, numbers, and
+      long numbers. A string is comprised of any printable characters. A
+      boolean should be either the value &ldquo;yes&rdquo; or
       &ldquo;no&rdquo;. An undefined boolean parameter or one with a value
       other than these will be given a &ldquo;no&rdquo; value. Numbers (both
       regular and long) may be either decimal values, octal values (precede
       value with &ldquo;0x&rdquo;). The maximum value of the regular and
       long numeric parameters is machine-dependent.
     </para>
-    
+
     <para>The following configuration items are provided:</para>
-    
+
     <variablelist remap='IP'>
       <varlistentry>
-        <term>CHFN_AUTH (boolean)</term>
-        <listitem>
-          <para> If <emphasis remap='I'>yes</emphasis>, the
-            <command>chfn</command> and <command>chsh</command> programs
-            will require authentication before making any changes, unless
-            run by the superuser.
-          </para>
-        </listitem>
+       <term>CHFN_AUTH (boolean)</term>
+       <listitem>
+         <para>
+           If <emphasis remap='I'>yes</emphasis>, the
+           <command>chfn</command> and <command>chsh</command> programs
+           will require authentication before making any changes, unless
+           run by the superuser.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>CHFN_RESTRICT (string)</term>
-        <listitem>
-          <para>This parameter specifies which values in the <emphasis
-            remap='I'>gecos</emphasis> field of the
-            <filename>/etc/passwd</filename> file may be changed by regular
-            users using the <command>chfn</command> program. It can be any
-            combination of letters <emphasis remap='I'>f</emphasis>
-            ,<emphasis remap='I'>r</emphasis>, <emphasis remap='I'>w</emphasis>,
-            <emphasis remap='I'>h</emphasis>, for Full name, Room number,
-            Work phone, and Home phone, respectively. For backward
-            compatibility, "yes" is equivalent to "rwh" and "no" is
-            equivalent to "frwh". If not specified, only the superuser can
-            make any changes. The most restrictive setting is better
-            achieved by not installing chfn SUID.
-          </para>
-        </listitem>
+       <term>CHFN_RESTRICT (string)</term>
+       <listitem>
+         <para>
+           This parameter specifies which values in the <emphasis
+           remap='I'>gecos</emphasis> field of the
+           <filename>/etc/passwd</filename> file may be changed by regular
+           users using the <command>chfn</command> program. It can be any
+           combination of letters <emphasis remap='I'>f</emphasis>
+           ,<emphasis remap='I'>r</emphasis>, <emphasis remap='I'>w</emphasis>,
+           <emphasis remap='I'>h</emphasis>, for Full name, Room number,
+           Work phone, and Home phone, respectively. For backward
+           compatibility, "yes" is equivalent to "rwh" and "no" is
+           equivalent to "frwh". If not specified, only the superuser can
+           make any changes. The most restrictive setting is better
+           achieved by not installing chfn SUID.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>CREATE_HOME (boolean)</term>
-        <listitem>
-          <para>This defines whether useradd should create home directories
-            for users by default. This option is OR'ed with the
-            <option>-m</option> flag on useradd command line.
-          </para>
-        </listitem>
+       <term>CREATE_HOME (boolean)</term>
+       <listitem>
+         <para>
+           This defines whether useradd should create home directories for
+           users by default. This option is OR'ed with the
+           <option>-m</option> flag on useradd command line.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>GID_MAX (number)</term>
-        <term>GID_MIN (number)</term>
-        <listitem>
-          <para>
-            Range of group IDs to choose from for the
-            <command>useradd</command> and
-            <command>groupadd</command>programs.
-          </para>
-        </listitem>
+       <term>GID_MAX (number)</term>
+       <term>GID_MIN (number)</term>
+       <listitem>
+         <para>
+           Range of group IDs to choose from for the
+           <command>useradd</command> and <command>groupadd</command>
+           programs.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>MAIL_DIR (string)</term>
-        <listitem>
-          <para>The mail spool directory. This is needed to manipulate the
-            mailbox when its corresponding user account is modified or
-            deleted. If not specified, a compile-time default is used.
-          </para>
-        </listitem>
+       <term>MAIL_DIR (string)</term>
+       <listitem>
+         <para>
+           The mail spool directory. This is needed to manipulate the
+           mailbox when its corresponding user account is modified or
+           deleted. If not specified, a compile-time default is used.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>PASS_MAX_DAYS (number)</term>
-        <listitem>
-          <para>The maximum number of days a password may be used. If the
-            password is older than this, a password change will be forced.
-            If not specified, -1 will be assumed (which disables the
-            restriction).
-          </para>
-        </listitem>
+       <term>PASS_MAX_DAYS (number)</term>
+       <listitem>
+         <para>
+           The maximum number of days a password may be used. If the
+           password is older than this, a password change will be forced. 
+           If not specified, -1 will be assumed (which disables the
+           restriction).
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>PASS_MIN_DAYS (number)</term>
-        <listitem>
-          <para>The minimum number of days allowed between password changes.
-            Any password changes attempted sooner than this will be
-            rejected. If not specified, -1 will be assumed (which disables
-            the restriction).
-          </para>
-        </listitem>
+       <term>PASS_MIN_DAYS (number)</term>
+       <listitem>
+         <para>
+           The minimum number of days allowed between password changes. 
+           Any password changes attempted sooner than this will be
+           rejected. If not specified, -1 will be assumed (which disables
+           the restriction).
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>PASS_WARN_AGE (number)</term>
-        <listitem>
-          <para>The number of days warning given before a password expires.
-            A zero means warning is given only upon the day of expiration, a
-            negative value means no warning is given. If not specified, no
-            warning will be provided.
-          </para>
-        </listitem>
+       <term>PASS_WARN_AGE (number)</term>
+       <listitem>
+         <para>
+           The number of days warning given before a password expires. A
+           zero means warning is given only upon the day of expiration, a
+           negative value means no warning is given. If not specified, no
+           warning will be provided.
+         </para>
+       </listitem>
       </varlistentry>
     </variablelist>
-    
-    <para>PASS_MAX_DAYS, PASS_MIN_DAYS and PASS_WARN_AGE are only used at
-      the time of account creation. Any changes to these settings won't
-      affect existing accounts.
+
+    <para> 
+      PASS_MAX_DAYS, PASS_MIN_DAYS and PASS_WARN_AGE are only used at the
+      time of account creation. Any changes to these settings won't affect
+      existing accounts.
     </para>
     <variablelist remap='IP'>
       <varlistentry>
-        <term>UID_MAX (number)</term>
-        <term>UID_MIN (number)</term>
-        <listitem>
-          <para>
-            Range of user IDs to choose from for the
-            <command>useradd</command> program.
-          </para>
-        </listitem>
+       <term>UID_MAX (number)</term>
+       <term>UID_MIN (number)</term>
+       <listitem>
+         <para>
+           Range of user IDs to choose from for the
+           <command>useradd</command> program.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>UMASK (number)</term>
-        <listitem>
-          <para>The permission mask is initialized to this value. If not
-            specified, the permission mask will be initialized to 077.
-          </para>
-        </listitem>
+       <term>UMASK (number)</term>
+       <listitem>
+         <para>
+           The permission mask is initialized to this value. If not
+           specified, the permission mask will be initialized to 077.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>USERDEL_CMD (string)</term>
-        <listitem>
-          <para>If defined, this command is run when removing a user. It
-            should remove any at/cron/print jobs etc. owned by the user to
-            be removed (passed as the first argument).
-          </para>
-        </listitem>
+       <term>USERDEL_CMD (string)</term>
+       <listitem>
+         <para>
+           If defined, this command is run when removing a user. It should
+           remove any at/cron/print jobs etc. owned by the user to be
+           removed (passed as the first argument).
+         </para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='cross_reference'>
     <title>CROSS REFERENCE</title>
-    <para>The following cross reference shows which programs in the shadow
+    <para>
+      The following cross reference shows which programs in the shadow
       password suite use which parameters.
     </para>
     <!-- .na -->
     <variablelist remap='IP'>
       <varlistentry>
-        <term>chfn</term>
-        <listitem>
-          <para>CHFN_AUTH CHFN_RESTRICT</para>
-        </listitem>
+       <term>chfn</term>
+       <listitem>
+         <para>CHFN_AUTH CHFN_RESTRICT</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>chsh</term>
-        <listitem>
-          <para>CHFN_AUTH</para>
-        </listitem>
+       <term>chsh</term>
+       <listitem>
+         <para>CHFN_AUTH</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>groupadd</term>
-        <listitem>
-          <para>GID_MAX GID_MIN</para>
-        </listitem>
+       <term>groupadd</term>
+       <listitem>
+         <para>GID_MAX GID_MIN</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>newusers</term>
-        <listitem>
-          <para>PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE
-            UMASK
-          </para>
-        </listitem>
+       <term>newusers</term>
+       <listitem>
+         <para>PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE
+           UMASK
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>pwconv</term>
-        <listitem>
-          <para>PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE</para>
-        </listitem>
+       <term>pwconv</term>
+       <listitem>
+         <para>PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>useradd</term>
-        <listitem>
-          <para>CREATE_HOME
-            GID_MAX GID_MIN
-            PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE
-            UID_MAX UID_MIN
-            UMASK
-          </para>
-        </listitem>
+       <term>useradd</term>
+       <listitem>
+         <para>CREATE_HOME
+           GID_MAX GID_MIN
+           PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE
+           UID_MAX UID_MIN
+           UMASK
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>userdel</term>
-        <listitem>
-          <para>MAIL_DIR
-            USERDEL_CMD
-          </para>
-        </listitem>
+       <term>userdel</term>
+       <listitem>
+         <para>MAIL_DIR
+           USERDEL_CMD
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>usermod</term>
-        <listitem>
-          <para>MAIL_DIR</para>
-          <!-- .ad -->
-        </listitem>
+       <term>usermod</term>
+       <listitem>
+         <para>MAIL_DIR</para>
+         <!-- .ad -->
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='bugs'>
     <title>BUGS</title>
-    <para>Much of the functionality that used to be provided by the shadow
+    <para>
+      Much of the functionality that used to be provided by the shadow
       password suite is now handled by PAM. Thus,
       <filename>/etc/login.defs</filename> is no longer used by programs
-      such as:
-      <citerefentry>
-        <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
-      </citerefentry>,
-      <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
-      </citerefentry>,
-      <citerefentry>
-        <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
-      </citerefentry>.
-      Please refer to the corresponding PAM configuration files instead.
+      such as: <citerefentry>
+      <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>, <citerefentry>
+      <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>, <citerefentry>
+      <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>. Please refer to the corresponding PAM configuration
+      files instead.
     </para>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+       <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
+       <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>pam</refentrytitle><manvolnum>8</manvolnum>
-      </citerefentry>
+       <refentrytitle>pam</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='authors'>
     <title>AUTHORS</title>
     <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com) Chip Rosenthal (chip@unicom.com)
index 9ae8d3724e16c19a01c31e48bf275d0b6d22c8c4..432c9f8221e8e42504d507dfc10acd145fe18b31 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "LOGOUTD" "8" "08/03/2005" "" ""
+.TH "LOGOUTD" "8" "09/30/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -14,15 +14,15 @@ logoutd \- Enforce login time restrictions
 \fBlogoutd\fR
 .SH "DESCRIPTION"
 .PP
-\fBlogoutd\fR 
-enforces the login time and port restrictions specified in 
-\fI/etc/porttime\fR. 
-\fBlogoutd\fR 
-should be started from 
-\fI/etc/rc\fR. The 
-\fI/var/run/utmp\fR 
-file is scanned periodically and each user name is checked to see if the named user is permitted on the named port at the current time. Any login session which is violating the restrictions in 
-\fI/etc/porttime\fR 
+\fBlogoutd\fR
+enforces the login time and port restrictions specified in
+\fI/etc/porttime\fR.
+\fBlogoutd\fR
+should be started from
+\fI/etc/rc\fR. The
+\fI/var/run/utmp\fR
+file is scanned periodically and each user name is checked to see if the named user is permitted on the named port at the current time. Any login session which is violating the restrictions in
+\fI/etc/porttime\fR
 is terminated.
 .SH "FILES"
 .TP
index 7dfab7038e6d6f4c47adb073cd457b6e21936ee6..c124b3a78f5a9959bfc276687bf0c65aed6b710a 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-<refentry id='logoutd8'>
-  <!-- $Id: logoutd.8.xml,v 1.7 2005/08/03 16:29:14 kloczek Exp $ -->
+<refentry id='logoutd.8'>
+  <!-- $Id: logoutd.8.xml,v 1.12 2005/09/30 15:41:20 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>LOGOUTD</refentrytitle>
     <manvolnum>8</manvolnum>
   <!-- body begins here -->
   <refsynopsisdiv id='synopsis'>
     <cmdsynopsis>
-      <command>logoutd</command>    
+      <command>logoutd</command>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><command>logoutd</command> enforces the login time and port
-      restrictions specified in <filename>/etc/porttime</filename>.
+    <para>
+      <command>logoutd</command> enforces the login time and port
+      restrictions specified in <filename>/etc/porttime</filename>. 
       <command>logoutd</command> should be started from
       <filename>/etc/rc</filename>. The <filename>/var/run/utmp</filename>
       file is scanned periodically and each user name is checked to see if
       <filename>/etc/porttime</filename> is terminated.
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/porttime</filename></term>
-        <listitem>login and port permissions</listitem>
+       <term><filename>/etc/porttime</filename></term>
+       <listitem>
+         <para>login and port permissions</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/var/run/utmp</filename></term>
-        <listitem>list of current login sessions</listitem>
+       <term><filename>/var/run/utmp</filename></term>
+       <listitem>
+         <para>list of current login sessions</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
index 7dec9d2952dba84f2ab9d6b60c1ce47bd495cb7f..1e5048e3803c4a780d8898251e3e9e382cb5f7db 100644 (file)
@@ -1,78 +1,58 @@
-.\"$Id: newgrp.1,v 1.23 2005/04/12 18:08:46 kloczek Exp $
-.\" Copyright 1991, Julianne Frances Haugh
-.\" All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\"    notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\"    notice, this list of conditions and the following disclaimer in the
-.\"    documentation and/or other materials provided with the distribution.
-.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH NEWGRP 1
-.SH NAME
+.\" ** You probably do not want to edit this file directly **
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
+.\" Instead of manually editing it, you probably should edit the DocBook XML
+.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
+.TH "NEWGRP" "1" "10/10/2005" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.SH "NAME"
 newgrp \- log in to a new group
-.br
-sg \- execute command as different group ID
-.SH SYNOPSIS
-\fBnewgrp\fR [\fB\-\fR] [\fIgroup\fR]
-.br
-\fBsg\fR [\fB\-\fR] [\fIgroup\fR [[\fB\-c\fR] \fIcommand\fR]]
-.SH DESCRIPTION
-\fBnewgrp\fR is used to change the current group ID during a login session.
-If the optional \fB\-\fR flag is given, the user's environment will be
-reinitialized as though the user had logged in, otherwise the current
-environment, including current working directory, remains unchanged.
+.SH "SYNOPSIS"
+.HP 7
+\fBnewgrp\fR [\-] [\fIgroup\fR]
+.SH "DESCRIPTION"
 .PP
-\fBnewgrp\fR changes the current real group ID to the named group, or to the
-default group listed in \fI/etc/passwd\fR if no group name is given.
-\fBnewgrp\fR also tries to add the group to the user groupset. If not root,
-the user will be prompted for a password if she do not have a password and
-the group does, or if the user is not listed as a member and the group has
-a password. The user will be denied access if the group password is empty
-and the user is not listed as a member.
-If compiled with SHADOWPWD (respectively SHADOWGRP) defined, the password
-of the user (respectively, the password and the members of the group) will
-be overwritten by the value defined in \fI/etc/shadow\fR (respectively in
-\fI/etc/gshadow\fR) if an entry exists for this user (resp. group).
+\fBnewgrp\fR
+is used to change the current group ID during a login session. If the optional
+\fB\-\fR
+flag is given, the user's environment will be reinitialized as though the user had logged in, otherwise the current environment, including current working directory, remains unchanged.
+.PP
+\fBnewgrp\fR
+changes the current real group ID to the named group, or to the default group listed in
+\fI/etc/passwd\fR
+if no group name is given.
+\fBnewgrp\fR
+also tries to add the group to the user groupset. If not root, the user will be prompted for a password if she does not have a password (in
+\fI/etc/shadow\fR
+if this user has an entry in the shadowed password file, or in /etc/passwd otherwise) and the group does, or if the user is not listed as a member and the group has a password. The user will be denied access if the group password is empty and the user is not listed as a member.
+.PP
+If there is an entry for this group in
+\fI/etc/gshadow\fR, then the list of members and the password of this group will be taken from this file, otherwise, the entry in
+\fI/etc/group\fR
+is considered.
+.SH "FILES"
+.TP
+\fI/etc/passwd\fR
+user account information
+.TP
+\fI/etc/shadow\fR
+secure user account information
+.TP
+\fI/etc/group\fR
+group account information
+.TP
+\fI/etc/gshadow\fR
+shadow group file
+.SH "SEE ALSO"
+.PP
+\fBid\fR(1),
+\fBlogin\fR(1),
+\fBsu\fR(1),
+\fBgpasswd\fR(1),
+\fBgroup\fR(5),
+\fBgshadow\fR(5).
+.SH "AUTHOR"
 .PP
-The \fBsg\fR command works similar to \fBnewgrp\fR but accepts a command.
-The command will be executed with the \fB/bin/sh\fR shell. With most shells you
-may run \fBsg\fR from, you need to enclose multi\-word commands in quotes.
-Another difference between \fBnewgrp\fR and \fBsg\fR is that some shells
-treat \fBnewgrp\fR specially, replacing themselves with a new instance of a
-shell that \fBnewgrp\fR creates. This doesn't happen with \fBsg\fR, so upon
-exit from a \fBsg\fR command you are returned to your previous group ID.
-.SH FILES
-\fI/etc/passwd\fR      \- user account information
-.br
-\fI/etc/shadow\fR      \- secure user account information
-.br
-\fI/etc/group\fR       \- group account information
-.br
-\fI/etc/gshadow\fR     \- shadow group file
-.SH SEE ALSO
-.BR id (1),
-.BR login (1),
-.BR su (1),
-.BR gpasswd (1),
-.BR group (5),
-.BR gshadow (5)
-.SH AUTHOR
 Julianne Frances Haugh <jockgrrl@ix.netcom.com>
diff --git a/man/newgrp.1.xml b/man/newgrp.1.xml
new file mode 100644 (file)
index 0000000..cd3ddfc
--- /dev/null
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='newgrp.1'>
+  <!-- $Id: newgrp.1.xml,v 1.9 2005/10/10 17:06:20 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>NEWGRP</refentrytitle>
+    <manvolnum>1</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>newgrp</refname>
+    <refpurpose>log in to a new group</refpurpose>
+  </refnamediv>
+  <!-- body begins here -->
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>newgrp</command>    <arg choice='opt'>- </arg>
+      <arg choice='opt'><replaceable>group</replaceable></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+
+  <refsect1 id='description'>
+  <title>DESCRIPTION</title>
+    <para>
+      <command>newgrp</command> is used to change the current group ID
+      during a login session. If the optional <option>-</option> flag is
+      given, the user's environment will be reinitialized as though the user
+      had logged in, otherwise the current environment, including current
+      working directory, remains unchanged.
+    </para>
+
+    <para>
+      <command>newgrp</command> changes the current real group ID to the
+      named group, or to the default group listed in
+      <filename>/etc/passwd</filename> if no group name is given.
+      <command>newgrp</command> also tries to add the group to the user
+      groupset. If not root, the user will be prompted for a password if she
+      does not have a password (in <filename>/etc/shadow</filename> if this
+      user has an entry in the shadowed password file, or in
+      /etc/passwd otherwise) and the group does, or if the user is not
+      listed as a member and the group has a password. The user will
+      be denied access if the group password is empty and the user is
+      not listed as a member. 
+    </para>
+
+    <para>
+      If there is an entry for this group in
+      <filename>/etc/gshadow</filename>, then the list of members and the
+      password of this group will be taken from this file, otherwise, the
+      entry in <filename>/etc/group</filename> is considered.
+    </para>
+  </refsect1>
+
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+       <term><filename>/etc/passwd</filename></term>
+       <listitem>
+         <para>user account information</para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term><filename>/etc/shadow</filename></term>
+       <listitem>
+         <para>secure user account information</para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term><filename>/etc/group</filename></term>
+       <listitem>
+         <para>group account information</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term><filename>/etc/gshadow</filename></term>
+       <listitem>
+         <para>shadow group file</para>
+       </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+       <refentrytitle>id</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>gpasswd</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>gshadow</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>.
+    </para>
+  </refsect1>
+
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para>
+  </refsect1>
+</refentry>
index b50ebfd4198e5e394d52d083cab6b8f69076a055..d7542bab9de49af0873cce5a137620d39266fb7f 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "NEWUSERS" "8" "08/03/2005" "" ""
+.TH "NEWUSERS" "8" "09/30/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -14,8 +14,8 @@ newusers \- update and create new users in batch
 \fBnewusers\fR [\fInew_users\fR]
 .SH "DESCRIPTION"
 .PP
-\fBnewusers\fR 
-reads a file of user name and clear\-text password pairs and uses this information to update a group of existing users or to create new users. Each line is in the same format as the standard password file (see 
+\fBnewusers\fR
+reads a file of user name and clear\-text password pairs and uses this information to update a group of existing users or to create new users. Each line is in the same format as the standard password file (see
 \fBpasswd\fR(5)) with the following exceptions:
 .TP
 \fIpw_passwd\fR
@@ -34,10 +34,15 @@ This command is intended to be used in a large system environment where many acc
 .SH "CAVEATS"
 .PP
 The input file must be protected since it contains unencrypted passwords.
+.SH "FILES"
+.TP
+\fI/etc/login.defs\fR
+shadow password suite configuration
 .SH "SEE ALSO"
 .PP
-\fBpasswd\fR(1), 
-\fBuseradd\fR(8)
+\fBlogin.defs\fR(5),
+\fBpasswd\fR(1),
+\fBuseradd\fR(8).
 .SH "AUTHOR"
 .PP
 Julianne Frances Haugh (jockgrrl@ix.netcom.com)
index 9c4b6f5e02811540d4d452c3b14e52dca5bf8b21..3fb6d00097447aaf9993ff335ed8add619e63abb 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-<refentry id='newusers8'>
-  <!-- $Id: newusers.8.xml,v 1.6 2005/06/16 17:37:58 kloczek Exp $ -->
+<refentry id='newusers.8'>
+  <!-- $Id: newusers.8.xml,v 1.11 2005/09/30 15:41:20 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>NEWUSERS</refentrytitle>
     <manvolnum>8</manvolnum>
   <!-- body begins here -->
   <refsynopsisdiv id='synopsis'>
     <cmdsynopsis>
-      <command>newusers</command>    
+      <command>newusers</command>
       <arg choice='opt'>
-        <replaceable>new_users</replaceable>
+       <replaceable>new_users</replaceable>
       </arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><command>newusers</command> reads a file of user name and
-      clear-text password pairs and uses this information to update a group
-      of existing users or to create new users. Each line is in the same
-      format as the standard password file (see
+    <para>
+      <command>newusers</command> reads a file of user name and clear-text
+      password pairs and uses this information to update a group of existing
+      users or to create new users. Each line is in the same format as the
+      standard password file (see
       <citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>) with the following exceptions:
     </para>
 
     <variablelist remap='IP'>
       <varlistentry>
-        <term>
-          <emphasis remap='I'>pw_passwd</emphasis>
-        </term>
-        <listitem>
-          <para>This field will be encrypted and used as the new value of
-            the encrypted password.
-          </para>
-        </listitem>
+       <term>
+         <emphasis remap='I'>pw_passwd</emphasis>
+       </term>
+       <listitem>
+         <para>
+           This field will be encrypted and used as the new value of the
+           encrypted password.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <emphasis remap='I'>pw_age</emphasis>
-        </term>
-        <listitem>
-          <para>This field will be ignored for shadow passwords if the user
-            already exists.
-          </para>
-        </listitem>
+       <term>
+         <emphasis remap='I'>pw_age</emphasis>
+       </term>
+       <listitem>
+         <para>
+           This field will be ignored for shadow passwords if the user
+           already exists.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <emphasis remap='I'>pw_gid</emphasis>
-        </term>
-        <listitem>
-          <para>This field may be the name of an existing group, in which
-            case the named user will be added as a member. If a non-existent
-            numerical group is given, a new group will be created having
-            this number.
-          </para>
-        </listitem>
+       <term>
+         <emphasis remap='I'>pw_gid</emphasis>
+       </term>
+       <listitem>
+         <para>
+           This field may be the name of an existing group, in which case
+           the named user will be added as a member. If a non-existent
+           numerical group is given, a new group will be created having
+           this number.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <emphasis remap='I'>pw_dir</emphasis>
-        </term>
-        <listitem>
-          <para>This field will be checked for existence as a directory and
-            a new directory with the same name will be created if it does
-            not already exist. The ownership of the directory will be set to
-            be that of the user being created or updated.
-          </para>
-        </listitem>
+       <term>
+         <emphasis remap='I'>pw_dir</emphasis>
+       </term>
+       <listitem>
+         <para>
+           This field will be checked for existence as a directory and a
+           new directory with the same name will be created if it does not
+           already exist. The ownership of the directory will be set to be
+           that of the user being created or updated.
+         </para>
+       </listitem>
       </varlistentry>
     </variablelist>
-    
-    <para>This command is intended to be used in a large system environment
+
+    <para> 
+      This command is intended to be used in a large system environment
       where many accounts are updated at a single time.
     </para>
   </refsect1>
-  
+
   <refsect1 id='caveats'>
     <title>CAVEATS</title>
-    <para>The input file must be protected since it contains unencrypted
+    <para>
+      The input file must be protected since it contains unencrypted
       passwords.
     </para>
   </refsect1>
-  
+
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+       <term><filename>/etc/login.defs</filename></term>
+       <listitem>
+         <para>shadow password suite configuration</para>
+       </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
-      </citerefentry>
+       <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
index 734970374af9c9c771c765eb0f9856a187dbf6ef..a96b9c2f8c11cc655bcde58232a99524d48ae9ee 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PASSWD" "1" "08/03/2005" "User Commands" "User Commands"
+.TH "PASSWD" "1" "10/01/2005" "User Commands" "User Commands"
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -20,30 +20,30 @@ passwd \- change user password
 \fBpasswd\fR [\-l \-u \-d \-S \-e] \fIlogin\fR
 .SH "DESCRIPTION"
 .PP
-\fBpasswd\fR 
-changes passwords for user and group accounts. A normal user may only change the password for his/her own account, the super user may change the password for any account. The administrator of a group may change the password for the group. 
-\fBpasswd\fR 
+\fBpasswd\fR
+changes passwords for user and group accounts. A normal user may only change the password for his/her own account, the super user may change the password for any account. The administrator of a group may change the password for the group.
+\fBpasswd\fR
 also changes account information, such as the full name of the user, user's login shell, or password expiry date and interval.
 .PP
-The 
-\fB\-s\fR 
-option makes 
-\fBpasswd\fR 
-call 
-\fBchsh\fR 
-to change the user's shell. The 
-\fB\-f\fR 
-option makes 
-\fBpasswd\fR 
-call 
-\fBchfn\fR 
+The
+\fB\-s\fR
+option makes
+\fBpasswd\fR
+call
+\fBchsh\fR
+to change the user's shell. The
+\fB\-f\fR
+option makes
+\fBpasswd\fR
+call
+\fBchfn\fR
 to change the user's gecos information. These two options are only meant for compatibility, since the other programs can be called directly.
 .SS "Password Changes"
 .PP
 The user is first prompted for his/her old password, if one is present. This password is then encrypted and compared against the stored password. The user has only one chance to enter the correct password. The super user is permitted to bypass this step so that forgotten passwords may be changed.
 .PP
-After the password has been entered, password aging information is checked to see if the user is permitted to change the password at this time. If not, 
-\fBpasswd\fR 
+After the password has been entered, password aging information is checked to see if the user is permitted to change the password at this time. If not,
+\fBpasswd\fR
 refuses to change the password and exits.
 .PP
 The user is then prompted for a replacement password. This password is tested for complexity. As a general guideline, passwords should consist of 6 to 8 characters including one or more from each of following sets:
@@ -57,77 +57,30 @@ digits 0 thru 9
 \(bu
 punctuation marks
 .PP
-Care must be taken not to include the system default erase or kill characters. 
-\fBpasswd\fR 
+Care must be taken not to include the system default erase or kill characters.
+\fBpasswd\fR
 will reject any password which is not suitably complex.
 .PP
-If the password is accepted, 
-\fBpasswd\fR 
+If the password is accepted,
+\fBpasswd\fR
 will prompt again and compare the second entry against the first. Both entries are required to match in order for the password to be changed.
 .SS "Group passwords"
 .PP
-When the 
-\fB\-g\fR 
-option is used, the password for the named group is changed. The user must either be the super user, or a group administrator for the named group. The current group password is not prompted for. The 
-\fB\-r\fR 
-option is used with the 
-\fB\-g\fR 
-option to remove the current password from the named group. This allows group access to all members. The 
-\fB\-R\fR 
-option is used with the 
-\fB\-g\fR 
+When the
+\fB\-g\fR
+option is used, the password for the named group is changed. The user must either be the super user, or a group administrator for the named group. The current group password is not prompted for. The
+\fB\-r\fR
+option is used with the
+\fB\-g\fR
+option to remove the current password from the named group. This allows group access to all members. The
+\fB\-R\fR
+option is used with the
+\fB\-g\fR
 option to restrict the named group for all users.
-.SS "Password expiry information"
-.PP
-The password aging information may be changed by the super user with the 
-\fB\-x\fR, 
-\fB\-n\fR, 
-\fB\-w\fR, and 
-\fB\-i\fR 
-options. The 
-\fB\-x\fR 
-option is used to set the maximum number of days a password remains valid. After 
-\fImax\fR 
-days, the password is required to be changed. The 
-\fB\-n\fR 
-option is used to set the minimum number of days before a password may be changed. The user will not be permitted to change the password until 
-\fImin\fR 
-days have elapsed. The 
-\fB\-w\fR 
-option is used to set the number of days of warning the user will receive before his/her password will expire. The warning occurs 
-\fIwarn\fR 
-days before the expiration, telling the user how many days remain until the password is set to expire. The 
-\fB\-i\fR 
-option is used to disable an account after the password has been expired for a number of days. After a user account has had an expired password for 
-\fIinact\fR 
-days, the user may no longer sign on to the account.
-.PP
-If you wish to immediately expire an account's password, you can use the 
-\fB\-e\fR 
-option. This in effect can force a user to change his/her password at the user's next login. You can also use the 
-\fB\-d\fR 
-option to delete a user's password (make it empty). Use caution with this option since it can make an account not require a password at all to login, leaving your system open to intruders.
-.SS "Account maintenance"
-.PP
-User accounts may be locked and unlocked with the 
-\fB\-l\fR 
-and 
-\fB\-u\fR 
-flags. The 
-\fB\-l\fR 
-option disables an account by changing the password to a value which matches no possible encrypted value. The 
-\fB\-u\fR 
-option re\-enables an account by changing the password back to its previous value.
-.PP
-The account status may be viewed with the 
-\fB\-S\fR 
-option. The status information consists of 7 fields. The first field is the user's login name. The second field indicates if the user account is locked (L), has no password (NP), or has a usable password (P). The third field gives the date of the last password change. The next four fields are the minimum age, maximum age, warning period, and inactivity period for the password. These ages are expressed in days. See 
-\fIPassword expiry information\fR 
-above for a discussion of these fields.
 .SS "Hints for user passwords"
 .PP
-The security of a password depends upon the strength of the encryption algorithm and the size of the key space. The 
-\fI\\s\-2UNIX\fR 
+The security of a password depends upon the strength of the encryption algorithm and the size of the key space. The
+\fIUNIX\fR
 System encryption method is based on the NBS DES algorithm and is very secure. The size of the key space depends upon the randomness of the password which is selected.
 .PP
 Compromises in password security normally result from careless password selection or handling. For this reason, you should not select a password which appears in a dictionary or which must be written down. The password should also not be a proper name, your license number, birth date, or street address. Any of these may be used as guesses to violate system security.
@@ -149,6 +102,64 @@ You may be reasonably sure few crackers will have included this in their diction
 .SS "Notes about group passwords"
 .PP
 Group passwords are an inherent security problem since more than one person is permitted to know the password. However, groups are a useful tool for permitting co\-operation between different users.
+.SH "OPTIONS"
+.PP
+The options which apply to the
+\fBpasswd\fR
+command are:
+.TP
+\fB\-a\fR, \fB\-\-all\fR
+This option can be used only with
+\fB\-S\fR
+and causes show status for all users.
+.TP
+\fB\-d\fR, \fB\-\-delete\fR
+Delete a user's password (make it empty). This is a quick way to disable a password for an account. It will set the named account passwordless.
+.TP
+\fB\-e\fR, \fB\-\-expire\fR
+Immediately expire an account\(cqs password. This in effect can force a user to change his/her password at the user\(cqs next login.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Display help message and exit.
+.TP
+\fB\-i\fR, \fB\-\-inactive\fR \fIINACTIVE\fR
+This option is used to disable an account after the password has been expired for a number of days. After a user account has had an expired password for
+\fIINACTIVE\fR
+days, the user may no longer sign on to the account.
+.TP
+\fB\-k\fR, \fB\-\-keep\-tokens\fR
+Indicate change password should be performed only for expired authentication tokens (passwords). The user wishes to keep their non\-expired tokens as before.
+.TP
+\fB\-l\fR, \fB\-\-lock\fR
+Lock the named account. This option disables an account by changing the password to a value which matches no possible encrypted value.
+.TP
+\fB\-n\fR, \fB\-\-mindays\fR \fIMIN_DAYS\fR
+Set the minimum number of days between password changes. A value of zero for this field indicates that the user may change her password at any time.
+.TP
+\fB\-q\fR, \fB\-\-quiet\fR
+quiet mode
+.TP
+\fB\-r\fR, \fB\-\-repository\fR \fIREPOSITORY\fR
+change password in
+\fIREPOSITORY\fR
+repository
+.TP
+\fB\-S\fR, \fB\-\-status\fR
+Display account status information. The status information consists of 7 fields. The first field is the user\(cqs login name. The second field indicates if the user account is locked (L), has no password (NP), or has a usable password (P). The third field gives the date of the last password change. The next four fields are the minimum age, maximum age, warning period, and inactivity period for the password. These ages are expressed in days.
+.TP
+\fB\-u\fR, \fB\-\-unlock\fR
+Unlock the named account. This option re\-enables an account by changing the password back to its previous value (to value before using
+\fB\-l\fR
+option).
+.TP
+\fB\-w\fR, \fB\-\-warndays\fR \fIWARN_DAYS\fR
+Set the number of days of warning before a password change is required. The
+\fIWARN_DAYS\fR
+option is the number of days prior to the password expiring that a user will be warned her password is about to expire.
+.TP
+\fB\-x\fR, \fB\-\-maxdays\fR \fIMAX_DAYS\fR
+Set the maximum number of days a password remains valid. After
+\fIMAX_DAYS\fR, the password is required to be changed.
 .SH "CAVEATS"
 .PP
 Not all options may be supported. Password complexity checking may vary from site to site. The user is urged to select a password as complex as he feels comfortable with. Users may not be able to change their password on a system if NIS is enabled and they are not logged into the NIS server.
@@ -161,9 +172,9 @@ user account information
 secure user account information
 .SH "EXIT VALUES"
 .PP
-The 
-\fBpasswd\fR 
-command exits with the following values: 
+The
+\fBpasswd\fR
+command exits with the following values:
 .TP
 \fI0\fR
 success
@@ -187,9 +198,9 @@ passwd file busy, try again
 invalid argument to option
 .SH "SEE ALSO"
 .PP
-\fBgroup\fR(5), 
-\fBpasswd\fR(5), 
-\fBshadow\fR(5)
+\fBgroup\fR(5),
+\fBpasswd\fR(5),
+\fBshadow\fR(5).
 .SH "AUTHOR"
 .PP
 Julianne Frances Haugh <jockgrrl@ix.netcom.com>
index 97060d2adafb6ccb8211f39485589fa0999f6ede..dadba5c7f85ba96643dfd9544e54c92448839bd9 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='passwd.1'>
-  <!--  $Id: passwd.1.xml,v 1.11 2005/06/20 08:47:36 kloczek Exp $ -->
+  <!--  $Id: passwd.1.xml,v 1.20 2005/10/01 15:01:45 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>passwd</refentrytitle>
     <manvolnum>1</manvolnum>
 
   <refsynopsisdiv id='synopsis'>
     <cmdsynopsis>
-      <command>passwd</command>    
+      <command>passwd</command>
       <group choice='opt'>
-        <arg choice='plain'>-f </arg><arg choice='plain'>-s </arg>
+       <arg choice='plain'>-f </arg><arg choice='plain'>-s </arg>
       </group>
       <arg choice='opt'>
-        <replaceable>name</replaceable>
+       <replaceable>name</replaceable>
       </arg>
     </cmdsynopsis>
     <cmdsynopsis>
       <command>passwd</command>
       <arg choice='opt'>-g </arg>
       <group choice='opt'>
-        <arg choice='plain'>-r </arg>
+       <arg choice='plain'>-r </arg>
        <arg choice='plain'>-R </arg>
       </group>
       <arg choice='plain'>
-        <replaceable>group</replaceable>
+       <replaceable>group</replaceable>
       </arg>
     </cmdsynopsis>
     <cmdsynopsis>
       </arg>
     </cmdsynopsis>
     <cmdsynopsis>
-      <command>passwd</command>    
+      <command>passwd</command>
       <group choice='opt'>
-        <arg choice='plain'>-l </arg>
+       <arg choice='plain'>-l </arg>
        <arg choice='plain'>-u </arg>
        <arg choice='plain'>-d </arg>
-        <arg choice='plain'>-S </arg>
+       <arg choice='plain'>-S </arg>
        <arg choice='plain'>-e </arg>
       </group>
       <arg choice='plain'><replaceable>login</replaceable></arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><command>passwd</command> changes passwords for user and group
+    <para>
+      <command>passwd</command> changes passwords for user and group
       accounts. A normal user may only change the password for his/her own
       account, the super user may change the password for any account. The
-      administrator of a group may change the password for the group.
+      administrator of a group may change the password for the group. 
       <command>passwd</command> also changes account information, such as
       the full name of the user, user's login shell, or password expiry date
       and interval.
     </para>
-    
+
     <para>
       The <option>-s</option> option makes <command>passwd</command> call
       <command>chsh</command> to change the user's shell. The
       two options are only meant for compatibility, since the other programs
       can be called directly.
     </para>
-    
+
     <refsect2 id='password_changes'>
       <title>Password Changes</title>
-      <para>The user is first prompted for his/her old password, if one is
-        present. This password is then encrypted and compared against the
-        stored password. The user has only one chance to enter the correct
-        password. The super user is permitted to bypass this step so that
-        forgotten passwords may be changed.
+      <para>
+        The user is first prompted for his/her old password, if one is
+       present. This password is then encrypted and compared against the
+       stored password. The user has only one chance to enter the correct
+       password. The super user is permitted to bypass this step so that
+       forgotten passwords may be changed.
       </para>
-      
-      <para>After the password has been entered, password aging information
-        is checked to see if the user is permitted to change the password at
-        this time. If not, <command>passwd</command> refuses to change the
-        password and exits.
+
+      <para>
+        After the password has been entered, password aging information is
+       checked to see if the user is permitted to change the password at
+       this time. If not, <command>passwd</command> refuses to change the
+       password and exits.
       </para>
-      
-      <para>The user is then prompted for a replacement password. This
-        password is tested for complexity. As a general guideline, passwords
-        should consist of 6 to 8 characters including one or more from each
-        of following sets:
+
+      <para>
+        The user is then prompted for a replacement password. This password
+       is tested for complexity. As a general guideline, passwords should
+       consist of 6 to 8 characters including one or more from each of
+       following sets:
       </para>
-      
+
       <itemizedlist mark='bullet'>
-        <listitem>
-          <para>lower case alphabetics</para>
-        </listitem>
-        <listitem>
-          <para>digits 0 thru 9</para>
-        </listitem>
-        <listitem>
-          <para>punctuation marks</para>
-        </listitem>
-      </itemizedlist>            
-      
-      <para>Care must be taken not to include the system default erase or
-        kill characters. <command>passwd</command> will reject any password
-        which is not suitably complex.
+       <listitem>
+         <para>lower case alphabetics</para>
+       </listitem>
+       <listitem>
+         <para>digits 0 thru 9</para>
+       </listitem>
+       <listitem>
+         <para>punctuation marks</para>
+       </listitem>
+      </itemizedlist>
+
+      <para>
+        Care must be taken not to include the system default erase or kill
+       characters. <command>passwd</command> will reject any password which
+       is not suitably complex.
       </para>
-      
+
       <para>If the password is accepted, <command>passwd</command> will
-        prompt again and compare the second entry against the first. Both
-        entries are required to match in order for the password to be
-        changed.
+       prompt again and compare the second entry against the first. Both
+       entries are required to match in order for the password to be
+       changed.
       </para>
     </refsect2>
-    
+
     <refsect2 id='group_passwords'>
       <title>Group passwords</title>
       <para>
-        When the <option>-g</option> option is used, the password for the
-        named group is changed. The user must either be the super user, or a
-        group administrator for the named group. The current group password
-        is not prompted for. The <option>-r</option> option is used with the
-        <option>-g</option> option to remove the current password from the
-        named group. This allows group access to all members. The
-        <option>-R</option> option is used with the <option>-g</option>
-        option to restrict the named group for all users.
-      </para>
-    </refsect2>
-    
-    <refsect2 id='password_expiry_information'>
-      <title>Password expiry information</title>
-      <para>The password aging information may be changed by the super user
-        with the <option>-x</option>, <option>-n</option>,
-        <option>-w</option>, and <option>-i</option> options. The
-        <option>-x</option> option is used to set the maximum number of days
-        a password remains valid. After <emphasis remap='I'>max</emphasis>
-        days, the password is required to be changed. The
-        <option>-n</option> option is used to set the minimum number of days
-        before a password may be changed. The user will not be permitted to
-        change the password until <emphasis remap='I'>min</emphasis> days
-        have elapsed. The <option>-w</option> option is used to set the
-        number of days of warning the user will receive before his/her
-        password will expire. The warning occurs <emphasis
-        remap='I'>warn</emphasis> days before the expiration, telling the
-        user how many days remain until the password is set to expire. The
-        <option>-i</option> option is used to disable an account after the
-        password has been expired for a number of days. After a user account
-        has had an expired password for <emphasis remap='I'>inact</emphasis>
-        days, the user may no longer sign on to the account.
-      </para>
-      
-      <para>If you wish to immediately expire an account's password, you can
-        use the <option>-e</option> option. This in effect can force a user
-        to change his/her password at the user's next login. You can also
-        use the <option>-d</option> option to delete a user's password (make
-        it empty). Use caution with this option since it can make an account
-        not require a password at all to login, leaving your system open to
-        intruders.
+       When the <option>-g</option> option is used, the password for the
+       named group is changed. The user must either be the super user, or a
+       group administrator for the named group. The current group password
+       is not prompted for. The <option>-r</option> option is used with the
+       <option>-g</option> option to remove the current password from the
+       named group. This allows group access to all members. The
+       <option>-R</option> option is used with the <option>-g</option>
+       option to restrict the named group for all users.
       </para>
     </refsect2>
-    
-    <refsect2 id='account_maintenance'>
-      <title>Account maintenance</title>
-      <para> User accounts may be locked and unlocked with the
-        <option>-l</option> and <option>-u</option> flags. The
-        <option>-l</option> option disables an account by changing the
-        password to a value which matches no possible encrypted value. The
-        <option>-u</option> option re-enables an account by changing the
-        password back to its previous value.
-      </para>
-      
-      <para>The account status may be viewed with the <option>-S</option>
-        option. The status information consists of 7 fields. The first
-        field is the user's login name. The second field indicates if the
-        user account is locked (L), has no password (NP), or has a usable
-        password (P). The third field gives the date of the last password
-        change. The next four fields are the minimum age, maximum age,
-        warning period, and inactivity period for the password. These ages
-        are expressed in days. See <emphasis remap='B'>Password expiry
-        information</emphasis> above for a discussion of these fields.
-      </para>
-    </refsect2>
-    
+
     <refsect2 id='hints_for_user_passwords'>
       <title>Hints for user passwords</title>
-      <para>The security of a password depends upon the strength of the
-        encryption algorithm and the size of the key space. The <emphasis
-        remap='B'>\s-2UNIX</emphasis> System encryption method is based on
-        the NBS DES algorithm and is very secure. The size of the key space
-        depends upon the randomness of the password which is selected.
+      <para>
+        The security of a password depends upon the strength of the
+       encryption algorithm and the size of the key space. The
+       <emphasis>UNIX</emphasis> System encryption method is based on the
+       NBS DES algorithm and is very secure. The size of the key space
+       depends upon the randomness of the password which is selected.
       </para>
-      
-      <para>Compromises in password security normally result from careless
-        password selection or handling. For this reason, you should not
-        select a password which appears in a dictionary or which must be
-        written down. The password should also not be a proper name, your
-        license number, birth date, or street address. Any of these may be
-        used as guesses to violate system security.
+
+      <para>
+        Compromises in password security normally result from careless
+       password selection or handling. For this reason, you should not
+       select a password which appears in a dictionary or which must be
+       written down. The password should also not be a proper name, your
+       license number, birth date, or street address. Any of these may be
+       used as guesses to violate system security.
       </para>
-      
-      <para>Your password must easily remembered so that you will not be
-        forced to write it on a piece of paper. This can be accomplished by
-        appending two small words together and separating each with a
-        special character or digit. For example, Pass%word.
+
+      <para>
+        Your password must easily remembered so that you will not be forced
+       to write it on a piece of paper. This can be accomplished by
+       appending two small words together and separating each with a
+       special character or digit. For example, Pass%word.
       </para>
-      
-      <para>Other methods of construction involve selecting an easily
-        remembered phrase from literature and selecting the first or last
-        letter from each word. An example of this is:
+
+      <para>
+        Other methods of construction involve selecting an easily remembered
+       phrase from literature and selecting the first or last letter from
+       each word. An example of this is:
       </para>
 
       <itemizedlist mark='bullet'>
-        <listitem>
-          <para>Ask not for whom the bell tolls</para>
-        </listitem>
-        <listitem>
-          <para>which produces</para>
-        </listitem>
-        <listitem>
-          <para>An4wtbt</para>
-        </listitem>
-      </itemizedlist>            
-      
-      <para>You may be reasonably sure few crackers will have included this
-        in their dictionaries. You should, however, select your own methods
-        for constructing passwords and not rely exclusively on the methods
-        given here.
+       <listitem>
+         <para>Ask not for whom the bell tolls</para>
+       </listitem>
+       <listitem>
+         <para>which produces</para>
+       </listitem>
+       <listitem>
+         <para>An4wtbt</para>
+       </listitem>
+      </itemizedlist>
+
+      <para>
+        You may be reasonably sure few crackers will have included this in
+       their dictionaries. You should, however, select your own methods for
+       constructing passwords and not rely exclusively on the methods given
+       here.
       </para>
     </refsect2>
-    
+
     <refsect2 id='notes_about_group_passwords'>
       <title>Notes about group passwords</title>
-      <para>Group passwords are an inherent security problem since more than
-        one person is permitted to know the password. However, groups are a
-        useful tool for permitting co-operation between different users.
+      <para>
+       Group passwords are an inherent security problem since more than
+       one person is permitted to know the password. However, groups are a
+       useful tool for permitting co-operation between different users.
       </para>
     </refsect2>
   </refsect1>
-  
+
+  <refsect1 id='options'>
+    <title>OPTIONS</title>
+    <para>
+      The options which apply to the <command>passwd</command> command are:
+    </para>
+    <variablelist remap='IP'>
+      <varlistentry>
+       <term>
+         <option>-a</option>, <option>--all</option>
+       </term>
+       <listitem>
+         <para>
+           This option can be used only with <option>-S</option> and causes show
+           status for all users.
+         </para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term>
+         <option>-d</option>, <option>--delete</option>
+       </term>
+       <listitem>
+         <para>
+           Delete a user's password (make it empty). This is a quick way
+           to disable a password for an account. It will set the named
+           account passwordless.
+         </para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term>
+         <option>-e</option>, <option>--expire</option>
+       </term>
+       <listitem>
+         <para>
+           Immediately expire an account’s password. This in effect can
+           force a user to change his/her password at the user’s next login.
+         </para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term><option>-h</option>, <option>--help</option></term>
+       <listitem>
+         <para>Display help message and exit.</para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term>
+         <option>-i</option>, <option>--inactive</option> <replaceable>INACTIVE</replaceable>
+       </term>
+       <listitem>
+         <para>
+           This option is used to disable an account after the password has
+           been expired for a number of days. After a user account has had
+           an expired password for <replaceable>INACTIVE</replaceable>
+           days, the user may no longer sign on to the account.
+         </para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term>
+         <option>-k</option>, <option>--keep-tokens</option>
+       </term>
+       <listitem>
+         <para>
+           Indicate change password should be performed only for expired
+           authentication tokens (passwords). The user wishes to keep their
+           non-expired tokens as before.
+         </para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term>
+         <option>-l</option>, <option>--lock</option>
+       </term>
+       <listitem>
+         <para>
+           Lock the named account. This option disables an account by changing
+           the password to a value which matches no possible encrypted value.
+         </para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term>
+         <option>-n</option>, <option>--mindays</option> <replaceable>MIN_DAYS</replaceable>
+       </term>
+       <listitem>
+         <para>
+           Set the minimum number of days between password changes. A value
+           of zero for this field indicates that the user may change her
+           password at any time.
+         </para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term>
+         <option>-q</option>, <option>--quiet</option>
+       </term>
+       <listitem>
+         <para>
+           quiet mode
+         </para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term>
+         <option>-r</option>, <option>--repository</option> <replaceable>REPOSITORY</replaceable>
+       </term>
+       <listitem>
+         <para>
+           change password in <replaceable>REPOSITORY</replaceable> repository
+         </para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term>
+         <option>-S</option>, <option>--status</option>
+       </term>
+       <listitem>
+         <para>
+           Display account status information. The status information
+           consists of 7 fields. The first field is the user’s login name. 
+           The second field indicates if the user account is locked (L),
+           has no password (NP), or has a usable password (P). The third
+           field gives the date of the last password change. The next four
+           fields are the minimum age, maximum age, warning period, and
+           inactivity period for the password. These ages are expressed in
+           days.
+         </para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term>
+         <option>-u</option>, <option>--unlock</option>
+       </term>
+       <listitem>
+         <para>
+           Unlock the named account. This option re-enables an account by
+           changing the password back to its previous value (to value before
+           using <option>-l</option> option).
+         </para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term>
+         <option>-w</option>, <option>--warndays</option> <replaceable>WARN_DAYS</replaceable>
+       </term>
+       <listitem>
+         <para>
+           Set the number of days of warning before a password change is
+           required. The <replaceable>WARN_DAYS</replaceable> option is
+           the number of days prior to the password expiring that a user
+           will be warned her password is about to expire.
+         </para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term>
+         <option>-x</option>, <option>--maxdays</option> <replaceable>MAX_DAYS</replaceable>
+       </term>
+       <listitem>
+         <para>
+           Set the maximum number of days a password remains valid. After
+           <replaceable>MAX_DAYS</replaceable>, the password is required
+           to be changed.
+         </para>
+       </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+
   <refsect1 id='caveats'>
     <title>CAVEATS</title>
-    <para>Not all options may be supported. Password complexity checking
-      may vary from site to site. The user is urged to select a password as
+    <para>
+      Not all options may be supported. Password complexity checking may
+      vary from site to site. The user is urged to select a password as
       complex as he feels comfortable with. Users may not be able to change
       their password on a system if NIS is enabled and they are not logged
       into the NIS server.
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/passwd</filename></term>
-        <listitem>user account information</listitem>
+       <term><filename>/etc/passwd</filename></term>
+       <listitem>
+         <para>user account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/shadow</filename></term>
-        <listitem>secure user account information</listitem>
+       <term><filename>/etc/shadow</filename></term>
+       <listitem>
+         <para>secure user account information</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='exit_values'>
     <title>EXIT VALUES</title>
     <para>
       The <command>passwd</command> command exits with the following values:
       <variablelist>
-        <varlistentry>
-          <term><replaceable>0</replaceable></term>
-         <listitem>success</listitem>
+       <varlistentry>
+         <term><replaceable>0</replaceable></term>
+         <listitem>
+           <para>success</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>1</replaceable></term>
-         <listitem>permission denied</listitem>
+       <varlistentry>
+         <term><replaceable>1</replaceable></term>
+         <listitem>
+           <para>permission denied</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>2</replaceable></term>
-         <listitem>invalid combination of options</listitem>
+       <varlistentry>
+         <term><replaceable>2</replaceable></term>
+         <listitem>
+           <para>invalid combination of options</para>
+           </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>3</replaceable></term>
-         <listitem>unexpected failure, nothing done</listitem>
+       <varlistentry>
+         <term><replaceable>3</replaceable></term>
+         <listitem>
+           <para>unexpected failure, nothing done</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>4</replaceable></term>
-         <listitem>unexpected failure, passwd file missing</listitem>
+       <varlistentry>
+         <term><replaceable>4</replaceable></term>
+         <listitem>
+           <para>unexpected failure, passwd file missing</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>5</replaceable></term>
-         <listitem>passwd file busy, try again</listitem>
+       <varlistentry>
+         <term><replaceable>5</replaceable></term>
+         <listitem>
+           <para>passwd file busy, try again</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>6</replaceable></term>
-         <listitem>invalid argument to option</listitem>
+       <varlistentry>
+         <term><replaceable>6</replaceable></term>
+         <listitem>
+           <para>invalid argument to option</para>
+         </listitem>
        </varlistentry>
       </variablelist>
     </para>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+       <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
-      </citerefentry>
+       <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para>
index 920843ffed856a97aefe26abe22e52f9868d10eb..ac5f75544b42d745e16104fd7a563c9305912a96 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PASSWD" "5" "08/03/2005" "" ""
+.TH "PASSWD" "5" "09/30/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -11,8 +11,8 @@
 passwd \- The password file
 .SH "DESCRIPTION"
 .PP
-\fI/etc/passwd\fR 
-contains various pieces of information for each user account. Included is:
+\fI/etc/passwd\fR
+contains one line for each user account, with seven fields delimited by colons (\(lq:\(rq). These fields are:
 .TP 3
 \(bu
 login name
@@ -33,41 +33,62 @@ user name or comment field
 user home directory
 .TP
 \(bu
-user command interpreter
+optional user command interpreter
 .PP
-The password field may not be filled if shadow passwords have been enabled. If shadow passwords are being used, the encrypted password will be found in 
-\fI/etc/shadow\fR. The encrypted password consists of characters from the 64 characters alphabet a thru z, A thru Z, 0 thru 9, \\. and /. Optionally it can start with a "$" character. This means the encrypted password was generated using another (not DES) algorithm. For example if it starts with "$1$" it means the MD5\-based algorithm was used. Refer to 
-\fBcrypt\fR(3) 
-for details on how this string is interpreted.
+The encrypted password field may be blank, in which case no password is required to authenticate as the specified login name. However, some applications which read the
+\fI/etc/passwd\fR
+file may decide not to permit
+\fIany\fR
+access at all if the
+\fIpassword\fR
+field is blank. If the
+\fIpassword\fR
+field is a lower\-case
+\(lqx\(rq, then the encrypted password is actually stored in the
+\fBshadow\fR(5)
+file instead; there
+\fImust\fR
+be a corresponding line in the
+\fIshadow\fR
+file, or else the user account is invalid. If the
+\fIpassword\fR
+field is any other string, then it will be treated as an encrypted password, as specified by
+\fBcrypt\fR(3).
 .PP
-The comment field is used by various system utilities, such as 
+The comment field is used by various system utilities, such as
 \fBfinger\fR(1).
 .PP
-The home directory field provides the name of the initial working directory. 
-\fILogin\fR 
-uses this information to set the value of the 
-\fB$HOME\fR 
+The home directory field provides the name of the initial working directory. The
+\fBlogin\fR
+program uses this information to set the value of the
+\fB$HOME\fR
 environmental variable.
 .PP
-The command interpreter field provides the name of the user's command language interpreter, or the name of the initial program to execute. 
-\fILogin\fR 
-uses this information to set the value of the 
-\fB$SHELL\fR 
-environmental variable. If this field is empty, it defaults to the value 
+The command interpreter field provides the name of the user's command language interpreter, or the name of the initial program to execute. The
+\fBlogin\fR
+program uses this information to set the value of the
+\fB$SHELL\fR
+environmental variable. If this field is empty, it defaults to the value
 \fI/bin/sh\fR.
 .SH "FILES"
 .TP
 \fI/etc/passwd\fR
 user account information
+.TP
+\fI/etc/shadow\fR
+optional encrypted password file
 .SH "SEE ALSO"
 .PP
-\fBlogin\fR(1), 
-\fBpasswd\fR(1), 
-\fBsu\fR(1), 
-\fBshadow\fR(5), 
-\fBpwconv\fR(8), 
-\fBpwunconv\fR(8), 
-\fBsulogin\fR(8)
+\fBgetent\fR(1),
+\fBlogin\fR(1),
+\fBpasswd\fR(1),
+\fBsu\fR(1),
+\fBcrypt\fR(3),
+\fBgetpwnam\fR(3),
+\fBshadow\fR(5),
+\fBpwconv\fR(8),
+\fBpwunconv\fR(8),
+\fBsulogin\fR(8).
 .SH "AUTHOR"
 .PP
 Julianne Frances Haugh (jockgrrl@ix.netcom.com)
index e3cd5da3f63a3f33b75acf290a8efa4d13b33802..431ad34989d98dfed34a7f3ae7e686b90b4b8395 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='passwd.5'>
-  <!-- $Id: passwd.5.xml,v 1.7 2005/06/16 17:59:21 kloczek Exp $ -->
+  <!-- $Id: passwd.5.xml,v 1.12 2005/09/30 15:41:20 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>passwd</refentrytitle>
     <manvolnum>5</manvolnum>
     <refname>passwd</refname>
     <refpurpose>The password file</refpurpose>
   </refnamediv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><filename>/etc/passwd</filename> contains various pieces of
-      information for each user account. Included is:
+    <para>
+      <filename>/etc/passwd</filename> contains one line for each
+      user account, with seven fields delimited by colons
+      (<quote>:</quote>).
+      These fields are:
     </para>
     <itemizedlist mark='bullet'>
       <listitem>
-        <para>login name</para>
-      </listitem>    
+       <para>login name</para>
+      </listitem>
       <listitem>
-        <para>optional encrypted password</para>
-      </listitem>    
+       <para>optional encrypted password</para>
+      </listitem>
       <listitem>
-        <para>numerical user ID</para>
-      </listitem>    
+       <para>numerical user ID</para>
+      </listitem>
       <listitem>
-        <para>numerical group ID</para>
-      </listitem>    
+       <para>numerical group ID</para>
+      </listitem>
       <listitem>
-        <para>user name or comment field</para>
-      </listitem>    
+       <para>user name or comment field</para>
+      </listitem>
       <listitem>
-        <para>user home directory</para>
-      </listitem>    
+       <para>user home directory</para>
+      </listitem>
       <listitem>
-        <para>user command interpreter</para>
-      </listitem>    
+       <para>optional user command interpreter</para>
+      </listitem>
     </itemizedlist>
 
     <para>
-      The password field may not be filled if shadow passwords have been
-      enabled. If shadow passwords are being used, the encrypted password
-      will be found in <filename>/etc/shadow</filename>. The encrypted
-      password consists of characters from the 64 characters alphabet a thru
-      z, A thru Z, 0 thru 9, \. and /. Optionally it can start with a "$"
-      character. This means the encrypted password was generated using
-      another (not DES) algorithm. For example if it starts with "$1$" it
-      means the MD5-based algorithm was used. Refer to
+      The encrypted password field may be blank, in which case no password
+      is required to authenticate as the specified login name. However,
+      some applications which read the <filename>/etc/passwd</filename> file
+      may decide not to permit <emphasis>any</emphasis> access at all if the
+      <emphasis>password</emphasis> field is blank. If the
+      <emphasis>password</emphasis> field is a lower-case <quote>x</quote>,
+      then the encrypted password is actually stored in the
+      <citerefentry><refentrytitle>shadow</refentrytitle>
+      <manvolnum>5</manvolnum></citerefentry> file instead; there
+      <emphasis>must</emphasis> be a corresponding line in the
+      <filename>shadow</filename> file, or else the user account is invalid. 
+      If the <emphasis>password</emphasis> field is any other string, then
+      it will be treated as an encrypted password, as specified by
       <citerefentry><refentrytitle>crypt</refentrytitle>
-      <manvolnum>3</manvolnum></citerefentry> for details on how this string
-      is interpreted.
+      <manvolnum>3</manvolnum></citerefentry>.
+
     </para>
 
-    <para>The comment field is used by various system utilities, such as
+    <para>
+      The comment field is used by various system utilities, such as
       <citerefentry><refentrytitle>finger</refentrytitle>
       <manvolnum>1</manvolnum></citerefentry>.
     </para>
-    
-    <para>The home directory field provides the name of the initial working
-      directory. <emphasis remap='B'>Login</emphasis> uses this information
+
+    <para>
+      The home directory field provides the name of the initial working
+      directory. The <command>login</command> program uses this information
       to set the value of the <envar>$HOME</envar> environmental variable.
     </para>
-    
+
     <para>
-      The command interpreter field provides the name of the user's
-      command language interpreter, or the name of the initial program to
-      execute. <emphasis remap='B'>Login</emphasis> uses this information
-      to set the value of the <envar>$SHELL</envar> environmental variable.
-      If this field is empty, it defaults to the value
-      <filename>/bin/sh</filename>.
+      The command interpreter field provides the name of the user's command
+      language interpreter, or the name of the initial program to execute. 
+      The <command>login</command> program uses this information to set the
+      value of the <envar>$SHELL</envar> environmental variable. If this
+      field is empty, it defaults to the value <filename>/bin/sh</filename>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/passwd</filename></term>
-        <listitem>user account information</listitem>
+       <term><filename>/etc/passwd</filename></term>
+       <listitem>
+         <para>user account information</para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/shadow</filename></term>
+       <listitem>
+         <para>optional encrypted password file</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>getent</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
+       <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>pwconv</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>getpwnam</refentrytitle><manvolnum>3</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>pwunconv</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>sulogin</refentrytitle><manvolnum>8</manvolnum>
-      </citerefentry>
+       <refentrytitle>pwconv</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>pwunconv</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>sulogin</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
index 3b3bef8f43b447ae9a58bb8c6b6b660264e210b4..a2c3b9ec3da0c58bc384eeb3d3c5de6eb516b7e0 100644 (file)
@@ -38,7 +38,8 @@ host_triplet = @host@
 subdir = man/pl
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -80,6 +81,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -91,6 +94,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -130,6 +134,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -232,9 +239,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/pl/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/pl/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  man/pl/Makefile
+         $(AUTOMAKE) --foreign  man/pl/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 81644cffe5511606438e0d90316e68834d8d53ca..8dafe0c339119f4f1b0c6f10ee7e6b03b51c9fbd 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PORTTIME" "5" "08/03/2005" "" ""
+.TH "PORTTIME" "5" "10/01/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
 porttime \- port access time file
 .SH "DESCRIPTION"
 .PP
- \fIporttime\fR 
+\fIporttime\fR
 contains a list of tty devices, user names, and permitted login times.
 .PP
 Each entry consists of three colon separated fields. The first field is a comma separated list of tty devices, or an asterisk to indicate that all tty devices are matched by this entry. The second field is a comma separated list of user names, or an asterisk to indicated that all user names are matched by this entry. The third field is a comma separated list of permitted access times.
 .PP
-Each access time entry consists of zero or more days of the week, abbreviated 
-\fISu\fR, 
-\fIMo\fR,\fITu\fR, 
-\fIWe\fR, 
-\fITh\fR, 
-\fIFr\fR, and 
-\fISa\fR, followed by a pair of times separated by a hyphen. The abbreviation 
-\fIWk\fR 
-may be used to represent Monday thru Friday, and 
-\fIAl\fR 
-may be used to indicate every day. If no days are given, 
-\fIAl\fR 
+Each access time entry consists of zero or more days of the week, abbreviated
+\fISu\fR,
+\fIMo\fR,
+\fITu\fR,
+\fIWe\fR,
+\fITh\fR,
+\fIFr\fR, and
+\fISa\fR, followed by a pair of times separated by a hyphen. The abbreviation
+\fIWk\fR
+may be used to represent Monday thru Friday, and
+\fIAl\fR
+may be used to indicate every day. If no days are given,
+\fIAl\fR
 is assumed.
 .SH "EXAMPLES"
 .PP
-The following entry allows access to user 
-\fIjfh\fR 
+The following entry allows access to user
+\fIjfh\fR
 on every port during weekdays from 9am to 5pm.
 .PP
 *:jfh:Wk0900\-1700
 .PP
-The following entries allow access only to the users 
-\fIroot\fR 
-and 
-\fIoper\fR 
-on /dev/console at any time. This illustrates how the 
-\fI/etc/porttime\fR 
+The following entries allow access only to the users
+\fIroot\fR
+and
+\fIoper\fR
+on
+\fI/dev/console\fR
+at any time. This illustrates how the
+\fI/etc/porttime\fR
 file is an ordered list of access times. Any other user would match the second entry which does not permit access at any time.
 .PP
-console:root,oper:Al0000\-2400console:*:
+console:root,oper:Al0000\-2400 console:*:
 .PP
-The following entry allows access for the user 
-\fIgames\fR 
+The following entry allows access for the user
+\fIgames\fR
 on any port during non\-working hours.
 .PP
 *:games:Wk1700\-0900,SaSu0000\-2400
@@ -58,7 +61,7 @@ on any port during non\-working hours.
 file containing port access
 .SH "SEE ALSO"
 .PP
- \fBlogin\fR(1)
+\fBlogin\fR(1).
 .SH "AUTHOR"
 .PP
 Julianne Frances Haugh (jockgrrl@ix.netcom.com)
index a8c1ee5859987e7c844ef2ac73482c32515b2ce1..0cf0689c471a454abc4a720fe07a5fd0942905cd 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='porttime.5'>
-  <!--  $Id: porttime.5.xml,v 1.6 2005/04/27 16:44:12 kloczek Exp $ -->
+  <!--  $Id: porttime.5.xml,v 1.12 2005/10/01 15:01:45 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>porttime</refentrytitle>
     <manvolnum>5</manvolnum>
     <refname>porttime</refname>
     <refpurpose>port access time file</refpurpose>
   </refnamediv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
     <para>
       <emphasis remap='I'>porttime</emphasis> contains a list of tty
       devices, user names, and permitted login times.
     </para>
-    
-    <para>Each entry consists of three colon separated fields. The first
-      field is a comma separated list of tty devices, or an asterisk to
-      indicate that all tty devices are matched by this entry. The second
-      field is a comma separated list of user names, or an asterisk to
-      indicated that all user names are matched by this entry. The third
-      field is a comma separated list of permitted access times.
+
+    <para>
+      Each entry consists of three colon separated fields. The first field
+      is a comma separated list of tty devices, or an asterisk to indicate
+      that all tty devices are matched by this entry. The second field is a
+      comma separated list of user names, or an asterisk to indicated that
+      all user names are matched by this entry. The third field is a comma
+      separated list of permitted access times.
     </para>
-    
-    <para>Each access time entry consists of zero or more days of the week,
-      abbreviated <emphasis remap='B'>Su</emphasis>, <emphasis
-      remap='B'>Mo</emphasis>,<emphasis remap='B'>Tu</emphasis>, <emphasis
-      remap='B'>We</emphasis>, <emphasis remap='B'>Th</emphasis>, <emphasis
-      remap='B'>Fr</emphasis>, and <emphasis remap='B'>Sa</emphasis>,
-      followed by a pair of times separated by a hyphen. The abbreviation
-      <emphasis remap='B'>Wk</emphasis> may be used to represent Monday thru
-      Friday, and <emphasis remap='B'>Al</emphasis> may be used to indicate
-      every day. If no days are given, <emphasis remap='B'>Al</emphasis> is
-      assumed.
+
+    <para>
+      Each access time entry consists of zero or more days of the week,
+      abbreviated <emphasis>Su</emphasis>, <emphasis>Mo</emphasis>,
+      <emphasis>Tu</emphasis>, <emphasis>We</emphasis>,
+      <emphasis>Th</emphasis>, <emphasis>Fr</emphasis>, and
+      <emphasis>Sa</emphasis>, followed by a pair of times separated by a
+      hyphen. The abbreviation <emphasis>Wk</emphasis> may be used to
+      represent Monday thru Friday, and <emphasis>Al</emphasis> may be used
+      to indicate every day. If no days are given, <emphasis>Al</emphasis>
+      is assumed.
     </para>
   </refsect1>
-  
+
   <refsect1 id='examples'>
     <title>EXAMPLES</title>
     <para>
       remap='B'>jfh</emphasis> on every port during weekdays from 9am to
       5pm.
     </para>
-    <!-- .br -->
-    
+
     <para>     *:jfh:Wk0900-1700</para>
-    <!-- .br -->
-    
-    <para>The following entries allow access only to the users <emphasis
-      remap='B'>root</emphasis> and <emphasis remap='B'>oper</emphasis> on
-      /dev/console at any time. This illustrates how the
-      <filename>/etc/porttime</filename> file is an ordered list of access
-      times. Any other user would match the second entry which does not
-      permit access at any time.
+
+    <para>
+      The following entries allow access only to the users
+      <emphasis>root</emphasis> and <emphasis>oper</emphasis> on
+      <filename>/dev/console</filename> at any time. This illustrates how
+      the <filename>/etc/porttime</filename> file is an ordered list of
+      access times. Any other user would match the second entry which does
+      not permit access at any time.
     </para>
-    <!-- .br -->
-    
+
     <para>     console:root,oper:Al0000-2400
-      <!-- .br -->
       console:*:
     </para>
-    <!-- .br -->
-    
-    <para>The following entry allows access for the user <emphasis
-      remap='B'>games</emphasis> on any port during non-working hours.
+
+    <para>
+      The following entry allows access for the user
+      <emphasis>games</emphasis> on any port during non-working hours. 
     </para>
-    <!-- .br -->
-    
+
     <para>     *:games:Wk1700-0900,SaSu0000-2400</para>
-    <!-- .br -->
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/porttime</filename></term>
-        <listitem>file containing port access</listitem>
+       <term><filename>/etc/porttime</filename></term>
+       <listitem>
+         <para>file containing port access</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
     <para>
       <citerefentry>
-        <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
-      </citerefentry>
+       <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
index a3f307311d7dfef5260527088387bc2644a7a94a..486a744ab269fe42516e2cd0bfcb6f3dde618d60 100644 (file)
@@ -38,7 +38,8 @@ host_triplet = @host@
 subdir = man/pt_BR
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -80,6 +81,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -91,6 +94,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -130,6 +134,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -194,9 +201,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/pt_BR/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/pt_BR/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  man/pt_BR/Makefile
+         $(AUTOMAKE) --foreign  man/pt_BR/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index e9261aff7f81d10d60f7c12575ab57de14f51f56..515a95a0bb8cf12eeaeaf71ea1ccb2cb956255d8 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PW_AUTH" "3" "08/03/2005" "" ""
+.TH "PW_AUTH" "3" "09/30/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -13,91 +13,91 @@ pw_auth \- administrator defined password authentication routines
 .PP
 \fI#include <pwauth.h>\fR
 .PP
-\fIint pw_auth (char\fR \fI*command,\fR \fIchar\fR \fI*user,\fR \fIint\fR \fIreason,\fR \fIchar\fR \fI*input)\fR\fI;\fR
+\fIint pw_auth (char\fR\fI*command,\fR\fIchar\fR\fI*user,\fR\fIint\fR\fIreason,\fR\fIchar\fR\fI*input)\fR\fI;\fR
 .SH "DESCRIPTION"
 .PP
-\fIpw_auth\fR 
+\fIpw_auth\fR
 invokes the administrator defined functions for a given user.
 .PP
-\fIcommand\fR 
+\fIcommand\fR
 is the name of the authentication program. It is retrieved from the user's password file information. The string contains one or more executable file names, delimited by semi\-colons. Each program will be executed in the order given. The command line arguments are given for each of the reasons listed below.
 .PP
-\fIuser\fR 
-is the name of the user to be authenticated, as given in the 
-\fI/etc/passwd\fR 
+\fIuser\fR
+is the name of the user to be authenticated, as given in the
+\fI/etc/passwd\fR
 file. User entries are indexed by username. This allows non\-unique user IDs to be present and for each different username associated with that user ID to have a different authentication program and information.
 .PP
-Each of the permissible authentication reasons is handled in a potentially differenent manner. Unless otherwise mentioned, the standard file descriptors 0, 1, and 2 are available for communicating with the user. The real user ID may be used to determine the identity of the user making the authentication request. 
-\fIreason\fR 
+Each of the permissible authentication reasons is handled in a potentially differenent manner. Unless otherwise mentioned, the standard file descriptors 0, 1, and 2 are available for communicating with the user. The real user ID may be used to determine the identity of the user making the authentication request.
+\fIreason\fR
 is one of:
 .TP
 \fIPW_SU\fR
-Perform authentication for the current real user ID attempting to switch real user ID to the named user. The authentication program will be invoked with a 
-\fB\-s\fR 
+Perform authentication for the current real user ID attempting to switch real user ID to the named user. The authentication program will be invoked with a
+\fB\-s\fR
 option, followed by the username.
 .TP
 \fIPW_LOGIN\fR
-Perform authentication for the named user creating a new login session. The authentication program will be invoked with a 
-\fB\-l\fR 
+Perform authentication for the named user creating a new login session. The authentication program will be invoked with a
+\fB\-l\fR
 option, followed by the username.
 .TP
 \fIPW_ADD\fR
-Create a new entry for the named user. This allows an authentication program to initialize storage for a new user. The authentication program will be invoked with a 
-\fB\-a\fR 
+Create a new entry for the named user. This allows an authentication program to initialize storage for a new user. The authentication program will be invoked with a
+\fB\-a\fR
 option, followed by the username.
 .TP
 \fIPW_CHANGE\fR
-Alter an existing entry for the named user. This allows an authentication program to alter the authentication information for an existing user. The authentication program will be invoked with a 
-\fB\-c\fR 
+Alter an existing entry for the named user. This allows an authentication program to alter the authentication information for an existing user. The authentication program will be invoked with a
+\fB\-c\fR
 option, followed by the username.
 .TP
 \fIPW_DELETE\fR
-Delete authentication information for the named user. This allows an authentication program to reclaim storage for a user which is no longer authenticated using the authentication program. The authentication program will be invoked with a 
-\fB\-d\fR 
+Delete authentication information for the named user. This allows an authentication program to reclaim storage for a user which is no longer authenticated using the authentication program. The authentication program will be invoked with a
+\fB\-d\fR
 option, followed by the username.
 .TP
 \fIPW_TELNET\fR
-Authenticate a user who is connecting to the system using the 
-\fItelnet\fR 
-command. The authentication program will be invoked with a 
-\fB\-t\fR 
+Authenticate a user who is connecting to the system using the
+\fBtelnet\fR
+command. The authentication program will be invoked with a
+\fB\-t\fR
 option, followed by the username.
 .TP
 \fIPW_RLOGIN\fR
-Authenticate a user who is connecting to the system using the 
-\fIrlogin\fR 
-command. The authentication program will be invoked with a 
-\fB\-r\fR 
+Authenticate a user who is connecting to the system using the
+\fIrlogin\fR
+command. The authentication program will be invoked with a
+\fB\-r\fR
 option, followed by the username.
 .TP
 \fIPW_FTP\fR
-Authenticate a user who is connecting to the system using the 
-\fIftp\fR 
-command. The authentication program will be invoked with a 
-\fB\-f\fR 
-option, followed by the username. The standard file descriptors are not available for communicating with the user. The standard input file descriptor will be connected to the parent process, while the other two output file descriptors will be connected to 
-\fI/dev/null\fR. The 
-\fIpw_auth\fR 
+Authenticate a user who is connecting to the system using the
+\fIftp\fR
+command. The authentication program will be invoked with a
+\fB\-f\fR
+option, followed by the username. The standard file descriptors are not available for communicating with the user. The standard input file descriptor will be connected to the parent process, while the other two output file descriptors will be connected to
+\fI/dev/null\fR. The
+\fIpw_auth\fR
 function will pipe a single line of data to the authentication program using file descriptor 0.
 .TP
 \fIPW_REXEC\fR
-Authenticate a user who is connecting to the system using the 
-\fIrexec\fR 
-command. The authentication program will be invoked with a 
-\fB\-x\fR 
-option, followed by the username. The standard file descriptors are not available for communicating with the remote user. The standard input file descriptor will be connected to the parent process, while the other two output file descriptors will be connected to 
-\fI/dev/null\fR. The 
-\fIpw_auth\fR 
+Authenticate a user who is connecting to the system using the
+\fIrexec\fR
+command. The authentication program will be invoked with a
+\fB\-x\fR
+option, followed by the username. The standard file descriptors are not available for communicating with the remote user. The standard input file descriptor will be connected to the parent process, while the other two output file descriptors will be connected to
+\fI/dev/null\fR. The
+\fIpw_auth\fR
 function will pipe a single line of data to the authentication program using file descriptor 0.
 .PP
-The last argument is the authentication data which is used by the 
-\fIPW_FTP\fR 
-and 
-\fIPW_REXEC\fR 
-reasons. It is treated as a single line of text which is piped to the authentication program. When the reason is 
-\fIPW_CHANGE,\fR 
-the value of 
-\fIinput\fR 
+The last argument is the authentication data which is used by the
+\fIPW_FTP\fR
+and
+\fIPW_REXEC\fR
+reasons. It is treated as a single line of text which is piped to the authentication program. When the reason is
+\fIPW_CHANGE,\fR
+the value of
+\fIinput\fR
 is the value of previous user name if the user name is being changed.
 .SH "CAVEATS"
 .PP
@@ -106,17 +106,17 @@ This function does not create the actual session. It only indicates if the user
 The network options are untested at this time.
 .SH "DIAGNOSTICS"
 .PP
-The 
-\fIpw_auth\fR 
+The
+\fIpw_auth\fR
 function returns 0 if the authentication program exited with a 0 exit code, and a non\-zero value otherwise.
 .SH "SEE ALSO"
 .PP
-\fBlogin\fR(1), 
-\fBpasswd\fR(1), 
-\fBsu\fR(1), 
-\fBuseradd\fR(8), 
-\fBuserdel\fR(8), 
-\fBusermod\fR(8)
+\fBlogin\fR(1),
+\fBpasswd\fR(1),
+\fBsu\fR(1),
+\fBuseradd\fR(8),
+\fBuserdel\fR(8),
+\fBusermod\fR(8).
 .SH "AUTHOR"
 .PP
 Julianne Frances Haugh (jockgrrl@ix.netcom.com)
index 27d55d2a3b3a85b1f57f75038796150229e9e6a6..d863a61d8a5c830236b210a53609b466f39ff045 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='pw_auth.3'>
-  <!-- $Id: pw_auth.3.xml,v 1.10 2005/06/20 09:00:06 kloczek Exp $ -->
+  <!-- $Id: pw_auth.3.xml,v 1.15 2005/10/01 15:01:45 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>pw_auth</refentrytitle>
     <manvolnum>3</manvolnum>
     <refname>pw_auth</refname>
     <refpurpose>administrator defined password authentication routines</refpurpose>
   </refnamediv>
-  
+
   <refsect1 id='syntax'>
     <title>SYNTAX</title>
-    <para><emphasis remap='B'>#include &lt;pwauth.h&gt;</emphasis>
+    <para>
+      <emphasis>#include &lt;pwauth.h&gt;</emphasis>
     </para>
-    
-    <para><emphasis remap='B'>int pw_auth (char</emphasis>
+
+    <para>
+      <emphasis>int pw_auth (char</emphasis>
       <emphasis remap='I'>*command,</emphasis>
-      <emphasis remap='B'>char</emphasis>
+      <emphasis>char</emphasis>
       <emphasis remap='I'>*user,</emphasis>
-      <emphasis remap='B'>int</emphasis>
+      <emphasis>int</emphasis>
       <emphasis remap='I'>reason,</emphasis>
-      <emphasis remap='B'>char</emphasis>
-      <emphasis remap='I'>*input)</emphasis><emphasis remap='B'>;</emphasis>
+      <emphasis>char</emphasis>
+      <emphasis remap='I'>*input)</emphasis><emphasis>;</emphasis>
     </para>
   </refsect1>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><emphasis remap='B'>pw_auth</emphasis>
-      invokes the administrator defined functions for a given user.
+    <para>
+      <emphasis>pw_auth</emphasis> invokes the administrator defined
+      functions for a given user.
     </para>
-    
-    <para><emphasis remap='I'>command</emphasis> is the name of the
+
+    <para>
+      <emphasis remap='I'>command</emphasis> is the name of the
       authentication program. It is retrieved from the user's password file
       information. The string contains one or more executable file names,
       delimited by semi-colons. Each program will be executed in the order
       given. The command line arguments are given for each of the reasons
       listed below.
     </para>
-    
-    <para><emphasis remap='I'>user</emphasis> is the name of the user to be
+
+    <para>
+      <emphasis remap='I'>user</emphasis> is the name of the user to be
       authenticated, as given in the <filename>/etc/passwd</filename> file. 
       User entries are indexed by username. This allows non-unique user IDs
       to be present and for each different username associated with that
       user ID to have a different authentication program and information.
     </para>
-    
-    <para>Each of the permissible authentication reasons is handled in a
+
+    <para>
+      Each of the permissible authentication reasons is handled in a
       potentially differenent manner. Unless otherwise mentioned, the
       standard file descriptors 0, 1, and 2 are available for communicating
       with the user. The real user ID may be used to determine the identity
     </para>
     <variablelist remap='IP'>
       <varlistentry>
-        <term>
-          <emphasis remap='B'>PW_SU</emphasis>
-        </term>
-        <listitem>
-          <para>Perform authentication for the current real user ID
-            attempting to switch real user ID to the named user. The
-            authentication program will be invoked with a
-            <option>-s</option> option, followed by the username.
-          </para>
-        </listitem>
+       <term>
+         <emphasis>PW_SU</emphasis>
+       </term>
+       <listitem>
+         <para>
+           Perform authentication for the current real user ID attempting
+           to switch real user ID to the named user. The authentication
+           program will be invoked with a <option>-s</option> option,
+           followed by the username.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <emphasis remap='B'>PW_LOGIN</emphasis>
-        </term>
-        <listitem>
-          <para>Perform authentication for the named user creating a new
-            login session. The authentication program will be invoked with a
-            <option>-l</option> option, followed by the username.
-          </para>
-        </listitem>
+       <term>
+         <emphasis>PW_LOGIN</emphasis>
+       </term>
+       <listitem>
+         <para>
+           Perform authentication for the named user creating a new login
+           session. The authentication program will be invoked with a
+           <option>-l</option> option, followed by the username.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <emphasis remap='B'>PW_ADD</emphasis>
-        </term>
-        <listitem>
-          <para>Create a new entry for the named user. This allows an
-            authentication program to initialize storage for a new user. The
-            authentication program will be invoked with a
-            <option>-a</option> option, followed by the username.
-          </para>
-        </listitem>
+       <term>
+         <emphasis>PW_ADD</emphasis>
+       </term>
+       <listitem>
+         <para>
+           Create a new entry for the named user. This allows an
+           authentication program to initialize storage for a new user. The
+           authentication program will be invoked with a
+           <option>-a</option> option, followed by the username.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <emphasis remap='B'>PW_CHANGE</emphasis>
-        </term>
-        <listitem>
-          <para>Alter an existing entry for the named user. This allows an
-            authentication program to alter the authentication information
-            for an existing user. The authentication program will be invoked
-            with a <option>-c</option> option, followed by the username.
-          </para>
-        </listitem>
+       <term>
+         <emphasis>PW_CHANGE</emphasis>
+       </term>
+       <listitem>
+         <para>
+           Alter an existing entry for the named user. This allows an
+           authentication program to alter the authentication information
+           for an existing user. The authentication program will be invoked
+           with a <option>-c</option> option, followed by the username.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <emphasis remap='B'>PW_DELETE</emphasis>
-        </term>
-        <listitem>
-          <para>Delete authentication information for the named user. This
-            allows an authentication program to reclaim storage for a user
-            which is no longer authenticated using the authentication
-            program. The authentication program will be invoked with a
-            <option>-d</option> option, followed by the username.
-          </para>
-        </listitem>
+       <term>
+         <emphasis>PW_DELETE</emphasis>
+       </term>
+       <listitem>
+         <para>
+           Delete authentication information for the named user. This
+           allows an authentication program to reclaim storage for a user
+           which is no longer authenticated using the authentication
+           program. The authentication program will be invoked with a
+           <option>-d</option> option, followed by the username.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <emphasis remap='B'>PW_TELNET</emphasis>
-        </term>
-        <listitem>
-          <para>Authenticate a user who is connecting to the system using
-            the <emphasis remap='B'>telnet</emphasis> command. The
-            authentication program will be invoked with a
-            <option>-t</option> option, followed by the username.
-          </para>
-        </listitem>
+       <term>
+         <emphasis>PW_TELNET</emphasis>
+       </term>
+       <listitem>
+         <para>
+           Authenticate a user who is connecting to the system using the
+           <command>telnet</command> command. The authentication program
+           will be invoked with a <option>-t</option> option, followed by
+           the username.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <emphasis remap='B'>PW_RLOGIN</emphasis>
-        </term>
-        <listitem>
-          <para>
-            Authenticate a user who is connecting to the system using the
-            <emphasis remap='B'>rlogin</emphasis> command. The
-            authentication program will be invoked with a
-            <option>-r</option> option, followed by the username.
-          </para>
-        </listitem>
+       <term>
+         <emphasis>PW_RLOGIN</emphasis>
+       </term>
+       <listitem>
+         <para>
+           Authenticate a user who is connecting to the system using the
+           <emphasis>rlogin</emphasis> command. The
+           authentication program will be invoked with a
+           <option>-r</option> option, followed by the username.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <emphasis remap='B'>PW_FTP</emphasis>
-        </term>
-        <listitem>
-          <para>
-            Authenticate a user who is connecting to the system using the
-            <emphasis remap='B'>ftp</emphasis> command. The authentication
-            program will be invoked with a <option>-f</option> option,
-            followed by the username. The standard file descriptors are not
-            available for communicating with the user. The standard input
-            file descriptor will be connected to the parent process, while
-            the other two output file descriptors will be connected to
-            <filename>/dev/null</filename>. The <emphasis
-            remap='B'>pw_auth</emphasis> function will pipe a single line of
-            data to the authentication program using file descriptor 0.
-          </para>
-        </listitem>
+       <term>
+         <emphasis>PW_FTP</emphasis>
+       </term>
+       <listitem>
+         <para>
+           Authenticate a user who is connecting to the system using the
+           <emphasis>ftp</emphasis> command. The authentication program
+           will be invoked with a <option>-f</option> option, followed by
+           the username. The standard file descriptors are not available
+           for communicating with the user. The standard input file
+           descriptor will be connected to the parent process, while the
+           other two output file descriptors will be connected to
+           <filename>/dev/null</filename>. The <emphasis>pw_auth</emphasis>
+           function will pipe a single line of data to the authentication
+           program using file descriptor 0.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <emphasis remap='B'>PW_REXEC</emphasis>
-        </term>
-        <listitem>
-          <para>
-            Authenticate a user who is connecting to the system using the
-            <emphasis remap='I'>rexec</emphasis> command. The authentication
-            program will be invoked with a <option>-x</option> option,
-            followed by the username. The standard file descriptors are not
-            available for communicating with the remote user. The standard
-            input file descriptor will be connected to the parent process,
-            while the other two output file descriptors will be connected to
-            <filename>/dev/null</filename>. The <emphasis
-            remap='B'>pw_auth</emphasis> function will pipe a single line of
-            data to the authentication program using file descriptor 0.
-          </para>
-        </listitem>
+       <term>
+         <emphasis>PW_REXEC</emphasis>
+       </term>
+       <listitem>
+         <para>
+           Authenticate a user who is connecting to the system using the
+           <emphasis remap='I'>rexec</emphasis> command. The authentication
+           program will be invoked with a <option>-x</option> option,
+           followed by the username. The standard file descriptors are not
+           available for communicating with the remote user. The standard
+           input file descriptor will be connected to the parent process,
+           while the other two output file descriptors will be connected to
+           <filename>/dev/null</filename>. The <emphasis>pw_auth</emphasis>
+           function will pipe a single line of data to the authentication
+           program using file descriptor 0.
+         </para>
+       </listitem>
       </varlistentry>
     </variablelist>
-    
-    <para>The last argument is the authentication data which is used by the
-      <emphasis remap='B'>PW_FTP</emphasis> and <emphasis
-      remap='B'>PW_REXEC</emphasis> reasons. It is treated as a single line
-      of text which is piped to the authentication program. When the reason
-      is <emphasis remap='B'>PW_CHANGE,</emphasis> the value of <emphasis
+
+    <para>
+      The last argument is the authentication data which is used by the
+      <emphasis>PW_FTP</emphasis> and <emphasis>PW_REXEC</emphasis> reasons.
+      It is treated as a single line of text which is piped to the
+      authentication program. When the reason is
+      <emphasis>PW_CHANGE,</emphasis> the value of <emphasis
       remap='I'>input</emphasis> is the value of previous user name if the
       user name is being changed.
     </para>
   </refsect1>
-  
+
   <refsect1 id='caveats'>
     <title>CAVEATS</title>
-    <para>This function does not create the actual session. It only
-      indicates if the user should be allowed to create the session.
+    <para>
+      This function does not create the actual session. It only indicates if
+      the user should be allowed to create the session.
     </para>
-    
+
     <para>The network options are untested at this time.</para>
   </refsect1>
-  
+
   <refsect1 id='diagnostics'>
     <title>DIAGNOSTICS</title>
     <para>
-      The <emphasis remap='B'>pw_auth</emphasis> function returns 0 if the
+      The <emphasis>pw_auth</emphasis> function returns 0 if the
       authentication program exited with a 0 exit code, and a non-zero value
       otherwise.
     </para>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
-      </citerefentry>
+       <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
index dcfe5032eabea1d0c6fcdb267626125f3733056f..f1d56c22f004a4cf6446a1209903c5fea5df4124 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PWCK" "8" "08/03/2005" "" ""
+.TH "PWCK" "8" "09/30/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -16,11 +16,11 @@ pwck \- verify integrity of password files
 \fBpwck\fR [\-r] [\fIpasswd\fR\ \fIshadow\fR]
 .SH "DESCRIPTION"
 .PP
-\fBpwck\fR 
-verifies the integrity of the system authentication information. All entries in the 
-\fI/etc/passwd\fR 
-and 
-\fI/etc/shadow\fR 
+\fBpwck\fR
+verifies the integrity of the system authentication information. All entries in the
+\fI/etc/passwd\fR
+and
+\fI/etc/shadow\fR
 are checked to see that the entry has the proper format and valid data in each field. The user is prompted to delete entries that are improperly formatted or which have other uncorrectable errors.
 .PP
 Checks are made to verify that each entry has:
@@ -43,45 +43,45 @@ a valid home directory
 \(bu
 a valid login shell
 .PP
-The checks for correct number of fields and unique user name are fatal. If the entry has the wrong number of fields, the user will be prompted to delete the entire line. If the user does not answer affirmatively, all further checks are bypassed. An entry with a duplicated user name is prompted for deletion, but the remaining checks will still be made. All other errors are warning and the user is encouraged to run the 
-\fBusermod\fR 
+The checks for correct number of fields and unique user name are fatal. If the entry has the wrong number of fields, the user will be prompted to delete the entire line. If the user does not answer affirmatively, all further checks are bypassed. An entry with a duplicated user name is prompted for deletion, but the remaining checks will still be made. All other errors are warning and the user is encouraged to run the
+\fBusermod\fR
 command to correct the error.
 .PP
-The commands which operate on the 
-\fI/etc/passwd\fR 
-file are not able to alter corrupted or duplicated entries. 
-\fBpwck\fR 
+The commands which operate on the
+\fI/etc/passwd\fR
+file are not able to alter corrupted or duplicated entries.
+\fBpwck\fR
 should be used in those circumstances to remove the offending entry.
 .SH "OPTIONS"
 .PP
-The options which apply to the 
-\fBpwck\fR 
+The options which apply to the
+\fBpwck\fR
 command are:
 .TP
 \fB\-q\fR
 Report errors only. Using this option will not require an action from the user.
 .TP
 \fB\-r\fR
-Execute the 
-\fBpwck\fR 
+Execute the
+\fBpwck\fR
 command in read\-only mode.
 .TP
 \fB\-s\fR
-Sort entries in 
-\fI/etc/passwd\fR 
-and 
-\fI/etc/shadow\fR 
+Sort entries in
+\fI/etc/passwd\fR
+and
+\fI/etc/shadow\fR
 by UID.
 .PP
-By default, 
-\fBpwck\fR 
-operates on the files 
-\fI/etc/passwd\fR 
-and 
-\fI/etc/shadow\fR. The user may select alternate files with the 
-\fIpasswd\fR 
-and 
-\fIshadow\fR 
+By default,
+\fBpwck\fR
+operates on the files
+\fI/etc/passwd\fR
+and
+\fI/etc/shadow\fR. The user may select alternate files with the
+\fIpasswd\fR
+and
+\fIshadow\fR
 parameters.
 .SH "FILES"
 .TP
@@ -95,15 +95,15 @@ user account information
 secure user account information
 .SH "SEE ALSO"
 .PP
-\fBgroup\fR(5), 
-\fBpasswd\fR(5), 
-\fBshadow\fR(5), 
-\fBusermod\fR(8)
+\fBgroup\fR(5),
+\fBpasswd\fR(5),
+\fBshadow\fR(5),
+\fBusermod\fR(8).
 .SH "EXIT VALUES"
 .PP
-The 
-\fBpwck\fR 
-command exits with the following values: 
+The
+\fBpwck\fR
+command exits with the following values:
 .TP
 \fI0\fR
 success
index 53a1f9e4a63c20588e4e20b9cfd98d712e1f8873..dcc7193ee98a9761210d52603363cf6cdf1d6cdd 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='pwck.8'>
-  <!-- $Id: pwck.8.xml,v 1.9 2005/07/12 16:28:14 kloczek Exp $ -->
+  <!-- $Id: pwck.8.xml,v 1.13 2005/09/30 15:41:20 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>pwck</refentrytitle>
     <manvolnum>8</manvolnum>
       <arg choice='opt'>-q </arg>
       <arg choice='opt'>-s </arg>
       <arg choice='opt'>
-        <arg choice='plain'>
-          <replaceable>passwd</replaceable>
-        </arg>
-        <arg choice='plain'>
-          <replaceable>shadow</replaceable>
-        </arg>
+       <arg choice='plain'>
+         <replaceable>passwd</replaceable>
+       </arg>
+       <arg choice='plain'>
+         <replaceable>shadow</replaceable>
+       </arg>
       </arg>
     </cmdsynopsis>
     <cmdsynopsis>
       <command>pwck</command>
       <arg choice='opt'>-r </arg>
       <arg choice='opt'>
-        <arg choice='plain'>
-          <replaceable>passwd</replaceable>
-        </arg>
-        <arg choice='plain'>
-          <replaceable>shadow</replaceable>
-        </arg>
+       <arg choice='plain'>
+         <replaceable>passwd</replaceable>
+       </arg>
+       <arg choice='plain'>
+         <replaceable>shadow</replaceable>
+       </arg>
       </arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><command>pwck</command> verifies the integrity of the system
+    <para>
+      <command>pwck</command> verifies the integrity of the system
       authentication information. All entries in the
       <filename>/etc/passwd</filename> and <filename>/etc/shadow</filename>
       are checked to see that the entry has the proper format and valid data
       in each field. The user is prompted to delete entries that are
       improperly formatted or which have other uncorrectable errors.
     </para>
-    
+
     <para>Checks are made to verify that each entry has:</para>
     <itemizedlist mark='bullet'>
       <listitem>
-        <para>the correct number of fields</para>
+       <para>the correct number of fields</para>
       </listitem>
       <listitem>
-        <para>a unique user name</para>
+       <para>a unique user name</para>
       </listitem>
       <listitem>
-        <para>a valid user and group identifier</para>
+       <para>a valid user and group identifier</para>
       </listitem>
       <listitem>
-        <para>a valid primary group</para>
+       <para>a valid primary group</para>
       </listitem>
       <listitem>
-        <para> a valid home directory</para>
+       <para> a valid home directory</para>
       </listitem>
       <listitem>
-        <para>a valid login shell</para>
+       <para>a valid login shell</para>
       </listitem>
     </itemizedlist>
-    
-    <para>The checks for correct number of fields and unique user name are
+
+    <para>
+      The checks for correct number of fields and unique user name are
       fatal. If the entry has the wrong number of fields, the user will be
       prompted to delete the entire line. If the user does not answer
       affirmatively, all further checks are bypassed. An entry with a
       is encouraged to run the <command>usermod</command> command to correct
       the error.
     </para>
-    
-    <para> The commands which operate on the
-      <filename>/etc/passwd</filename> file are not able to alter corrupted
-      or duplicated entries. <command>pwck</command> should be used in
-      those circumstances to remove the offending entry.
+
+    <para>
+      The commands which operate on the <filename>/etc/passwd</filename>
+      file are not able to alter corrupted or duplicated entries.
+      <command>pwck</command> should be used in those circumstances to
+      remove the offending entry.
     </para>
   </refsect1>
-  
+
   <refsect1 id='options'>
     <title>OPTIONS</title>
     <para>
     </para>
     <variablelist remap='IP'>
       <varlistentry>
-        <term>
-          <option>-q</option>
-        </term>
-        <listitem>
-          <para>
+       <term>
+         <option>-q</option>
+       </term>
+       <listitem>
+         <para>
            Report errors only. Using this option will not require an action
            from the user.
-          </para>
-        </listitem>
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-r</option>
-        </term>
-        <listitem>
-          <para>
+       <term>
+         <option>-r</option>
+       </term>
+       <listitem>
+         <para>
            Execute the <command>pwck</command> command in read-only mode.
-          </para>
-        </listitem>
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-s</option>
-        </term>
-        <listitem>
-          <para>
+       <term>
+         <option>-s</option>
+       </term>
+       <listitem>
+         <para>
            Sort entries in <filename>/etc/passwd</filename> and
            <filename>/etc/shadow</filename> by UID.
-          </para>
-        </listitem>
+         </para>
+       </listitem>
       </varlistentry>
     </variablelist>
 
     <para>
       By default, <command>pwck</command> operates on the files
-      <filename>/etc/passwd</filename> and <filename>/etc/shadow</filename>. 
+      <filename>/etc/passwd</filename> and <filename>/etc/shadow</filename>.
       The user may select alternate files with the <emphasis
       remap='I'>passwd</emphasis> and <emphasis remap='I'>shadow</emphasis>
       parameters.
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/group</filename></term>
-        <listitem>group account information</listitem>
+       <term><filename>/etc/group</filename></term>
+       <listitem>
+         <para>group account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/passwd</filename></term>
-        <listitem>user account information</listitem>
+       <term><filename>/etc/passwd</filename></term>
+       <listitem>
+         <para>user account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/shadow</filename></term>
-        <listitem>secure user account information</listitem>
+       <term><filename>/etc/shadow</filename></term>
+       <listitem>
+         <para>secure user account information</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
     <para><citerefentry>
-        <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
+       <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+       <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
+       <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
-      </citerefentry>
+       <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
 
     <para>
       The <command>pwck</command> command exits with the following values:
       <variablelist>
-        <varlistentry>
-          <term><replaceable>0</replaceable></term>
-          <listitem>success</listitem>
-        </varlistentry>
-        <varlistentry>
-          <term><replaceable>1</replaceable></term>
-          <listitem>invalid command syntax</listitem>
-        </varlistentry>
-        <varlistentry>
-          <term><replaceable>2</replaceable></term>
-          <listitem>one or more bad password entries</listitem>
-        </varlistentry>
-        <varlistentry>
-          <term><replaceable>3</replaceable></term>
-          <listitem>can't open password files</listitem>
-        </varlistentry>
-        <varlistentry>
-          <term><replaceable>4</replaceable></term>
-          <listitem>can't lock password files</listitem>
-        </varlistentry>
-        <varlistentry>
-          <term><replaceable>5</replaceable></term>
-          <listitem>can't update password files</listitem>
-        </varlistentry>
+       <varlistentry>
+         <term><replaceable>0</replaceable></term>
+         <listitem>
+           <para>success</para>
+         </listitem>
+       </varlistentry>
+       <varlistentry>
+         <term><replaceable>1</replaceable></term>
+         <listitem>
+           <para>invalid command syntax</para>
+         </listitem>
+       </varlistentry>
+       <varlistentry>
+         <term><replaceable>2</replaceable></term>
+         <listitem>
+           <para>one or more bad password entries</para>
+         </listitem>
+       </varlistentry>
+       <varlistentry>
+         <term><replaceable>3</replaceable></term>
+         <listitem>
+           <para>can't open password files</para>
+         </listitem>
+       </varlistentry>
+       <varlistentry>
+         <term><replaceable>4</replaceable></term>
+         <listitem>
+           <para>can't lock password files</para>
+         </listitem>
+       </varlistentry>
+       <varlistentry>
+         <term><replaceable>5</replaceable></term>
+         <listitem>
+           <para>can't update password files</para>
+         </listitem>
+       </varlistentry>
       </variablelist>
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
index 3835b1bc9338b70d2f18da0a7ffd0d945c4d04b4..01ef4cdc73940bb74dd142260ba18304d4ed785a 100644 (file)
@@ -1,5 +1,5 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
 .TH "PWCONV" "8" "26 Sep 1997" "26 Sep 1997" "26 Sep 1997"
@@ -20,79 +20,83 @@ pwconv, pwunconv, grpconv, grpunconv \- convert to and from shadow passwords and
 \fBgrpunconv\fR
 .SH "DESCRIPTION"
 .PP
-\fBpwconv\fR 
-creates 
-\fIshadow\fR 
-from 
-\fIpasswd\fR 
-and an optionally existing 
+\fBpwconv\fR
+creates
+\fIshadow\fR
+from
+\fIpasswd\fR
+and an optionally existing
 \fIshadow\fR.
 .PP
-\fBpwunconv\fR 
-creates 
-\fIpasswd\fR 
-from 
-\fIpasswd\fR 
-and 
-\fIshadow\fR 
-and then removes 
+\fBpwunconv\fR
+creates
+\fIpasswd\fR
+from
+\fIpasswd\fR
+and
+\fIshadow\fR
+and then removes
 \fIshadow\fR.
 .PP
-\fBgrpconv\fR 
-creates 
-\fIgshadow\fR 
-from 
-\fIgroup\fR 
-and an optionally existing 
+\fBgrpconv\fR
+creates
+\fIgshadow\fR
+from
+\fIgroup\fR
+and an optionally existing
 \fIgshadow\fR.
 .PP
-\fBgrpunconv\fR 
-creates 
-\fIgroup\fR 
-from 
-\fIgroup\fR 
-and 
-\fIgshadow\fR 
-and then removes 
+\fBgrpunconv\fR
+creates
+\fIgroup\fR
+from
+\fIgroup\fR
+and
+\fIgshadow\fR
+and then removes
 \fIgshadow\fR.
 .PP
-These four programs all operate on the normal and shadow password and group files: 
-\fI/etc/passwd\fR, 
-\fI/etc/group\fR, 
-\fI/etc/shadow\fR, and 
+These four programs all operate on the normal and shadow password and group files:
+\fI/etc/passwd\fR,
+\fI/etc/group\fR,
+\fI/etc/shadow\fR, and
 \fI/etc/gshadow\fR.
 .PP
-Each program acquires the necessary locks before conversion. 
-\fBpwconv\fR 
-and 
-\fBgrpconv\fR 
+Each program acquires the necessary locks before conversion.
+\fBpwconv\fR
+and
+\fBgrpconv\fR
 are similar. First, entries in the shadowed file which don't exist in the main file are removed. Then, shadowed entries which don't have `x' as the password in the main file are updated. Any missing shadowed entries are added. Finally, passwords in the main file are replaced with `x'. These programs can be used for initial conversion as well to update the shadowed file if the main file is edited by hand.
 .PP
-\fBpwconv\fR 
-will use the values of 
-\fIPASS_MIN_DAYS\fR, 
-\fIPASS_MAX_DAYS\fR, and 
-\fIPASS_WARN_AGE\fR 
-from 
-\fI/etc/login.defs\fR 
-when adding new entries to 
+\fBpwconv\fR
+will use the values of
+\fIPASS_MIN_DAYS\fR,
+\fIPASS_MAX_DAYS\fR, and
+\fIPASS_WARN_AGE\fR
+from
+\fI/etc/login.defs\fR
+when adding new entries to
 \fI/etc/shadow\fR.
 .PP
-Likewise 
-\fBpwunconv\fR 
-and 
-\fBgrpunconv\fR 
-are similar. Passwords in the main file are updated from the shadowed file. Entries which exist in the main file but not in the shadowed file are left alone. Finally, the shadowed file is removed. Some password aging information is lost by 
+Likewise
+\fBpwunconv\fR
+and
+\fBgrpunconv\fR
+are similar. Passwords in the main file are updated from the shadowed file. Entries which exist in the main file but not in the shadowed file are left alone. Finally, the shadowed file is removed. Some password aging information is lost by
 \fBpwunconv\fR. It will convert what it can.
 .SH "BUGS"
 .PP
-Errors in the password or group files (such as invalid or duplicate entries) may cause these programs to loop forever or fail in other strange ways. Please run 
-\fBpwck\fR 
-and 
-\fBgrpck\fR 
+Errors in the password or group files (such as invalid or duplicate entries) may cause these programs to loop forever or fail in other strange ways. Please run
+\fBpwck\fR
+and
+\fBgrpck\fR
 to correct any such errors before converting to or from shadow passwords or groups.
+.SH "FILES"
+.TP
+\fI/etc/login.defs\fR
+shadow password suite configuration
 .SH "SEE ALSO"
 .PP
-\fBlogin.defs\fR(5), 
-\fBgrpck\fR(8), 
-\fBpwck\fR(8)
+\fBgrpck\fR(8),
+\fBlogin.defs\fR(5),
+\fBpwck\fR(8).
index a14e3e9b75b01c410fadbc1e3f193313d534a639..21f5b6a243e90621de74c345fb52abdd35f6b3d5 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='pwconv.8'>
-  <!-- $Id: pwconv.8.xml,v 1.7 2005/06/15 12:39:27 kloczek Exp $ -->
+  <!-- $Id: pwconv.8.xml,v 1.11 2005/09/30 15:41:20 kloczek Exp $ -->
   <refentryinfo>
     <date>26 Sep 1997</date>
   </refentryinfo>
 
   <refsynopsisdiv id='synopsis'>
     <cmdsynopsis>
-      <command>pwconv</command>    
+      <command>pwconv</command>
     </cmdsynopsis>
     <cmdsynopsis>
-      <command>pwunconv</command>    
+      <command>pwunconv</command>
     </cmdsynopsis>
     <cmdsynopsis>
-      <command>grpconv</command>    
+      <command>grpconv</command>
     </cmdsynopsis>
     <cmdsynopsis>
-      <command>grpunconv</command>    
+      <command>grpunconv</command>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><command>pwconv</command> creates <emphasis
+    <para>
+      <command>pwconv</command> creates <emphasis
       remap='I'>shadow</emphasis> from <emphasis remap='I'>passwd</emphasis>
       and an optionally existing <emphasis remap='I'>shadow</emphasis>.
     </para>
-    
-    <para><command>pwunconv</command> creates <emphasis
+
+    <para>
+      <command>pwunconv</command> creates <emphasis
       remap='I'>passwd</emphasis> from <emphasis remap='I'>passwd</emphasis>
       and <emphasis remap='I'>shadow</emphasis> and then removes <emphasis
       remap='I'>shadow</emphasis>.
     </para>
-    
-    <para><command>grpconv</command> creates <emphasis
+
+    <para>
+      <command>grpconv</command> creates <emphasis
       remap='I'>gshadow</emphasis> from <emphasis remap='I'>group</emphasis>
       and an optionally existing <emphasis remap='I'>gshadow</emphasis>.
     </para>
-    
-    <para><command>grpunconv</command> creates <emphasis
+
+    <para>
+      <command>grpunconv</command> creates <emphasis
       remap='I'>group</emphasis> from <emphasis remap='I'>group</emphasis>
       and <emphasis remap='I'>gshadow</emphasis> and then removes <emphasis
       remap='I'>gshadow</emphasis>.
     </para>
-    
-    <para>These four programs all operate on the normal and shadow password
-      and group files: <filename>/etc/passwd</filename>,
+
+    <para>
+      These four programs all operate on the normal and shadow password and
+      group files: <filename>/etc/passwd</filename>,
       <filename>/etc/group</filename>, <filename>/etc/shadow</filename>, and
       <filename>/etc/gshadow</filename>.
     </para>
-    
-    <para> Each program acquires the necessary locks before conversion.
-      <command>pwconv</command> and <command>grpconv</command> are similar.
+
+    <para>
+      Each program acquires the necessary locks before conversion. 
+      <command>pwconv</command> and <command>grpconv</command> are similar. 
       First, entries in the shadowed file which don't exist in the main file
       are removed. Then, shadowed entries which don't have `x' as the
       password in the main file are updated. Any missing shadowed entries
-      are added. Finally, passwords in the main file are replaced with `x'.
+      are added. Finally, passwords in the main file are replaced with `x'. 
       These programs can be used for initial conversion as well to update
       the shadowed file if the main file is edited by hand.
     </para>
-    
-    <para><command>pwconv</command> will use the values of <emphasis
+
+    <para>
+      <command>pwconv</command> will use the values of <emphasis
       remap='I'>PASS_MIN_DAYS</emphasis>, <emphasis
       remap='I'>PASS_MAX_DAYS</emphasis>, and <emphasis
       remap='I'>PASS_WARN_AGE</emphasis> from
       <filename>/etc/login.defs</filename> when adding new entries to
       <filename>/etc/shadow</filename>.
     </para>
-    
-    <para>Likewise <command>pwunconv</command> and
-      <command>grpunconv</command> are similar. Passwords in the main file
-      are updated from the shadowed file. Entries which exist in the main
-      file but not in the shadowed file are left alone. Finally, the
-      shadowed file is removed. Some password aging information is lost by
-      <command>pwunconv</command>. It will convert what it can.
+
+    <para>
+      Likewise <command>pwunconv</command> and <command>grpunconv</command>
+      are similar. Passwords in the main file are updated from the shadowed
+      file. Entries which exist in the main file but not in the shadowed
+      file are left alone. Finally, the shadowed file is removed. Some
+      password aging information is lost by <command>pwunconv</command>. It
+      will convert what it can.
     </para>
   </refsect1>
-  
+
   <refsect1 id='bugs'>
     <title>BUGS</title>
-    <para>Errors in the password or group files (such as invalid or
-      duplicate entries) may cause these programs to loop forever or fail in
-      other strange ways. Please run <command>pwck</command> and
+    <para>
+      Errors in the password or group files (such as invalid or duplicate
+      entries) may cause these programs to loop forever or fail in other
+      strange ways. Please run <command>pwck</command> and
       <command>grpck</command> to correct any such errors before converting
       to or from shadow passwords or groups.
     </para>
   </refsect1>
-  
+
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+       <term><filename>/etc/login.defs</filename></term>
+       <listitem>
+         <para>shadow password suite configuration</para>
+       </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>grpck</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>grpck</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>pwck</refentrytitle><manvolnum>8</manvolnum>
-      </citerefentry></para>
+       <refentrytitle>pwck</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>.
+    </para>
   </refsect1>
 </refentry>
index c991c7e76303fb1b6eb98c5d388a99be5805bb6d..608ba23ec6fc2f6baf9e676fdad2706e2f95547a 100644 (file)
@@ -38,7 +38,8 @@ host_triplet = @host@
 subdir = man/ru
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -77,6 +78,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -88,6 +91,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -127,6 +131,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -187,9 +194,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/ru/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/ru/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  man/ru/Makefile
+         $(AUTOMAKE) --foreign  man/ru/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index d07c5e4844bf022a159cd107e2243560794f81f6..8d3209dc56f05ae366bb4a973a1f9a93af23f898 100644 (file)
--- a/man/sg.1
+++ b/man/sg.1
@@ -1 +1,61 @@
-.so man1/newgrp.1
+.\" ** You probably do not want to edit this file directly **
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
+.\" Instead of manually editing it, you probably should edit the DocBook XML
+.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
+.TH "SG" "1" "10/01/2005" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.SH "NAME"
+sg \- execute command as different group ID
+.SH "SYNOPSIS"
+.HP 3
+\fBsg\fR [\-] [group\ [\-c\ ]\ command]
+.SH "DESCRIPTION"
+.PP
+The
+\fBsg\fR
+command works similar to
+\fBnewgrp\fR
+but accepts a command. The command will be executed with the
+\fI/bin/sh\fR
+shell. With most shells you may run
+\fBsg\fR
+from, you need to enclose multi\-word commands in quotes. Another difference between
+\fBnewgrp\fR
+and
+\fBsg\fR
+is that some shells treat
+\fBnewgrp\fR
+specially, replacing themselves with a new instance of a shell that
+\fBnewgrp\fR
+creates. This doesn't happen with
+\fBsg\fR, so upon exit from a
+\fBsg\fR
+command you are returned to your previous group ID.
+.SH "FILES"
+.TP
+\fI/etc/passwd\fR
+user account information
+.TP
+\fI/etc/shadow\fR
+secure user account information
+.TP
+\fI/etc/group\fR
+group account information
+.TP
+\fI/etc/gshadow\fR
+shadow group file
+.SH "SEE ALSO"
+.PP
+\fBid\fR(1),
+\fBlogin\fR(1),
+\fBnewgrp\fR(1),
+\fBsu\fR(1),
+\fBgpasswd\fR(1),
+\fBgroup\fR(5),
+\fBgshadow\fR(5)
+.SH "AUTHOR"
+.PP
+Julianne Frances Haugh <jockgrrl@ix.netcom.com>
diff --git a/man/sg.1.xml b/man/sg.1.xml
new file mode 100644 (file)
index 0000000..e65e5d0
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+                   "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<refentry id='sg.1'>
+  <!-- $Id: sg.1.xml,v 1.5 2005/10/01 14:48:05 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>SG</refentrytitle>
+    <manvolnum>1</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>sg</refname>
+    <refpurpose>execute command as different group ID</refpurpose>
+  </refnamediv>
+  <!-- body begins here -->
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>sg</command>
+      <arg choice='opt'>- </arg>
+      <arg choice='opt'>group
+        <arg choice='opt'>-c </arg>
+       command
+      </arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+
+  <refsect1 id='description'>
+  <title>DESCRIPTION</title>
+    <para>
+      The <command>sg</command> command works similar to
+      <command>newgrp</command> but accepts a command. The command will be
+      executed with the <filename>/bin/sh</filename> shell. With most shells
+      you may run <command>sg</command> from, you need to enclose multi-word
+      commands in quotes. Another difference between
+      <command>newgrp</command> and <command>sg</command> is that some
+      shells treat <command>newgrp</command> specially, replacing themselves
+      with a new instance of a shell that <command>newgrp</command> creates.
+      This doesn't happen with <command>sg</command>, so upon exit from a
+      <command>sg</command> command you are returned to your previous group
+      ID.
+    </para>
+  </refsect1>
+
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+       <term><filename>/etc/passwd</filename></term>
+       <listitem>
+         <para>user account information</para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term><filename>/etc/shadow</filename></term>
+       <listitem>
+         <para>secure user account information</para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term><filename>/etc/group</filename></term>
+       <listitem>
+         <para>group account information</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term><filename>/etc/gshadow</filename></term>
+       <listitem>
+         <para>shadow group file</para>
+       </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+       <refentrytitle>id</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>newgrp</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>gpasswd</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>gshadow</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para>
+  </refsect1>
+</refentry>
index 17b7fbc66322f0ec3deff84cb47657ef37dd3771..59c74d03f0b54bfa14925e237de324951439a9c4 100644 (file)
@@ -1,43 +1,43 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "SHADOW" "3" "08/03/2005" "" ""
+.TH "SHADOW" "3" "10/01/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
 .ad l
 .SH "NAME"
-shadow \- encrypted password file routines
+shadow, getspnam \- encrypted password file routines
 .SH "SYNTAX"
 .PP
 \fI#include <shadow.h>\fR
 .PP
 \fIstruct spwd *getspent();\fR
 .PP
-\fIstruct spwd *getspnam(char\fR \fI*name\fR\fI);\fR
+\fIstruct spwd *getspnam(char\fR\fI*name\fR\fI);\fR
 .PP
 \fIvoid setspent();\fR
 .PP
 \fIvoid endspent();\fR
 .PP
-\fIstruct spwd *fgetspent(FILE\fR \fI*fp\fR\fI);\fR
+\fIstruct spwd *fgetspent(FILE\fR\fI*fp\fR\fI);\fR
 .PP
-\fIstruct spwd *sgetspent(char\fR \fI*cp\fR\fI);\fR
+\fIstruct spwd *sgetspent(char\fR\fI*cp\fR\fI);\fR
 .PP
-\fIint putspent(struct spwd\fR \fI*p,\fR \fIFILE\fR \fI*fp\fR\fI);\fR
+\fIint putspent(struct spwd\fR\fI*p,\fR\fIFILE\fR\fI*fp\fR\fI);\fR
 .PP
 \fIint lckpwdf();\fR
 .PP
 \fIint ulckpwdf();\fR
 .SH "DESCRIPTION"
 .PP
-\fIshadow\fR 
-manipulates the contents of the shadow password file, 
-\fI/etc/shadow\fR. The structure in the 
-\fI#include\fR 
+\fIshadow\fR
+manipulates the contents of the shadow password file,
+\fI/etc/shadow\fR. The structure in the
+\fI#include\fR
 file is:
-
+.sp
 .nf
 struct spwd {
       char             *sp_namp; /* user login name */
@@ -83,47 +83,48 @@ sp_expire \- days since Jan 1, 1970 when account will be disabled
 sp_flag \- reserved for future use
 .SH "DESCRIPTION"
 .PP
-\fIgetspent\fR, 
-\fIgetspname\fR \fIfgetspent\fR, and 
-\fIsgetspent\fR 
-each return a pointer to a 
-\fIstruct spwd\fR. 
-\fIgetspent\fR 
-returns the next entry from the file, and 
-\fIfgetspent\fR 
-returns the next entry from the given stream, which is assumed to be a file of the proper format. 
-\fIsgetspent\fR 
-returns a pointer to a 
-\fIstruct spwd\fR 
-using the provided string as input. 
-\fIgetspnam\fR 
-searches from the current position in the file for an entry matching 
+\fIgetspent\fR,
+\fIgetspname\fR,
+\fIfgetspent\fR, and
+\fIsgetspent\fR
+each return a pointer to a
+\fIstruct spwd\fR.
+\fIgetspent\fR
+returns the next entry from the file, and
+\fIfgetspent\fR
+returns the next entry from the given stream, which is assumed to be a file of the proper format.
+\fIsgetspent\fR
+returns a pointer to a
+\fIstruct spwd\fR
+using the provided string as input.
+\fIgetspnam\fR
+searches from the current position in the file for an entry matching
 \fIname\fR.
 .PP
-\fIsetspent\fR 
-and 
-\fIendspent\fR 
+\fIsetspent\fR
+and
+\fIendspent\fR
 may be used to begin and end, respectively, access to the shadow password file.
 .PP
-The 
-\fIlckpwdf\fR 
-and 
-\fIulckpwdf\fR 
-routines should be used to insure exclusive access to the 
-\fI/etc/shadow\fR 
-file. 
-\fIlckpwdf\fR 
-attempts to acquire a lock using 
-\fIpw_lock\fR 
-for up to 15 seconds. It continues by attempting to acquire a second lock using 
-\fIspw_lock\fR 
-for the remainder of the initial 15 seconds. Should either attempt fail after a total of 15 seconds, 
-\fIlckpwdf\fR 
+The
+\fIlckpwdf\fR
+and
+\fIulckpwdf\fR
+routines should be used to insure exclusive access to the
+\fI/etc/shadow\fR
+file.
+\fIlckpwdf\fR
+attempts to acquire a lock using
+\fIpw_lock\fR
+for up to 15 seconds. It continues by attempting to acquire a second lock using
+\fIspw_lock\fR
+for the remainder of the initial 15 seconds. Should either attempt fail after a total of 15 seconds,
+\fIlckpwdf\fR
 returns \-1. When both locks are acquired 0 is returned.
 .SH "DIAGNOSTICS"
 .PP
-Routines return NULL if no more entries are available or if an error occurs during processing. Routines which have 
-\fIint\fR 
+Routines return NULL if no more entries are available or if an error occurs during processing. Routines which have
+\fIint\fR
 as the return value return 0 for success and \-1 for failure.
 .SH "CAVEATS"
 .PP
@@ -134,8 +135,8 @@ These routines may only be used by the super user as access to the shadow passwo
 secure user account information
 .SH "SEE ALSO"
 .PP
-\fBgetpwent\fR(3), 
-\fBshadow\fR(5)
+\fBgetpwent\fR(3),
+\fBshadow\fR(5).
 .SH "AUTHOR"
 .PP
 Julianne Frances Haugh (jockgrrl@ix.netcom.com)
index a10f9169107278db4b4b84a576d6da8ebfd197fd..c77b97df79fefa9651e1628b4f4dfaf53938db64 100644 (file)
@@ -2,60 +2,71 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='shadow.3'>
-  <!--  $Id: shadow.3.xml,v 1.10 2005/08/03 16:29:14 kloczek Exp $ -->
+  <!--  $Id: shadow.3.xml,v 1.17 2005/10/01 15:01:45 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>shadow</refentrytitle>
     <manvolnum>3</manvolnum>
   </refmeta>
   <refnamediv id='name'>
     <refname>shadow</refname>
+    <refname>getspnam</refname>
     <refpurpose>encrypted password file routines</refpurpose>
   </refnamediv>
-  
+
   <refsect1 id='syntax'>
     <title>SYNTAX</title>
-    <para><emphasis remap='B'>#include &lt;shadow.h&gt;</emphasis>
-    </para>
-    
-    <para><emphasis remap='B'>struct spwd *getspent();</emphasis>
-    </para>
-    
-    <para><emphasis remap='B'>struct spwd *getspnam(char</emphasis>
-      <emphasis remap='I'>*name</emphasis><emphasis remap='B'>);</emphasis>
-    </para>
-    
-    <para><emphasis remap='B'>void setspent();</emphasis>
-    </para>
-    
-    <para><emphasis remap='B'>void endspent();</emphasis>
-    </para>
-    
-    <para><emphasis remap='B'>struct spwd *fgetspent(FILE</emphasis>
-      <emphasis remap='I'>*fp</emphasis><emphasis remap='B'>);</emphasis>
-    </para>
-    
-    <para><emphasis remap='B'>struct spwd *sgetspent(char</emphasis>
-      <emphasis remap='I'>*cp</emphasis><emphasis remap='B'>);</emphasis>
-    </para>
-    
-    <para><emphasis remap='B'>int putspent(struct spwd</emphasis>
-      <emphasis remap='I'>*p,</emphasis>
-      <emphasis remap='B'>FILE</emphasis>
-      <emphasis remap='I'>*fp</emphasis><emphasis remap='B'>);</emphasis>
-    </para>
-    
-    <para><emphasis remap='B'>int lckpwdf();</emphasis>
-    </para>
-    
-    <para><emphasis remap='B'>int ulckpwdf();</emphasis>
+    <para>
+      <emphasis>#include &lt;shadow.h&gt;</emphasis>
+    </para>
+
+    <para>
+      <emphasis>struct spwd *getspent();</emphasis>
+    </para>
+
+    <para>
+      <emphasis>struct spwd *getspnam(char</emphasis> <emphasis
+      remap='I'>*name</emphasis><emphasis>);</emphasis>
+    </para>
+
+    <para>
+      <emphasis>void setspent();</emphasis>
+    </para>
+
+    <para>
+      <emphasis>void endspent();</emphasis>
+    </para>
+
+    <para>
+      <emphasis>struct spwd *fgetspent(FILE</emphasis> <emphasis
+      remap='I'>*fp</emphasis><emphasis>);</emphasis>
+    </para>
+
+    <para>
+      <emphasis>struct spwd *sgetspent(char</emphasis> <emphasis
+      remap='I'>*cp</emphasis><emphasis>);</emphasis>
+    </para>
+
+    <para>
+      <emphasis>int putspent(struct spwd</emphasis> <emphasis
+      remap='I'>*p,</emphasis> <emphasis>FILE</emphasis> <emphasis
+      remap='I'>*fp</emphasis><emphasis>);</emphasis>
+    </para>
+
+    <para>
+      <emphasis>int lckpwdf();</emphasis>
+    </para>
+
+    <para>
+      <emphasis>int ulckpwdf();</emphasis>
     </para>
   </refsect1>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><emphasis remap='I'>shadow</emphasis> manipulates the contents of
-      the shadow password file, <filename>/etc/shadow</filename>.
-      The structure in the <emphasis remap='I'>#include</emphasis> file is:
+    <para>
+      <emphasis remap='I'>shadow</emphasis> manipulates the contents of the
+      shadow password file, <filename>/etc/shadow</filename>. The structure
+      in the <emphasis remap='I'>#include</emphasis> file is:
     </para>
     <programlisting>struct spwd {
       char             *sp_namp; /* user login name */
     <para>The meanings of each field are:</para>
     <itemizedlist mark='bullet'>
       <listitem>
-        <para>sp_namp - pointer to null-terminated user name</para>
+       <para>sp_namp - pointer to null-terminated user name</para>
       </listitem>
       <listitem>
-        <para>sp_pwdp - pointer to null-terminated password</para>
+       <para>sp_pwdp - pointer to null-terminated password</para>
       </listitem>
       <listitem>
-        <para>sp_lstchg - days since Jan 1, 1970 password was last changed</para>
+       <para>sp_lstchg - days since Jan 1, 1970 password was last changed</para>
       </listitem>
       <listitem>
-        <para>sp_min - days before which password may not be changed</para>
+       <para>sp_min - days before which password may not be changed</para>
       </listitem>
       <listitem>
-        <para>sp_max - days after which password must be changed</para>
+       <para>sp_max - days after which password must be changed</para>
       </listitem>
       <listitem>
-         <para>sp_warn - days before password is to expire that user is warned of
+        <para>sp_warn - days before password is to expire that user is warned of
           pending password expiration
         </para>
       </listitem>
       <listitem>
-        <para>sp_inact - days after password expires that account is considered
-          inactive and disabled
+       <para>sp_inact - days after password expires that account is considered
+         inactive and disabled
        </para>
       </listitem>
       <listitem>
-        <para>sp_expire - days since Jan 1, 1970 when account will be disabled</para>
+       <para>sp_expire - days since Jan 1, 1970 when account will be disabled</para>
       </listitem>
       <listitem>
-        <para>sp_flag - reserved for future use</para>
+       <para>sp_flag - reserved for future use</para>
       </listitem>
     </itemizedlist>
-        
+
   </refsect1>
-  
+
   <refsect1 id='description2'>
     <title>DESCRIPTION</title>
-    <para><emphasis remap='B'>getspent</emphasis>, <emphasis
-      remap='B'>getspname</emphasis> <emphasis
-      remap='B'>fgetspent</emphasis>, and <emphasis
-      remap='B'>sgetspent</emphasis> each return a pointer to a <emphasis
-      remap='B'>struct spwd</emphasis>. <emphasis
-      remap='B'>getspent</emphasis> returns the next entry from the file,
-      and <emphasis remap='B'>fgetspent</emphasis> returns the next entry
-      from the given stream, which is assumed to be a file of the proper
-      format. <emphasis remap='B'>sgetspent</emphasis> returns a pointer to
-      a <emphasis remap='B'>struct spwd</emphasis> using the provided string
-      as input. <emphasis remap='B'>getspnam</emphasis> searches from the
-      current position in the file for an entry matching <emphasis
-      remap='B'>name</emphasis>.
-    </para>
-    <para><emphasis remap='B'>setspent</emphasis> and <emphasis
-      remap='B'>endspent</emphasis> may be used to begin and end,
-      respectively, access to the shadow password file.
-    </para>
-    <para>The <emphasis remap='B'>lckpwdf</emphasis> and <emphasis
-      remap='B'>ulckpwdf</emphasis> routines should be used to insure
-      exclusive access to the <filename>/etc/shadow</filename> file. 
-      <emphasis remap='B'>lckpwdf</emphasis> attempts to acquire a lock
-      using <emphasis remap='B'>pw_lock</emphasis> for up to 15 seconds. It
-      continues by attempting to acquire a second lock using <emphasis
-      remap='B'>spw_lock</emphasis> for the remainder of the initial 15
-      seconds. Should either attempt fail after a total of 15 seconds,
-      <emphasis remap='B'>lckpwdf</emphasis> returns -1. When both locks are
-      acquired 0 is returned.
+    <para>
+      <emphasis>getspent</emphasis>, <emphasis>getspname</emphasis>,
+      <emphasis>fgetspent</emphasis>, and <emphasis>sgetspent</emphasis>
+      each return a pointer to a <emphasis>struct spwd</emphasis>.
+      <emphasis>getspent</emphasis> returns the next entry from the file,
+      and <emphasis>fgetspent</emphasis> returns the next entry from the
+      given stream, which is assumed to be a file of the proper format.
+      <emphasis>sgetspent</emphasis> returns a pointer to a <emphasis>struct
+      spwd</emphasis> using the provided string as input.
+      <emphasis>getspnam</emphasis> searches from the current position in
+      the file for an entry matching <emphasis>name</emphasis>.
+    </para>
+
+    <para>
+      <emphasis>setspent</emphasis> and <emphasis>endspent</emphasis> may be
+      used to begin and end, respectively, access to the shadow password
+      file.
+    </para>
+    
+    <para>
+      The <emphasis>lckpwdf</emphasis> and <emphasis>ulckpwdf</emphasis>
+      routines should be used to insure exclusive access to the
+      <filename>/etc/shadow</filename> file.  <emphasis>lckpwdf</emphasis>
+      attempts to acquire a lock using <emphasis>pw_lock</emphasis> for up
+      to 15 seconds. It continues by attempting to acquire a second lock
+      using <emphasis>spw_lock</emphasis> for the remainder of the initial
+      15 seconds. Should either attempt fail after a total of 15 seconds,
+      <emphasis>lckpwdf</emphasis> returns -1. When both locks are acquired
+      0 is returned.
     </para>
   </refsect1>
-  
+
   <refsect1 id='diagnostics'>
     <title>DIAGNOSTICS</title>
-    <para>Routines return NULL if no more entries are available or if an
-      error occurs during processing. Routines which have <emphasis
-      remap='B'>int</emphasis> as the return value return 0 for success and
+    <para>
+      Routines return NULL if no more entries are available or if an error
+      occurs during processing. Routines which have <emphasis>int</emphasis>
+      as the return value return 0 for success and
       -1 for failure.
     </para>
   </refsect1>
-  
+
   <refsect1 id='caveats'>
     <title>CAVEATS</title>
-    <para>These routines may only be used by the super user as access to the
+    <para>
+      These routines may only be used by the super user as access to the
       shadow password file is restricted.
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/shadow</filename></term>
-        <listitem>secure user account information</listitem>
+       <term><filename>/etc/shadow</filename></term>
+       <listitem>
+         <para>secure user account information</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>getpwent</refentrytitle><manvolnum>3</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>getpwent</refentrytitle><manvolnum>3</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
-      </citerefentry>
+       <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
index f5f10f0d523dc200cbe8b5bd610379b822330206..871fe0606e03cd817a79fa077ddb96744f81bf3e 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "SHADOW" "5" "08/03/2005" "" ""
+.TH "SHADOW" "5" "10/01/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -11,7 +11,7 @@
 shadow \- encrypted password file
 .SH "DESCRIPTION"
 .PP
-\fIshadow\fR 
+\fIshadow\fR
 contains the encrypted password information for user's accounts and optional the password aging information. Included is:
 .TP 3
 \(bu
@@ -43,15 +43,19 @@ a reserved field
 .PP
 The password field must be filled. The encrypted password consists of 13 to 24 characters from the 64 characters alphabet a thru z, A thru Z, 0 thru 9, \\. and /. Optionally it can start with a "$" character. This means the encrypted password was generated using another (not DES) algorithm. For example if it starts with "$1$" it means the MD5\-based algorithm was used.
 .PP
-Refer to 
-\fBcrypt\fR(3) 
+Refer to
+\fBcrypt\fR(3)
 for details on how this string is interpreted.
 .PP
+If the password field contains some string that is not valid result of
+\fBcrypt\fR(3), for instance ! or *, the user will not be able to use a unix password to log in, subject to
+\fBpam\fR(7).
+.PP
 The date of the last password change is given as the number of days since Jan 1, 1970. The password may not be changed again until the proper number of days have passed, and must be changed after the maximum number of days. If the minimum number of days required is greater than the maximum number of day allowed, this password may not be changed by the user.
 .PP
 An account is considered to be inactive and is disabled if the password is not changed within the specified number of days after the password expires. An account will also be disabled on the specified day regardless of other password expiration information.
 .PP
-This information supersedes any password or password age information present in 
+This information supersedes any password or password age information present in
 \fI/etc/passwd\fR.
 .PP
 This file must not be readable by regular users if password security is to be maintained.
@@ -64,14 +68,14 @@ user account information
 secure user account information
 .SH "SEE ALSO"
 .PP
-\fBchage\fR(1), 
-\fBlogin\fR(1), 
-\fBpasswd\fR(1), 
-\fBsu\fR(1), 
-\fBpasswd\fR(5), 
-\fBpwconv\fR(8), 
-\fBpwunconv\fR(8), 
-\fBsulogin\fR(8)
+\fBchage\fR(1),
+\fBlogin\fR(1),
+\fBsu\fR(1),
+\fBpasswd\fR(1),
+\fBpasswd\fR(5),
+\fBpwconv\fR(8),
+\fBpwunconv\fR(8),
+\fBsulogin\fR(8).
 .SH "AUTHOR"
 .PP
 Julianne Frances Haugh (jockgrrl@ix.netcom.com)
index b7c2eb630fb3d040c7328df5e1eb0c80389aeec5..9c951285229304d42b0758d8e0fab2ad8896e131 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='shadow.5'>
-  <!-- $Id: shadow.5.xml,v 1.9 2005/06/16 17:27:33 kloczek Exp $ -->
+  <!-- $Id: shadow.5.xml,v 1.14 2005/10/01 12:31:21 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>shadow</refentrytitle>
     <manvolnum>5</manvolnum>
     <refname>shadow</refname>
     <refpurpose>encrypted password file</refpurpose>
   </refnamediv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><emphasis remap='I'>shadow</emphasis> contains the encrypted
-      password information for user's accounts
-      and optional the password aging information. Included is:
+    <para>
+      <emphasis remap='I'>shadow</emphasis> contains the encrypted password
+      information for user's accounts and optional the password aging
+      information. Included is:
     </para>
     <itemizedlist mark='bullet'>
       <listitem>
-        <para>login name</para>
+       <para>login name</para>
       </listitem>
       <listitem>
-        <para>encrypted password</para>
+       <para>encrypted password</para>
       </listitem>
       <listitem>
-        <para>days since Jan 1, 1970 that password was last changed</para>
+       <para>days since Jan 1, 1970 that password was last changed</para>
       </listitem>
       <listitem>
-        <para>days before password may be changed</para>
+       <para>days before password may be changed</para>
       </listitem>
       <listitem>
-        <para>days after which password must be changed</para>
+       <para>days after which password must be changed</para>
       </listitem>
       <listitem>
-        <para>days before password is to expire that user is warned</para>
+       <para>days before password is to expire that user is warned</para>
       </listitem>
       <listitem>
-        <para>days after password expires that account is disabled</para>
+       <para>days after password expires that account is disabled</para>
       </listitem>
       <listitem>
-        <para>days since Jan 1, 1970 that account is disabled</para>
+       <para>days since Jan 1, 1970 that account is disabled</para>
       </listitem>
       <listitem>
-        <para>a reserved field</para>
+       <para>a reserved field</para>
       </listitem>
     </itemizedlist>
-    
-    <para>The password field must be filled. The encrypted password consists
-      of 13 to 24 characters from the 64 characters alphabet a thru z, A
-      thru Z, 0 thru 9, \. and /. Optionally it can start with a "$"
-      character. This means the encrypted password was generated using
-      another (not DES) algorithm. For example if it starts with "$1$" it
-      means the MD5-based algorithm was used.
+
+    <para>
+      The password field must be filled. The encrypted password consists of
+      13 to 24 characters from the 64 characters alphabet a thru z, A thru
+      Z, 0 thru 9, \. and /. Optionally it can start with a "$" character.
+      This means the encrypted password was generated using another (not
+      DES) algorithm. For example if it starts with "$1$" it means the
+      MD5-based algorithm was used.
     </para>
-    
+
     <para>
-      Refer to 
+      Refer to
       <citerefentry>
-        <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
+       <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
       </citerefentry>
       for details on how this string is interpreted.
     </para>
-    
-    <para>The date of the last password change is given as the number of
-      days since Jan 1, 1970. The password may not be changed again until
-      the proper number of days have passed, and must be changed after the
+
+     <para>
+       If the password field contains some string that is not valid result
+       of <citerefentry><refentrytitle>crypt</refentrytitle>
+       <manvolnum>3</manvolnum> </citerefentry>, for instance ! or *, the
+       user will not be able to use a unix password to log in, subject to
+       <citerefentry><refentrytitle>pam</refentrytitle>
+       <manvolnum>7</manvolnum></citerefentry>.
+     </para>
+
+    <para>
+      The date of the last password change is given as the number of days
+      since Jan 1, 1970. The password may not be changed again until the
+      proper number of days have passed, and must be changed after the
       maximum number of days. If the minimum number of days required is
       greater than the maximum number of day allowed, this password may not
       be changed by the user.
     </para>
-    
-    <para>An account is considered to be inactive and is disabled if the
+
+    <para>
+      An account is considered to be inactive and is disabled if the
       password is not changed within the specified number of days after the
       password expires. An account will also be disabled on the specified
       day regardless of other password expiration information.
     </para>
-    
-    <para>This information supersedes any password or password age
-      information present in <filename>/etc/passwd</filename>.
+
+    <para>
+      This information supersedes any password or password age information
+      present in <filename>/etc/passwd</filename>.
     </para>
-    
-    <para>This file must not be readable by regular users if password
-      security is to be maintained.
+
+    <para>
+      This file must not be readable by regular users if password security
+      is to be maintained.
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/passwd</filename></term>
-        <listitem>user account information</listitem>
+       <term><filename>/etc/passwd</filename></term>
+       <listitem>
+         <para>user account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/shadow</filename></term>
-        <listitem>secure user account information</listitem>
+       <term><filename>/etc/shadow</filename></term>
+       <listitem>
+         <para>secure user account information</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
     <para><citerefentry>
-        <refentrytitle>chage</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>chage</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+       <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>pwconv</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>pwconv</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>pwunconv</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>pwunconv</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>sulogin</refentrytitle><manvolnum>8</manvolnum>
-      </citerefentry>
+       <refentrytitle>sulogin</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
index dfd57968482b368e7626fd05582ee506e77b1f06..92459ba760cbdef1eb70cada1a1008186ba307bf 100644 (file)
--- a/man/su.1
+++ b/man/su.1
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "SU" "1" "08/03/2005" "User Commands" "User Commands"
+.TH "SU" "1" "10/01/2005" "User Commands" "User Commands"
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -14,39 +14,39 @@ su \- change user ID or become super\-user
 \fBsu\fR [\-] [\fIusername\fR\ [\ \fIargs\fR\ ]]
 .SH "DESCRIPTION"
 .PP
-\fBsu\fR 
-is used to become another user during a login session. Invoked without a username, 
-\fBsu\fR 
-defaults to becoming the super user. The optional argument 
-\fB\-\fR 
+\fBsu\fR
+is used to become another user during a login session. Invoked without a username,
+\fBsu\fR
+defaults to becoming the super user. The optional argument
+\fB\-\fR
 may be used to provide an environment similar to what the user would expect had the user logged in directly.
 .PP
-Additional arguments may be provided after the username, in which case they are supplied to the user\(aas login shell. In particular, an argument of 
-\fB\-c\fR 
-will cause the next argument to be treated as a command by most command interpreters. The command will be executed by the shell specified in 
-\fI/etc/passwd\fR 
+Additional arguments may be provided after the username, in which case they are supplied to the user\(aas login shell. In particular, an argument of
+\fB\-c\fR
+will cause the next argument to be treated as a command by most command interpreters. The command will be executed by the shell specified in
+\fI/etc/passwd\fR
 for the target user.
 .PP
 The user will be prompted for a password, if appropriate. Invalid passwords will produce an error message. All attempts, both valid and invalid, are logged to detect abuses of the system.
 .PP
-The current environment is passed to the new shell. The value of 
-\fI$PATH\fR 
-is reset to 
-\fI/bin:/usr/bin\fR 
-for normal users, or 
-\fI/sbin:/bin:/usr/sbin:/usr/bin\fR 
-for the super user. This may be changed with the 
-\fIENV_PATH\fR 
-and 
-\fIENV_SUPATH\fR 
-definitions in 
+The current environment is passed to the new shell. The value of
+\fI$PATH\fR
+is reset to
+\fI/bin:/usr/bin\fR
+for normal users, or
+\fI/sbin:/bin:/usr/sbin:/usr/bin\fR
+for the super user. This may be changed with the
+\fIENV_PATH\fR
+and
+\fIENV_SUPATH\fR
+definitions in
 \fI/etc/login.defs\fR.
 .PP
 A subsystem login is indicated by the presence of a "*" as the first character of the login shell. The given home directory will be used as the root of a new file system which the user is actually logged into.
 .SH "CAVEATS"
 .PP
-This version of 
-\fBsu\fR 
+This version of
+\fBsu\fR
 has many compilation options, only some of which may be in use at any particular site.
 .SH "FILES"
 .TP
@@ -57,10 +57,10 @@ user account information
 secure user account information
 .SH "SEE ALSO"
 .PP
-\fBlogin\fR(1), 
-\fBsh\fR(1), 
-\fBlogin.defs\fR(5), 
-\fBsuauth\fR(5)
+\fBlogin\fR(1),
+\fBlogin.defs\fR(5),
+\fBsh\fR(1),
+\fBsuauth\fR(5).
 .SH "AUTHOR"
 .PP
 Julianne Frances Haugh <jockgrrl@ix.netcom.com>
index af457cf675b0500ce1ef83f9756d6cde1812e057..ccf2e54d0481a4fe2fdbfd5acd173aea9e38a262 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='su.1'>
-  <!--  $Id: su.1.xml,v 1.10 2005/07/10 20:00:21 kloczek Exp $ -->
+  <!--  $Id: su.1.xml,v 1.15 2005/10/01 15:01:45 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>su</refentrytitle>
     <manvolnum>1</manvolnum>
       <command>su</command>
       <arg choice='opt'>- </arg>
       <arg choice='opt'>
-        <arg choice='plain'>
-          <replaceable>username</replaceable>
-        </arg>
-        <arg choice='opt'>
-          <replaceable>args</replaceable>
-        </arg>
+       <arg choice='plain'>
+         <replaceable>username</replaceable>
+       </arg>
+       <arg choice='opt'>
+         <replaceable>args</replaceable>
+       </arg>
       </arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><command>su</command> is used to become another user during a login
+    <para>
+      <command>su</command> is used to become another user during a login
       session. Invoked without a username, <command>su</command> defaults to
       becoming the super user. The optional argument <option>-</option> may
       be used to provide an environment similar to what the user would
       expect had the user logged in directly.
     </para>
-    
-    <para>Additional arguments may be provided after the username, in which
-      case they are supplied to the user&acute;s login shell. In particular,
-      an argument of <option>-c</option> will cause the next argument to be
+
+    <para>
+      Additional arguments may be provided after the username, in which case
+      they are supplied to the user&acute;s login shell. In particular, an
+      argument of <option>-c</option> will cause the next argument to be
       treated as a command by most command interpreters. The command will be
       executed by the shell specified in <filename>/etc/passwd</filename>
       for the target user.
     </para>
-    
+
     <para>The user will be prompted for a password, if appropriate. Invalid
       passwords will produce an error message. All attempts, both valid and
       invalid, are logged to detect abuses of the system.
     </para>
-    
-    <para>The current environment is passed to the new shell. The value of
-      <emphasis remap='B'>$PATH</emphasis> is reset to
+
+    <para>
+      The current environment is passed to the new shell. The value of
+      <emphasis>$PATH</emphasis> is reset to
       <filename>/bin:/usr/bin</filename> for normal users, or
       <filename>/sbin:/bin:/usr/sbin:/usr/bin</filename> for the super user. 
-      This may be changed with the <emphasis remap='B'>ENV_PATH</emphasis>
-      and <emphasis remap='B'>ENV_SUPATH</emphasis> definitions in
+      This may be changed with the <emphasis>ENV_PATH</emphasis> and
+      <emphasis>ENV_SUPATH</emphasis> definitions in
       <filename>/etc/login.defs</filename>.
     </para>
-    
-    <para>A subsystem login is indicated by the presence of a "*" as the
-      first character of the login shell. The given home directory will be
-      used as the root of a new file system which the user is actually logged
-      into.
+
+    <para>
+      A subsystem login is indicated by the presence of a "*" as the first
+      character of the login shell. The given home directory will be used as
+      the root of a new file system which the user is actually logged into.
     </para>
   </refsect1>
-  
+
   <refsect1 id='caveats'>
     <title>CAVEATS</title>
     <para>
       only some of which may be in use at any particular site.
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/passwd</filename></term>
-        <listitem>user account information</listitem>
+       <term><filename>/etc/passwd</filename></term>
+       <listitem>
+         <para>user account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/shadow</filename></term>
-        <listitem>secure user account information</listitem>
+       <term><filename>/etc/shadow</filename></term>
+       <listitem>
+         <para>secure user account information</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
     <para><citerefentry>
-        <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>sh</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum>
+       <refentrytitle>sh</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>suauth</refentrytitle><manvolnum>5</manvolnum>
-      </citerefentry>
+       <refentrytitle>suauth</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para>
index 800c48532a381ea93a106739a72fd8a4388ca0a9..85283eb07db5093c51f63458037e4da0f64ccdc1 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "SUAUTH" "5" "08/03/2005" "Feb 14, 1996" "Feb 14, 1996"
+.TH "SUAUTH" "5" "10/01/2005" "Feb 14, 1996" "Feb 14, 1996"
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -14,39 +14,38 @@ suauth \- Detailed su control file
 \fB/etc/suauth\fR
 .SH "DESCRIPTION"
 .PP
-The file 
-\fI/etc/suauth\fR 
-is referenced whenever the su command is called. It can change the behaviour of the su command, based upon
-
+The file
+\fI/etc/suauth\fR
+is referenced whenever the su command is called. It can change the behaviour of the su command, based upon:
+.sp
 .nf
-
       1) the user su is targetting
     
 .fi
+.sp
 .PP
 2) the user executing the su command (or any groups he might be a member of)
 .PP
 The file is formatted like this, with lines starting with a # being treated as comment lines and ignored;
-
+.sp
 .nf
-
       to\-id:from\-id:ACTION
     
 .fi
 .PP
-Where to\-id is either the word 
-\fIALL\fR, a list of usernames delimited by "," or the words 
-\fIALL EXCEPT\fR 
+Where to\-id is either the word
+\fIALL\fR, a list of usernames delimited by "," or the words
+\fIALL EXCEPT\fR
 followed by a list of usernames delimited by ","
 .PP
-from\-id is formatted the same as to\-id except the extra word 
-\fIGROUP\fR 
-is recognised. 
-\fIALL EXCEPT GROUP\fR 
-is perfectly valid too. Following 
-\fIGROUP\fR 
-appears one or more group names, delimited by ",". It is not sufficient to have primary group id of the relevant group, an entry in 
-\fB/etc/group\fR(5) 
+from\-id is formatted the same as to\-id except the extra word
+\fIGROUP\fR
+is recognised.
+\fIALL EXCEPT GROUP\fR
+is perfectly valid too. Following
+\fIGROUP\fR
+appears one or more group names, delimited by ",". It is not sufficient to have primary group id of the relevant group, an entry in
+\fB/etc/group\fR(5)
 is neccessary.
 .PP
 Action can be one only of the following currently supported options.
@@ -62,16 +61,15 @@ For the su command to be successful, the user must enter his or her own password
 .PP
 Note there are three separate fields delimited by a colon. No whitespace must surround this colon. Also note that the file is examined sequentially line by line, and the first applicable rule is used without examining the file further. This makes it possible for a system administrator to exercise as fine control as he or she wishes.
 .SH "EXAMPLE"
-
+.sp
 .nf
-
       # sample /etc/suauth file
       #
       # A couple of privileged usernames may
       # su to root with their own password.
       #
       root:chris,birddog:OWNPASS
-      # 
+      #
       # Anyone else may not su to root unless in
       # group wheel. This is how BSD does things.
       #
@@ -87,6 +85,7 @@ Note there are three separate fields delimited by a colon. No whitespace must su
       #
     
 .fi
+.sp
 .SH "FILES"
 .TP
 \fI/etc/suauth\fR
@@ -95,16 +94,15 @@ Note there are three separate fields delimited by a colon. No whitespace must su
 There could be plenty lurking. The file parser is particularly unforgiving about syntax errors, expecting no spurious whitespace (apart from beginning and end of lines), and a specific token delimiting different things.
 .SH "DIAGNOSTICS"
 .PP
-An error parsing the file is reported using 
-\fBsyslogd\fR(8) 
+An error parsing the file is reported using
+\fBsyslogd\fR(8)
 as level ERR on facility AUTH.
 .SH "SEE ALSO"
 .PP
-\fBsu\fR(1)
+\fBsu\fR(1).
 .SH "AUTHOR"
-
+.sp
 .nf
-
       Chris Evans (lady0110@sable.ox.ac.uk)
       Lady Margaret Hall
       Oxford University
index 69aeaa4619dc25b5eced33235955e4cb908d75b6..d474ed22a966adfd6920c16a1ba175602b129c3f 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='suauth.5'>
-  <!-- $Id: suauth.5.xml,v 1.6 2005/06/15 12:39:27 kloczek Exp $ -->
+  <!-- $Id: suauth.5.xml,v 1.12 2005/10/01 15:01:45 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>suauth</refentrytitle>
     <manvolnum>5</manvolnum>
   <!-- body begins here -->
   <refsynopsisdiv id='synopsis'>
     <cmdsynopsis>
-      <command>/etc/suauth</command>    
+      <command>/etc/suauth</command>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>The file <filename>/etc/suauth</filename>      is referenced
-      whenever the su command is called. It can change the behaviour of the
-      su command, based upon
+    <para>
+      The file <filename>/etc/suauth</filename> is referenced whenever the
+      su command is called. It can change the behaviour of the su command,
+      based upon:
     </para>
-    
+
     <!-- .RS -->
     <literallayout remap='.nf'>
       1) the user su is targetting
     </literallayout>
     <!-- .fi -->
-    <para>2) the user executing the su command (or any groups he might be
+    <para>
+      2) the user executing the su command (or any groups he might be
       a member of)
     </para>
-    <!-- .RE -->
-    
-    <para>The file is formatted like this, with lines starting with a #
-      being treated as comment lines and ignored;
+
+    <para>
+      The file is formatted like this, with lines starting with a # being
+      treated as comment lines and ignored;
     </para>
-    
-    <!-- .RS -->
+
     <literallayout remap='RS'>
       to-id:from-id:ACTION
     </literallayout>
-    <!-- remap='RE' -->
-    
-    <para>Where to-id is either the word
-      <emphasis remap='B'>ALL</emphasis>,
-      a list of usernames
-      delimited by "," or the words
-      <emphasis remap='B'>ALL EXCEPT</emphasis>
-      followed by a list
-      of usernames delimited by ","
+
+    <para>
+      Where to-id is either the word <emphasis>ALL</emphasis>, a list of
+      usernames delimited by "," or the words <emphasis>ALL
+      EXCEPT</emphasis> followed by a list of usernames delimited by ","
     </para>
-    
-    <para>from-id is formatted the same as to-id except the extra word
-      <emphasis remap='B'>GROUP</emphasis>
-      is recognised.
-      <emphasis remap='B'>ALL EXCEPT GROUP</emphasis>
-      is perfectly valid too.
-      Following
-      <emphasis remap='B'>GROUP</emphasis>
-      appears one or more group names, delimited by
-      ",". It is not sufficient to have primary group id of the
-      relevant group, an entry in
-      <citerefentry>
-        <refentrytitle>/etc/group</refentrytitle><manvolnum>5</manvolnum>
-      </citerefentry>
-      is neccessary.
+
+    <para>
+      from-id is formatted the same as to-id except the extra word
+      <emphasis>GROUP</emphasis> is recognised. <emphasis>ALL EXCEPT
+      GROUP</emphasis> is perfectly valid too. Following
+      <emphasis>GROUP</emphasis> appears one or more group names, delimited
+      by ",". It is not sufficient to have primary group id of the relevant
+      group, an entry in
+      <citerefentry><refentrytitle>/etc/group</refentrytitle>
+      <manvolnum>5</manvolnum></citerefentry> is neccessary.
     </para>
-    
-    <para>Action can be one only of the following currently supported
-      options.
+
+    <para> 
+      Action can be one only of the following currently supported options.
     </para>
     <variablelist remap='TP'>
       <varlistentry>
-        <term>
-          <emphasis remap='B'>DENY</emphasis>
-        </term>
-        <listitem>
-          <para>The attempt to su is stopped before a password is
-            even asked for.
-          </para>
-        </listitem>
+       <term>
+         <emphasis>DENY</emphasis>
+       </term>
+       <listitem>
+         <para>The attempt to su is stopped before a password is
+           even asked for.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <emphasis remap='B'>NOPASS</emphasis>
-        </term>
-        <listitem>
-          <para>The attempt to su is automatically successful; no
-            password is
-            asked for.
-          </para>
-        </listitem>
+       <term>
+         <emphasis>NOPASS</emphasis>
+       </term>
+       <listitem>
+         <para>
+           The attempt to su is automatically successful; no password is
+           asked for.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <emphasis remap='B'>OWNPASS</emphasis>
-        </term>
-        <listitem>
-          <para>For the su command to be successful, the user must
-            enter
-            his or her own password. They are told this.
-          </para>
-        </listitem>
+       <term>
+         <emphasis>OWNPASS</emphasis>
+       </term>
+       <listitem>
+         <para>
+           For the su command to be successful, the user must enter his or
+           her own password. They are told this.
+         </para>
+       </listitem>
       </varlistentry>
     </variablelist>
-    
-    <para>Note there are three separate fields delimited by a colon. No
-      whitespace must surround this colon. Also note that the file
-      is examined sequentially line by line, and the first applicable
-      rule is used without examining the file further. This makes it
-      possible for a system administrator to exercise as fine control
-      as he or she wishes.
+
+    <para>
+      Note there are three separate fields delimited by a colon. No
+      whitespace must surround this colon. Also note that the file is
+      examined sequentially line by line, and the first applicable rule is
+      used without examining the file further. This makes it possible for a
+      system administrator to exercise as fine control as he or she wishes.
     </para>
   </refsect1>
-  
+
   <refsect1 id='example'>
     <title>EXAMPLE</title>
     <literallayout remap='.nf'>
       # su to root with their own password.
       #
       root:chris,birddog:OWNPASS
-      # 
+      #
       # Anyone else may not su to root unless in
       # group wheel. This is how BSD does things.
       #
     </literallayout>
     <!-- .fi -->
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/suauth</filename></term>
-        <listitem></listitem>
+       <term><filename>/etc/suauth</filename></term>
+       <listitem><para></para></listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='bugs'>
     <title>BUGS</title>
-    <para>There could be plenty lurking. The file parser is particularly
+    <para>
+      There could be plenty lurking. The file parser is particularly
       unforgiving about syntax errors, expecting no spurious whitespace
       (apart from beginning and end of lines), and a specific token
       delimiting different things.
     </para>
   </refsect1>
-  
+
   <refsect1 id='diagnostics'>
     <title>DIAGNOSTICS</title>
-    <para>An error parsing the file is reported using
-      <citerefentry>
-        <refentrytitle>syslogd</refentrytitle><manvolnum>8</manvolnum>
-      </citerefentry>
-      as level ERR on
-      facility AUTH.
+    <para>
+      An error parsing the file is reported using
+      <citerefentry><refentrytitle>syslogd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+      as level ERR on facility AUTH.
     </para>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
-      </citerefentry>
+    <para>
+      <citerefentry>
+       <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <literallayout remap='.nf'>
index 65586beb780295690b50d2596c63d4a3e4361b37..ec000e800306d0975f487981b11c295d57446d14 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "SULOGIN" "8" "08/03/2005" "" ""
+.TH "SULOGIN" "8" "09/30/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
 sulogin \- Single\-user login
 .SH "SYNTAX"
 .PP
-\fBsulogin\fR 
+\fBsulogin\fR
 [\fItty\-device\fR]
 .SH "DESCRIPTION"
 .PP
-\fBsulogin\fR 
-is invoked by 
-\fBinit\fR 
-prior to allowing the user access to the system when in single user mode. This feature may only be available on certain systems where 
-\fBinit\fR 
-has been modified accordingly, or where the 
-\fI/etc/inittab\fR 
+\fBsulogin\fR
+is invoked by
+\fBinit\fR
+prior to allowing the user access to the system when in single user mode. This feature may only be available on certain systems where
+\fBinit\fR
+has been modified accordingly, or where the
+\fI/etc/inittab\fR
 has an entry for a single user login.
 .PP
 The user is prompted
@@ -30,21 +30,21 @@ Type control\-d to proceed with normal startup,(or give root password for system
 .PP
 Input and output will be performed with the standard file descriptors unless the optional device name argument is provided.
 .PP
-If the user enters the correct root password, a login session is initiated. When 
-\fIEOF\fR 
+If the user enters the correct root password, a login session is initiated. When
+\fIEOF\fR
 is pressed instead, the system enters multi\-user mode.
 .PP
-After the user exits the single\-user shell, or presses 
+After the user exits the single\-user shell, or presses
 \fIEOF\fR, the system begins the initialization process required to enter multi\-user mode.
 .SH "CAVEATS"
 .PP
-This command can only be used if 
-\fBinit\fR 
-has been modified to call 
-\fBsulogin\fR 
-instead of 
-\fI/bin/sh\fR, or if the user has set the 
-\fIinittab\fR 
+This command can only be used if
+\fBinit\fR
+has been modified to call
+\fBsulogin\fR
+instead of
+\fI/bin/sh\fR, or if the user has set the
+\fIinittab\fR
 to support a single user login. For example, the line:
 .PP
 co:s:respawn:/etc/sulogin /dev/console
@@ -61,9 +61,9 @@ user account information
 secure user account information
 .SH "SEE ALSO"
 .PP
-\fBlogin\fR(1), 
-\fBsh\fR(1), 
-\fBinit\fR(8)
+\fBlogin\fR(1),
+\fBsh\fR(1),
+\fBinit\fR(8).
 .SH "AUTHOR"
 .PP
 Julianne Frances Haugh (jockgrrl@ix.netcom.com)
index 175457f814ceffc797368b5bd95899c12b7ae0eb..73bb02b825b78d0d4738ce16940fbf087b8c7ae5 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='sulogin.8'>
-  <!--  $Id: sulogin.8.xml,v 1.8 2005/08/03 16:29:14 kloczek Exp $ -->
+  <!--  $Id: sulogin.8.xml,v 1.13 2005/10/01 15:01:45 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>sulogin</refentrytitle>
     <manvolnum>8</manvolnum>
     <refname>sulogin</refname>
     <refpurpose>Single-user login</refpurpose>
   </refnamediv>
-  
+
   <refsect1 id='syntax'>
     <title>SYNTAX</title>
     <para><command>sulogin</command> [<emphasis remap='I'>tty-device</emphasis>]
     </para>
   </refsect1>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><command>sulogin</command> is invoked by <command>init</command> prior
-      to allowing the user access to the system when in single user mode. 
+    <para>
+      <command>sulogin</command> is invoked by <command>init</command> prior
+      to allowing the user access to the system when in single user mode.
       This feature may only be available on certain systems where
       <command>init</command> has been modified accordingly, or where the
       <filename>/etc/inittab</filename> has an entry for a single user
       login.
     </para>
-    
+
     <para>The user is prompted</para>
-    
+
     <para>Type control-d to proceed with normal startup,
       <!-- .br -->
       (or give root password for system maintenance):
     </para>
-    
-    <para>Input and output will be performed with the standard file
-      descriptors unless
-      the optional device name argument is provided.
+
+    <para>
+      Input and output will be performed with the standard file descriptors
+      unless the optional device name argument is provided.
     </para>
-    
-    <para>If the user enters the correct root password, a login session is
-      initiated.
-      When <emphasis remap='B'>EOF</emphasis> is pressed instead, the
+
+    <para>
+      If the user enters the correct root password, a login session is
+      initiated. When <emphasis>EOF</emphasis> is pressed instead, the
       system enters multi-user mode.
     </para>
-    
-    <para>After the user exits the single-user shell, or presses <emphasis
-      remap='B'>EOF</emphasis>, the system begins the initialization process
+
+    <para>
+      After the user exits the single-user shell, or presses
+      <emphasis>EOF</emphasis>, the system begins the initialization process
       required to enter multi-user mode.
     </para>
   </refsect1>
-  
+
   <refsect1 id='caveats'>
     <title>CAVEATS</title>
     <para>
       remap='I'>inittab</emphasis> to support a single user login. For
       example, the line:
     </para>
-    <!-- .br -->
-    
+
     <para>co:s:respawn:/etc/sulogin /dev/console</para>
-    <!-- .br -->
-    
+
     <para>should execute the sulogin command in single user mode.</para>
-    
-    <para>As complete an environment as possible is created. However,
-      various devices
-      may be unmounted or uninitialized and many of the user commands may
-      be
-      unavailable or nonfunctional as a result.
+
+    <para>
+      As complete an environment as possible is created. However, various
+      devices may be unmounted or uninitialized and many of the user
+      commands may be unavailable or nonfunctional as a result.
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/passwd</filename></term>
-        <listitem>user account information</listitem>
+       <term><filename>/etc/passwd</filename></term>
+       <listitem>
+         <para>user account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/shadow</filename></term>
-        <listitem>secure user account information</listitem>
+       <term><filename>/etc/shadow</filename></term>
+       <listitem>
+         <para>secure user account information</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>sh</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>sh</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>init</refentrytitle><manvolnum>8</manvolnum>
-      </citerefentry>
+       <refentrytitle>init</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
index 8d7dc4ef57e3ab75a4fed66f2517bf8c2ca04054..b6acc70d66d2322a3bcb4e026750cc13771ac11f 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "USERADD" "8" "08/03/2005" "" ""
+.TH "USERADD" "8" "09/30/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -17,140 +17,143 @@ useradd \- Create a new user or update default new user information
 .HP 8
 \fBuseradd\fR \-D [\fIoptions\fR]
 .SH "DESCRIPTION"
-.SS "Creating New Users"
 .PP
-When invoked without the 
-\fB\-D\fR 
-option, the 
-\fBuseradd\fR 
+When invoked without the
+\fB\-D\fR
+option, the
+\fBuseradd\fR
 command creates a new user account using the values specified on the command line and the default values from the system. Depending on command line options, the useradd command will update system files and may also create the new user's home directory and copy initial files.
 .SH "OPTIONS"
 .PP
-The options which apply to the 
-\fBuseradd\fR 
+The options which apply to the
+\fBuseradd\fR
 command are:
 .TP
 \fB\-c\fR, \fB\-\-comment\fR \fICOMMENT\fR
 Any text string. It is generally a short description of the login, and is currently used as the field for the user's full name.
 .TP
 \fB\-b\fR, \fB\-\-base\-dir\fR \fIBASE_DIR\fR
-The default base directory for the system if 
-\fB\-d\fR 
-dir is not specified. 
-\fIBASE_DIR\fR 
-is concatenated with the account name to define the home directory. If the 
-\fB\-m\fR 
+The default base directory for the system if
+\fB\-d\fR
+dir is not specified.
+\fIBASE_DIR\fR
+is concatenated with the account name to define the home directory. If the
+\fB\-m\fR
 option is not used, base_dir must exist.
 .TP
 \fB\-d\fR, \fB\-\-home\fR \fIHOME_DIR\fR
-The new user will be created using 
-\fIHOME_DIR\fR 
-as the value for the user's login directory. The default is to append the 
-\fILOGIN\fR 
-name to 
-\fIBASE_DIR\fR 
+The new user will be created using
+\fIHOME_DIR\fR
+as the value for the user's login directory. The default is to append the
+\fILOGIN\fR
+name to
+\fIBASE_DIR\fR
 and use that as the login directory name.
 .TP
 \fB\-e\fR, \fB\-\-expiredate\fR \fIEXPIRE_DATE\fR
-The date on which the user account will be disabled. The date is specified in the format 
+The date on which the user account will be disabled. The date is specified in the format
 \fIYYYY\-MM\-DD\fR.
 .TP
 \fB\-f\fR, \fB\-\-inactive\fR \fIINACTIVE\fR
 The number of days after a password expires until the account is permanently disabled. A value of 0 disables the account as soon as the password has expired, and a value of \-1 disables the feature. The default value is \-1.
 .TP
 \fB\-g\fR, \fB\-\-gid\fR \fIGROUP\fR
-The group name or number of the user's initial login group. The group name must exist. A group number must refer to an already existing group. The default group number is 1 or whatever is specified in 
+The group name or number of the user's initial login group. The group name must exist. A group number must refer to an already existing group. The default group number is 1 or whatever is specified in
 \fI/etc/default/useradd\fR.
 .TP
 \fB\-G\fR, \fB\-\-groups\fR \fIGROUP1\fR[\fI,GROUP2,...\fR[\fI,GROUPN\fR]]]
-A list of supplementary groups which the user is also a member of. Each group is separated from the next by a comma, with no intervening whitespace. The groups are subject to the same restrictions as the group given with the 
-\fB\-g\fR 
+A list of supplementary groups which the user is also a member of. Each group is separated from the next by a comma, with no intervening whitespace. The groups are subject to the same restrictions as the group given with the
+\fB\-g\fR
 option. The default is for the user to belong only to the initial group.
 .TP
 \fB\-h\fR, \fB\-\-help\fR
 Display help message and exit.
 .TP
 \fB\-m\fR, \fB\-\-create\-home\fR
-The user's home directory will be created if it does not exist. The files contained in 
-\fIskeleton_dir\fR 
-will be copied to the home directory if the 
-\fB\-k\fR 
-option is used, otherwise the files contained in 
-\fI/etc/skel\fR 
-will be used instead. Any directories contained in 
-\fI skeleton_dir\fR 
-or 
-\fI/etc/skel\fR 
-will be created in the user's home directory as well. The 
-\fB\-k\fR 
-option is only valid in conjunction with the 
-\fB\-m\fR 
+The user's home directory will be created if it does not exist. The files contained in
+\fISKEL_DIR\fR
+will be copied to the home directory if the
+\fB\-k\fR
+option is used, otherwise the files contained in
+\fI/etc/skel\fR
+will be used instead. Any directories contained in
+\fISKEL_DIR\fR
+or
+\fI/etc/skel\fR
+will be created in the user's home directory as well. The
+\fB\-k\fR
+option is only valid in conjunction with the
+\fB\-m\fR
 option. The default is to not create the directory and to not copy any files.
 .TP
 \fB\-K\fR, \fB\-\-key\fR \fIKEY\fR=\fIVALUE\fR
-Overrides /etc/login.defs defaults (UID_MIN, UID_MAX, UMASK, PASS_MAX_DAYS and others). For example: 
-\fB\-K\fR \fIPASS_MAX_DAYS\fR=\fI\-1\fR 
-can be used when creating system account to turn off password ageing, even though system account has no password at all. Multiple 
-\fB\-K\fR 
-options can be specified, e.g.: 
-\fB\-K\fR \fIUID_MIN\fR=\fI100\fR \fB\-K\fR \fIUID_MAX\fR=\fI499\fR
+Overrides /etc/login.defs defaults (UID_MIN, UID_MAX, UMASK, PASS_MAX_DAYS and others).
 
-Note: 
-\fB\-K\fR \fIUID_MIN\fR=\fI10\fR,\fIUID_MAX\fR=\fI499\fR 
+Example:
+\fB\-K \fR\fIPASS_MAX_DAYS\fR=\fI\-1\fR
+can be used when creating system account to turn off password ageing, even though system account has no password at all. Multiple
+\fB\-K\fR
+options can be specified, e.g.:
+\fB\-K \fR\fIUID_MIN\fR=\fI100\fR\fB \-K \fR\fIUID_MAX\fR=\fI499\fR
+.sp
+Note:
+\fB\-K \fR\fIUID_MIN\fR=\fI10\fR,\fIUID_MAX\fR=\fI499\fR
 doesn't work yet.
 .TP
 \fB\-o\fR, \fB\-\-non\-unique\fR
 Allow create user account with duplicate (non\-unique) UID.
 .TP
 \fB\-p\fR, \fB\-\-password\fR \fIPASSWORD\fR
-The encrypted password, as returned by 
+The encrypted password, as returned by
 \fBcrypt\fR(3). The default is to disable the account.
 .TP
 \fB\-s\fR, \fB\-\-shell\fR \fISHELL\fR
 The name of the user's login shell. The default is to leave this field blank, which causes the system to select the default login shell.
 .TP
 \fB\-u\fR, \fB\-\-uid\fR \fIUID\fR
-The numerical value of the user's ID. This value must be unique, unless the 
-\fB\-o\fR 
+The numerical value of the user's ID. This value must be unique, unless the
+\fB\-o\fR
 option is used. The value must be non\-negative. The default is to use the smallest ID value greater than 999 and greater than every other user. Values between 0 and 999 are typically reserved for system accounts.
 .SS "Changing the default values"
 .PP
-When invoked with the 
-\fB\-D\fR 
-option, 
-\fBuseradd\fR 
+When invoked with the
+\fB\-D\fR
+option,
+\fBuseradd\fR
 will either display the current default values, or update the default values from the command line. The valid options are
 .TP
-\fB\-b\fR \fIhome_dir\fR
-The initial path prefix for a new user's home directory. The user's name will be affixed to the end of 
-\fIhome\fR 
-to create the new directory name if the 
-\fB\-d\fR 
+\fB\-b\fR \fIHOME_DIR\fR
+The initial path prefix for a new user's home directory. The user's name will be affixed to the end of
+\fIHOME_DIR\fR
+to create the new directory name if the
+\fB\-d\fR
 option is not used when creating a new account.
 .TP
-\fB\-e\fR \fIexpire_date\fR
+\fB\-e\fR \fIEXPIRE_DATE\fR
 The date on which the user account is disabled.
 .TP
-\fB\-f\fR \fIinactive\fR
+\fB\-f\fR \fIINACTIVE\fR
 The number of days after a password has expired before the account will be disabled.
 .TP
 \fB\-g\fR, \fB\-\-gid\fR \fIGROUP\fR
-The group name or ID for a new user's initial group. The named group must exist, and a numerical group ID must have an existing entry .
+The group name or ID for a new user's initial group. The named group must exist, and a numerical group ID must have an existing entry.
 .TP
 \fB\-s\fR, \fB\-\-shell\fR \fISHELL\fR
 The name of the new user's login shell. The named program will be used for all future new user accounts.
 .PP
-If no options are specified, 
-\fBuseradd\fR 
+If no options are specified,
+\fBuseradd\fR
 displays the current default values.
 .SH "NOTES"
 .PP
-The system administrator is responsible for placing the default user files in the 
-\fI/etc/skel/\fR 
+The system administrator is responsible for placing the default user files in the
+\fI/etc/skel/\fR
 directory.
 .SH "CAVEATS"
 .PP
 You may not add a user to a NIS group. This must be performed on the NIS server.
+.PP
+Usernames must begin with a lower case letter or an underscore, and only lower case letters, underscores, dashes, and dollar signs may follow. In regular expression terms: [a\-z_][a\-z0\-9_\-]*[$]
 .SH "FILES"
 .TP
 \fI/etc/passwd\fR
@@ -167,11 +170,14 @@ default information
 .TP
 \fI/etc/skel/\fR
 directory containing default files
+.TP
+\fI/etc/login.defs\fR
+shadow password suite configuration
 .SH "EXIT VALUES"
 .PP
-The 
-\fBuseadd\fR 
-command exits with the following values: 
+The
+\fBuseradd\fR
+command exits with the following values:
 .TP
 \fI0\fR
 success
@@ -186,7 +192,8 @@ invalid command syntax
 invalid argument to option
 .TP
 \fI4\fR
-uid already in use (and no \-o)
+uid already in use (and no
+\fB\-o\fR)
 .TP
 \fI6\fR
 specified group doesn't exist
@@ -204,15 +211,16 @@ can't create home directory
 can't create mail spool
 .SH "SEE ALSO"
 .PP
-\fBchfn\fR(1), 
-\fBchsh\fR(1), 
-\fBpasswd\fR(1), 
-\fBcrypt\fR(3), 
-\fBgroupadd\fR(8), 
-\fBgroupdel\fR(8), 
-\fBgroupmod\fR(8), 
-\fBuserdel\fR(8), 
-\fBusermod\fR(8)
+\fBchfn\fR(1),
+\fBchsh\fR(1),
+\fBpasswd\fR(1),
+\fBcrypt\fR(3),
+\fBgroupadd\fR(8),
+\fBgroupdel\fR(8),
+\fBgroupmod\fR(8),
+\fBlogin.defs\fR(5),
+\fBuserdel\fR(8),
+\fBusermod\fR(8).
 .SH "AUTHOR"
 .PP
 Julianne Frances Haugh (jockgrrl@ix.netcom.com)
index 8ca6546c4f5f8493a629b1326af9c6616942d3b3..1e6eda2f712c62ced6e2bb0e737b6d05f529a561 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='useradd.8'>
-  <!--  $Id: useradd.8.xml,v 1.14 2005/08/10 07:43:51 kloczek Exp $ -->
+  <!--  $Id: useradd.8.xml,v 1.24 2005/09/30 15:41:20 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>useradd</refentrytitle>
     <manvolnum>8</manvolnum>
   </refnamediv>
   <refsynopsisdiv id='synopsis'>
     <cmdsynopsis>
-      <command>useradd</command>    
+      <command>useradd</command>
       <arg choice='opt'>
-        <replaceable>options</replaceable>
+       <replaceable>options</replaceable>
       </arg>
       <arg choice='plain'><replaceable>LOGIN</replaceable></arg>
     </cmdsynopsis>
     <cmdsynopsis>
-      <command>useradd</command>    
+      <command>useradd</command>
       <arg choice='plain'>-D </arg>
     </cmdsynopsis>
     <cmdsynopsis>
-      <command>useradd</command>    
+      <command>useradd</command>
       <arg choice='plain'>-D </arg>
       <arg choice='opt'>
-        <replaceable>options</replaceable>
+       <replaceable>options</replaceable>
       </arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <refsect2 id='creating_new_users'>
-      <title>Creating New Users</title>
       <para>
-        When invoked without the <option>-D</option> option, the
-        <command>useradd</command> command creates a new user account using
-        the values specified on the command line and the default values from
-        the system. Depending on command line options, the useradd command
-        will update system files and may also create the new user's home
-        directory and copy initial files.
+       When invoked without the <option>-D</option> option, the
+       <command>useradd</command> command creates a new user account using
+       the values specified on the command line and the default values from
+       the system. Depending on command line options, the useradd command
+       will update system files and may also create the new user's home
+       directory and copy initial files.
       </para>
-    </refsect2>
   </refsect1>
-  
+
   <refsect1 id='options'>
     <title>OPTIONS</title>
     <para>The options which apply to the <command>useradd</command> command are:
     </para>
     <variablelist remap='IP'>
       <varlistentry>
-        <term>
-          <option>-c</option>, <option>--comment</option>
+       <term>
+         <option>-c</option>, <option>--comment</option>
          <replaceable>COMMENT</replaceable>
-        </term>
-        <listitem>
-          <para>
+       </term>
+       <listitem>
+         <para>
            Any text string. It is generally a short description of the
            login, and is currently used as the field for the user's full
            name.
          </para>
-        </listitem>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-b</option>, <option>--base-dir</option>
+       <term>
+         <option>-b</option>, <option>--base-dir</option>
          <replaceable>BASE_DIR</replaceable>
-        </term>
-        <listitem>
-          <para>The default base directory for the system if
-           <option>-d</option> dir is not specified.
-           <replaceable>BASE_DIR</replaceable> is concatenated with the
-           account name to define the home directory. If the
-           <option>-m</option> option is not used, base_dir must exist.
+       </term>
+       <listitem>
+         <para>
+           The default base directory for the system if <option>-d</option>
+           dir is not specified. <replaceable>BASE_DIR</replaceable> is
+           concatenated with the account name to define the home directory. 
+           If the <option>-m</option> option is not used, base_dir must
+           exist.
          </para>
-        </listitem>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-d</option>, <option>--home</option>
+       <term>
+         <option>-d</option>, <option>--home</option>
          <replaceable>HOME_DIR</replaceable>
-        </term>
-        <listitem>
-          <para>
-            The new user will be created using <emphasis remap='I'>HOME_DIR</emphasis>
-           as the value for the user's login directory. The default is to append
-           the <emphasis remap='I'>LOGIN</emphasis> name to
-           <emphasis remap='I'>BASE_DIR</emphasis> and use that as the login directory name.
-          </para>
-        </listitem>
+       </term>
+       <listitem>
+         <para>
+           The new user will be created using
+           <replaceable>HOME_DIR</replaceable> as the value for the user's
+           login directory. The default is to append the
+           <replaceable>LOGIN</replaceable> name to
+           <replaceable>BASE_DIR</replaceable> and use that as the login
+           directory name.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-e</option>, <option>--expiredate</option>
+       <term>
+         <option>-e</option>, <option>--expiredate</option>
          <replaceable>EXPIRE_DATE</replaceable>
-        </term>
-        <listitem>
-          <para>The date on which the user account will be disabled. The
-            date is specified in the format <emphasis
-            remap='I'>YYYY-MM-DD</emphasis>.
+       </term>
+       <listitem>
+         <para>
+           The date on which the user account will be disabled. The date is
+           specified in the format <emphasis remap='I'>YYYY-MM-DD</emphasis>.
          </para>
-        </listitem>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-f</option>, <option>--inactive</option>
+       <term>
+         <option>-f</option>, <option>--inactive</option>
          <replaceable>INACTIVE</replaceable>
-        </term>
-        <listitem>
-          <para>The number of days after a password expires until the
-            account is permanently disabled. A value of 0 disables the
-            account as soon as the password has expired, and a value of -1
-            disables the feature. The default value is -1.
-          </para>
-        </listitem>
+       </term>
+       <listitem>
+         <para>
+           The number of days after a password expires until the account is
+           permanently disabled. A value of 0 disables the account as soon
+           as the password has expired, and a value of -1 disables the
+           feature. The default value is -1.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-g</option>, <option>--gid</option>
+       <term>
+         <option>-g</option>, <option>--gid</option>
          <replaceable>GROUP</replaceable>
-        </term>
-        <listitem>
-          <para>The group name or number of the user's initial login group.
-            The group name must exist. A group number must refer to an
-            already existing group. The default group number is 1 or
-            whatever is specified in
-            <filename>/etc/default/useradd</filename>.
-          </para>
-        </listitem>
+       </term>
+       <listitem>
+         <para>
+           The group name or number of the user's initial login group. The
+           group name must exist. A group number must refer to an already
+           existing group. The default group number is 1 or whatever is
+           specified in <filename>/etc/default/useradd</filename>.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-G</option>, <option>--groups</option>
+       <term>
+         <option>-G</option>, <option>--groups</option>
          <replaceable>GROUP1</replaceable>[<emphasis remap='I'>,GROUP2,...</emphasis>[<emphasis remap='I'>,GROUPN</emphasis>]]]
-        </term>
-        <listitem>
-          <para>A list of supplementary groups which the user is also a
-            member of. Each group is separated from the next by a comma,
-            with no intervening whitespace. The groups are subject to the
-            same restrictions as the group given with the
-            <option>-g</option> option. The default is for the user to
-            belong only to the initial group.
-          </para>
-        </listitem>
+       </term>
+       <listitem>
+         <para>
+           A list of supplementary groups which the user is also a member
+           of. Each group is separated from the next by a comma, with no
+           intervening whitespace. The groups are subject to the same
+           restrictions as the group given with the <option>-g</option>
+           option. The default is for the user to belong only to the
+           initial group.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
        <term><option>-h</option>, <option>--help</option></term>
        </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-m</option>, <option>--create-home</option>
-        </term>
-        <listitem>
-          <para>The user's home directory will be created if it does not
-            exist. The files contained in <emphasis
-            remap='I'>skeleton_dir</emphasis> will be copied to the home
-            directory if the <option>-k</option> option is used, otherwise
-            the files contained in <filename>/etc/skel</filename> will be
-            used instead. Any directories contained in <emphasis remap='I'>
-            skeleton_dir</emphasis> or <filename>/etc/skel</filename> will
-            be created in the user's home directory as well. The
-            <option>-k</option> option is only valid in conjunction with the
-            <option>-m</option> option. The default is to not create the
-            directory and to not copy any files.
-          </para>
-        </listitem>
+       <term>
+         <option>-m</option>, <option>--create-home</option>
+       </term>
+       <listitem>
+         <para>
+           The user's home directory will be created if it does not exist. 
+           The files contained in <replaceable>SKEL_DIR</replaceable> will
+           be copied to the home directory if the <option>-k</option>
+           option is used, otherwise the files contained in
+           <filename>/etc/skel</filename> will be used instead. Any
+           directories contained in <replaceable>SKEL_DIR</replaceable> or
+           <filename>/etc/skel</filename> will be created in the user's
+           home directory as well. The <option>-k</option> option is only
+           valid in conjunction with the <option>-m</option> option. The
+           default is to not create the directory and to not copy any
+           files.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-K</option>, <option>--key</option>
+       <term>
+         <option>-K</option>, <option>--key</option>
          <replaceable>KEY</replaceable>=<replaceable>VALUE</replaceable>
-        </term>
-        <listitem>
+       </term>
+       <listitem>
+         <para>
+           Overrides /etc/login.defs defaults (UID_MIN, UID_MAX, UMASK,
+           PASS_MAX_DAYS and others).
          <para>
-           Overrides /etc/login.defs defaults (UID_MIN, UID_MAX, UMASK, PASS_MAX_DAYS and
-            others). For example: <option>-K</option>
-           <replaceable>PASS_MAX_DAYS</replaceable>=<replaceable>-1</replaceable> can be
-           used when creating system account to turn off password ageing, even though
-           system account has no password at all. Multiple <option>-K</option> options can
-           be specified, e.g.: <option>-K</option>
+         </para>
+           Example: <option>-K </option><replaceable>PASS_MAX_DAYS</replaceable>=<replaceable>-1</replaceable>
+           can be used when creating system account to turn off password
+           ageing, even though system account has no password at all.
+           Multiple <option>-K</option> options can be specified, e.g.:
+           <option>-K </option>
            <replaceable>UID_MIN</replaceable>=<replaceable>100</replaceable>
-           <option>-K</option> <replaceable>UID_MAX</replaceable>=<replaceable>499</replaceable>
+           <option> -K </option>
+           <replaceable>UID_MAX</replaceable>=<replaceable>499</replaceable>
          </para>
          <para>
-           Note: <option>-K</option>
+           Note: <option>-K </option>
            <replaceable>UID_MIN</replaceable>=<replaceable>10</replaceable>,<replaceable>UID_MAX</replaceable>=<replaceable>499</replaceable>
            doesn't work yet.
          </para>
-        </listitem>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-o</option>, <option>--non-unique</option>
-        </term>
-        <listitem>
-          <para>Allow create user account with duplicate (non-unique) UID.</para>
-        </listitem>
+       <term>
+         <option>-o</option>, <option>--non-unique</option>
+       </term>
+       <listitem>
+         <para>Allow create user account with duplicate (non-unique) UID.</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-p</option>, <option>--password</option>
+       <term>
+         <option>-p</option>, <option>--password</option>
          <replaceable>PASSWORD</replaceable>
-        </term>
-        <listitem>
-          <para>
-            The encrypted password, as returned by <citerefentry>
-            <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
-            </citerefentry>. The default is to disable the account.
-          </para>
-        </listitem>
+       </term>
+       <listitem>
+         <para>
+           The encrypted password, as returned by <citerefentry>
+           <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
+           </citerefentry>. The default is to disable the account.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-s</option>, <option>--shell</option>
+       <term>
+         <option>-s</option>, <option>--shell</option>
          <replaceable>SHELL</replaceable>
-        </term>
-        <listitem>
-          <para>The name of the user's login shell. The default is to
-            leave this field
-            blank, which causes the system to select the default
-            login shell.
-          </para>
-        </listitem>
+       </term>
+       <listitem>
+         <para>
+           The name of the user's login shell. The default is to leave this
+           field blank, which causes the system to select the default login
+           shell.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-u</option>, <option>--uid</option>
+       <term>
+         <option>-u</option>, <option>--uid</option>
          <replaceable>UID</replaceable>
-        </term>
-        <listitem>
-          <para>The numerical value of the user's ID. This value must be
-            unique, unless the <option>-o</option> option is used. The value
-            must be non-negative. The default is to use the smallest ID
-            value greater than 999 and greater than every other user. 
-            Values between 0 and 999 are typically reserved for system
-            accounts.
-          </para>
-        </listitem>
+       </term>
+       <listitem>
+         <para>
+           The numerical value of the user's ID. This value must be unique,
+           unless the <option>-o</option> option is used. The value must be
+           non-negative. The default is to use the smallest ID value
+           greater than 999 and greater than every other user. Values
+           between 0 and 999 are typically reserved for system accounts.
+         </para>
+       </listitem>
       </varlistentry>
     </variablelist>
-    
+
     <refsect2 id='changing_the_default_values'>
       <title>Changing the default values</title>
       <para>
-        When invoked with the <option>-D</option> option,
-        <command>useradd</command> will either display the current default
-        values, or update the default values from the command line. The
-        valid options are
+       When invoked with the <option>-D</option> option,
+       <command>useradd</command> will either display the current default
+       values, or update the default values from the command line. The
+       valid options are
       </para>
       <variablelist remap='IP'>
-        <varlistentry>
-          <term>
-            <option>-b</option> <replaceable>home_dir</replaceable>
-          </term>
-          <listitem>
-            <para>The initial path prefix for a new user's home directory.
-              The user's name will be affixed to the end of <emphasis
-              remap='I'>home</emphasis> to create the new directory name if
-              the <option>-d</option> option is not used when creating a new
-              account.
-            </para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>
-            <option>-e</option> <replaceable>expire_date</replaceable>
-          </term>
-          <listitem>
-            <para>The date on which the user account is disabled.</para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>
-            <option>-f</option> <replaceable>inactive</replaceable>
-          </term>
-          <listitem>
-            <para>The number of days after a password has expired before the
-              account will be disabled.
-            </para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>
-            <option>-g</option>, <option>--gid</option>
+       <varlistentry>
+         <term>
+           <option>-b</option> <replaceable>HOME_DIR</replaceable>
+         </term>
+         <listitem>
+           <para>
+             The initial path prefix for a new user's home directory. The
+             user's name will be affixed to the end of
+             <replaceable>HOME_DIR</replaceable> to create the new
+             directory name if the <option>-d</option> option is not used
+             when creating a new account.
+           </para>
+         </listitem>
+       </varlistentry>
+       <varlistentry>
+         <term>
+           <option>-e</option> <replaceable>EXPIRE_DATE</replaceable>
+         </term>
+         <listitem>
+           <para>The date on which the user account is disabled.</para>
+         </listitem>
+       </varlistentry>
+       <varlistentry>
+         <term>
+           <option>-f</option> <replaceable>INACTIVE</replaceable>
+         </term>
+         <listitem>
+           <para>
+             The number of days after a password has expired before the
+             account will be disabled.
+           </para>
+         </listitem>
+       </varlistentry>
+       <varlistentry>
+         <term>
+           <option>-g</option>, <option>--gid</option>
            <replaceable>GROUP</replaceable>
-          </term>
-          <listitem>
-            <para>The group name or ID for a new user's initial group. The
-              named group must exist, and a numerical group ID must have an
-              existing entry .
-            </para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>
-            <option>-s</option>, <option>--shell</option>
+         </term>
+         <listitem>
+           <para>
+             The group name or ID for a new user's initial group. The named
+             group must exist, and a numerical group ID must have an
+             existing entry.
+           </para>
+         </listitem>
+       </varlistentry>
+       <varlistentry>
+         <term>
+           <option>-s</option>, <option>--shell</option>
            <replaceable>SHELL</replaceable>
-          </term>
-          <listitem>
-            <para>The name of the new user's login shell. The named program
-              will be used for all future new user accounts.
-            </para>
-          </listitem>
-        </varlistentry>
+         </term>
+         <listitem>
+           <para>
+             The name of the new user's login shell. The named program will
+             be used for all future new user accounts.
+           </para>
+         </listitem>
+       </varlistentry>
       </variablelist>
 
-      <para>If no options are specified, <command>useradd</command>
-        displays the current default values.
+      <para>
+       If no options are specified, <command>useradd</command> displays the
+       current default values.
       </para>
     </refsect2>
   </refsect1>
-  
+
   <refsect1 id='notes'>
     <title>NOTES</title>
     <para>The system administrator is responsible for placing the default
       user files in the <filename>/etc/skel/</filename> directory.
     </para>
   </refsect1>
-  
+
   <refsect1 id='caveats'>
     <title>CAVEATS</title>
-    <para>You may not add a user to a NIS group. This must be performed on
-      the NIS server.
+    <para>
+      You may not add a user to a NIS group. This must be performed on the
+      NIS server.
+    </para>
+    <para>
+      Usernames must begin with a lower case letter or an underscore, and
+      only lower case letters, underscores, dashes, and dollar signs may
+      follow. In regular expression terms: [a-z_][a-z0-9_-]*[$]
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/passwd</filename></term>
-        <listitem>user account information</listitem>
+       <term><filename>/etc/passwd</filename></term>
+       <listitem>
+         <para>user account information</para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term><filename>/etc/shadow</filename></term>
+       <listitem>
+         <para>secure user account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/shadow</filename></term>
-        <listitem>secure user account information</listitem>
+       <term><filename>/etc/group</filename></term>
+       <listitem>
+         <para>group account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/group</filename></term>
-        <listitem>group account information</listitem>
+       <term><filename>/etc/default/useradd</filename></term>
+       <listitem>
+         <para>default information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/default/useradd</filename></term>
-        <listitem>default information</listitem>
+       <term><filename>/etc/skel/</filename></term>
+       <listitem>
+         <para>directory containing default files</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/skel/</filename></term>
-        <listitem>directory containing default files</listitem>
+       <term><filename>/etc/login.defs</filename></term>
+       <listitem>
+         <para>shadow password suite configuration</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='exit_values'>
     <title>EXIT VALUES</title>
     <para>
-      The <command>useadd</command> command exits with the following values:
+      The <command>useradd</command> command exits with the following values:
       <variablelist>
-        <varlistentry>
-          <term><replaceable>0</replaceable></term>
-         <listitem>success</listitem>
+       <varlistentry>
+         <term><replaceable>0</replaceable></term>
+         <listitem>
+           <para>success</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>1</replaceable></term>
-         <listitem>can't update password file</listitem>
+       <varlistentry>
+         <term><replaceable>1</replaceable></term>
+         <listitem>
+           <para>can't update password file</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>2</replaceable></term>
-         <listitem>invalid command syntax</listitem>
+       <varlistentry>
+         <term><replaceable>2</replaceable></term>
+         <listitem>
+           <para>invalid command syntax</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>3</replaceable></term>
-         <listitem>invalid argument to option</listitem>
+       <varlistentry>
+         <term><replaceable>3</replaceable></term>
+         <listitem>
+           <para>invalid argument to option</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>4</replaceable></term>
-         <listitem>uid already in use (and no -o)</listitem>
+       <varlistentry>
+         <term><replaceable>4</replaceable></term>
+         <listitem>
+           <para>uid already in use (and no <option>-o</option>)</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>6</replaceable></term>
-         <listitem>specified group doesn't exist</listitem>
+       <varlistentry>
+         <term><replaceable>6</replaceable></term>
+         <listitem>
+           <para>specified group doesn't exist</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>9</replaceable></term>
-         <listitem>username already in use</listitem>
+       <varlistentry>
+         <term><replaceable>9</replaceable></term>
+         <listitem>
+           <para>username already in use</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>10</replaceable></term>
-         <listitem>can't update group file</listitem>
+       <varlistentry>
+         <term><replaceable>10</replaceable></term>
+         <listitem>
+           <para>can't update group file</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>12</replaceable></term>
-         <listitem>can't create home directory</listitem>
+       <varlistentry>
+         <term><replaceable>12</replaceable></term>
+         <listitem>
+           <para>can't create home directory</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>13</replaceable></term>
-         <listitem>can't create mail spool</listitem>
+       <varlistentry>
+         <term><replaceable>13</replaceable></term>
+         <listitem>
+           <para>can't create mail spool</para>
+         </listitem>
        </varlistentry>
       </variablelist>
     </para>
 
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
+       <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
-      </citerefentry>
+       <refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
index a888e31773dcbdafd083aba321f0974c83548483..eec97641c20e88abd070af9de91cda77987b4b44 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "USERDEL" "8" "08/03/2005" "" ""
+.TH "USERDEL" "8" "09/30/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
 userdel \- Delete a user account and related files
 .SH "SYNOPSIS"
 .HP 8
-\fBuserdel\fR [\-r] \fIlogin\fR
+\fBuserdel\fR [\-r] \fIlogin_name\fR
 .SH "DESCRIPTION"
 .PP
-The 
-\fBuserdel\fR 
-command modifies the system account files, deleting all entries that refer to 
-\fIlogin\fR. The named user must exist.
+The
+\fBuserdel\fR
+command modifies the system account files, deleting all entries that refer to
+\fIlogin_name\fR. The named user must exist.
 .SH "OPTIONS"
 .PP
-The options which apply to the 
-\fBuserdel\fR 
+The options which apply to the
+\fBuserdel\fR
 command are:
 .TP
 \fB\-r\fR
@@ -31,6 +31,9 @@ Files in the user's home directory will be removed along with the home directory
 \fI/etc/group\fR
 group account information
 .TP
+\fI/etc/login.defs\fR
+shadow password suite configuration
+.TP
 \fI/etc/passwd\fR
 user account information
 .TP
@@ -38,9 +41,9 @@ user account information
 secure user account information
 .SH "EXIT VALUES"
 .PP
-The 
-\fBuserdel\fR 
-command exits with the following values: 
+The
+\fBuserdel\fR
+command exits with the following values:
 .TP
 \fI0\fR
 success
@@ -64,19 +67,20 @@ can't update group file
 can't remove home directory
 .SH "CAVEATS"
 .PP
-\fBuserdel\fR 
+\fBuserdel\fR
 will not allow you to remove an account if the user is currently logged in. You must kill any running processes which belong to an account that you are deleting. You may not remove any NIS attributes on a NIS client. This must be performed on the NIS server.
 .SH "SEE ALSO"
 .PP
-\fBchfn\fR(1), 
-\fBchsh\fR(1), 
-\fBpasswd\fR(1), 
-\fBgpasswd\fR(8), 
-\fBgroupadd\fR(8), 
-\fBgroupdel\fR(8), 
-\fBgroupmod\fR(8), 
-\fBuseradd\fR(8), 
-\fBusermod\fR(8)
+\fBchfn\fR(1),
+\fBchsh\fR(1),
+\fBpasswd\fR(1),
+\fBlogin.defs\fR(5),
+\fBgpasswd\fR(8),
+\fBgroupadd\fR(8),
+\fBgroupdel\fR(8),
+\fBgroupmod\fR(8),
+\fBuseradd\fR(8),
+\fBusermod\fR(8).
 .SH "AUTHOR"
 .PP
 Julianne Frances Haugh (jockgrrl@ix.netcom.com)
index bcc4758194b4adcf703304ca32a9c445e2214c8e..0c0442330908170ecb6ffbbbf892037c1f102be5 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='userdel.8'>
-  <!-- $Id: userdel.8.xml,v 1.9 2005/08/10 07:45:10 kloczek Exp $ -->
+  <!-- $Id: userdel.8.xml,v 1.15 2005/09/30 15:41:20 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>USERDEL</refentrytitle>
     <manvolnum>8</manvolnum>
   </refnamediv>
   <refsynopsisdiv id='synopsis'>
     <cmdsynopsis>
-      <command>userdel</command>    
+      <command>userdel</command>
       <arg choice='opt'>-r </arg>
       <arg choice='plain'>
-        <replaceable>login</replaceable>
+       <replaceable>login_name</replaceable>
       </arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
     <para>
       The <command>userdel</command> command modifies the system account
       files, deleting all entries that refer to <emphasis
-      remap='I'>login</emphasis>. The named user must exist.
+      remap='I'>login_name</emphasis>. The named user must exist.
     </para>
   </refsect1>
-  
+
   <refsect1 id='options'>
     <title>OPTIONS</title>
     <para>
     </para>
     <variablelist remap='IP'>
       <varlistentry>
-        <term>
-          <option>-r</option>
-        </term>
-        <listitem>
-          <para>Files in the user's home directory will be removed along
-            with the home directory itself and the user's mail spool. Files
-            located in other file systems will have to be searched for and
-            deleted manually.
-          </para>
-        </listitem>
+       <term>
+         <option>-r</option>
+       </term>
+       <listitem>
+         <para>
+           Files in the user's home directory will be removed along with
+           the home directory itself and the user's mail spool. Files
+           located in other file systems will have to be searched for and
+           deleted manually.
+         </para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/group</filename></term>
-        <listitem>group account information</listitem>
+       <term><filename>/etc/group</filename></term>
+       <listitem>
+         <para>group account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/passwd</filename></term>
-        <listitem>user account information</listitem>
+       <term><filename>/etc/login.defs</filename></term>
+       <listitem>
+         <para>shadow password suite configuration</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/shadow</filename></term>
-        <listitem>secure user account information</listitem>
+       <term><filename>/etc/passwd</filename></term>
+       <listitem>
+         <para>user account information</para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term><filename>/etc/shadow</filename></term>
+       <listitem>
+         <para>secure user account information</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='exit_values'>
     <title>EXIT VALUES</title>
     <para>
       The <command>userdel</command> command exits with the following values:
       <variablelist>
-        <varlistentry>
-          <term><replaceable>0</replaceable></term>
-         <listitem>success</listitem>
+       <varlistentry>
+         <term><replaceable>0</replaceable></term>
+         <listitem>
+           <para>success</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>1</replaceable></term>
-         <listitem>can't update password file</listitem>
+       <varlistentry>
+         <term><replaceable>1</replaceable></term>
+         <listitem>
+           <para>can't update password file</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>2</replaceable></term>
-         <listitem>invalid command syntax</listitem>
+       <varlistentry>
+         <term><replaceable>2</replaceable></term>
+         <listitem>
+           <para>invalid command syntax</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>6</replaceable></term>
-         <listitem>specified user doesn't exist</listitem>
+       <varlistentry>
+         <term><replaceable>6</replaceable></term>
+         <listitem>
+           <para>specified user doesn't exist</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>8</replaceable></term>
-         <listitem>user currently logged in</listitem>
+       <varlistentry>
+         <term><replaceable>8</replaceable></term>
+         <listitem>
+           <para>user currently logged in</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>10</replaceable></term>
-         <listitem>can't update group file</listitem>
+       <varlistentry>
+         <term><replaceable>10</replaceable></term>
+         <listitem>
+           <para>can't update group file</para>
+         </listitem>
        </varlistentry>
-        <varlistentry>
-          <term><replaceable>12</replaceable></term>
-         <listitem>can't remove home directory</listitem>
+       <varlistentry>
+         <term><replaceable>12</replaceable></term>
+         <listitem>
+           <para>can't remove home directory</para>
+         </listitem>
        </varlistentry>
       </variablelist>
     </para>
   </refsect1>
-  
+
   <refsect1 id='caveats'>
     <title>CAVEATS</title>
-    <para><command>userdel</command> will not allow you to remove an account if
+    <para>
+      <command>userdel</command> will not allow you to remove an account if
       the user is currently logged in. You must kill any running processes
       which belong to an account that you are deleting. You may not remove
       any NIS attributes on a NIS client. This must be performed on the NIS
       server.
     </para>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
     <para><citerefentry>
-        <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>gpasswd</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>gpasswd</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
-      </citerefentry>
+       <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
index d61d4a6971cd0354bbe05f701e64d3b78b6ee2ca..774b3fdc2cdf1690f5b4cd5652a33e814fd986c1 100644 (file)
@@ -1,8 +1,8 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "USERMOD" "8" "08/09/2005" "" ""
+.TH "USERMOD" "8" "09/30/2005" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
 usermod \- Modify a user account
 .SH "SYNOPSIS"
 .HP 8
-\fBusermod\fR [\-c\ \fIcomment\fR] [\-d\ \fIhome_dir\fR\ [\-m\ ]] [\-e\ \fIexpire_date\fR] [\-f\ \fIinactive_days\fR] [\-g\ \fIinitial_group\fR] [\-G\ \fIgroup1\fR\ [\ \fI,group2,\fR...\ \fI,\fR\ [\fIgroupN\fR]\ [\-a]\ ]] [\-l\ \fIlogin_name\fR] [\-p\ \fIpasswd\fR] [\-s\ \fIshell\fR] [\-u\ \fIuid\fR\ [\-o\ ]] [\-L \-U] \fIlogin\fR
+\fBusermod\fR [\-c\ \fIcomment\fR] [\-d\ \fIhome_dir\fR\ [\-m\ ]] [\-e\ \fIexpire_date\fR] [\-f\ \fIinactive_days\fR] [\-g\ \fIinitial_group\fR] [\-G\ \fIgroup1\fR\ [\ \fI,group2,\fR...\ \fI,\fR\ [\fIgroupN\fR]\ [\-a]\ ]] [\-l\ \fInew_login_name\fR] [\-p\ \fIpassword\fR] [\-s\ \fIshell\fR] [\-u\ \fIuid\fR\ [\-o\ ]] [\-L \-U] \fIlogin_name\fR
 .SH "DESCRIPTION"
 .PP
-The 
-\fBusermod\fR 
+The
+\fBusermod\fR
 command modifies the system account files to reflect the changes that are specified on the command line.
 .SH "OPTIONS"
 .PP
-The options which apply to the 
-\fBusermod\fR 
+The options which apply to the
+\fBusermod\fR
 command are:
 .TP
 \fB\-c\fR \fIcomment\fR
-The new value of the user's password file comment field. It is normally modified using the 
-\fBchfn\fR(1)utility.
+The new value of the user's password file comment field. It is normally modified using the
+\fBchfn\fR(1)
+utility.
 .TP
 \fB\-d\fR \fIhome_dir\fR
-The user's new login directory. If the 
-\fB\-m\fR 
+The user's new login directory. If the
+\fB\-m\fR
 option is given the contents of the current home directory will be moved to the new home directory, which is created if it does not already exist.
 .TP
 \fB\-e\fR \fIexpire_date\fR
-The date on which the user account will be disabled. The date is specified in the format 
+The date on which the user account will be disabled. The date is specified in the format
 \fIYYYY\-MM\-DD \fR.
 .TP
 \fB\-f\fR \fIinactive_days\fR
@@ -42,72 +43,76 @@ The number of days after a password expires until the account is permanently dis
 \fB\-g\fR \fIinitial_group\fR
 The group name or number of the user's new initial login group. The group name must exist. A group number must refer to an already existing group. The default group number is 1.
 .TP
-\fB\-G\fR \fIgroup1\fR[\fI ,group2,..., \fR [\fIgroupN\fR]]]
-A list of supplementary groups which the user is also a member of. Each group is separated from the next by a comma, with no intervening whitespace. The groups are subject to the same restrictions as the group given with the 
-\fB\-g\fR 
-option. If the user is currently a member of a group which is not listed, the user will be removed from the group. This behaviour can be changed via 
-\fB\-a\fR 
+\fB\-G\fR \fIgroup1\fR[\fI,group2,...,\fR[\fIgroupN\fR]]]
+A list of supplementary groups which the user is also a member of. Each group is separated from the next by a comma, with no intervening whitespace. The groups are subject to the same restrictions as the group given with the
+\fB\-g\fR
+option. If the user is currently a member of a group which is not listed, the user will be removed from the group. This behaviour can be changed via
+\fB\-a\fR
 option, which appends user to the current supplementary group list.
 .TP
-\fB\-l\fR \fIlogin_name\fR
-The name of the user will be changed from 
-\fIlogin \fR 
-to 
-\fIlogin_name\fR. Nothing else is changed. In particular, the user's home directory name should probably be changed to reflect the new login name.
+\fB\-l\fR \fInew_login_name\fR
+The name of the user will be changed from
+\fIlogin_name\fR
+to
+\fInew_login_name\fR. Nothing else is changed. In particular, the user's home directory name should probably be changed to reflect the new login name.
 .TP
 \fB\-L\fR
-Lock a user's password. This puts a '!' in front of the encrypted password, effectively disabling the password. You can't use this option with 
-\fB\-p\fR 
-or 
+Lock a user's password. This puts a '!' in front of the encrypted password, effectively disabling the password. You can't use this option with
+\fB\-p\fR
+or
 \fB\-U\fR.
 .TP
 \fB\-o\fR
-When used with the 
-\fB\-u\fR 
+When used with the
+\fB\-u\fR
 option, this option allows to change the user ID to a non\-unique value.
 .TP
-\fB\-p\fR \fIpasswd\fR
-The encrypted password, as returned by 
+\fB\-p\fR \fIpassword\fR
+The encrypted password, as returned by
 \fBcrypt\fR(3).
 .TP
 \fB\-s\fR \fIshell\fR
 The name of the user's new login shell. Setting this field to blank causes the system to select the default login shell.
 .TP
 \fB\-u\fR \fIuid\fR
-The numerical value of the user's ID. This value must be unique, unless the 
-\fB\-o\fR 
+The numerical value of the user's ID. This value must be unique, unless the
+\fB\-o\fR
 option is used. The value must be non\-negative. Values between 0 and 999 are typically reserved for system accounts. Any files which the user owns and which are located in the directory tree rooted at the user's home directory will have the file user ID changed automatically. Files outside of the user's home directory must be altered manually.
 .TP
 \fB\-U\fR
-Unlock a user's password. This removes the '!' in front of the encrypted password. You can't use this option with 
-\fB\-p\fR 
-or 
+Unlock a user's password. This removes the '!' in front of the encrypted password. You can't use this option with
+\fB\-p\fR
+or
 \fB\-L\fR.
 .SH "CAVEATS"
 .PP
-\fBusermod\fR 
+\fBusermod\fR
 will not allow you to change the name of a user who is logged in. You must make certain that the named user is not executing any processes when this command is being executed if the user's numerical user ID is being changed. You must change the owner of any crontab files manually. You must change the owner of any at jobs manually. You must make any changes involving NIS on the NIS server.
 .SH "FILES"
 .TP
+\fI/etc/group\fR
+group account information
+.TP
+\fI/etc/login.defs\fR
+shadow password suite configuration
+.TP
 \fI/etc/passwd\fR
 user account information
 .TP
 \fI/etc/shadow\fR
 secure user account information
-.TP
-\fI/etc/group\fR
-group account information
 .SH "SEE ALSO"
 .PP
-\fBchfn\fR(1), 
-\fBchsh\fR(1), 
-\fBpasswd\fR(1), 
-\fBcrypt\fR(3), 
-\fBgpasswd\fR(8), 
-\fBgroupadd\fR(8), 
-\fBgroupdel\fR(8), 
-\fBgroupmod\fR(8), 
-\fBuseradd\fR(8), 
+\fBchfn\fR(1),
+\fBchsh\fR(1),
+\fBpasswd\fR(1),
+\fBcrypt\fR(3),
+\fBgpasswd\fR(8),
+\fBgroupadd\fR(8),
+\fBgroupdel\fR(8),
+\fBgroupmod\fR(8),
+\fBlogin.defs\fR(5),
+\fBuseradd\fR(8),
 \fBuserdel\fR(8).
 .SH "AUTHOR"
 .PP
index 44206e88340009f62febd7e58a072cd7e9f51628..e5ab4877942cbbe5b4d768d0e6714346569eeea5 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='usermod.8'>
-  <!--  $Id: usermod.8.xml,v 1.12 2005/08/09 17:49:32 kloczek Exp $  -->
+  <!--  $Id: usermod.8.xml,v 1.18 2005/09/30 15:41:20 kloczek Exp $  -->
   <refmeta>
     <refentrytitle>usermod</refentrytitle>
     <manvolnum>8</manvolnum>
 
   <refsynopsisdiv id='synopsis'>
     <cmdsynopsis>
-      <command>usermod</command>    
+      <command>usermod</command>
       <arg choice='opt'>-c <replaceable>comment</replaceable></arg>
       <arg choice='opt'>
-        <arg choice='plain'>-d <replaceable>home_dir</replaceable></arg>
-        <arg choice='opt'>-m </arg>
+       <arg choice='plain'>-d <replaceable>home_dir</replaceable></arg>
+       <arg choice='opt'>-m </arg>
       </arg>
       <arg choice='opt'>-e <replaceable>expire_date</replaceable></arg>
       <arg choice='opt'>-f <replaceable>inactive_days</replaceable></arg>
       <arg choice='opt'>-g <replaceable>initial_group</replaceable></arg>
       <arg choice='opt'>
-        <arg choice='plain'>-G <replaceable>group1</replaceable></arg>
-        <arg choice='opt'>
-          <arg choice='plain' rep='repeat'><replaceable>,group2,</replaceable></arg>
-          <arg choice='plain'><replaceable>,</replaceable></arg>
-          <arg choice='opt'><replaceable>groupN</replaceable></arg>
+       <arg choice='plain'>-G <replaceable>group1</replaceable></arg>
+       <arg choice='opt'>
+         <arg choice='plain' rep='repeat'><replaceable>,group2,</replaceable></arg>
+         <arg choice='plain'><replaceable>,</replaceable></arg>
+         <arg choice='opt'><replaceable>groupN</replaceable></arg>
          <arg choice='opt'>-a</arg>
-        </arg>
+       </arg>
       </arg>
-      <arg choice='opt'>-l <replaceable>login_name</replaceable></arg>
-      <arg choice='opt'>-p <replaceable>passwd</replaceable></arg>
+      <arg choice='opt'>-l <replaceable>new_login_name</replaceable></arg>
+      <arg choice='opt'>-p <replaceable>password</replaceable></arg>
       <arg choice='opt'>-s <replaceable>shell</replaceable></arg>
       <arg choice='opt'>
-        <arg choice='plain'>-u <replaceable>uid</replaceable></arg>
-        <arg choice='opt'>-o </arg>
+       <arg choice='plain'>-u <replaceable>uid</replaceable></arg>
+       <arg choice='opt'>-o </arg>
       </arg>
       <group choice='opt'>
-        <arg choice='plain'>-L </arg>
+       <arg choice='plain'>-L </arg>
        <arg choice='plain'>-U </arg>
       </group>
-      <arg choice='plain'><replaceable>login</replaceable></arg>
+      <arg choice='plain'><replaceable>login_name</replaceable></arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
     <para>
@@ -54,7 +54,7 @@
       files to reflect the changes that are specified on the command line.
     </para>
   </refsect1>
-  
+
   <refsect1 id='options'>
     <title>OPTIONS</title>
     <para>
     </para>
     <variablelist remap='IP'>
       <varlistentry>
-        <term>
-          <option>-c</option> <replaceable>comment</replaceable>
-        </term>
-        <listitem>
-          <para>The new value of the user's password file comment
-            field. It is normally modified using the <citerefentry>
-              <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
-            </citerefentry>utility.
-          </para>
-        </listitem>
+       <term>
+         <option>-c</option> <replaceable>comment</replaceable>
+       </term>
+       <listitem>
+         <para>
+           The new value of the user's password file comment field. It is
+           normally modified using the <citerefentry>
+           <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
+           </citerefentry> utility.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-d</option> <replaceable>home_dir</replaceable>
-        </term>
-        <listitem>
-          <para>
-            The user's new login directory. If the <option>-m</option>
-            option is given the contents of the current home directory will
-            be moved to the new home directory, which is created if it does
-            not already exist.
-          </para>
-        </listitem>
+       <term>
+         <option>-d</option> <replaceable>home_dir</replaceable>
+       </term>
+       <listitem>
+         <para>
+           The user's new login directory. If the <option>-m</option>
+           option is given the contents of the current home directory will
+           be moved to the new home directory, which is created if it does
+           not already exist.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-e</option> <replaceable>expire_date</replaceable>
-        </term>
-        <listitem>
-          <para>The date on which the user account will be disabled. The
-            date is specified in the format <emphasis remap='I'>YYYY-MM-DD
-            </emphasis>.
-          </para>
-        </listitem>
+       <term>
+         <option>-e</option> <replaceable>expire_date</replaceable>
+       </term>
+       <listitem>
+         <para>
+           The date on which the user account will be disabled. The date is
+           specified in the format <emphasis remap='I'>YYYY-MM-DD
+           </emphasis>.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-f</option> <replaceable>inactive_days</replaceable>
-        </term>
-        <listitem>
-          <para>The number of days after a password expires until the
-            account is permanently disabled. A value of 0 disables the
-            account as soon as the password has expired, and a value of -1
-            disables the feature. The default value is -1.
-          </para>
-        </listitem>
+       <term>
+         <option>-f</option> <replaceable>inactive_days</replaceable>
+       </term>
+       <listitem>
+         <para>
+           The number of days after a password expires until the account is
+           permanently disabled. A value of 0 disables the account as soon
+           as the password has expired, and a value of -1 disables the
+           feature. The default value is -1.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-g</option> <replaceable>initial_group</replaceable>
-        </term>
-        <listitem>
-          <para>The group name or number of the user's new initial login
-            group. The group name must exist. A group number must refer to
-            an already existing group. The default group number is 1.
-          </para>
-        </listitem>
+       <term>
+         <option>-g</option> <replaceable>initial_group</replaceable>
+       </term>
+       <listitem>
+         <para>
+           The group name or number of the user's new initial login group.
+           The group name must exist. A group number must refer to an
+           already existing group. The default group number is 1.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-G</option> <replaceable>group1</replaceable>[<emphasis remap='I'>
-            ,group2,...,
-          </emphasis>
-          [<emphasis remap='I'>groupN</emphasis>]]]
-        </term>
-        <listitem>
-          <para>A list of supplementary groups which the user is also a
-            member of. Each group is separated from the next by a comma,
-            with no intervening whitespace. The groups are subject to the
-            same restrictions as the group given with the
-            <option>-g</option> option. If the user is currently a member of
-            a group which is not listed, the user will be removed from the
-            group. This behaviour can be changed via <option>-a</option> option,
-            which appends user to the current supplementary group list.
-          </para>
-        </listitem>
+       <term>
+         <option>-G</option>
+         <replaceable>group1</replaceable>[<emphasis remap='I'>,group2,...,</emphasis>[<emphasis remap='I'>groupN</emphasis>]]]
+       </term>
+       <listitem>
+         <para>
+           A list of supplementary groups which the user is also a member
+           of. Each group is separated from the next by a comma, with no
+           intervening whitespace. The groups are subject to the same
+           restrictions as the group given with the <option>-g</option>
+           option. If the user is currently a member of a group which is
+           not listed, the user will be removed from the group. This
+           behaviour can be changed via <option>-a</option> option, which
+           appends user to the current supplementary group list.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-l</option> <replaceable>login_name</replaceable>
-        </term>
-        <listitem>
-          <para>
-            The name of the user will be changed from <emphasis
-            remap='I'>login </emphasis> to <emphasis
-            remap='I'>login_name</emphasis>. Nothing else is changed. In
-            particular, the user's home directory name should probably be
-            changed to reflect the new login name.
-          </para>
-        </listitem>
+       <term>
+         <option>-l</option> <replaceable>new_login_name</replaceable>
+       </term>
+       <listitem>
+         <para>
+           The name of the user will be changed from <emphasis
+           remap='I'>login_name</emphasis> to <emphasis
+           remap='I'>new_login_name</emphasis>. Nothing else is changed. In
+           particular, the user's home directory name should probably be
+           changed to reflect the new login name.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-L</option>
-        </term>
-        <listitem>
-          <para>Lock a user's password. This puts a '!' in front of the
-            encrypted password, effectively disabling the password. You
-            can't use this option with <option>-p</option> or
-            <option>-U</option>.
-          </para>
-        </listitem>
+       <term>
+         <option>-L</option>
+       </term>
+       <listitem>
+         <para>
+           Lock a user's password. This puts a '!' in front of the
+           encrypted password, effectively disabling the password. You
+           can't use this option with <option>-p</option> or
+           <option>-U</option>.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-o</option>
-        </term>
-        <listitem>
-          <para>
-            When used with the <option>-u</option> option, this option
-            allows to change the user ID to a non-unique value.
-          </para>
-        </listitem>
+       <term>
+         <option>-o</option>
+       </term>
+       <listitem>
+         <para>
+           When used with the <option>-u</option> option, this option
+           allows to change the user ID to a non-unique value.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-p</option> <replaceable>passwd</replaceable>
-        </term>
-        <listitem>
-          <para>
-            The encrypted password, as returned by <citerefentry>
-              <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
-            </citerefentry>.
-          </para>
-        </listitem>
+       <term>
+         <option>-p</option> <replaceable>password</replaceable>
+       </term>
+       <listitem>
+         <para>
+           The encrypted password, as returned by <citerefentry>
+           <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
+           </citerefentry>.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-s</option> <replaceable>shell</replaceable>
-        </term>
-        <listitem>
-          <para>The name of the user's new login shell. Setting this field
-            to blank causes the system to select the default login shell.
-          </para>
-        </listitem>
+       <term>
+         <option>-s</option> <replaceable>shell</replaceable>
+       </term>
+       <listitem>
+         <para>The name of the user's new login shell. Setting this field
+           to blank causes the system to select the default login shell.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-u</option> <replaceable>uid</replaceable>
-        </term>
-        <listitem>
-          <para>The numerical value of the user's ID. This value must be
-            unique, unless the <option>-o</option> option is used. The value
-            must be non-negative. Values between 0 and 999 are typically
-            reserved for system accounts. Any files which the user owns and
-            which are located in the directory tree rooted at the user's
-            home directory will have the file user ID changed automatically.
-            Files outside of the user's home directory must be altered
-            manually.
-          </para>
-        </listitem>
+       <term>
+         <option>-u</option> <replaceable>uid</replaceable>
+       </term>
+       <listitem>
+         <para>
+           The numerical value of the user's ID. This value must be unique,
+           unless the <option>-o</option> option is used. The value must be
+           non-negative. Values between 0 and 999 are typically reserved
+           for system accounts. Any files which the user owns and which are
+           located in the directory tree rooted at the user's home
+           directory will have the file user ID changed automatically. 
+           Files outside of the user's home directory must be altered
+           manually.
+         </para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term>
-          <option>-U</option>
-        </term>
-        <listitem>
-          <para>Unlock a user's password. This removes the '!' in front of
-            the encrypted password. You can't use this option with
-            <option>-p</option> or <option>-L</option>.
-          </para>
-        </listitem>
+       <term>
+         <option>-U</option>
+       </term>
+       <listitem>
+         <para>
+           Unlock a user's password. This removes the '!' in front of the
+           encrypted password. You can't use this option with
+           <option>-p</option> or <option>-L</option>.
+         </para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
 
   <refsect1 id='caveats'>
     <title>CAVEATS</title>
-    <para><command>usermod</command> will not allow you to change the name of a
+    <para>
+      <command>usermod</command> will not allow you to change the name of a
       user who is logged in. You must make certain that the named user is
       not executing any processes when this command is being executed if the
       user's numerical user ID is being changed. You must change the owner
       server.
     </para>
   </refsect1>
-  
+
   <refsect1 id='files'>
     <title>FILES</title>
     <variablelist>
       <varlistentry>
-        <term><filename>/etc/passwd</filename></term>
-        <listitem>user account information</listitem>
+       <term><filename>/etc/group</filename></term>
+       <listitem>
+         <para>group account information</para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term><filename>/etc/login.defs</filename></term>
+       <listitem>
+         <para>shadow password suite configuration</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/shadow</filename></term>
-        <listitem>secure user account information</listitem>
+       <term><filename>/etc/passwd</filename></term>
+       <listitem>
+         <para>user account information</para>
+       </listitem>
       </varlistentry>
       <varlistentry>
-        <term><filename>/etc/group</filename></term>
-        <listitem>group account information</listitem>
+       <term><filename>/etc/shadow</filename></term>
+       <listitem>
+         <para>secure user account information</para>
+       </listitem>
       </varlistentry>
     </variablelist>
   </refsect1>
 
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+       <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
+       <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>gpasswd</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>gpasswd</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum>
+       <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+       <refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>.
     </para>
   </refsect1>
-  
+
   <refsect1 id='author'>
     <title>AUTHOR</title>
     <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
index 60ac7aa8c6b13b105af00d3a9ee52ba3b632767e..26a01c9473592e98d103d95fc9024ee749be401a 100644 (file)
@@ -1,5 +1,5 @@
 .\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0).
+.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
 .TH "VIPW" "8" "26 Sep 1997" "26 Sep 1997" "26 Sep 1997"
@@ -8,7 +8,7 @@
 .\" disable justification (adjust text to left margin only)
 .ad l
 .SH "NAME"
-vipw, vigr \- edit the password, group, shadow\-password, or shadow\-group file.
+vipw, vigr \- edit the password, group, shadow\-password or shadow\-group file.
 .SH "SYNOPSIS"
 .HP 5
 \fBvipw\fR [\-s]
@@ -16,23 +16,23 @@ vipw, vigr \- edit the password, group, shadow\-password, or shadow\-group file.
 \fBvigr\fR [\-s]
 .SH "DESCRIPTION"
 .PP
-\fBvipw\fR 
-and 
-\fBvigr\fR 
-will edit the files 
-\fI/etc/passwd\fR 
-and 
-\fI/etc/group\fR, respectively. With the 
-\fB\-s\fR 
-flag, they will edit the shadow versions of those files, 
-\fI/etc/shadow\fR 
-and 
-\fI/etc/gshadow\fR, respectively. The programs will set the appropriate locks to prevent file corruption. When looking for an editor, the programs will first try the environment variable 
-\fB$VISUAL\fR, then the environment variable 
-\fI$EDITOR\fR, and finally the default editor, 
+\fBvipw\fR
+and
+\fBvigr\fR
+will edit the files
+\fI/etc/passwd\fR
+and
+\fI/etc/group\fR, respectively. With the
+\fB\-s\fR
+flag, they will edit the shadow versions of those files,
+\fI/etc/shadow\fR
+and
+\fI/etc/gshadow\fR, respectively. The programs will set the appropriate locks to prevent file corruption. When looking for an editor, the programs will first try the environment variable
+\fB$VISUAL\fR, then the environment variable
+\fI$EDITOR\fR, and finally the default editor,
 \fBvi\fR(1).
 .SH "SEE ALSO"
 .PP
-\fBgroup\fR(5), 
-\fBpasswd\fR(5), 
-\fBshadow\fR(5)
+\fBgroup\fR(5),
+\fBpasswd\fR(5),
+\fBshadow\fR(5).
index d3cd4f59748f2a08eef3d62dfc5e4f5a47f2e145..084ad9822e35262464ce31857263afd457e0b192 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='vipw.8'>
-  <!--  $Id: vipw.8.xml,v 1.7 2005/06/15 12:39:27 kloczek Exp $  -->
+  <!--  $Id: vipw.8.xml,v 1.11 2005/10/01 15:01:46 kloczek Exp $  -->
   <refentryinfo>
     <date>26 Sep 1997</date>
   </refentryinfo>
@@ -14,8 +14,8 @@
   <refnamediv id='name'>
     <refname>vipw</refname>
     <refname>vigr</refname>
-    <refpurpose>edit the password, group, shadow-password, or shadow-group
-      file.
+    <refpurpose>
+      edit the password, group, shadow-password or shadow-group file.
     </refpurpose>
   </refnamediv>
 
       <command>vigr</command><arg choice='opt'>-s </arg>
     </cmdsynopsis>
   </refsynopsisdiv>
-  
+
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para><command>vipw</command> and <command>vigr</command> will edit the
+    <para>
+      <command>vipw</command> and <command>vigr</command> will edit the
       files <filename>/etc/passwd</filename> and
       <filename>/etc/group</filename>, respectively. With the
       <option>-s</option> flag, they will edit the shadow versions of those
       <filename>/etc/gshadow</filename>, respectively. The programs will set
       the appropriate locks to prevent file corruption. When looking for an
       editor, the programs will first try the environment variable
-      <envar>$VISUAL</envar>, then the environment variable <emphasis
-      remap='B'>$EDITOR</emphasis>, and finally the default editor, <citerefentry>
-      <refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum>
-      </citerefentry>.
+      <envar>$VISUAL</envar>, then the environment variable
+      <emphasis>$EDITOR</emphasis>, and finally the default editor,
+      <citerefentry><refentrytitle>vi</refentrytitle>
+      <manvolnum>1</manvolnum></citerefentry>.
     </para>
   </refsect1>
 
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para><citerefentry>
-        <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
+    <para>
+      <citerefentry>
+       <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+       <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
-        <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
-      </citerefentry>
+       <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>.
     </para>
   </refsect1>
 </refentry>
index 6d419197882db65038ce8f2af8d19099115f1f8b..3faa3441f8670b225c5eb42e3eda070ae2200293 100644 (file)
@@ -38,7 +38,8 @@ host_triplet = @host@
 subdir = man/zh_CN
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -78,6 +79,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -89,6 +92,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -128,6 +132,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -198,9 +205,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/zh_CN/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/zh_CN/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  man/zh_CN/Makefile
+         $(AUTOMAKE) --foreign  man/zh_CN/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 165777d341691a218ba4f97fd806f49d321403e2..524eabaa6b449ade3fec8a34c61aef4090b11860 100644 (file)
@@ -38,7 +38,8 @@ host_triplet = @host@
 subdir = man/zh_TW
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -78,6 +79,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -89,6 +92,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -128,6 +132,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -197,9 +204,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/zh_TW/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/zh_TW/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  man/zh_TW/Makefile
+         $(AUTOMAKE) --foreign  man/zh_TW/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 6034db82fd6ae290bfa92bd26d1ec150ba0c4067..bcf0bd2e20b9606021ad4c5dda0063c9b38e0db5 100644 (file)
Binary files a/po/bs.gmo and b/po/bs.gmo differ
index 931281f364c45c70eea5301c809b0584acc2cee3..ae29f7ad75b7737cb74d2b1db3dde1446c9580c8 100644 (file)
--- a/po/bs.po
+++ b/po/bs.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2004-05-09 12:03+0100\n"
 "Last-Translator: Safir Šećerović <sapphire@linux.org.ba>\n"
 "Language-Team: Bosnian <lokal@lugbih.org>\n"
@@ -97,6 +97,27 @@ msgstr "Nema pošte."
 msgid "You have mail."
 msgstr "Imate poštu."
 
+msgid "no change"
+msgstr ""
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Neispravna šifra: %s.  "
@@ -135,6 +156,12 @@ msgstr ""
 msgid "Can't change root directory to \"%s\"\n"
 msgstr ""
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+msgid "Unable to determine your tty name."
+msgstr ""
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr ""
@@ -238,6 +265,10 @@ msgstr ""
 msgid "%s: unknown user %s\n"
 msgstr ""
 
+#, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr ""
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr ""
@@ -246,6 +277,10 @@ msgstr ""
 msgid "%s: can't open shadow password file\n"
 msgstr ""
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr ""
@@ -270,10 +305,6 @@ msgstr ""
 msgid "%s: can't rewrite password file\n"
 msgstr ""
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr ""
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -461,10 +492,6 @@ msgstr ""
 msgid "Usage: expiry {-f|-c}\n"
 msgstr ""
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr ""
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr ""
@@ -853,9 +880,10 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 
 #, c-format
@@ -911,6 +939,16 @@ msgstr ""
 msgid " on `%.100s'"
 msgstr ""
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+
 #, c-format
 msgid ""
 "\n"
@@ -920,6 +958,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr ""
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 
@@ -935,6 +977,11 @@ msgstr ""
 msgid " from %.*s"
 msgstr ""
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr ""
@@ -1011,24 +1058,32 @@ msgid "%s: error updating files\n"
 msgstr ""
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr ""
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr ""
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
 msgstr ""
 
 msgid "Old password: "
 msgstr "Stara šifra:"
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr ""
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1185,6 +1240,10 @@ msgstr ""
 msgid "Sorry."
 msgstr "Žalim."
 
+#, c-format
+msgid "%s: %s\n"
+msgstr ""
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr ""
@@ -1424,6 +1483,10 @@ msgstr ""
 msgid "%s: error updating group entry\n"
 msgstr ""
 
+#, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr ""
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr ""
index 1b4cbc593ba53f937c68e1a0bcb5c2ad7a2fe008..86fda7f8b404fec4417d537660682a763c586638 100644 (file)
Binary files a/po/ca.gmo and b/po/ca.gmo differ
index a0ab456b3f64fd3fad8ba56e27763f7e0cebc045..5f63782a14df823536061dd853332abaf3b48589 100644 (file)
--- a/po/ca.po
+++ b/po/ca.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.10\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2005-06-21 01:22+0300\n"
 "Last-Translator: Guillem Jover <guillem@debian.org>\n"
 "Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n"
@@ -101,6 +101,28 @@ msgstr "No hi ha correu."
 msgid "You have mail."
 msgstr "Teniu correu."
 
+#, fuzzy
+msgid "no change"
+msgstr "%s: no hi ha canvis\n"
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "La contrasenya és incorrecta: %s."
@@ -139,6 +161,13 @@ msgstr "El directori arrel «%s» no és vàlid\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "No s'ha pogut canviar el directori arrel a «%s»\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s: No s'ha pogut determinar el seu nom d'usuari.\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) ha fallat\n"
@@ -259,6 +288,10 @@ msgstr "%s: no es pot obrir el fitxer de contrasenyes\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: l'usuari %s desconegut\n"
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: no es pot obrir el fitxer de contrasenyes ombra\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s: no es pot bloquejar el fitxer de contrasenyes ombra\n"
@@ -267,6 +300,10 @@ msgstr "%s: no es pot bloquejar el fitxer de contrasenyes ombra\n"
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: no es pot obrir el fitxer de contrasenyes ombra\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "S'està canviant la informació de caducitat per a %s\n"
@@ -291,10 +328,6 @@ msgstr "%s: no es pot reescriure el fitxer de contrasenyes ombra\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: no es pot reescriure el fitxer de contrasenyes\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: PAM chauthok ha fallat\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -495,10 +528,6 @@ msgstr "%s no és un intèrpret vàlid.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Forma d'ús: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: AVÍS!  Ha de ser set-UID de root!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: l'usuari és desconegut\n"
@@ -896,23 +925,24 @@ msgstr "Forma d'ús: id\n"
 msgid " groups="
 msgstr " grup="
 
-#, c-format
+#, fuzzy, c-format
 msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 "Forma d'ús: lastlog [opcions]\n"
 "\n"
 "Opcions:\n"
-"  -u, --user ACCÉS\tmostra el registre de lastlog per a l'usuari amb\n"
-"\t\t\t\tACCÉS especific\n"
 "  -h, --help\t\tmostra aquest missatge d'ajuda i acaba\n"
 "  -t, --time DIES\tmostra nomes els registres de lastlog més recents\n"
 "\t\t\t\tque DIES\n"
+"  -u, --user ACCÉS\tmostra el registre de lastlog per a l'usuari amb\n"
+"\t\t\t\tACCÉS especific\n"
 
 #, c-format
 msgid "Username         Port     From             Latest\n"
@@ -973,6 +1003,16 @@ msgstr " a «%.100s» des de «%.200s»"
 msgid " on `%.100s'"
 msgstr " a «%.100s»"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "Accés incorrecte"
+
 #, c-format
 msgid ""
 "\n"
@@ -984,6 +1024,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Accés incorrecte"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Avís: accés reactivat després d'un bloqueig temporal.\n"
 
@@ -999,6 +1043,11 @@ msgstr "Última accés: %.19s a %s"
 msgid " from %.*s"
 msgstr " des de %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "Forma d'ús: newgrp [-] [grup]\n"
@@ -1075,24 +1124,32 @@ msgid "%s: error updating files\n"
 msgstr "%s: s'ha produït un error en actualitzar el fitxer\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Forma d'ús: %s [-f|-s] [nom]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "       %s [-x màx] [-n mín] [-w avís] [-i inactiu] nom\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "       %s {-l|-u|-d|-S|-e} nom\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
 
 msgid "Old password: "
 msgstr "Contrasenya antiga: "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "La contrasenya és incorrecte per a «%s»\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1253,6 +1310,10 @@ msgstr ""
 msgid "Sorry."
 msgstr "Disculpeu."
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "passwd: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: s'ha d'executar des d'una terminal\n"
@@ -1503,6 +1564,10 @@ msgstr "Forma d'ús: %s [-r] nom\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: s'ha produït un error en actualitzar l'entrada de grup\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: no es pot eliminar el grup primari de l'usuari.\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: no es pot obrir el fitxer de grups\n"
@@ -1658,28 +1723,5 @@ msgstr ""
 "«vipw» edita /etc/passwd        «vipw -s» edita /etc/shadow\n"
 "«vigr» edita /etc/group         «vigr -s» edita /etc/gshadow\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "Forma d'ús: groupadd [-g gid [-o]] [-f] grup\n"
-
-#, fuzzy
-#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-#~ msgstr "Forma d'ús: useradd [-u uid [-o]] [-g grup] [-G grup,...] \n"
-
-#~ msgid ""
-#~ "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-#~ msgstr ""
-#~ "                    [-d home] [-s intèrpret] [-c ordre] [-m [-k "
-#~ "plantilla]]\n"
-
-#~ msgid "               [-f inactive] [-e expire]\n"
-#~ msgstr "                    [-f inactiu] [-e caduca]\n"
-
-#, fuzzy
-#~ msgid "               [-p passwd] [-K KEY=VALUE] name\n"
-#~ msgstr "                    [-p contrasenya] nom\n"
-
-#~ msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-#~ msgstr "            useradd -D [-g grup] [-b base] [-s intèrpret]\n"
-
-#~ msgid "%s: -O requires NAME=VALUE\n"
-#~ msgstr "%s: «-O» requereix NOM=VALOR\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: PAM chauthok ha fallat\n"
index 51f2e42ba5ad9761be204408c3594c53ba5c6bfc..f8a0eae1cf24de1b0235cfcd578abea1e13d2651 100644 (file)
Binary files a/po/cs.gmo and b/po/cs.gmo differ
index 941507ab8d69fe06d32acd937ad9e0d0d8576d2f..ecd2bb59fdc9d8a70d6c5a9ba5387dbb78363785 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -4,10 +4,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: shadow 4.0.12\n"
+"Project-Id-Version: shadow 4.0.13\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
-"PO-Revision-Date: 2005-08-11 18:38+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
+"PO-Revision-Date: 2005-09-28 13:10+0200\n"
 "Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
 "Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
 "MIME-Version: 1.0\n"
@@ -105,9 +105,30 @@ msgstr "Nemáte žádnou poštu."
 msgid "You have mail."
 msgstr "Máte poštu."
 
+msgid "no change"
+msgstr "beze změny"
+
+msgid "a palindrome"
+msgstr "palindrom"
+
+msgid "case changes only"
+msgstr "pouze změna velikosti písmen"
+
+msgid "too similar"
+msgstr "příliš podobné"
+
+msgid "too simple"
+msgstr "příliš jednoduché"
+
+msgid "rotated"
+msgstr "rotované"
+
+msgid "too short"
+msgstr "příliš krátké"
+
 #, c-format
 msgid "Bad password: %s.  "
-msgstr "Heslo %s je chybné. "
+msgstr "Chybné heslo: %s. "
 
 #, c-format
 msgid "passwd: pam_start() failed, error %d\n"
@@ -143,6 +164,12 @@ msgstr "Chybný kořenový adresář \"%s\"\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Nelze nastavit kořenový adresář na \"%s\"\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr "utmp záznam neexistuje. Musíte spustit \"login\" z nejnižšího \"sh\""
+
+msgid "Unable to determine your tty name."
+msgstr "Nelze zjistit vaše uživatelské jméno."
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "volání malloc(%d) selhalo\n"
@@ -261,6 +288,10 @@ msgstr "%s: soubor s hesly nelze otevřít\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: neznámý uživatel %s\n"
 
+#, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: soubor se stínovými hesly není přítomen\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s: soubor se stínovými hesly nelze zamknout\n"
@@ -269,6 +300,10 @@ msgstr "%s: soubor se stínovými hesly nelze zamknout\n"
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: soubor se stínovými hesly nelze otevřít\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr "%s: selhalo odevzdání privilegií (%s)\n"
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Měním informace o uživateli %s\n"
@@ -293,10 +328,6 @@ msgstr "%s: soubor se stínovými hesly nelze přepsat\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: soubor s hesly nelze přepsat\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: PAM chauthtok selhal\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -495,10 +526,6 @@ msgstr "Shell %s je neplatný.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Použití: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: VAROVÁNÍ! Musí mít oprávnění superuživatele!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: neznámý uživatel\n"
@@ -910,16 +937,18 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 "Použití: lastlog [volby]\n"
 "\n"
 "Volby:\n"
-"  -u, --user LOGIN\tzobrazí záznamy lastlogu pro uživatele LOGIN\n"
+"  -b, --before DNŮ \tzobrazí záznamy lastlogu starší než DNŮ\n"
 "  -h, --help\t\tzobrazí tuto nápovědu a skončí\n"
 "  -t, --time DNŮ\tzobrazí záznamy lastlogu novější než DNŮ\n"
+"  -u, --user LOGIN\tzobrazí záznamy lastlogu pro uživatele LOGIN\n"
 
 #, c-format
 msgid "Username         Port     From             Latest\n"
@@ -980,6 +1009,18 @@ msgstr " na `%.100s' z `%.200s'"
 msgid " on `%.100s'"
 msgstr " na `%.100s'"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr "login: Chyba PAM, končím: %s\n"
+
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Chybné přihlášení\n"
+
 #, c-format
 msgid ""
 "\n"
@@ -991,6 +1032,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Chybné přihlášení"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr "%s: chyba rozdvojení: %s"
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Varování: po dočasném zákazu je přihlašování opět povoleno.\n"
 
@@ -1006,6 +1051,13 @@ msgstr "Poslední přihlášení: %.19s na %s"
 msgid " from %.*s"
 msgstr " z %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+"Čas přihlášení vypršel\n"
+"\n"
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "Použití: newgrp [-] [skupina]\n"
@@ -1082,24 +1134,53 @@ msgid "%s: error updating files\n"
 msgstr "%s: chyba při aktualizaci souborů\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Použití: %s [-f|-s] [jméno]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "         %s [-x max] [-n min] [-w varování] [-i vypnutí] jméno\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "         %s {-l|-u|-d|-S|-e} jméno\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
+"Použití: passwd [volby] [účet]\n"
+"\n"
+"Volby:\n"
+"  -a, --all \t\t\tvypíše stav hesel na všech účtech\n"
+"  -d, --delete \t\t\tpro zadaný účet smaže heslo\n"
+"  -e, --expire\t\t\tpro zadaný účet vynutí expiraci hesla\n"
+"  -h, --help\t\t\tzobrazí tuto nápovědu a skončí\n"
+"  -k, --keep-tokens\t\tzmění heslo pouze pokud mu vypršela\n"
+"\t\t\t\tplatnost\n"
+"  -i, --inactive NEAKTIV\tzablokuje účet po NEAKTIV dnech od\n"
+"\t\t\t\tvypršení platnosti hesla\n"
+"  -l, --lock\t\t\tzamkne zadaný účet\n"
+"  -n, --mindays MIN_DNŮ\t\tnastaví minimální počet dnů před změnou\n"
+"\t\t\t\thesla na MIN_DNŮ\n"
+"  -q, --quiet\t\t\ttichý režim\n"
+"  -r, --repository REPOSITÁŘ\tzmění heslo v repositáři REPOSITÁŘ\n"
+"  -S, --status\t\t\tpro zadaný účet vypíše stav hesla\n"
+"  -u, --unlock\t\t\todemkne zadaný účet\n"
+"  -w, --warndays VAR_DNŮ\tnastaví varování o expiraci na VAR_DNŮ\n"
+"  -x, --maxdays MAX_DNŮ\t\tnastaví maximální počet dnů před změnou\n"
+"\t\t\t\thesla na MAX_DNŮ\n"
 
 msgid "Old password: "
 msgstr "Staré heslo: "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "Chybné heslo pro `%s'\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1259,6 +1340,10 @@ msgstr "Pro ověření zadejte VAŠE vlastní heslo.\n"
 msgid "Sorry."
 msgstr "Lituji."
 
+#, c-format
+msgid "%s: %s\n"
+msgstr "%s: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: musí být spuštěno z terminálu\n"
@@ -1532,6 +1617,10 @@ msgstr "Použití: %s [-r] jméno\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: položku souboru se skupinami nelze aktualizovat\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: primární skupinu uživatele nelze odstranit.\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: soubor se skupinami nelze otevřít\n"
@@ -1686,5 +1775,5 @@ msgstr ""
 "`vipw' edituje /etc/passwd        `vipw -s' edituje /etc/shadow\n"
 "`vigr' edituje /etc/group         `vigr -s' edituje /etc/gshadow\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "Použití: groupadd [-g gid [-o]] [-f] skupina\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: PAM chauthtok selhal\n"
index b0caaa4ffb38c8fe3ab985143b1e60434afe71aa..2ac12ee6edb0157303e9bf13f612f8abed9ba019 100644 (file)
Binary files a/po/da.gmo and b/po/da.gmo differ
index 3d75f53555fab3bc5d1c8703e2a1564b674cd9da..2b4a9cc5a49ba3f9ab9641c0b5e8d730b55b749b 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -5,16 +5,16 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: shadow 4.0.11.1\n"
+"Project-Id-Version: shadow 4.0.13\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
-"PO-Revision-Date: 2005-07-11 21:49+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
+"PO-Revision-Date: 2005-09-26 22:33+0200\n"
 "Last-Translator: Claus Hindsgaul <claus_h@image.dk>\n"
 "Language-Team: Danish <dansk@klid.dk>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.9.1\n"
+"X-Generator: KBabel 1.10.2\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 #, c-format
@@ -102,6 +102,27 @@ msgstr "Ingen post."
 msgid "You have mail."
 msgstr "Du har post."
 
+msgid "no change"
+msgstr "ingen ændring"
+
+msgid "a palindrome"
+msgstr "et palindrom"
+
+msgid "case changes only"
+msgstr "kun versalændringer"
+
+msgid "too similar"
+msgstr "for ens"
+
+msgid "too simple"
+msgstr "for simpelt"
+
+msgid "rotated"
+msgstr "omrokeret"
+
+msgid "too short"
+msgstr "for kort"
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Ugyldig adgangskode: %s.  "
@@ -117,9 +138,9 @@ msgstr "passwd: %s\n"
 msgid "passwd: password updated successfully\n"
 msgstr "passwd: adgangskoden blev opdateret\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Incorrect password for %s.\n"
-msgstr "Ugyldig adgangskode for `%s'\n"
+msgstr "Ugyldig adgangskode for %s.\n"
 
 #, c-format
 msgid "Unable to cd to \"%s\"\n"
@@ -140,6 +161,12 @@ msgstr "Ugyldig rodmappe \"%s\"\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Kan ikke ændre rodmappen til \"%s\"\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr "Ingen utmp-post.  Du skal køre \"login\" fra det laveste\"sh\"-niveau"
+
+msgid "Unable to determine your tty name."
+msgstr "Kan ikke afgøre dit tty-navn."
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) mislykkedes\n"
@@ -258,6 +285,10 @@ msgstr "%s: kan ikke åbne adgangskodefil\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: ukendt bruger %s\n"
 
+#, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: skyggeadgangskodefilen findes ikke\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s: kan ikke låse skyggeadgangskodefil\n"
@@ -266,6 +297,10 @@ msgstr "%s: kan ikke låse skyggeadgangskodefil\n"
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: kan ikke åbne skyggeadgangskodefil\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr "%s: kunne ikke afgive rettigheder (%s)\n"
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Ændrer forældelsesoplysninger for %s\n"
@@ -290,10 +325,6 @@ msgstr "%s: kan ikke genskrive skyggeadgangskodefilen\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: kan ikke genskrive adgangskodefilen\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: PAM chauthtok fejlede\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -317,23 +348,23 @@ msgstr "\tFulde navn: %s\n"
 msgid "Room Number"
 msgstr "Rum-nummer"
 
-#, fuzzy, c-format
+#, c-format
 msgid "\tRoom Number: %s\n"
-msgstr "Rum-nummer"
+msgstr "\tRum-nummer: %s\n"
 
 msgid "Work Phone"
 msgstr "Arbejdstelefon"
 
-#, fuzzy, c-format
+#, c-format
 msgid "\tWork Phone: %s\n"
-msgstr "Arbejdstelefon"
+msgstr "\tArbejdstelefon: %s\n"
 
 msgid "Home Phone"
 msgstr "Hjemmetelefon"
 
-#, fuzzy, c-format
+#, c-format
 msgid "\tHome Phone: %s\n"
-msgstr "Hjemmetelefon"
+msgstr "\tHjemmetelefon: %s\n"
 
 msgid "Other"
 msgstr "Andet"
@@ -491,10 +522,6 @@ msgstr "%s er en ugyldig skal.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Brug: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: ADVARSEL! Skal være set-UID root!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: ukendt bruger\n"
@@ -654,6 +681,16 @@ msgid ""
 "  -o, --non-unique\t\tallow create group with duplicate\n"
 "\t\t\t\t(non-unique) GID\n"
 msgstr ""
+"Brug: groupadd [tilvalg] gruppe\n"
+"\n"
+"Tilvalg:\n"
+"  -f, --force \t\tgennemtving success-afslutningsstatus hvis den\n"
+"\t\t\t\tangivne gruppe eksisterer i forvejen\n"
+"  -g, --gid GID\t\tbenyt GID til den nye gruppe\n"
+"  -h, --help\t\t\tvis denne hjælpebesked og afslut\n"
+"  -K, --key NØGLE=VÆRDI\t\ttilsidesætter standardværdier i/etc/login.defs\n"
+"  -o, --non-unique\t\ttillad gruppe med dupleret\n"
+"\t\t\t\t(ikke-unikt) GID\n"
 
 #, c-format
 msgid "%s: error adding new group entry\n"
@@ -763,9 +800,9 @@ msgstr "Brug: %s [-r] [-s] [gruppe [gskygge]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Brug %s [-r] [-s] [gruppe]\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "No\n"
-msgstr "Nej"
+msgstr "Nej\n"
 
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
@@ -896,17 +933,19 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 "Brug: lastlog [tilvalg]\n"
 "\n"
 "Tilvalg:\n"
+"  -b, --before DAGE\tvis kun lastlog-optegnelser, der er ældre end DAGE\n"
+"  -h, --help\t\tvis denne hjælpebesked og afslut\n"
+"  -t, --time DAGE\tvis kun lastlog-optegnelser, der er nyere end DAGE\n"
 "  -u, --user LOGIND\tvis lastlog-optegnelser for brugeren med det angivne "
 "LOGIND\n"
-"  -h, --help\t\tdvis denne hjælpebesked og afslut\n"
-"  -t, --time DAGE\tvis kun lastlog-optegnelser, der er nyere end DAGE\n"
 
 #, c-format
 msgid "Username         Port     From             Latest\n"
@@ -967,6 +1006,18 @@ msgstr " på `%.100s' fra `%.200s'"
 msgid " on `%.100s'"
 msgstr " på `%.100s'"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr "login: PAM-fejl, afbryder: %s\n"
+
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Forkert logind\n"
+
 #, c-format
 msgid ""
 "\n"
@@ -978,6 +1029,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Forkert login"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr "%s: fejl under spaltning: %s"
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Advarsel: login genetableret efter midlertidig udelukkelse.\n"
 
@@ -993,6 +1048,13 @@ msgstr "Sidst logget på: %.19s på %s"
 msgid " from %.*s"
 msgstr " fra %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+"logind-tid overskredet\n"
+"\n"
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "Brug: newgrp [-] [gruppe]\n"
@@ -1069,24 +1131,53 @@ msgid "%s: error updating files\n"
 msgstr "%s: fejl under opdatering af filerne\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Brug: %s [-f|-s] [navn]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "      %s [-x maks] [-n min] [-w advar] [-i inact] navn\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "      %s {-l|-u|-d|-S|-e} navn\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
+"Brug: passwd [tilvalg] [logind]\n"
+"\n"
+"Tilvalg:\n"
+"  -a, --all \t\t\trapportér alle kontis adgangskodestatus\n"
+"  -d, --delete \t\t\tslet den navngivne kontos adgangskode\n"
+"  -e, --expire\t\t\tgennemtving udløb af den navngivne kontos adgangskode\n"
+"  -h, --help\t\t\tvis denne hjælpebesked og afslut\n"
+"  -k, --keep-tokens\t\tskift kun adgangskode, hvis den er udløbet\n"
+"  -i, --inactive INAKTIVT\tset udløbne adgangskoder til \n"
+"\t\t\t\tto INAKTIVT\n"
+"  -l, --lock\t\t\tlæs den nanvgivne konto\n"
+"  -n, --mindays MIN_DAGE\tangiv minimale antal dage inden skift af "
+"adgangskode\n"
+"\t\t\t\ttil MIN_DAGE\n"
+"  -q, --quiet\t\t\ttavs tilstand\n"
+"  -r, --repository SAMLING\tskift adgangskode i samlingen SAMLING\n"
+"  -S, --status\t\t\traportér den navngivne kontos adgangskodestatus\n"
+"  -u, --unlock\t\t\tåbn den navngivne konto\n"
+"  -w, --warndays ADVAR_DAGE\tadvar om udløb i ADVAR_DAGE dage\n"
+"  -x, --maxdays MAKS_DAGE\tsæt det maksimale antal dage inden skift af\n"
+"\t\t\t\tadgangskode til MAKS_DAGE\n"
 
 msgid "Old password: "
 msgstr "Gammel adgangskode: "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "Ugyldig adgangskode for `%s'\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1150,9 +1241,9 @@ msgstr "Adgangskoden for %s er uændret.\n"
 msgid "Password changed.\n"
 msgstr "Adgangskode ændret.\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Password set to expire.\n"
-msgstr "Din adgangskode er udløbet."
+msgstr "Adgangskode er sat til at udløbe.\n"
 
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
@@ -1245,6 +1336,10 @@ msgstr "Angiv din EGEN adgangskode som autentifikation.\n"
 msgid "Sorry."
 msgstr "Beklager."
 
+#, c-format
+msgid "%s: %s\n"
+msgstr "%s: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: skal køres fra en terminal\n"
@@ -1503,6 +1598,8 @@ msgid ""
 "%s: warning: the home directory already exists.\n"
 "Not copying any file from skel directory into it.\n"
 msgstr ""
+"%s: advarsel: hjemmemappen eksisterer allerede.\n"
+"Kopierer ikke nogen filer til den fra skelet-mappen.\n"
 
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
@@ -1516,6 +1613,10 @@ msgstr "Brug: %s [-r] navn\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: fejl under opdatering af gruppelinje\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: kan ikke fjerne brugerens primære gruppe.\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: kan ikke åbne gruppefilen\n"
@@ -1671,37 +1772,5 @@ msgstr ""
 "'vipw' redigerer /etc/passwd    `vipw -s' redigerer /etc/shadow\n"
 "'vigr' redigerer /etc/group     `vigr -s' redigerer /etc/gshadow\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "Brug: groupadd [-g gid [-o]] [-f] gruppe\n"
-
-#, fuzzy
-#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-#~ msgstr "Brug: useradd [-u uid [-o]] [-g gruppe] [-G gruppe,...] \n"
-
-#~ msgid ""
-#~ "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-#~ msgstr ""
-#~ "              [-d hjemmemappe] [-s skal] [-c kommentar] [-m [-k "
-#~ "skabelon]]\n"
-
-#~ msgid "               [-f inactive] [-e expire]\n"
-#~ msgstr "              [-f inaktiv] [-e udløb ]\n"
-
-#, fuzzy
-#~ msgid "               [-p passwd] [-K KEY=VALUE] name\n"
-#~ msgstr "              [-p adgangskode] navn\n"
-
-#~ msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-#~ msgstr "      useradd -D [-g gruppe] [-b grundmappe] [-s skal]\n"
-
-#~ msgid "%s: -O requires NAME=VALUE\n"
-#~ msgstr "%s: -O kræver NAVN=VÆRDI\n"
-
-#~ msgid "unknown uid: %u\n"
-#~ msgstr "ukendt uid: %u\n"
-
-#~ msgid "%s: uid %u is not unique\n"
-#~ msgstr "%s: uid %u er ikke unik\n"
-
-#~ msgid "%s: can't get unique uid\n"
-#~ msgstr "%s: kan ikke få unik uid\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: PAM chauthtok fejlede\n"
index 85ca8ddf8ac9453e9f027a14036d0b670fc6b712..41d8b9e6737afa6b7a7af72f626544b1ef97ec57 100644 (file)
Binary files a/po/de.gmo and b/po/de.gmo differ
index 24c285f35a9fbfd1dbf837b85f62b542b377c4bf..594d5a8602d99e797814faf97980fb61d4e2ef76 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.12\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2002-03-11 12:02-0100\n"
 "Last-Translator: Frank Schmid <frank@cs-schmid.de>\n"
 "Language-Team: Frank Schmid <frank@cs-schmid.de>\n"
@@ -102,6 +102,28 @@ msgstr "Keine Post vorhanden."
 msgid "You have mail."
 msgstr "Sie haben Post."
 
+#, fuzzy
+msgid "no change"
+msgstr "%s: keine Änderungen\n"
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Schlechtes Kennwort: %s.  "
@@ -140,6 +162,13 @@ msgstr "Ungültiges Basisverzeichnis \"%s\"\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Kann Basisverzeichnis nicht nach \"%s\" ändern\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s: Kann Ihren Benutzernamen nicht feststellen.\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) fehlgeschlagen\n"
@@ -256,6 +285,10 @@ msgstr "%s: Kann Kennwortdatei nicht öffnen\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: Benutzer %s unbekannt\n"
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: Kann Shadow-Datei nicht öffnen\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s: Kann Shadow-Datei nicht sperren\n"
@@ -264,6 +297,10 @@ msgstr "%s: Kann Shadow-Datei nicht sperren\n"
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: Kann Shadow-Datei nicht öffnen\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Ändere die Kennwortalterung für %s\n"
@@ -288,10 +325,6 @@ msgstr "%s: Kann die Shadow-Datei nicht neu erstellen\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: Kann die Kennwortdatei nicht neu erstellen\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: PAM chauthtok fehlgeschlagen\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -489,10 +522,6 @@ msgstr "%s ist eine ungültige Shell.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Syntax: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: WARNUNG!  Muss set-UID root sein\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: Unbekannter Benutzer\n"
@@ -896,21 +925,22 @@ msgstr "Syntax: id\n"
 msgid " groups="
 msgstr " Gruppen="
 
-#, c-format
+#, fuzzy, c-format
 msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 "Syntax: lastlog [Optionen]\n"
 "\n"
 "Optionen:\n"
-"  -u, --user LOGIN\tEintrag für Benutzer LOGIN anzeigen\n"
 "  -h, --help\t\tZeigt diese Hilfe, sonst nichts\n"
 "  -t, --time DAYS\tNur Einträge zeigen, die jünger sind als DAYS Tage\n"
+"  -u, --user LOGIN\tEintrag für Benutzer LOGIN anzeigen\n"
 
 #, c-format
 msgid "Username         Port     From             Latest\n"
@@ -971,6 +1001,16 @@ msgstr " an `%.100s' von `%.200s'"
 msgid " on `%.100s'"
 msgstr " an `%.100s'"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "Login fehlerhaft"
+
 #, c-format
 msgid ""
 "\n"
@@ -982,6 +1022,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Login fehlerhaft"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Warnung: Login reaktiviert nach temporärer Sperre.\n"
 
@@ -997,6 +1041,11 @@ msgstr "Letzte Verbindung: %.19s an %s"
 msgid " from %.*s"
 msgstr " von %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "Syntax: newgrp [-] [Gruppe]\n"
@@ -1073,24 +1122,32 @@ msgid "%s: error updating files\n"
 msgstr "%s: Fehler beim Aktualisieren von Dateien\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Syntax: %s [-f|-s] [Name]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "        %s [-x max] [-n min] [-w Warnung] [-i Inaktiv] Name\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "        %s {-l|-u|-d|-S|-e} Name\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
 
 msgid "Old password: "
 msgstr "Altes Kennwort: "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "Falsches Kennwort für `%s'\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1251,6 +1308,10 @@ msgstr "Bitte geben Sie Ihr EIGENES Kennwort als Authentifizierung an.\n"
 msgid "Sorry."
 msgstr "Entschuldigung."
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "passwd: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: Muss von einem Terminal gestartet werden\n"
@@ -1525,6 +1586,10 @@ msgstr "Syntax: %s [-r] Name\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: Fehler beim Aktualisieren des Gruppeneintrags\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: Kann die primäre Gruppe des Benutzers nicht entfernen.\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: Kann Gruppendatei nicht öffnen\n"
@@ -1683,5 +1748,5 @@ msgstr ""
 "`vipw' bearbeitet /etc/passwd        `vipw -s' bearbeitet /etc/shadow\n"
 "`vigr' bearbeitet /etc/group         `vigr -s' bearbeitet /etc/gshadow\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "Syntax: groupadd [-g gid [-o]] [-f] Gruppe\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: PAM chauthtok fehlgeschlagen\n"
index f3cf8289ab85b0d708935462a78c465e06e4d763..1467a0d004286b3fc4f44977b82f1ef5b08784a6 100644 (file)
Binary files a/po/el.gmo and b/po/el.gmo differ
index a0314353323cddd8928aba645594b6a558f172b5..fc30850e536cdf5e7919ef94a58239bfa2769846 100644 (file)
--- a/po/el.po
+++ b/po/el.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Shadow 980726\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 1998-12-28 20:35:31+0100\n"
 "Last-Translator: Nikos Mavroyanopoulos <nmav@i-net.paiko.gr>\n"
 "Language-Team: Hellenic <el@li.org>\n"
@@ -98,6 +98,28 @@ msgstr "Κανένα γράμμα."
 msgid "You have mail."
 msgstr "Έχετε γράμματα."
 
+#, fuzzy
+msgid "no change"
+msgstr "%s: καμιά αλλαγή\n"
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Κακό συνθηματικό: %s.  "
@@ -136,6 +158,13 @@ msgstr "Μη έγκυρος πρωταρχικός κατάλογος \"%s\"\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Αδυναμία αλλαγής του πρωταρχικού καταλόγου σε \"%s\"\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s: Δεν είναι δυνατόν να καθοριστεί το όνομα χρήστη σας.\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "Η κλήση malloc(%d) απέτυχε\n"
@@ -239,6 +268,10 @@ msgstr "%s: αδυναμία ανοίγματος του αρχείου συνθ
 msgid "%s: unknown user %s\n"
 msgstr "%s: άγνωστος χρήστης %s\n"
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: αδυναμία ανοίγματος του αρχείου σκιωδών συνθηματικών\n"
+
 #, fuzzy, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s: αδυναμία κλειδώματος του αρχείου σκιωδών συνθηματικών\n"
@@ -247,6 +280,10 @@ msgstr "%s: αδυναμία κλειδώματος του αρχείου σκι
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: αδυναμία ανοίγματος του αρχείου σκιωδών συνθηματικών\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Αλλαγή πληροφοριών χρόνου για τον %s\n"
@@ -271,10 +308,6 @@ msgstr "%s: αδυναμία επανεγγραφής αρχείου σκιωδ
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: αδυναμία επανεγγραφής αρχείου συνθηματικών\n"
 
-#, fuzzy, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: αδυναμία ξεκλειδώματος αρχείου\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -467,11 +500,6 @@ msgstr "%s δεν είναι έγκυρος φλοιός.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Χρήση: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr ""
-"%s: ΠΡΟΣΟΧΗ!  Πρέπει να έχει τεθεί το bit παραχώρησης ταυτότητας root!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: άγνωστος χρήστης\n"
@@ -868,9 +896,10 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 
 #, c-format
@@ -932,6 +961,16 @@ msgstr " στο `%.100s' από `%.200s'"
 msgid " on `%.100s'"
 msgstr " στο `%.100s'"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "Διαδικασία εισόδου απέτυχε"
+
 #, c-format
 msgid ""
 "\n"
@@ -943,6 +982,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Διαδικασία εισόδου απέτυχε"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 "Προειδοποίηση: Η είσοδος επανενεργοποιήθηκε μετά από προσωρινό αποκλεισμό.\n"
@@ -959,6 +1002,11 @@ msgstr "Τελευταία είσοδος: %.19s στο %s"
 msgid " from %.*s"
 msgstr " από %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "Χρήση: newgrp [-] [ομάδα]\n"
@@ -1035,24 +1083,32 @@ msgid "%s: error updating files\n"
 msgstr "%s: Σφάλμα κατά την ενημέρωση αρχείων\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Χρήση: %s [-f|-s] [όνομα]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "       %s [-x μεγ.] [-n ελάχ.] [-w προειδ.] [-i ανενεργό] όνομα\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "       %s {-l|-u|-d|-S|-e} όνομα\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
 
 msgid "Old password: "
 msgstr "Παλιό Συνθηματικό: "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "Εσφαλμένο συνθηματικό για τον `%s'\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1214,6 +1270,10 @@ msgstr "Παρακαλώ εισάγετε το ΔΙΚΟ σας συνθηματ
 msgid "Sorry."
 msgstr "Λυπάμαι."
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "συνθηματικό: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: πρέπει να εκτελεστεί από τερματικό\n"
@@ -1461,6 +1521,10 @@ msgstr "Χρήση: %s [-r] όνομα\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: Σφάλμα κατά την ανανέωση καταχωρήσης ομάδας\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: αδυναμία αφαίρεσης της πρωταρχικής ομάδας του χρήστη.\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: αδυναμία ανοίγματος αρχείου ομάδων\n"
@@ -1622,37 +1686,6 @@ msgstr ""
 "`vipw' σύντασει το /etc/passwd        `vipw -s' συντάσσει το /etc/shadow\n"
 "`vigr' σύντασει το /etc/group         `vigr -s' συντάσσει το /etc/gshadow\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "Χρήση: groupadd [-g gid [-o]] [-f] ομάδα\n"
-
-#, fuzzy
-#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-#~ msgstr "Χρήση: useradd [-u uid [-o]] [-g ομάδα] [-G ομάδα,...] \n"
-
-#~ msgid ""
-#~ "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-#~ msgstr ""
-#~ "               [-d μητρικός_κατάλογος] [-s φλοιός] [-c σχόλιο]\n"
-#~ "               [-m [-k κανόνας]]\n"
-
-#~ msgid "               [-f inactive] [-e expire]\n"
-#~ msgstr "               [-f ανενεργό] [-e λήξη]\n"
-
 #, fuzzy
-#~ msgid "               [-p passwd] [-K KEY=VALUE] name\n"
-#~ msgstr "               [-p συνθηματικό] όνομα\n"
-
-#~ msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-#~ msgstr "       useradd -D [-g ομάδα] [-b βάση] [-s φλοιός]\n"
-
-#~ msgid "%s: -O requires NAME=VALUE\n"
-#~ msgstr "%s: -O απαιτεί ΌΝΟΜΑ=ΤΙΜΗ\n"
-
-#~ msgid "unknown uid: %u\n"
-#~ msgstr "άγνωστο uid: %u\n"
-
-#~ msgid "%s: uid %u is not unique\n"
-#~ msgstr "%s: Το uid %u δεν είναι μοναδικό\n"
-
-#~ msgid "%s: can't get unique uid\n"
-#~ msgstr "%s: αδυναμία ευρεσης μοναδικού uid\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: αδυναμία ξεκλειδώματος αρχείου\n"
index b73a34ba774b50bd451603dc2975ec033d99bb04..02c64e28ad21261f79dd442d0d8f1dc456873e0a 100644 (file)
Binary files a/po/es.gmo and b/po/es.gmo differ
index 1abdb26d9c61c2876f24ba6f14af9fa62e2fab17..80fca8bcbb91b832d80450bb2fb984f809ebff5b 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -4,10 +4,10 @@
 # Reviewed by Ricardo Mones <ricardo.mones@hispalinux.es>, 2004.
 msgid ""
 msgstr ""
-"Project-Id-Version: shadow 4.0.11\n"
+"Project-Id-Version: shadow 4.0.13\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
-"PO-Revision-Date: 2005-07-11 17:00+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
+"PO-Revision-Date: 2005-09-26 21:42+0200\n"
 "Last-Translator: Rubén Porras Campo <nahoo@inicia.es>\n"
 "Language-Team: Spanish <debian-l10n-spanish@lists.debian.org>\n"
 "MIME-Version: 1.0\n"
@@ -102,6 +102,27 @@ msgstr "Sin correo."
 msgid "You have mail."
 msgstr "Tiene correo."
 
+msgid "no change"
+msgstr "sin cambios"
+
+msgid "a palindrome"
+msgstr "un palíndromo"
+
+msgid "case changes only"
+msgstr "sólo cambios mayúsculas/minúsculas"
+
+msgid "too similar"
+msgstr "demasiado parecidas"
+
+msgid "too simple"
+msgstr "demasiado simpre"
+
+msgid "rotated"
+msgstr "rotada"
+
+msgid "too short"
+msgstr "demasiado corta"
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Contraseña mala: %s.  "
@@ -117,9 +138,9 @@ msgstr "passwd: %s\n"
 msgid "passwd: password updated successfully\n"
 msgstr "passwd: contraseña actualizada correctamente\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Incorrect password for %s.\n"
-msgstr "Contraseña incorrecta para `%s'\n"
+msgstr "Contraseña incorrecta para %s\n"
 
 #, c-format
 msgid "Unable to cd to \"%s\"\n"
@@ -140,6 +161,13 @@ msgstr "Directorio raíz \"%s\" inválido\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "No puedo cambiar el directorio raíz a \"%s\"\n"
 
+#, fuzzy
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr "Sin entrada utmp. Debe ejecutar «login» desde el nivel «sh» más bajo"
+
+msgid "Unable to determine your tty name."
+msgstr "No se pudo determinar el nombre de su tty."
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "falló malloc(%d)\n"
@@ -259,13 +287,21 @@ msgstr "%s: no puedo abrir el fichero de contraseñas\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: usuario desconocido %s\n"
 
+#, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: el fichero de contraseñas ocultas no está presente\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
-msgstr "%s: no puedo bloquear el fichero de contraseñas ocultas (shadow)\n"
+msgstr "%s: no puedo bloquear el fichero de contraseñas ocultas\n"
 
 #, c-format
 msgid "%s: can't open shadow password file\n"
-msgstr "%s: no puedo abrir el fichero de contraseñas ocultas (shadow)\n"
+msgstr "%s: no puedo abrir el fichero de contraseñas ocultas\n"
+
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr "%s: no fue posible desprenderse de los privilegios (%s)\n"
 
 #, c-format
 msgid "Changing the aging information for %s\n"
@@ -281,21 +317,16 @@ msgstr "%s: no puedo actualizar el fichero de contraseñas\n"
 
 #, c-format
 msgid "%s: can't update shadow password file\n"
-msgstr "%s: no puedo actualizar el fichero de contraseñas ocultas (shadow)\n"
+msgstr "%s: no puedo actualizar el fichero de contraseñas ocultas\n"
 
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
-msgstr ""
-"%s: no se puede reescribir el fichero de contraseñas ocultas (shadow)\n"
+msgstr "%s: no se puede reescribir el fichero de contraseñas ocultas\n"
 
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: no se puede reescribir el fichero de contraseñas\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: PAM chauthtok falló\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -320,23 +351,23 @@ msgstr "\tNombre completo: %s\n"
 msgid "Room Number"
 msgstr "Número de habitación"
 
-#, fuzzy, c-format
+#, c-format
 msgid "\tRoom Number: %s\n"
-msgstr "Número de habitación"
+msgstr "\tNúmero de habitación: %s\n"
 
 msgid "Work Phone"
 msgstr "Teléfono del trabajo"
 
-#, fuzzy, c-format
+#, c-format
 msgid "\tWork Phone: %s\n"
-msgstr "Teléfono del trabajo"
+msgstr "\tTeléfono del trabajo:% s\n"
 
 msgid "Home Phone"
 msgstr "Teléfono de casa"
 
-#, fuzzy, c-format
+#, c-format
 msgid "\tHome Phone: %s\n"
-msgstr "Teléfono de casa"
+msgstr "\tTeléfono de casa: %s\n"
 
 msgid "Other"
 msgstr "Otro"
@@ -494,10 +525,6 @@ msgstr "%s no es una shell válida.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Modo de uso: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: ¡AVISO! ¡Debe ser set-UID de superusuario!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: usuario desconocido\n"
@@ -663,6 +690,17 @@ msgid ""
 "  -o, --non-unique\t\tallow create group with duplicate\n"
 "\t\t\t\t(non-unique) GID\n"
 msgstr ""
+"Modo de uso: groupadd [opciones] grupo\n"
+"\n"
+"Opciones:\n"
+"  -f, --force \t\tfuerza una salida con un estado de éxito si el grupo\n"
+"\t\t\t\tespecificado existe\n"
+"  -g, --gid GID\t\tusa GID para el nuevo grupo\n"
+"  -h, --help\t\tmuestra esta ayuda y termina\n"
+"  -K, --key NOMBRE=VALOR prevalece sobre el valor predeterminado de \n"
+"\t\t\t\t/etc/login.defs\n"
+"  -o, --non-unique\tpermite crear grupos con un GID duplicado (que no es\n"
+"\t\t\t\túnico)\n"
 
 #, c-format
 msgid "%s: error adding new group entry\n"
@@ -772,9 +810,9 @@ msgstr "Modo de uso: %s [-r] [-s] [grupo [gshadow]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Modo de uso: %s [-r] [-s] [grupo]\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "No\n"
-msgstr "No"
+msgstr "No\n"
 
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
@@ -886,7 +924,7 @@ msgstr "%s: no se puede actualizar el fichero de grupo\n"
 
 #, c-format
 msgid "%s: can't delete shadow group file\n"
-msgstr "%s: no se puede eliminar el fichero de grupos oculto (shadow)\n"
+msgstr "%s: no se puede eliminar el fichero de grupos oculto\n"
 
 #, c-format
 msgid "Usage: id [-a]\n"
@@ -905,18 +943,19 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 "Modo de uso: lastlog [opciones]\n"
 "\n"
 "Opciones:\n"
-"  -u, --user USUARIO\tmuestra el registro lastlog para el usuario\n"
-"                        especificado\n"
+"  -b, --before DÍAS     muestra los registros lastlog anteriores a DÍAS\n"
 "  -h, --help\t\tmuestra este mensaje de ayuda y termina\n"
 "  -t, --time DÍAS\tmuestra sólo los registros lastlog más recientes\n"
 "                        que DÍAS\n"
+"  -u, --user USUARIO\tmuestra el registro lastlog para el usuario\n"
 
 #, c-format
 msgid "Username         Port     From             Latest\n"
@@ -977,6 +1016,18 @@ msgstr " en `%.100s' desde `%.200s'"
 msgid " on `%.100s'"
 msgstr " en `%.100s'"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr "login: Fallo de PAM, abortando: %s\n"
+
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Login incorrecto\n"
+
 #, c-format
 msgid ""
 "\n"
@@ -988,6 +1039,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Login incorrecto"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr "%s: fallo en la llamada a fork: %s"
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Aviso: acceso reestablecido después de un lockout temporal.\n"
 
@@ -1003,6 +1058,13 @@ msgstr "Última entrada: %.19s en %s"
 msgid " from %.*s"
 msgstr " desde %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+"tiempo de acceso excedido\n"
+"\n"
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "Modo de uso: newgrp [-] [grupo]\n"
@@ -1081,24 +1143,53 @@ msgid "%s: error updating files\n"
 msgstr "%s: error actualizando los ficheros\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Modo de uso: %s [-f|-s] [nombre]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "             %s [-x máx] [-n mín] [-w aviso] [-i inact] nombre\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "             %s {-l|-u|-d|-S|-e} nombre\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
+"Modo de uso: passwd [opciones] [nombre usuario]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\tinforma del estado de las contraseñas de todas\n"
+"                                las cuentas\n"
+"  -d, --delete \t\t\tborra la contraseña para la cuenta\n"
+"  -e, --expire\t\t\tfuerza a que la contraseña de la cuenta caduque\n"
+"  -h, --help\t\t\tmuestra esta ayuda y termina\n"
+"  -k, --keep-tokens\t\tcambia la contraseña sólo si a caducado\n"
+"  -i, --inactive INACTIVO\testablece la contraseña inactiva después de\n"
+"                                caducar a INACTIVO\n"
+"  -l, --lock\t\t\tbloquea la cuenta\n"
+"  -n, --mindays DÍAS_MIN\testablece el número mínimo de días antes de que\n"
+"                                se cambie la contraseña a DÍAS_MIN\n"
+"  -q, --quiet\t\t\tmodo silencioso\n"
+"  -r, --repository REP          cambia la contraseña en el repositorio REP\n"
+"  -S, --status\t\t\tindica el estado de la contraseña la cuenta\n"
+"  -u, --unlock\t\t\tdesbloquea la cuenta\n"
+"  -w, --warndays DÍAS_AVISO\testablece el aviso de caducidad a DÍAS_AVISO\n"
+"  -x, --maxdays DÍAS_MAX\testablece el número máximo de días antes de \n"
+"                                cambiar la contraseña a DÍAS_MAX\n"
 
 msgid "Old password: "
 msgstr "Contraseña antigua: "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "Contraseña incorrecta para `%s'\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1162,9 +1253,9 @@ msgstr "La contraseña para %s no se ha modificado.\n"
 msgid "Password changed.\n"
 msgstr "Contraseña cambiada.\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Password set to expire.\n"
-msgstr "Su contraseña ha caducado."
+msgstr "Contraseña caducada.\n"
 
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
@@ -1258,6 +1349,10 @@ msgstr "Por favor, introduzca su PROPIA contraseña como autenticación.\n"
 msgid "Sorry."
 msgstr "Disculpe."
 
+#, c-format
+msgid "%s: %s\n"
+msgstr "%s: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: debe ejecutarse desde un terminal\n"
@@ -1381,11 +1476,11 @@ msgstr ""
 "  -d, --home-dir DIR_PERSONAL\tdirectorio personal para el nuevo usuario\n"
 "  -D, --defaults\t\tmuestra o salva la configuración predeterminada\n"
 "                                modificada para useradd\n"
-"  -e, --expiredate FECHA_EXPIR\testablece la fecha de expiración de la "
-"cuenta a\n"
+"  -e, --expiredate FECHA_EXPIR\testablece la fecha de caducidad de la cuenta "
+"a\n"
 "                                FECHA_EXPIR\n"
-"  -f, --inactive INACTIVO\testablece el tiempo de inactividad después del\n"
-"                                que expira la cuenta a INACTIVO\n"
+"  -f, --inactive INACTIVO\testablece el tiempo de inactividad después de\n"
+"                                que caduque la cuenta a INACTIVO\n"
 "  -g, --gid GRUPO\t\tforzar el uso de GRUPO para la nueva cuenta de \n"
 "                                usuario\n"
 "  -G, --groups GRUPOS\t\tlista de grupos suplementarios para la nueva "
@@ -1526,6 +1621,8 @@ msgid ""
 "%s: warning: the home directory already exists.\n"
 "Not copying any file from skel directory into it.\n"
 msgstr ""
+"%s: aviso: el directorio personal ya existe.\n"
+"No se copia ningún fichero del directorio skel en él.\n"
 
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
@@ -1540,6 +1637,10 @@ msgstr "Modo de uso: %s [-r] nombre\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: error actualizando la entrada del grupo\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: no se puede eliminar el grupo primario del usuario.\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: no se puede abrir el fichero de grupos\n"
@@ -1697,5 +1798,5 @@ msgstr ""
 "`vipw' edita /etc/passwd        `vipw -s' edita /etc/shadow\n"
 "`vigr' edita /etc/group         `vigr -s' edita /etc/gshadow\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "Modo de uso: groupadd [-g gid [-o]] [-f] grupo\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: PAM chauthtok falló\n"
index e4bea9790d0f329f434e9fc5eac11a58605ff7dc..8900b2fcece28148b41671e6984bfaa15a780ef3 100644 (file)
Binary files a/po/eu.gmo and b/po/eu.gmo differ
index a3c7f58607aa5d146cd1f52c14bf3897a8f71f96..1ceabb73204be89ae7823e7e133bb2541250a32c 100644 (file)
--- a/po/eu.po
+++ b/po/eu.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2005-04-19 21:28+0200\n"
 "Last-Translator: Iaki Larraaga Murgoitio <dooteo@euskalgnu.org>\n"
 "Language-Team:  <itzulpena@euskalgnu.org>\n"
@@ -108,6 +108,28 @@ msgstr "Mezurik ez."
 msgid "You have mail."
 msgstr "Mezua duzu."
 
+#, fuzzy
+msgid "no change"
+msgstr "%s: aldaketarik gabe\n"
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Pasahitz okerra: %s.  "
@@ -146,6 +168,13 @@ msgstr "Baliogabeko erro direktorioa \"%s\"\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Ezin da erro direktorioa  \"%s\"-ra aldatu.\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s: Ezin da erabiltzaile-izena zehaztu.\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) huts egin du\n"
@@ -249,6 +278,10 @@ msgstr "%s: ezin da pasahitzen fitxategia ireki\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: %s erabiltzaile ezezaguna\n"
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: ezin da itzalpeko (shadow) pasahitz-fitxategia ireki\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s: ezin da itzalpeko (shadow) pasahitz-fitxategia blokeatu\n"
@@ -257,6 +290,10 @@ msgstr "%s: ezin da itzalpeko (shadow) pasahitz-fitxategia blokeatu\n"
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: ezin da itzalpeko (shadow) pasahitz-fitxategia ireki\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "%s(r)en data-informazioa aldatzen\n"
@@ -281,10 +318,6 @@ msgstr "%s:ezin da itzalpeko pasahitz-fitxategia berridatzi\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: ezin da pasahitzen fitxategia berridatzi\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: PAM chauthtok-ek huts egin du\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -481,10 +514,6 @@ msgstr "%s shell baliogabea da.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Erabilera: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: ABISUA!  root-aren set-UID izan behar du\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: erabiltzaile ezezaguna\n"
@@ -885,23 +914,24 @@ msgstr "Erabilera: id\n"
 msgid " groups="
 msgstr " taldeak="
 
-#, c-format
+#, fuzzy, c-format
 msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 "Erabilera: lastlog [aukerak]\n"
 "\n"
 "Aukerak:\n"
-"  -u, --user IZENA\tIZENA duen erabiltzailearen lastlog erregistroa \n"
-"\t\t\t\tbistaratzen du\n"
 "  -h, --help\t\tlaguntzako mezu hau bistaratu eta irten egiten da\n"
 "  -t, --time EGUNAK\tEGUNAK baino berriagoak diren erregistroak \n"
 "\t\t\t\tbakarrik bistaratzen ditu\n"
+"  -u, --user IZENA\tIZENA duen erabiltzailearen lastlog erregistroa \n"
+"\t\t\t\tbistaratzen du\n"
 
 #, c-format
 msgid "Username         Port     From             Latest\n"
@@ -962,6 +992,16 @@ msgstr "`%.100s'(e)tik `%.200s'(e)ra"
 msgid " on `%.100s'"
 msgstr "`%.100s'(e)n"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "Izen okerra"
+
 #, c-format
 msgid ""
 "\n"
@@ -973,6 +1013,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Izen okerra"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 "Abisua: saio-hasiera berriru gaitu egingo da aldi bateko blokeoaren "
@@ -990,6 +1034,11 @@ msgstr "Azken saio-hasiera: %.19s  %s(e)n"
 msgid " from %.*s"
 msgstr "%.*s(e)tik"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "Erabilera: newgrp [-] [taldea]\n"
@@ -1066,24 +1115,32 @@ msgid "%s: error updating files\n"
 msgstr "%s: errorea fitxategiak eguneratzean\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Erabilera: %s [-f|-s] [izena]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "           %s [-x geh] [-n gutx] [-w abisu] [-i ez-aktib] izena\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "           %s {-l|-u|-d|-S|-e} izena\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
 
 msgid "Old password: "
 msgstr "Pasahitz zaharra: "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "`%s'(r)en pasahitz okerra\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1242,6 +1299,10 @@ msgstr "Sartu zure pasahitz PROPIOA autentifikazio gisa\n"
 msgid "Sorry."
 msgstr "Barkatu."
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "passwd: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: terminal batetik exekutatu behar da\n"
@@ -1487,6 +1548,10 @@ msgstr "Erabilera: %s [-r] izena\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: errorea taldearen sarrera eguneratzean\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s ezin da erabiltzailearen talde nagusia ezabatu\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: ezin da talde-fitxategia ireki\n"
@@ -1643,37 +1708,5 @@ msgstr ""
 "`vigr' -k /etc/group editatzen du         `vigr -s' -k /etc/gshadow "
 "editatzen du\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "Erabilera: groupadd [-g gid [-o]] [-f] taldea\n"
-
-#, fuzzy
-#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-#~ msgstr "Erabilera: useradd [-u uid [-o]] [-g taldea] [-G taldea,...] \n"
-
-#~ msgid ""
-#~ "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-#~ msgstr ""
-#~ "                   [-d etxea] [-s shell] [-c iruzkina] [-m [-k "
-#~ "txantiloia]]\n"
-
-#~ msgid "               [-f inactive] [-e expire]\n"
-#~ msgstr "              [-f ez-aktiboa] [-e iraungitu]\n"
-
-#, fuzzy
-#~ msgid "               [-p passwd] [-K KEY=VALUE] name\n"
-#~ msgstr "              [-p pasahitza] izena\n"
-
-#~ msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-#~ msgstr "           useradd -D [-g taldea] [-b base] [-s shell]\n"
-
-#~ msgid "%s: -O requires NAME=VALUE\n"
-#~ msgstr "%s: -O-k NAME=BALIOA eskatzen du\n"
-
-#~ msgid "unknown uid: %u\n"
-#~ msgstr "uid ezezaguna: %u\n"
-
-#~ msgid "%s: uid %u is not unique\n"
-#~ msgstr "%s:%u uid-a ez da bakarra\n"
-
-#~ msgid "%s: can't get unique uid\n"
-#~ msgstr "%s: ezin da uid bakar bat eskuratu\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: PAM chauthtok-ek huts egin du\n"
index a2df8a6c0ca26f66eb2b7839161d19b7288aca47..066d9859b803c366ec0b5dc8b206125a1418bed4 100644 (file)
Binary files a/po/fi.gmo and b/po/fi.gmo differ
index 684815abaa601597e2766c0f57491db993779d01..dfb20f5c4ed9f680af8cb86913c2e18e203f3812 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.12\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2005-08-11 21:59+0300\n"
 "Last-Translator: Tommi Vainikainen <thv+debian@iki.fi>\n"
 "Language-Team: Finnish <debian-l10n-finnish@lists.debian.org>\n"
@@ -100,6 +100,28 @@ msgstr "Ei postia."
 msgid "You have mail."
 msgstr "Sinulle on postia."
 
+#, fuzzy
+msgid "no change"
+msgstr "%s: ei muutoksia\n"
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Huono salasana: %s.  "
@@ -138,6 +160,13 @@ msgstr "Virheellinen juurihakemisto \"%s\"\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Ei voi vaihtaa juurihakemistoksi \"%s\"\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s: Käyttäjätunnusta ei voi selvittää.\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) epäonnistui\n"
@@ -259,6 +288,10 @@ msgstr "%s: salasanatiedostoa ei voi avata\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: Tuntematon käyttäjä %s\n"
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: varjosalasanatiedostoa ei voi avata\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s: varjosalasanatiedostoa ei voi lukita\n"
@@ -267,6 +300,10 @@ msgstr "%s: varjosalasanatiedostoa ei voi lukita\n"
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: varjosalasanatiedostoa ei voi avata\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Muutetaan käyttäjän %s vanhenemistietoja\n"
@@ -291,10 +328,6 @@ msgstr "%s: varjosalasanatiedostoa ei voi uudelleenkirjoittaa\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: salasanatiedostoa ei voi uudelleenkirjoittaa\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: PAM-chauthtok epäonnistui\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -491,10 +524,6 @@ msgstr "%s on virheellinen kuori.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Käyttö: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: VAROITUS!  Oikeuksina täytyy olla aseta-UID pääkäyttäjäksi!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: tuntematon käyttäjä\n"
@@ -904,21 +933,22 @@ msgstr "Käyttö: id\n"
 msgid " groups="
 msgstr " ryhmät="
 
-#, c-format
+#, fuzzy, c-format
 msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 "Käyttö: lastlog [valitsimet]\n"
 "\n"
 "Valitsimet:\n"
-"  -u, --login TUNNUS    Tulosta lastlog-tietue käyttäjälle TUNNUS\n"
 "  -h, --help            Näytä tämä ohje ja lopeta\n"
 "  -t, --time PÄIVÄÄ     Tulosta vain PÄIVÄÄ tuoreemmat lastlog-tietueet\n"
+"  -u, --login TUNNUS    Tulosta lastlog-tietue käyttäjälle TUNNUS\n"
 
 #, c-format
 msgid "Username         Port     From             Latest\n"
@@ -979,6 +1009,16 @@ msgstr " päätteeltä \"%.100s\" osoitteesta \"%.200s\""
 msgid " on `%.100s'"
 msgstr " päätteeltä \"%.100s\""
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "Sisäänkirjautuminen epäonnistui"
+
 #, c-format
 msgid ""
 "\n"
@@ -990,6 +1030,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Sisäänkirjautuminen epäonnistui"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 "Varoitus: sisäänkirjautuminen uudelleen käytössä hetkellisen eston jälkeen.\n"
@@ -1006,6 +1050,11 @@ msgstr "Edellinen kirjautuminen: %.19s päätteellä %s"
 msgid " from %.*s"
 msgstr " osoitteesta %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "Käyttö: newgrp [-] [ryhmä]\n"
@@ -1082,24 +1131,32 @@ msgid "%s: error updating files\n"
 msgstr "%s: virhe päivitettäessä tiedostoja\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Käyttö: %s [-f|-s] [nimi]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "       %s [-x kork] [-n väh] [-w varoitus] [-i poiskäyt] nimi\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "        %s {-l|-u|-d|-S|-e} nimi\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
 
 msgid "Old password: "
 msgstr "Vanha salasana: "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "Väärä salasana käyttäjälle \"%s\"\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1258,6 +1315,10 @@ msgstr "Syötä OMA salasanasi todennukseksi.\n"
 msgid "Sorry."
 msgstr "Pahoittelen."
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "passwd: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: täytyy suorittaa päätteessä\n"
@@ -1540,6 +1601,10 @@ msgstr "Käyttö: %s [-r] nimi\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: virhe päivitettäessä ryhmätietuetta\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: käyttäjän ensisijaista ryhmää ei voi poistaa\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: ryhmätiedostoa ei voi avata\n"
@@ -1699,169 +1764,5 @@ msgstr ""
 "\"vigr\" muokkaa tiedostoa /etc/group   \"vigr -s\" muokkaa tiedostoa /etc/"
 "gshadow\n"
 
-#~ msgid "Member already exists\n"
-#~ msgstr "Jäsen on jo olemassa\n"
-
-#~ msgid "Member to remove could not be found\n"
-#~ msgstr "Poistettavaa jäsentä ei löytynyt\n"
-
-#~ msgid ""
-#~ "Usage: groupmems -a username | -d username | -D | -l [-g groupname]\n"
-#~ msgstr ""
-#~ "Käyttö: groupmems -a käyttäjätunnus | -d käyttäjätunnus | -D | -l [-g "
-#~ "ryhmänimi]\n"
-
-#~ msgid "Only root can add members to different groups\n"
-#~ msgstr "Vain pääkäyttäjä voi lisätä jäseniä eri ryhmiin\n"
-
-#~ msgid "Group access is required\n"
-#~ msgstr "Tarvitaan ryhmäoikeus\n"
-
-#~ msgid "Not primary owner of current group\n"
-#~ msgstr "Ei nykyisen ryhmän ensisijainen omistaja\n"
-
-#~ msgid "Unable to lock group file\n"
-#~ msgstr "Ryhmätiedostoa ei voi lukita\n"
-
-#~ msgid "Unable to open group file\n"
-#~ msgstr "Ryhmätiedostoa ei voi avata\n"
-
-#~ msgid "Cannot close group file\n"
-#~ msgstr "Ryhmätiedostoa ei voi sulkea\n"
-
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "Käyttö: groupadd [-g gid [-o]] [-f] ryhmä\n"
-
-#~ msgid "No"
-#~ msgstr "Ei"
-
-#~ msgid ""
-#~ "Usage: useradd [options] LOGIN\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "  -b, --base-dir BASE_DIR\tbase directory for the the new user account\n"
-#~ "\t\t\t\thome directory\n"
-#~ "  -c, --comment COMMENT\t\tset the GECOS field for the new user account\n"
-#~ "  -d, --home-dir HOME_DIR\thome directory for the new user account\n"
-#~ "  -D, --defaults\t\tprint or save modified default useradd\n"
-#~ "\t\t\t\tconfiguration\n"
-#~ "  -e, --expiredate EXPIRE_DATE\tset account expiration date to "
-#~ "EXPIRE_DATE\n"
-#~ "  -f, --inactive INACTIVE\tset password inactive after expiration\n"
-#~ "\t\t\t\tto INACTIVE\n"
-#~ "  -g, --gid GROUP\t\tforce use GROUP for the new user account\n"
-#~ "  -G, --groups GROUPS\t\tlist of supplementary groups for the new\n"
-#~ "\t\t\t\tuser account\n"
-#~ "  -h, --help\t\t\tdisplay this help message and exit\n"
-#~ "  -k, --skel SKEL_DIR \t\tspecify an alternative skel directory\n"
-#~ "  -K, --key KEY=VALUE\t\toverrides /etc/login.defs defaults\n"
-#~ "  -m, --create-home\t\tcreate home directory for the new user\n"
-#~ "\t\t\t\taccount\n"
-#~ "  -o, --non-unique\t\tallow create user with duplicate\n"
-#~ "\t\t\t\t(non-unique) UID\n"
-#~ "  -p, --password PASSWORD\tuse encrypted password for the new user\n"
-#~ "\t\t\t\taccount\n"
-#~ "  -s, --shell SHELL\t\tthe login shell for the new user account\n"
-#~ "  -u, --uid UID\t\t\tforce use the UID for the new user account\n"
-#~ msgstr ""
-#~ "Käyttö: useradd [valitsimet] TUNNUS\n"
-#~ "\n"
-#~ "Valitsimet:\n"
-#~ "  -b, --base-dir YLÄHAK         Ylähakemisto uuden käyttäjätunnuksen\n"
-#~ "                                kotihakemistolle\n"
-#~ "  -c, --comment KOMMENTTI       Aseta GECOS-kenttä uudelle "
-#~ "käyttäjätunnukselle\n"
-#~ "  -d, --home-dir KOTIHAK        Uuden käyttäjätunnuksen kotihakemisto\n"
-#~ "  -D, --defaults                Tulosta tai tallenna useradd-työkalun\n"
-#~ "                                oletusasetukset\n"
-#~ "  -e, --expiredate VANH_PVM     Aseta tilin vanhenemispäiväykseksi "
-#~ "VANH_PVM\n"
-#~ "  -f, --inactive POISKÄYTÖSTÄ   Ota salasana pois käytöstä POISKÄYTÖSTÄ\n"
-#~ "                                päivää vanhenemisen jälkeen\n"
-#~ "  -g, --gid RYHMÄ               Valitse itse RYHMÄ uudelle "
-#~ "käyttäjätunnukselle\n"
-#~ "  -G, --groups RYHMÄT           Luettelo lisäryhmistä uudelle\n"
-#~ "                                käyttäjätunnukselle\n"
-#~ "  -h, --help                    Näytä tämä ohje ja lopeta\n"
-#~ "  -k, --skel MALLIHAK           Määritä vaihtoehtoinen mallihakemisto\n"
-#~ "  -K, --key AVAIN=ARVO          Kumoa /etc/login.defs-oletusarvot\n"
-#~ "  -m, --create-home             Luo kotihakemisto uudelle "
-#~ "käyttäjätunnukselle\n"
-#~ "  -o, --non-unique              Salli UID:n uudelleenkäyttö (ei-uniikki "
-#~ "UID)\n"
-#~ "                                luotaessa käyttäjätunnus\n"
-#~ "  -p, --password SALASANA       Käytä salakirjoitettua salasanaa uudelle\n"
-#~ "                                käyttäjätunnukselle\n"
-#~ "  -s, --shell KUORI             Uuden käyttäjätunnuksen "
-#~ "sisäänkirjautumiskuori\n"
-#~ "  -u, --uid UID                 Valitse itse UID uudelle "
-#~ "käyttäjätunnukselle\n"
-
-#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-#~ msgstr "Käyttö: useradd [-u uid [-o]] [-g ryhmä] [-G ryhmä,...] \n"
-
-#~ msgid ""
-#~ "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-#~ msgstr "               [-d koti] [-s kuori] [-c komento] [-m [-k malli]]\n"
-
-#~ msgid "               [-f inactive] [-e expire]\n"
-#~ msgstr "               [-f poiskäytöstä] [-e vanhenee]\n"
-
-#~ msgid "               [-p passwd] name\n"
-#~ msgstr "               [-p salansana] nimi\n"
-
-#~ msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-#~ msgstr "       useradd -D [-g ryhmä] [-b perus] [-s kuori]\n"
-
-#~ msgid ""
-#~ "Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-#~ "             [-I inactive] [-E expire] [-d last_day] user\n"
-#~ msgstr ""
-#~ "Käyttö: chage [-l] [-m väh_päivää] [-M kork_päivää] [-W varoitus]\n"
-#~ "              [-I poiskäytöstä] [-E vanhenee] [-d viim_päivä] käyttäjä\n"
-
-#~ msgid "%s: permission denied.\n"
-#~ msgstr "%s: Lupa evätty.\n"
-
-#~ msgid "%s: no DBM database on system - no action performed\n"
-#~ msgstr ""
-#~ "%s: järjestelmässä ei DBM-tietokantaa - toimenpiteitä ei suoritettu\n"
-
-#~ msgid "%s: cannot overwrite file %s\n"
-#~ msgstr "%s: tiedostoa %s ei voi ylikirjoittaa\n"
-
-#~ msgid "%s: cannot open DBM files for %s\n"
-#~ msgstr "%s: DBM-tiedostoja %s ei voi avata\n"
-
-#~ msgid "%s: the line beginning with %.16s... is too long\n"
-#~ msgstr "%s: rivi, joka alkaa %.16s... on liian pitkä\n"
-
-#~ msgid "%s: error parsing line \"%s\"\n"
-#~ msgstr "%s: virhe jäsennettäessä riviä \"%s\"\n"
-
-#~ msgid "adding record for name %s\n"
-#~ msgstr "lisätään tietue nimelle %s\n"
-
-#~ msgid "%s: error adding record for %s\n"
-#~ msgstr "%s: virhe lisättäessä tietuetta nimelle %s\n"
-
-#~ msgid "added %d entries, longest was %d\n"
-#~ msgstr "lisätty %d tietuetta, pisin oli %d\n"
-
-#~ msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-#~ msgstr "Käyttö: %s [-vf] [-p|g|sp|sg] tiedosto\n"
-
-#~ msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-#~ msgstr "Käyttö: %s [-vf] [-p|g|sp] tiedosto\n"
-
-#~ msgid "Usage: %s [-vf] [-p|g] file\n"
-#~ msgstr "Käyttö: %s [-vf] [-p|g] tiedosto\n"
-
-#~ msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-#~ msgstr "Käyttö: %s [-q] [-r] [-s] [passwd]\n"
-
-#~ msgid "%s: uid %u is not unique\n"
-#~ msgstr "%s: uid %u ei ole ainutkertainen\n"
-
-#~ msgid "%s: can't get unique uid\n"
-#~ msgstr "%s: ainutkertaista uidia ei saa\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: PAM-chauthtok epäonnistui\n"
index a0b35d9e777fb2bc544a45b9f1a787ccfacd468d..f3614183e7829fa8879b2ff6978bb7d1480ab469 100644 (file)
Binary files a/po/fr.gmo and b/po/fr.gmo differ
index 594afc0d8cddad98c351102042c588f74c1158c1..4a95eeb81b2a9cbcdae8d68d8545fae23849fc00 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -6,10 +6,10 @@
 # 
 msgid ""
 msgstr ""
-"Project-Id-Version: shadow 4.0.11.1\n"
+"Project-Id-Version: shadow 4.0.12\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
-"PO-Revision-Date: 2005-07-14 22:06+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
+"PO-Revision-Date: 2005-09-06 15:57+0200\n"
 "Last-Translator: Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>\n"
 "Language-Team: French <debian-l10n-french@lists.debian.org>\n"
 "MIME-Version: 1.0\n"
@@ -105,6 +105,27 @@ msgstr "Pas de courrier."
 msgid "You have mail."
 msgstr "Vous avez du courrier."
 
+msgid "no change"
+msgstr "pas de modification"
+
+msgid "a palindrome"
+msgstr "palindrome"
+
+msgid "case changes only"
+msgstr "changement de casse uniquement"
+
+msgid "too similar"
+msgstr "trop semblable au précédent"
+
+msgid "too simple"
+msgstr "trop simple"
+
+msgid "rotated"
+msgstr "anagramme"
+
+msgid "too short"
+msgstr "trop court"
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Mot de passe incorrect : %s.  "
@@ -120,9 +141,9 @@ msgstr "passwd : %s\n"
 msgid "passwd: password updated successfully\n"
 msgstr "passwd : le mot de passe a été mis à jour avec succès\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Incorrect password for %s.\n"
-msgstr "Mot de passe incorrect pour « %s »\n"
+msgstr "Mot de passe incorrect pour %s.\n"
 
 #, c-format
 msgid "Unable to cd to \"%s\"\n"
@@ -143,6 +164,14 @@ msgstr "Répertoire racine « %s » incorrect\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Impossible de changer le répertoire racine en « %s »\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+"Pas d'entrée utmp. Vous devez exécuter « login » depuis l'interpréteur de "
+"commandes de plus bas niveau"
+
+msgid "Unable to determine your tty name."
+msgstr "Impossible de déterminer le nom de votre tty."
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "échec de malloc(%d)\n"
@@ -171,25 +200,25 @@ msgid ""
 "\t\t\t\tchange to MAX_DAYS\n"
 "  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Usage : chage [options] utilisateur\n"
+"Utilisation : chage [options] utilisateur\n"
 "\n"
 "Options :\n"
 "  -d, --lastday DERNIER_JOUR     fixer la dernière modification du mot de\n"
 "                                 passe à DERNIER_JOUR\n"
-"  -E, --expiredate DATE_FIN_VALIDITÉ  fixer la date de fin de validité du\n"
-"                                 compte à DATE_FIN_VALIDITÉ\n"
+"  -E, --expiredate FIN_VALIDITÉ  fixer la date de fin de validité du compte\n"
+"                                 FIN_VALIDITÉ\n"
 "  -h, --help                     afficher ce message d'aide et quitter\n"
-"  -I, --inactive INACTIF         fixer le mot de passe inactif après la fin\n"
-"                                 de validité à INACTIF\n"
+"  -I, --inactive INACTIF         fixer la durée d'inactivité du mot de "
+"masse\n"
+"                                 après sa fin de validité à INACTIF\n"
 "  -l, --list                     afficher les informations concernant la\n"
 "                                 validité du compte au cours du temps\n"
 "  -m, --mindays JOURS_MIN        fixer le nombre minimum de jours avant la\n"
 "                                 modification du mot de passe à JOURS_MIN\n"
 "  -M, --maxdays JOURS_MAX        fixer le nombre maximum de jours avant la\n"
 "                                 modification du mot de passe à JOURS_MAX\n"
-"  -W, --warndays JOURS_AVERTISSEMENT  fixer le nombre de jours "
-"d'avertissement\n"
-"                                 de fin de validité à JOURS_AVERTISSEMENT\n"
+"  -W, --warndays JOURS_AVERT     fixer le nombre de jours d'avertissement\n"
+"                                 de fin de validité à JOURS_AVERT\n"
 
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
@@ -270,6 +299,10 @@ msgstr "%s : impossible d'ouvrir le fichier des mots de passe /etc/passwd\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s : utilisateur %s inconnu\n"
 
+#, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s : le fichier des mots de passe cachés /etc/shadow n'existe pas\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr ""
@@ -281,6 +314,10 @@ msgid "%s: can't open shadow password file\n"
 msgstr ""
 "%s : impossible d'ouvrir le fichier des mots de passe cachés /etc/shadow\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr "%s : échec lors de l'abandon des privilèges (%s)\n"
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Changement des informations sur la limite de validité pour %s\n"
@@ -309,22 +346,19 @@ msgstr ""
 msgid "%s: can't rewrite password file\n"
 msgstr "%s : impossible de réécrire le fichier des mots de passe /etc/passwd\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s : erreur de PAM chauthtok\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
 "\t[-h home_ph] [-o other] [user]\n"
 msgstr ""
-"Usage : %s [-f nom_complet] [-r num_bureau] [-w tel_bureau]\n"
+"Utilisation : %s [-f nom_complet] [-r num_bureau] [-w tel_bureau]\n"
 "\t[-h tel_perso] [-o autre] [utilisateur]\n"
 
 #, c-format
 msgid "Usage: %s [-f full_name] [-r room_no] [-w work_ph] [-h home_ph]\n"
 msgstr ""
-"Usage : %s [-f nom_complet] [-r num_bureau] [-w tel_bureau] [-h tel_maison]\n"
+"Utilisation : %s [-f nom_complet] [-r num_bureau] [-w tel_bureau] [-h "
+"tel_maison]\n"
 
 msgid "Full Name"
 msgstr "Nom complet"
@@ -336,23 +370,23 @@ msgstr "\tNom complet : %s\n"
 msgid "Room Number"
 msgstr "N° de bureau"
 
-#, fuzzy, c-format
+#, c-format
 msgid "\tRoom Number: %s\n"
-msgstr "N° de bureau"
+msgstr "\tN° de bureau : %s\n"
 
 msgid "Work Phone"
 msgstr "Téléphone professionnel"
 
-#, fuzzy, c-format
+#, c-format
 msgid "\tWork Phone: %s\n"
-msgstr "Téléphone professionnel"
+msgstr "\tTéléphone professionnel : %s\n"
 
 msgid "Home Phone"
 msgstr "Téléphone personnel"
 
-#, fuzzy, c-format
+#, c-format
 msgid "\tHome Phone: %s\n"
-msgstr "Téléphone personnel"
+msgstr "\tTéléphone personnel : %s\n"
 
 msgid "Other"
 msgstr "Autre"
@@ -439,7 +473,7 @@ msgid ""
 "  -m, --md5\t\tuse MD5 encryption instead DES when the supplied\n"
 "\t\t\tpasswords are not encrypted\n"
 msgstr ""
-"Usage : chpasswd [options]\n"
+"Utilisation : chpasswd [options]\n"
 "\n"
 "Options :\n"
 "  -e, --encrypted    les mots de passe fournis sont chiffrés\n"
@@ -498,7 +532,7 @@ msgstr ""
 
 #, c-format
 msgid "Usage: %s [-s shell] [name]\n"
-msgstr "Usage : %s [-s shell] [nom]\n"
+msgstr "Utilisation : %s [-s shell] [nom]\n"
 
 msgid "Login Shell"
 msgstr "Interpréteur de commandes initial"
@@ -521,11 +555,7 @@ msgstr "%s n'est pas un interpréteur de commandes valable.\n"
 
 #, c-format
 msgid "Usage: expiry {-f|-c}\n"
-msgstr "Usage : expiry {-f|-c}\n"
-
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s : ATTENTION, doit s'exécuter avec les droits du superutilisateur.\n"
+msgstr "Utilisation : expiry {-f|-c}\n"
 
 #, c-format
 msgid "%s: unknown user\n"
@@ -546,7 +576,7 @@ msgid ""
 "\t\t\t\tand limits (if used with -r, -m or -l options) only\n"
 "\t\t\t\tfor user with LOGIN\n"
 msgstr ""
-"Usage : faillog [options]\n"
+"Utilisation : faillog [options]\n"
 "\n"
 "Options :\n"
 "  -a, --all            afficher les enregistrements « faillog » pour tous\n"
@@ -583,7 +613,7 @@ msgstr "Utilisateur %s inconnu\n"
 
 #, c-format
 msgid "Usage: %s [-r|-R] group\n"
-msgstr "Usage : %s [-r|-R] groupe\n"
+msgstr "Utilisation : %s [-r|-R] groupe\n"
 
 #, c-format
 msgid "       %s [-a user] group\n"
@@ -696,6 +726,16 @@ msgid ""
 "  -o, --non-unique\t\tallow create group with duplicate\n"
 "\t\t\t\t(non-unique) GID\n"
 msgstr ""
+"Utilisation : groupadd [option] group\n"
+"\n"
+"Options :\n"
+"  -f, --force           forcer la sortie avec un code de retour de succès\n"
+"                        si le groupe existe déjà\n"
+"  -g, --gif GID         utiliser GID pour le nouveau groupe\n"
+"  -h, --help            afficher ce message d'aide et quitter  -K, --key "
+"CLÉ=VALEUR  remplacer les valeurs par défaut de /etc/login.defs\n"
+"  -o, --non-unique      permettre de créer un groupe avec un GID dupliqué\n"
+"                        (non unique)\n"
 
 #, c-format
 msgid "%s: error adding new group entry\n"
@@ -761,7 +801,7 @@ msgstr "%s : le groupe %s existe\n"
 
 #, c-format
 msgid "Usage: groupdel group\n"
-msgstr "Usage : groupdel groupe\n"
+msgstr "Utilisation : groupdel groupe\n"
 
 #, c-format
 msgid "%s: error removing group entry\n"
@@ -789,7 +829,7 @@ msgstr "%s : %s est le maître NIS\n"
 
 #, c-format
 msgid "Usage: groupmod [-g gid [-o]] [-n name] group\n"
-msgstr "Usage : groupmod [-g gid [-o]] [-n nom] groupe\n"
+msgstr "Utilisation : groupmod [-g gid [-o]] [-n nom] groupe\n"
 
 #, c-format
 msgid "%s: %s not found in /etc/group\n"
@@ -805,15 +845,15 @@ msgstr "%s : %s n'est pas un nom unique\n"
 
 #, c-format
 msgid "Usage: %s [-r] [-s] [group [gshadow]]\n"
-msgstr "Usage : %s [-r] [-s] [groupe [gshadow]]\n"
+msgstr "Utilisation : %s [-r] [-s] [groupe [gshadow]]\n"
 
 #, c-format
 msgid "Usage: %s [-r] [-s] [group]\n"
-msgstr "Usage : %s [-r] [-s] [groupe]\n"
+msgstr "Utilisation : %s [-r] [-s] [groupe]\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "No\n"
-msgstr "Non"
+msgstr "Non\n"
 
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
@@ -941,11 +981,11 @@ msgstr ""
 
 #, c-format
 msgid "Usage: id [-a]\n"
-msgstr "Usage : id [-a]\n"
+msgstr "Utilisation : id [-a]\n"
 
 #, c-format
 msgid "Usage: id\n"
-msgstr "Usage : id\n"
+msgstr "Utilisation : id\n"
 
 #, c-format
 msgid " groups="
@@ -956,18 +996,22 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
-"Usage : lastlog [options]\n"
+"Utilisation : lastlog [options]\n"
 "\n"
 "Options :\n"
-"  -u, --user LOGIN    afficher l'enregistrement « lastlog » pour\n"
-"                      l'utilisateur dont le compte est LOGIN\n"
-"  -h, --help          afficher ce message d'aide et quitter\n"
-"  -t, --time NB_JOURS afficher uniquement les enregistrements de\n"
-"                      « lastlog » plus récents que NB_JOURS jours\n"
+"   b, --before JOURS   n'afficher que les enregistrements de « lastlog »\n"
+"                       plus anciens que JOURS\n"
+"  -h, --help           afficher ce message d'aide et quitter\n"
+"  -t, --time NB_JOURS  afficher uniquement les enregistrements de "
+"« lastlog »\n"
+"                       plus récents que NB_JOURS jours\n"
+"  -u, --user LOGIN     afficher l'enregistrement « lastlog » pour\n"
+"                       l'utilisateur dont le compte est LOGIN\n"
 
 #, c-format
 msgid "Username         Port     From             Latest\n"
@@ -982,7 +1026,7 @@ msgstr "**Jamais connecté**"
 
 #, c-format
 msgid "Usage: %s [-p] [name]\n"
-msgstr "Usage : %s [-p] [nom]\n"
+msgstr "Utilisation : %s [-p] [nom]\n"
 
 #, c-format
 msgid "       %s [-p] [-h host] [-f name]\n"
@@ -1028,6 +1072,18 @@ msgstr " sur « %.100s » à partir de « %.200s »"
 msgid " on `%.100s'"
 msgstr " sur « %.100s »"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr "login : échec de PAM, abandon : %s\n"
+
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Identifiant de connexion incorrect\n"
+
 #, c-format
 msgid ""
 "\n"
@@ -1039,6 +1095,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Identifiant de connexion incorrect"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr "%s : échec lors du cloange (« forking » : %s"
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 "Attention : identifiant de connexion réactivé après une désactivation "
@@ -1056,13 +1116,20 @@ msgstr "Dernière connexion : le %.19s sur %s"
 msgid " from %.*s"
 msgstr " à partir de %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+"Dépassement de temps lors de la connexion\n"
+"\n"
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
-msgstr "Usage : newgrp [-] [groupe]\n"
+msgstr "Utilisation : newgrp [-] [groupe]\n"
 
 #, c-format
 msgid "Usage: sg group [[-c] command]\n"
-msgstr "Usage : sg groupe [[-c] commande]\n"
+msgstr "Utilisation : sg groupe [[-c] commande]\n"
 
 #, c-format
 msgid "unknown UID: %u\n"
@@ -1081,7 +1148,7 @@ msgstr "trop de groupes\n"
 
 #, c-format
 msgid "Usage: %s [input]\n"
-msgstr "Usage : %s [entrée]\n"
+msgstr "Utilisation : %s [entrée]\n"
 
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
@@ -1133,24 +1200,57 @@ msgid "%s: error updating files\n"
 msgstr "%s : erreur lors de la mise à jour des fichiers\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Usage : %s [-f|-s] [nom]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "       %s [-x max] [-n min] [-w avert] [-i inact] nom\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "       %s {-l|-u|-d|-S|-e} nom\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
+"Utilisation : passwd [options] [login]\n"
+"\n"
+"Options :\n"
+"  -a, --all                  afficher l'état des mots de passe de tous les\n"
+"                             comptes\n"
+"  -d, --delete               supprimer le mot de passe du compte indiqué\n"
+"  -e, --expire               forcer la fin de validité du compte indiqué\n"
+"  -h, --help                 afficher ce message d'aide et quitter\n"
+"  -k, --keep-tokens          ne changer le mot de passe que d'il est arrivé\n"
+"                             en fin de validité\n"
+"  -i, --inactive INACTIF     fixer la durée d'inactivation du mot de passe\n"
+"                             après sa fin de validité à INACTIF\n"
+"                             de INACTIF\n"
+"  -l, --lock                 bloquer le compte indiqué\n"
+"  -n, --mindays JOURS_MIN    fixer le nombre minimum de jour avant le\n"
+"                             changement de mot de passe à JOURS_MIN\n"
+"  -q, --quiet                mode silencieux\n"
+"  -r, --repository DÉPÔT     changer le mot de passe dans le dépôt DÉPÔT\n"
+"  -S, --status               afficher l'état du mot de passe du compte "
+"indiqué\n"
+"  -u, --unlock               déverrouiller le compte indiqué\n"
+"  -w, --warndays JOURS_AVERT fixer le nombre de jours d'avertissement de\n"
+"                             fin de validité à JOURS_AVERT\n"
+"  -x, --maxdays JOURS_MAX    fixer le nombre maximum de jours avant le\n"
+"                             changement de mot de passe à JOURS_MAX\n"
 
 msgid "Old password: "
 msgstr "Ancien mot de passe : "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "Mot de passe incorrect pour « %s »\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1218,13 +1318,13 @@ msgstr "Le mot de passe pour %s est inchangé.\n"
 msgid "Password changed.\n"
 msgstr "Mot de passe changé.\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Password set to expire.\n"
-msgstr "Votre mot de passe est arrivé en fin de validité."
+msgstr "Le mot de passe est configuré pour une validité limitée.\n"
 
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
-msgstr "Usage : %s [-q] [-r] [-s] [passwd [shadow]]\n"
+msgstr "Utilisation : %s [-q] [-r] [-s] [passwd [shadow]]\n"
 
 #, c-format
 msgid "invalid password file entry\n"
@@ -1321,6 +1421,10 @@ msgstr "Entrez votre PROPRE mot de passe pour vous authentifier.\n"
 msgid "Sorry."
 msgstr " "
 
+#, c-format
+msgid "%s: %s\n"
+msgstr "%s : %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s : doit être lancé à partir d'un terminal\n"
@@ -1434,7 +1538,7 @@ msgid ""
 "  -s, --shell SHELL\t\tthe login shell for the new user account\n"
 "  -u, --uid UID\t\t\tforce use the UID for the new user account\n"
 msgstr ""
-"Usage : useradd [options] LOGIN\n"
+"Utilisation : useradd [options] LOGIN\n"
 "\n"
 "Options :\n"
 "  -b, --base-dir REP_BASE     répertoire de base pour le répertoire\n"
@@ -1447,8 +1551,8 @@ msgstr ""
 "                              défaut modifiée de « useradd »\n"
 "  -e, --expiredate DATE_EXPIR fixer la date de fin de validité du\n"
 "                              compte à DATE_EXPIR\n"
-"  -f, --inactive INACTIV      rendre le mot de passe inactif après\n"
-"                              un délais de INACTIV\n"
+"  -f, --inactive INACTIF      fixer la durée d'inactivité du mot de masse\n"
+"                              après sa fin de validité à INACTIF\n"
 "  -g, --gid GROUPE            forcer l'utilisation de GROUPE pour le compte\n"
 "                              du nouvel utilisateur\n"
 "  -G, --groups GROUPS         liste des groupes supplémentaires pour le\n"
@@ -1602,6 +1706,8 @@ msgid ""
 "%s: warning: the home directory already exists.\n"
 "Not copying any file from skel directory into it.\n"
 msgstr ""
+"%s : attention, le répertoire personnel existe déjà.\n"
+"Aucun fichier du répertoire « skels » n'y sera copié.\n"
 
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
@@ -1611,12 +1717,16 @@ msgstr ""
 
 #, c-format
 msgid "Usage: %s [-r] name\n"
-msgstr "Usage : %s [-r] nom\n"
+msgstr "Utilisation : %s [-r] nom\n"
 
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s : erreur lors de la mise à jour de l'entrée dans /etc/group\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s : impossible d'enlever le groupe primaire de l'utilisateur.\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s : impossible d'ouvrir le fichier des groupes /etc/group\n"
@@ -1666,7 +1776,7 @@ msgstr "%s : erreur lors de l'effacement du répertoire %s\n"
 
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [[-G group,...] [-a]] \n"
-msgstr "Usage : %s\t[-u uid [-o]] [-g groupe] [-G groupe,...]\n"
+msgstr "Utilisation : %s\t[-u uid [-o]] [-g groupe] [-G groupe,...]\n"
 
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
@@ -1772,9 +1882,9 @@ msgid ""
 "`vipw' edits /etc/passwd        `vipw -s' edits /etc/shadow\n"
 "`vigr' edits /etc/group         `vigr -s' edits /etc/gshadow\n"
 msgstr ""
-"Usage :\n"
+"Utilisation :\n"
 "« vipw » éditer /etc/passwd        « vipw -s » éditer /etc/shadow\n"
 "« vigr » éditer /etc/group         « vigr -s » éditer /etc/gshadow\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "Usage : groupadd [-g gid [-o]] [-f] groupe\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s : erreur de PAM chauthtok\n"
index c3ca007a5d6a97b0858f31a8a878c36fe8bdb6e1..e809e4c5a7323f165e945a098c4838789ebfce10 100644 (file)
Binary files a/po/he.gmo and b/po/he.gmo differ
index 6ad2e6718dd5c7dc672a368a0cca1ffbf734c32f..62fbc9b579451cb99c9e2d061d0460bcaddd7032 100644 (file)
--- a/po/he.po
+++ b/po/he.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2004-07-21 23:59+0300\n"
 "Last-Translator: Lior Kaplan <webmaster@guides.co.il>\n"
 "Language-Team: Hebrew <en@li.org>\n"
@@ -98,6 +98,27 @@ msgstr "אין דואר."
 msgid "You have mail."
 msgstr "יש לך דואר."
 
+msgid "no change"
+msgstr ""
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "סיסמה לא טובה: %s.  "
@@ -136,6 +157,13 @@ msgstr "ספרית שורש לא חוקית \"%s\"\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "לא יכול לשנות ספרית שורש ל-\"%s\"\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s: לא יכול לקבוע את שם המשתמש שלך.\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) נכשל\n"
@@ -239,6 +267,10 @@ msgstr "%s: לא יכול לפתוח קובץ סיסמאות\n"
 msgid "%s: unknown user %s\n"
 msgstr ""
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: לא יכול לפתוח קובץ סיסמאות צל\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s: לא יכול לנעול קובץ סיסמאות צל\n"
@@ -247,6 +279,10 @@ msgstr "%s: לא יכול לנעול קובץ סיסמאות צל\n"
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: לא יכול לפתוח קובץ סיסמאות צל\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "שנה מידע הזדקות בשביל %s\n"
@@ -271,10 +307,6 @@ msgstr "%s: לא יכול לכתוב מחדש קובץ סיסמאות צל\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: לא יכול לכתוב מחדש קובץ סיסמאות\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr ""
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -462,10 +494,6 @@ msgstr "%s היא מעטפת לא חוקית.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "שימוש: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr ""
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr ""
@@ -854,9 +882,10 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 
 #, c-format
@@ -912,6 +941,16 @@ msgstr ""
 msgid " on `%.100s'"
 msgstr ""
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+
 #, c-format
 msgid ""
 "\n"
@@ -921,6 +960,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr ""
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 
@@ -936,6 +979,11 @@ msgstr ""
 msgid " from %.*s"
 msgstr ""
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr ""
@@ -1011,25 +1059,33 @@ msgstr ""
 msgid "%s: error updating files\n"
 msgstr ""
 
-#, fuzzy, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "שימוש: %s [-f|-s] [name]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr ""
-
 #, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
 msgstr ""
 
 msgid "Old password: "
 msgstr ""
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr ""
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1184,6 +1240,10 @@ msgstr ""
 msgid "Sorry."
 msgstr ""
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "passwd: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr ""
@@ -1423,6 +1483,10 @@ msgstr "שימוש: %s [-r] [name]\n"
 msgid "%s: error updating group entry\n"
 msgstr ""
 
+#, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr ""
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr ""
index 1117c731dc7ea329e8f2f2e81a66653b5268f5ad..f26f76a0b52d212d3ddfe9bd003fb7f4f8844683 100644 (file)
Binary files a/po/id.gmo and b/po/id.gmo differ
index 35d0e4ec78719ce910feb21788f0733b687e36b1..5980ca2058b030b82b41be1809cf7d39223a90a5 100644 (file)
--- a/po/id.po
+++ b/po/id.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2004-04-09 00:12+0700\n"
 "Last-Translator: Parlin Imanuel Toh <parlin@ui.edu>\n"
 "Language-Team: Debian Indonesia <debid@yahoogroups.com>\n"
@@ -95,6 +95,28 @@ msgstr "Tidak ada surat."
 msgid "You have mail."
 msgstr "Anda memiliki surat."
 
+#, fuzzy
+msgid "no change"
+msgstr "%s: tak ada perubahan\n"
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Kata sandi buruk: %s."
@@ -133,6 +155,13 @@ msgstr "Direktori root tidak sah \"%s\"\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Tidak dapat mengubah direktori root ke \"%s\"\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s: Tidak dapat menentukan nama pengguna anda.\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) gagal\n"
@@ -236,6 +265,10 @@ msgstr "%s: tidak dapat membuka berkas kata sandi\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: pengguna %s tak dikenal\n"
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: tidak dapat membuka berkas kata sandi bayangan\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s: tidak dapat mengunci berkas kata sandi bayangan\n"
@@ -244,6 +277,10 @@ msgstr "%s: tidak dapat mengunci berkas kata sandi bayangan\n"
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: tidak dapat membuka berkas kata sandi bayangan\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Mengubah informasi umur akun untuk %s\n"
@@ -268,10 +305,6 @@ msgstr "%s: tidak dapat menulis kembali berkas kata sandi bayangan\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: tidak dapat menulis kembali berkas kata sandi\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: chauthok PAM gagal\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -462,10 +495,6 @@ msgstr "%s merupakan shell yang tidak sah.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Penggunaan: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: PERINGATAN! Mesti merupakan set-UID root!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: pengguna tak dikenal\n"
@@ -854,9 +883,10 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 
 #, c-format
@@ -918,6 +948,16 @@ msgstr " pada `%.100s' dari `%.200s'"
 msgid " on `%.100s'"
 msgstr " pada `%.100s'"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "Login tidak tepat"
+
 #, c-format
 msgid ""
 "\n"
@@ -929,6 +969,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Login tidak tepat"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Perhatian: login dibolehkan setelah penguncian sementara.\n"
 
@@ -944,6 +988,11 @@ msgstr "Login terakhir: %.19s pada %s"
 msgid " from %.*s"
 msgstr " dari %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "Penggunaan: newgrp [-] [grup]\n"
@@ -1020,25 +1069,32 @@ msgid "%s: error updating files\n"
 msgstr ""
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Penggunaan: %s [-f|-s] [nama]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
 msgstr ""
-"            %s [-x maks] [-n min] [-w peringatan] [-i tak-aktif] nama\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "            %s {-l|-u|-d|-S|-e} nama\n"
 
 msgid "Old password: "
 msgstr "Kata sandi lama: "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "Kata sandi tidak tepat untuk `%s'\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1197,6 +1253,10 @@ msgstr "Silakan masukkan kata sandi anda SENDIRI sebagai otentikasi.\n"
 msgid "Sorry."
 msgstr "Maaf."
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "passwd: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: mesti dijalankan dari sebuah terminal\n"
@@ -1441,6 +1501,10 @@ msgstr "Penggunaan: %s [-r] nama\n"
 msgid "%s: error updating group entry\n"
 msgstr ""
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: tidak dapat menghapus grup utama dari pengguna.\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr ""
@@ -1595,30 +1659,5 @@ msgstr ""
 "`vipw' mengedit /etc/passwd     `vipw -s' mengedit /etc/shadow\n"
 "`vigr' mengedit /etc/group      `vigr -s' mengedit /etc/gshadow\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "Penggunaan: groupadd [-g gid [-o]] [-f] grup\n"
-
-#, fuzzy
-#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-#~ msgstr "Penggunaan: useradd [-u uid [-o]] [-g grup] [-G grup,...] \n"
-
-#~ msgid ""
-#~ "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-#~ msgstr ""
-#~ "                    [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-
-#~ msgid "               [-f inactive] [-e expire]\n"
-#~ msgstr "                    [-f tidak_aktif] [-e kadaluarsa]\n"
-
-#, fuzzy
-#~ msgid "               [-p passwd] [-K KEY=VALUE] name\n"
-#~ msgstr "                    [-p kata_sandi] nama\n"
-
-#~ msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-#~ msgstr "            useradd -D [-g grup] [-b base] [-s shell]\n"
-
-#~ msgid "%s: -O requires NAME=VALUE\n"
-#~ msgstr "%s: -O memerlukan NAMA=NILAI\n"
-
-#~ msgid "unknown uid: %u\n"
-#~ msgstr "uid tidak dikenal: %u\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: chauthok PAM gagal\n"
index 0555a1e793923d1f1252482331cea674e193dc71..682a4b44129fe1afc80311eeedf702242bdba776 100644 (file)
Binary files a/po/it.gmo and b/po/it.gmo differ
index 7dde412c108baf2aa26cad048d3f6c5ab47c33e9..4f8064b4146dcd4a5d3093c583ade1b84b480315 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -22,7 +22,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2005-04-17 21:57+0200\n"
 "Last-Translator: Danilo Piazzalunga <danilopiazza@libero.it>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
@@ -120,6 +120,28 @@ msgstr "Nessun messaggio di posta."
 msgid "You have mail."
 msgstr "C'è la solita posta."
 
+#, fuzzy
+msgid "no change"
+msgstr "%s: nessuna modifica\n"
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Password troppo debole: %s.  "
@@ -158,6 +180,13 @@ msgstr "Directory root «%s» non valida\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Impossibile cambiare la directory root in «%s»\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s: impossibile determinare il proprio nome utente.\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) non riuscita\n"
@@ -268,6 +297,10 @@ msgstr "%s: impossibile aprire il file delle password\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: utente «%s» sconosciuto\n"
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: impossibile aprire il file delle shadow password\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s: impossibile fare il lock del file delle shadow password\n"
@@ -276,6 +309,10 @@ msgstr "%s: impossibile fare il lock del file delle shadow password\n"
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: impossibile aprire il file delle shadow password\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Modifica delle informazioni sulla durata dell'account di %s\n"
@@ -300,10 +337,6 @@ msgstr "%s: impossibile riscrivere il file delle shadow password\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: impossibile riscrivere il file delle password\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: la chiamata PAM chauthok ha restituito un errore\n"
-
 # NdT: L'output è allineato se "%s" == "chfn".
 #, c-format
 msgid ""
@@ -503,10 +536,6 @@ msgstr "%s non è una shell valida.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Uso: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: attenzione: il bit SUID deve essere impostato a root.\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: utente sconosciuto\n"
@@ -910,23 +939,24 @@ msgstr "Uso: id\n"
 msgid " groups="
 msgstr " gruppi="
 
-#, c-format
+#, fuzzy, c-format
 msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 "Uso: lastlog [OPZIONI]\n"
 "\n"
 "Opzioni:\n"
-"  -u, --user LOGIN      mostra il record di ultimo accesso per l'utente\n"
-"                        specificato da LOGIN\n"
 "  -h, --help            mostra questo messaggio di aiuto ed esce\n"
 "  -t, --time GIORNI     mostra solo i record di ultimo accesso più recenti\n"
 "                        di un numero di GIORNI\n"
+"  -u, --user LOGIN      mostra il record di ultimo accesso per l'utente\n"
+"                        specificato da LOGIN\n"
 
 #, c-format
 msgid "Username         Port     From             Latest\n"
@@ -988,6 +1018,16 @@ msgstr " su «%.100s» da «%.200s»"
 msgid " on `%.100s'"
 msgstr " su «%.100s»"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "Login non corretto"
+
 #, c-format
 msgid ""
 "\n"
@@ -999,6 +1039,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Login non corretto"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 # NdT: Non è chiaro se login sia da tradurre con "accesso abilitato" o
 # "utente abilitato": il significato comunque è lo stesso.
 msgid "Warning: login re-enabled after temporary lockout.\n"
@@ -1017,6 +1061,11 @@ msgstr "Ultimo accesso: %.19s su %s"
 msgid " from %.*s"
 msgstr " da %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "Uso: newgrp [-] [GRUPPO]\n"
@@ -1093,24 +1142,32 @@ msgid "%s: error updating files\n"
 msgstr "%s: errore nell'aggiornare i file\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Uso: %s [-f|-s] [NOME]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "     %s [-x MAX] [-n MIN] [-w AVVISO] [-i INATT] NOME\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "     %s {-l|-u|-d|-S|-e} NOME\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
 
 msgid "Old password: "
 msgstr "Vecchia password: "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "Password sbagliata per «%s»\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1271,6 +1328,10 @@ msgstr "Inserire la PROPRIA password per autenticarsi.\n"
 msgid "Sorry."
 msgstr "Spiacente."
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "passwd: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: si deve avviare da un terminale\n"
@@ -1519,6 +1580,10 @@ msgstr "Uso: %s [-r] NOME\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: errore nell'aggiornare la voce nel file dei gruppi\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: impossibile rimuovere il gruppo principale dell'utente.\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: impossibile aprire il file dei gruppi\n"
@@ -1681,35 +1746,5 @@ msgstr ""
 "«vipw» per modificare /etc/passwd    «vipw -s» per modificare /etc/shadow\n"
 "«vigr» per modificare /etc/group     «vigr -s» per modificare /etc/gshadow\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "Uso: groupadd [-g GID [-o]] [-f] GRUPPO\n"
-
-#, fuzzy
-#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-#~ msgstr "Uso: useradd [-u UID [-o]] [-g GRUPPO] [-G GRUPPO,...] \n"
-
-#~ msgid ""
-#~ "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-#~ msgstr "             [-d HOME] [-s SHELL] [-c COMMENTO] [-m [-k MODELLO]]\n"
-
-#~ msgid "               [-f inactive] [-e expire]\n"
-#~ msgstr "             [-f INATTIVITÀ] [-e SCADENZA]\n"
-
-#, fuzzy
-#~ msgid "               [-p passwd] [-K KEY=VALUE] name\n"
-#~ msgstr "             [-p PASSWORD] NOME\n"
-
-#~ msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-#~ msgstr "     useradd -D [-g GRUPPO] [-b BASE] [-s SHELL]\n"
-
-#~ msgid "%s: -O requires NAME=VALUE\n"
-#~ msgstr "%s: -O richiede NOME=VALORE\n"
-
-#~ msgid "unknown uid: %u\n"
-#~ msgstr "uid «%u» sconosciuto\n"
-
-#~ msgid "%s: uid %u is not unique\n"
-#~ msgstr "%s: uid «%u» non univoco\n"
-
-#~ msgid "%s: can't get unique uid\n"
-#~ msgstr "%s: impossibile ottenere un uid univoco\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: la chiamata PAM chauthok ha restituito un errore\n"
index f0fad5fc3f4a601eaf88e4cfe11c78412a69ca6c..48ed727e935d85b8d06c809a0f204ab9dc9e0562 100644 (file)
Binary files a/po/ja.gmo and b/po/ja.gmo differ
index a167a45bc790d7460baf7033d452ceb033aec08f..5fda82c69d852ae8e1cb41c24b697d6a8b004b87 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 1990827\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2000-06-18 120:22+0900\n"
 "Last-Translator: Yasuyuki Furukawa <furukawa@vinelinux.org>\n"
 "Language-Team: Japanese\n"
@@ -95,6 +95,28 @@ msgstr "メールはありません."
 msgid "You have mail."
 msgstr "メールがあります."
 
+#, fuzzy
+msgid "no change"
+msgstr "%s: 変更はありません\n"
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "不正なパスワードです: %s."
@@ -133,6 +155,13 @@ msgstr "不正なルートディレクトリ  \"%s\" です \n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "ルートディレクトリを \"%s\"へ変更できません\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s: あなたのユーザ名を判定できません.\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) に失敗しました\n"
@@ -238,6 +267,10 @@ msgstr "%s: パスワードファイルが開けません\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: 不明なユーザ %s です\n"
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: シャドウ・パスワード・ファイルを開けません\n"
+
 #, fuzzy, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "シャドウ・パスワード・ファイルをロックできません\n"
@@ -246,6 +279,10 @@ msgstr "シャドウ・パスワード・ファイルをロックできません
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: シャドウ・パスワード・ファイルを開けません\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "%sの期限情報を変更中\n"
@@ -270,10 +307,6 @@ msgstr "%s: シャドウ・パスワード・ファイルを削除できませ
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: パスワード・ファイルを上書きできません\n"
 
-#, fuzzy, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: ファイルをロックできません\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -463,10 +496,6 @@ msgstr "%sは不正なシェルです.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "使用法: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: 警告!  set-UID rootされてなくてはなりません!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: 不明なユーザです\n"
@@ -855,9 +884,10 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 
 #, c-format
@@ -915,6 +945,16 @@ msgstr ""
 msgid " on `%.100s'"
 msgstr ""
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "ログインが違います"
+
 #, c-format
 msgid ""
 "\n"
@@ -926,6 +966,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "ログインが違います"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 
@@ -941,6 +985,11 @@ msgstr "最近のログイン: %.19s on %s"
 msgid " from %.*s"
 msgstr " 場所 %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "使用法: newgrp [-] [グループ]\n"
@@ -1017,24 +1066,32 @@ msgid "%s: error updating files\n"
 msgstr "%s: ファイル更新のエラーです\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "使用法: %s [-f|-s] [ユーザ名]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "       %s [-x 最大] [-n 最小] [-w 警告] [-i 無効] ユーザ名\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "       %s {-l|-u|-d|-S|-e} ユーザ名\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
 
 msgid "Old password: "
 msgstr "古いパスワード: "
 
-#, fuzzy, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "%sのパスワードの変更\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1192,6 +1249,10 @@ msgstr "認証として, あなた所有のパスワードを入力してくだ
 msgid "Sorry."
 msgstr "申し訳ございません."
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "パスワード: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: 端末上から実行してください\n"
@@ -1435,6 +1496,10 @@ msgstr "使用法: %s [-r] ユーザ名\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: グループ・エントリの更新のエラーです\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: DBMグループ・エントリを更新できません\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: グループ・ファイルを開けません\n"
@@ -1589,35 +1654,6 @@ msgstr ""
 "`vipw' /etc/passwd を編集       `vipw -s' /etc/shadowを編集\n"
 "`vigr' /etc/groupを編集         `vigr -s' /etc/gshadowを編集\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "使用法: groupadd [-g グループID [-o]] [-f] グループ\n"
-
-#, fuzzy
-#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-#~ msgstr ""
-#~ "使用法: useradd [-u ユーザID [-o]] [-g グループ] [-G グループ,...] \n"
-
-#~ msgid ""
-#~ "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-#~ msgstr ""
-#~ "                [-d ホーム] [-s シェル] [-c コメント]\n"
-#~ "                [-m [-k テンプレート]]\n"
-
-#~ msgid "               [-f inactive] [-e expire]\n"
-#~ msgstr "                [-f 無効日数] [-e 期限切れ日]\n"
-
 #, fuzzy
-#~ msgid "               [-p passwd] [-K KEY=VALUE] name\n"
-#~ msgstr "                [-p パスワード] ユーザ名\n"
-
-#~ msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-#~ msgstr "        useradd -D [-g グループ] [-b ベース] [-s シェル]\n"
-
-#~ msgid "unknown uid: %u\n"
-#~ msgstr "不明なユーザIDです: %u\n"
-
-#~ msgid "%s: uid %u is not unique\n"
-#~ msgstr "%s: ユーザID %u が重複しています\n"
-
-#~ msgid "%s: can't get unique uid\n"
-#~ msgstr "%s: 一意のユーザIDを取得できません\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: ファイルをロックできません\n"
index e3762149efc530c8b5cc1b8adf0c83b542397f4f..def1bcc7ad1afce3549b371af42eed2760a53122 100644 (file)
Binary files a/po/ko.gmo and b/po/ko.gmo differ
index f3cd83296003a407c4ec08815607c160076076a4..2332631bcbcf05b328bc74cfc5144f75e9ac07d1 100644 (file)
--- a/po/ko.po
+++ b/po/ko.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2005-04-19 16:02+0900\n"
 "Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
 "Language-Team: Korean <ko@li.org>\n"
@@ -99,6 +99,28 @@ msgstr "메일 없음."
 msgid "You have mail."
 msgstr "메일이 있습니다."
 
+#, fuzzy
+msgid "no change"
+msgstr "%s: 바꾸지 않았습니다\n"
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "잘못된 열쇠글: %s.  "
@@ -137,6 +159,13 @@ msgstr "루트 디렉토리 \"%s\"이(가) 잘못되었습니다\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "루트 디렉토리를 \"%s\"(으)로 바꿀 수 없습니다\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s: 사용자 이름을 인식할 수 없습니다.\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d)에 실패했음\n"
@@ -240,6 +269,10 @@ msgstr "%s: 열쇠글 파일을 열 수 없습니다\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: 알 수 없는 사용자 %s\n"
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: 셰도우 열쇠글 파일을 열 수가 없습니다\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s: 셰도우 열쇠글 파일을 잠글 수 없습니다\n"
@@ -248,6 +281,10 @@ msgstr "%s: 셰도우 열쇠글 파일을 잠글 수 없습니다\n"
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: 셰도우 열쇠글 파일을 열 수가 없습니다\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "%s의 유효 기간 정보를 바꿉니다\n"
@@ -272,10 +309,6 @@ msgstr "%s: 셰도우 열쇠글 파일을 다시 작성할 수 없습니다\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: 열쇠글 파일을 다시 작성할 수 없습니다\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: PAM chauthtok가 실패했습니다\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -473,10 +506,6 @@ msgstr "%s은(는) 쓸 수 없는 쉘입니다.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "사용법: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: 경고! 반드시 루트의 UID를 맞출것!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: 알 수 없는 사용자\n"
@@ -873,21 +902,22 @@ msgstr "사용법: id\n"
 msgid " groups="
 msgstr " 그룹들="
 
-#, c-format
+#, fuzzy, c-format
 msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 "사용법: lastlog [옵션]\n"
 "\n"
 "옵션:\n"
-"  -u, --user LOGIN\tLOGIN이라는 사용자의 최근 기록을 봅니다\n"
 "  -h, --help\t\t이 도움말 메세지를 표시하고 끝납니다\n"
 "  -t, --time DAYS\tDAYS일 내의 최근 로그 기록만 표시합니다\n"
+"  -u, --user LOGIN\tLOGIN이라는 사용자의 최근 기록을 봅니다\n"
 
 #, c-format
 msgid "Username         Port     From             Latest\n"
@@ -948,6 +978,16 @@ msgstr " on `%.100s' from `%.200s'"
 msgid " on `%.100s'"
 msgstr " on `%.100s'"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "로그인이 맞지 않습니다"
+
 #, c-format
 msgid ""
 "\n"
@@ -959,6 +999,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "로그인이 맞지 않습니다"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "경고: 일시적으로 페쇄된뒤 다시 로그인할 수 있습니다.\n"
 
@@ -974,6 +1018,11 @@ msgstr "마지막 로그인: %.19s on %s"
 msgid " from %.*s"
 msgstr " from %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "사용법: newgrp [-] [그룹]\n"
@@ -1050,24 +1099,32 @@ msgid "%s: error updating files\n"
 msgstr "%s: 파일을 업데이트 하는 데 오류가 발생했습니다\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "사용법: %s [-f|-s] [이름]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "       %s [-x 최대][-n 최소][-w 경고][-i 비활성화] 이름\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "       %s {-l|-u|-d|-S|-e} 이름\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
 
 msgid "Old password: "
 msgstr "예전 열쇠글: "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "`%s'에 대하여 열쇠글이 맞지 않습니다\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1226,6 +1283,10 @@ msgstr "사용자 자신의 열쇠글을 인증으로써 입력을 하십시오.
 msgid "Sorry."
 msgstr "죄송합니다."
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "열쇠글: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: 터미널에서 받드시 실행이 되어져야 합니다\n"
@@ -1473,6 +1534,10 @@ msgstr "사용법: %s [-r] 이름\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: 그룹 입력값을 업데이트하는 데 오류가 발생했습니다\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: 사용자의 주요 그룹은 지울 수 없습니다.\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: 그룹 파일을 열 수 없습니다\n"
@@ -1630,36 +1695,5 @@ msgstr ""
 "`vipw'는 /etc/passwd를 편집합니다   `vipw -s'는 /etc/shadow를 편집합니다\n"
 "`vigr'은 /etc/group을 편집합니다    `vigr -s'는 /etc/gshadow를 편집합니다\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "사용법: groupadd [-g GID [-o]] [-f] 그룹명\n"
-
-#, fuzzy
-#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-#~ msgstr "사용법: useradd [-u UID [-o]] [-g 그룹명] [-G 그룹,...]\n"
-
-#~ msgid ""
-#~ "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-#~ msgstr ""
-#~ "               [-d 홈디렉토리] [-s 쉘] [-c 주석] [-m [-k template]]\n"
-
-#~ msgid "               [-f inactive] [-e expire]\n"
-#~ msgstr "               [-f 비활성화] [-e 만기]\n"
-
-#, fuzzy
-#~ msgid "               [-p passwd] [-K KEY=VALUE] name\n"
-#~ msgstr "               [-p 열쇠글] 이름\n"
-
-#~ msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-#~ msgstr "       useradd -D [-g 그룹명] [-b 초기디렉토리] [-s 쉘]\n"
-
-#~ msgid "%s: -O requires NAME=VALUE\n"
-#~ msgstr "%s: NAME=VALUE를 위해서는 -O 옵션이 필요합니다\n"
-
-#~ msgid "unknown uid: %u\n"
-#~ msgstr "알 수 없는 UID: %u\n"
-
-#~ msgid "%s: uid %u is not unique\n"
-#~ msgstr "%s: UID %u은(는) 유일하지 않습니다\n"
-
-#~ msgid "%s: can't get unique uid\n"
-#~ msgstr "%s: 적절한 UID를 얻을 수 없습니다\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: PAM chauthtok가 실패했습니다\n"
index 672a47f29dcdb01f03342ddc317f8fd83dc97502..bdab4c503451ff1af4874dd4ae11dd17b8c65045 100644 (file)
Binary files a/po/nb.gmo and b/po/nb.gmo differ
index ccf13eb3b5d44577fdc67a325637c02307210fd4..b6f413d0a275db613bc33e26abcbadd32fd466c0 100644 (file)
--- a/po/nb.po
+++ b/po/nb.po
@@ -13,7 +13,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2004-06-03 21:42+0200\n"
 "Last-Translator: Håvard Korsvoll <korsvoll@skulelinux.no>\n"
 "Language-Team: Norwegian (Nynorsk) <i18n-nn@lister.ping.uio.no>\n"
@@ -104,6 +104,28 @@ msgstr "Ingen epost."
 msgid "You have mail."
 msgstr "Du har epost."
 
+#, fuzzy
+msgid "no change"
+msgstr "%s: ingen endringer\n"
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Dårlig passord: %s.  "
@@ -142,6 +164,13 @@ msgstr "Ugyldig rot mappe \"%s\"\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Kan ikke endre rot mappa til \"%s\"\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s: Kan ikke avgjøre ditt brukernavn.\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) feilet\n"
@@ -246,6 +275,10 @@ msgstr "%s: kan ikke åpne passordfila\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: ukjent bruker %s\n"
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: kan ikke åpne skyggepassordfila\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s: kan ikke låse skyggepassordfila\n"
@@ -254,6 +287,10 @@ msgstr "%s: kan ikke låse skyggepassordfila\n"
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: kan ikke åpne skyggepassordfila\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Endre utløpsinformasjon for %s\n"
@@ -278,10 +315,6 @@ msgstr "%s: kan ikke gjenskrive skyggepassordfila\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: kan ikke gjenskrive passordfila\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: PAM chauthtok feilet\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -471,10 +504,6 @@ msgstr "%s er et ugyldig skall.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Bruk: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: ADVARSEL!  Må være set-UID root!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: ukjent bruker\n"
@@ -863,9 +892,10 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 
 #, c-format
@@ -927,6 +957,16 @@ msgstr " på `%.100s' fra `%.200s'"
 msgid " on `%.100s'"
 msgstr " på `%.100s'"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "Ugyldig innlogging"
+
 #, c-format
 msgid ""
 "\n"
@@ -938,6 +978,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Ugyldig innlogging"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Advarsel: innlogging reaktivert etter midlertidig stenging.\n"
 
@@ -953,6 +997,11 @@ msgstr "Forrige login: %.19s på %s"
 msgid " from %.*s"
 msgstr " fra %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "Bruk: newgrp [-] [gruppe]\n"
@@ -1029,24 +1078,32 @@ msgid "%s: error updating files\n"
 msgstr "%s: feil ved oppdatering av filer\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Bruk: %s [-f|-s] [navn]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "      %s [-x max] [-n min] [-w advar] [-i inakt] navn\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "      %s {-l|-u|-d|-S|-e} navn\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
 
 msgid "Old password: "
 msgstr "Gammelt passord: "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "Feil passord for «%s»\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1205,6 +1262,10 @@ msgstr "Oppgi ditt EGET passord som autentisering.\n"
 msgid "Sorry."
 msgstr "Beklager."
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "passwd: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: må kjøres fra en terminal\n"
@@ -1451,6 +1512,10 @@ msgstr "Bruk: %s [-r] navn\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: feil ved oppdatering av gruppe-oppføring\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: kan ikke fjerne brukerens primærgruppe.\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: kan ikke åpne gruppefila\n"
@@ -1606,35 +1671,5 @@ msgstr ""
 "«vipw» redigerer /etc/passwd        «vipw -s» redigerer /etc/shadow\n"
 "«vigr» redigerer /etc/group         «vigr -s» redigerer /etc/gshadow\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "Bruk: groupadd [-g gid [-o]] [-f] gruppe\n"
-
-#, fuzzy
-#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-#~ msgstr "Bruk: useradd [-u uid [-o]] [-g gruppe] [-G gruppe,...] \n"
-
-#~ msgid ""
-#~ "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-#~ msgstr "              [-d hjem] [-s skall] [-c kommentar] [-m [-k mal]]\n"
-
-#~ msgid "               [-f inactive] [-e expire]\n"
-#~ msgstr "              [-f inaktiv] [-e utgå ]\n"
-
-#, fuzzy
-#~ msgid "               [-p passwd] [-K KEY=VALUE] name\n"
-#~ msgstr "              [-p passord] navn\n"
-
-#~ msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-#~ msgstr "      useradd -D [-g gruppe] [-b base] [-s skall]\n"
-
-#~ msgid "%s: -O requires NAME=VALUE\n"
-#~ msgstr "%s: -O krever NAME=VALUE\n"
-
-#~ msgid "unknown uid: %u\n"
-#~ msgstr "ukjent uid: %u\n"
-
-#~ msgid "%s: uid %u is not unique\n"
-#~ msgstr "%s: uid %u er ikke unik\n"
-
-#~ msgid "%s: can't get unique uid\n"
-#~ msgstr "%s: kan ikke finne unikt uid\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: PAM chauthtok feilet\n"
index 531c5240de30cb9bab8a2165444807ef5a88af8b..2af2c262bbec9284d4f7fde31667e8e4dab068f1 100644 (file)
Binary files a/po/nl.gmo and b/po/nl.gmo differ
index 86432ff3bbfaa054b68403047ca455816a6e1409..9d3e5b8c0359951a23a7e54b74a5ac3bf4025a57 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -4,7 +4,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.12\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2005-08-16 19:07+0100\n"
 "Last-Translator: Bart Cornelis <cobaco@linux.be>\n"
 "Language-Team: debian-l10n-dutch <debian-l10n-dutch@lists.debian.org>\n"
@@ -100,6 +100,28 @@ msgstr "Geen e-mails"
 msgid "You have mail."
 msgstr "U heeft e-mail."
 
+#, fuzzy
+msgid "no change"
+msgstr "%s: geen aanpassingen\n"
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Slecht wachtwoord: %s.  "
@@ -138,6 +160,13 @@ msgstr "Ongeldige hoofdmap '%s'\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Kan de hoofdmap niet veranderen naar '%s'\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s: Kan uw gebruikersnaam niet bepalen.\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) is mislukt\n"
@@ -264,6 +293,10 @@ msgstr "%s: kan wachtwoordbestand niet openen\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: onbekende gebruiker %s\n"
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: kan schaduw-wachtwoordenbestand niet openen\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s: kan schaduw-wachtwoordenbestand niet vergrendelen\n"
@@ -272,6 +305,10 @@ msgstr "%s: kan schaduw-wachtwoordenbestand niet vergrendelen\n"
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: kan schaduw-wachtwoordenbestand niet openen\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Verouderingsinformatie voor %s wordt aangepast\n"
@@ -296,10 +333,6 @@ msgstr "%s: kan het schaduwwachtwoordbestand niet herschrijven\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: kan het wachtwoordbestand niet herschrijven\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: PAM-chauthtok is mislukt\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -499,10 +532,6 @@ msgstr "%s is geen geldige shell.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Gebruik: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: WAARSCHUWING! Dient set-UID root ingesteld te zijn!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: onbekende gebruiker\n"
@@ -912,21 +941,22 @@ msgstr "Gebruik: id\n"
 msgid " groups="
 msgstr " groepen="
 
-#, c-format
+#, fuzzy, c-format
 msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 "Gebruik: lastlog [opties]\n"
 "\n"
 "Opties:\n"
-"  -u, --user LOGIN\tprint het lastlog-record van de gebruiker LOGIN\n"
 "  -h, --help\t\ttoon dit bericht en sluit af\n"
 "  -t, --time DAGEN\tprint enkel lastlog-records van de laatste DAGEN dagen\n"
+"  -u, --user LOGIN\tprint het lastlog-record van de gebruiker LOGIN\n"
 
 #, c-format
 msgid "Username         Port     From             Latest\n"
@@ -987,6 +1017,16 @@ msgstr " om `%.100s' vanaf `%.200s'"
 msgid " on `%.100s'"
 msgstr " om `%.100s'"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "Gebruikersnaam onjuist"
+
 #, c-format
 msgid ""
 "\n"
@@ -998,6 +1038,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Gebruikersnaam onjuist"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Waarschuwing: aanmelden gereactiveerd na tijdelijke buitensluiting.\n"
 
@@ -1013,6 +1057,11 @@ msgstr "Laatst aangemeld: %.19s om %s"
 msgid " from %.*s"
 msgstr " vanaf %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "Gebruik: newgrp [-] [groep]\n"
@@ -1089,24 +1138,32 @@ msgid "%s: error updating files\n"
 msgstr "%s: fout tijdens bijwerken bestanden\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Gebruik: %s [-f|-s] [naam]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "         %s [-x max] [-n min] [-w waarschuwing] [-i inact] naam\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "         %s {-l|-u|-d|-S|-e} naam\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
 
 msgid "Old password: "
 msgstr "Oud wachtwoord: "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "Onjuist wachtwoord voor '%s'\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1267,6 +1324,10 @@ msgstr "Gelieve uw EIGEN wachtwoord in te voeren voor authenticatie.\n"
 msgid "Sorry."
 msgstr "Sorry."
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "passwd: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: dient uitgevoerd te worden vanaf een terminal\n"
@@ -1551,6 +1612,10 @@ msgstr "Gebruik: %s [-r] naam\n"
 msgid "%s: error updating group entry\n"
 msgstr ":%s: fout tijdens bijwerken groepingang\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: kan de primaire groep van een gebruiker niet verwijderen.\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: kan groepbestand niet openen\n"
@@ -1708,37 +1773,5 @@ msgstr ""
 "`vipw' bewerkt /etc/passwd        `vipw -s' bewerkt /etc/shadow\n"
 "`vigr' bewerkt /etc/group         `vigr -s' bewerkt /etc/gshadow\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "Gebruik: groupadd [-g gid [-o]] [-f] groep\n"
-
-#, fuzzy
-#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-#~ msgstr "Gebruik: useradd [-u uid [-o]] [-g groep] [-G groep,...] \n"
-
-#~ msgid ""
-#~ "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-#~ msgstr ""
-#~ "                 [-d thuismap] [-s shell] [-c commentaar] [-m [-k "
-#~ "sjabloon]]\n"
-
-#~ msgid "               [-f inactive] [-e expire]\n"
-#~ msgstr "                 [-f niet actief] [-e vervalt ]\n"
-
-#, fuzzy
-#~ msgid "               [-p passwd] [-K KEY=VALUE] name\n"
-#~ msgstr "                 [-p wachtwoord] naam\n"
-
-#~ msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-#~ msgstr "         useradd -D [-g groep] [-b basis] [-s shell]\n"
-
-#~ msgid "%s: -O requires NAME=VALUE\n"
-#~ msgstr "%s: -O vereist NAAM=WAARDE\n"
-
-#~ msgid "unknown uid: %u\n"
-#~ msgstr "onbekende uid: %u\n"
-
-#~ msgid "%s: uid %u is not unique\n"
-#~ msgstr "%s: uid %u is niet uniek\n"
-
-#~ msgid "%s: can't get unique uid\n"
-#~ msgstr "%s: kan geen unieke uid verkrijgen\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: PAM-chauthtok is mislukt\n"
index b68a0cae56947ca45d864e9c760ac309926912f7..2fa75c06f49a8c75cc365aa7fd396340971d7374 100644 (file)
Binary files a/po/nn.gmo and b/po/nn.gmo differ
index 89f3187feb35ee8424b8522bf6bfbc76d5a9f7ab..45fd1650663ca619422bb70d03e323aa7226ad36 100644 (file)
--- a/po/nn.po
+++ b/po/nn.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2004-06-03 21:41+0200\n"
 "Last-Translator: Håvard Korsvoll <korsvoll@skulelinux.no>\n"
 "Language-Team: Norwegian (Nynorsk) <i18n-nn@lister.ping.uio.no>\n"
@@ -97,6 +97,28 @@ msgstr "Ingen e-post."
 msgid "You have mail."
 msgstr "Du har e-post."
 
+#, fuzzy
+msgid "no change"
+msgstr "%s: ingen endringar\n"
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Feil passord: %s.  "
@@ -135,6 +157,13 @@ msgstr "Ugyldig rotmappe «%s»\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Klarer ikkje endra rotmappe til «%s»\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s: Klarer ikkje avgjere brukarnamnet ditt.\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) feila\n"
@@ -238,6 +267,10 @@ msgstr "%s: klarer ikkje opna passordfil\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: ukjend brukar %s\n"
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: klarer ikkje opna skuggepassordfila\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s: klarer ikkje låsa skuggepassordfila\n"
@@ -246,6 +279,10 @@ msgstr "%s: klarer ikkje låsa skuggepassordfila\n"
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: klarer ikkje opna skuggepassordfila\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Endrar aldringsformasjonen for %s\n"
@@ -270,10 +307,6 @@ msgstr "%s: klarer ikkje skriva ny skuggepassordfil\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: klarer ikkje skriva ny passordfil\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: PAM chauthtok feila\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -463,10 +496,6 @@ msgstr "%s er eit ugyldig skal.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Bruk: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: ÅTVARING! Må vera set-UID root!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: ukjent brukar\n"
@@ -855,9 +884,10 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 
 #, c-format
@@ -919,6 +949,16 @@ msgstr " på «%.100s» frå «%.200s»"
 msgid " on `%.100s'"
 msgstr " på «%.100s»"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "Feil innlogging"
+
 #, c-format
 msgid ""
 "\n"
@@ -930,6 +970,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Feil innlogging"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 "Åtvaring: innlogging gjort mogeleg igjen etter mellombels utestenging.\n"
@@ -946,6 +990,11 @@ msgstr "Førre inlogging: %.19s på %s"
 msgid " from %.*s"
 msgstr " frå %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "Bruk: newgrp [-] [gruppe]\n"
@@ -1022,24 +1071,32 @@ msgid "%s: error updating files\n"
 msgstr "%s: feil ved oppdatering av filer\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Bruk: %s [-f|-s] [namn]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "      %s [-x maks] [-n min] [-w åtvar] [-i inaktiv] namn\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "      %s {-l|-u|-d|-S|-e} namn\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
 
 msgid "Old password: "
 msgstr "Gamalt passord:"
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "Feil passord for «%s»\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1199,6 +1256,10 @@ msgstr "Oppgje ditt EIGE passord for autentisering.\n"
 msgid "Sorry."
 msgstr "Årsak."
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "passwd: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: må køyrast frå ein terminal\n"
@@ -1445,6 +1506,10 @@ msgstr "Bruk: %s [-r] namn\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: feil ved oppdatering av gruppeoppføring\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: klarer ikkje fjerna primærgruppa til brukaren.\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: klarer ikkje opna gruppefila\n"
@@ -1600,35 +1665,5 @@ msgstr ""
 "«vipw» redigerer /etc/passwd        «vipw -s» redigerer /etc/shadow\n"
 "«vigr» redigerer /etc/group         «vigr -s» redigerer /etc/gshadow\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "Bruk: groupadd [-g gid [-o]] [-f] gruppe\n"
-
-#, fuzzy
-#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-#~ msgstr "Bruk: useradd [-u uid [-o]] [-g gruppe] [-G gruppe,...] \n"
-
-#~ msgid ""
-#~ "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-#~ msgstr "              [-d heim] [-s skal] [-c kommentar] [-m [-k mal]]\n"
-
-#~ msgid "               [-f inactive] [-e expire]\n"
-#~ msgstr "              [-f inaktiv] [-e utgår]\n"
-
-#, fuzzy
-#~ msgid "               [-p passwd] [-K KEY=VALUE] name\n"
-#~ msgstr "              [-p passord] namn\n"
-
-#~ msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-#~ msgstr "      useradd -D [-g gruppe] [-b startmappe] [-s skal]\n"
-
-#~ msgid "%s: -O requires NAME=VALUE\n"
-#~ msgstr "%s: -O krev NAME=VERDI\n"
-
-#~ msgid "unknown uid: %u\n"
-#~ msgstr "ukjent uid: %u\n"
-
-#~ msgid "%s: uid %u is not unique\n"
-#~ msgstr "%s: uid %u er ikkje unik\n"
-
-#~ msgid "%s: can't get unique uid\n"
-#~ msgstr "%s: klarer ikkje finne unik uid\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: PAM chauthtok feila\n"
index b80cfc65ef37012beff5e33777e34d6928e5f714..01dd240476a3f8d774d538b647da5978f024be86 100644 (file)
Binary files a/po/pl.gmo and b/po/pl.gmo differ
index e17cc9ba386fe77baebe295b17eb3ed0c6d10a3b..db3b7c103199477272ae910fffcef0bb5e51ee1a 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow-4.0.12\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
-"PO-Revision-Date: 2004-02-29 00:27+01:00\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
+"PO-Revision-Date: 2005-09-05 13:05+0200\n"
 "Last-Translator: Tomasz Kłoczko <kloczek@pld.org.pl>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
@@ -106,6 +106,27 @@ msgstr "Nie masz poczty."
 msgid "You have mail."
 msgstr "Masz pocztę."
 
+msgid "no change"
+msgstr "bez zmian"
+
+msgid "a palindrome"
+msgstr "palindrom"
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr "za proste"
+
+msgid "rotated"
+msgstr "rotacja"
+
+msgid "too short"
+msgstr "za krótkie"
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Złe hasło: %s.  "
@@ -144,6 +165,12 @@ msgstr "Nieprawidłowy katalog główny \"%s\"\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Nie można zmienić głównego katalogu na \"%s\"\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+msgid "Unable to determine your tty name."
+msgstr "Nie można ustalić nazwy twojego terminala."
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) nie powiodło się\n"
@@ -176,18 +203,18 @@ msgstr ""
 "\n"
 "Opcje:\n"
 "  -d, --lastday OSTATNI\t\tustawia date ostatniej zmiany hasła na OSTATNI\n"
-"  -E, --expiredate DATA_WAŻN\tustawia datę wązności konta na DATA_WAŻN\n"
+"  -E, --expiredate DATA_WAŻN\tustawia datę wności konta na DATA_WAŻN\n"
 "  -h, --help\t\t\twyświetlenie tego opisu i zakończenie\n"
 "  -I, --inactive NIEAKTYWNE\tustwia liczbę dni nieaktywności konta po\n"
 "\t\t\t\tktórych konta jest blokowane na NIEAKTYWNE\n"
-"  -l, --list\t\t\twyświetlenie informacji o terminach ważnosci konta i "
+"  -l, --list\t\t\twyświetlenie informacji o terminach ważności konta i "
 "hasła\n"
 "  -m, --mindays MIN_DNI\t\tustawia minimalną liczbę dni pomiędzy zmianami "
 "hasła\n"
 "\t\t\t\tna wartość MIN_DNI\n"
 "  -M, --maxdays MAX_DAYS\tustawia maksymalną liczbę dni, przez jakie hasło\n"
 "\t\t\t\tjest ważne na wartość MAX_DNI\n"
-"  -W, --warndays DNI_OSTRZ\tustawia na DNI_OSTRZEGANIA liczbę dni przed\n"
+"  -W, --warndays DNI_OSTRZ\tustawia na DNI_OSTRZ liczbę dni przed\n"
 "\t\t\t\tupływem ważności hasła\n"
 
 #, c-format
@@ -264,6 +291,10 @@ msgstr "%s: nie można otworzyć pliku z hasłami\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: nieznany użytkownik %s\n"
 
+#, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: brak pliku z ukrytymi hasłami\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s: nie można zablokować pliku z ukrytymi hasłami\n"
@@ -272,6 +303,10 @@ msgstr "%s: nie można zablokować pliku z ukrytymi hasłami\n"
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: nie można otworzyć pliku z ukrytymi hasłami\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Zmieniam informację o użytkowniku %s\n"
@@ -296,10 +331,6 @@ msgstr "%s: nie można przepisać pliku z ukrytymi hasłami\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: nie można przepisać pliku z hasłami\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: PAM chauthtok nie powiodło się\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -498,10 +529,6 @@ msgstr "%s jest nieprawidłową powłoką.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Użycie: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: OSTRZEŻENIE! Program musi posiadać SUID root!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: nieznany użytkownik\n"
@@ -914,18 +941,20 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 "Użycie: lastlog [opcje]\n"
 "\n"
 "Opcje:\n"
-"  -u, --user LOGIN\twyświetl rekord lastlog tylko dla użytkownika\n"
-"\t\t\t\to loginie LOGIN\n"
+"  -b, --before DNI\twyświetl tylko rekordy lastlog starsze niż DNI\n"
 "  -h, --help\t\t\twyświetlenie tego opisu i zakończenie\n"
 "  -t, --time DNI\t\twyświetl tylko rekordy lastlog nie starsze niż\n"
-"\t\t\t\tDNI dni\n"
+"\t\t\t\tDNI\n"
+"  -u, --user LOGIN\twyświetl rekord lastlog tylko dla użytkownika\n"
+"\t\t\t\to loginie LOGIN\n"
 
 #, c-format
 msgid "Username         Port     From             Latest\n"
@@ -986,6 +1015,16 @@ msgstr " na `%.100s' z `%.200s'"
 msgid " on `%.100s'"
 msgstr " na `%.100s'"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "Nieprawidłowe logowanie"
+
 #, c-format
 msgid ""
 "\n"
@@ -997,6 +1036,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Nieprawidłowe logowanie"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr "%s: failure forking: %s"
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Ostrzeżenie: logowanie ponownie odblokowanie po czasowej blokadzie.\n"
 
@@ -1012,6 +1055,11 @@ msgstr "Ostatnie logowanie: %s na %s"
 msgid " from %.*s"
 msgstr " z %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "Użycie: newgrp [-] [grupa]\n"
@@ -1087,25 +1135,56 @@ msgstr "%s: linia %d: nie można zaktualizować wpisu\n"
 msgid "%s: error updating files\n"
 msgstr "%s: błąd podczas aktualizowania plików\n"
 
-#, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Użycie: %s [-f|-s] [nazwa]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "        %s [-x maks] [-n min] [-w ostrz] [-i nieakty] nazwa\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "        %s {-l|-u|-d|-S|-e} nazwa\n"
+#, fuzzy, c-format
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
+"Użycie: passwd [opcje] [login]\n"
+"\n"
+"Opcje:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tkasuje hasło użytkowanika\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\twyświetlenie tego opisu i zakończenie\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tzablokuj konto\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -n, --mindays MIN_DNI\t\tustawia minimalną liczbę dni pomiędzy zmianami\n"
+"\t\t\t\thasła na MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\todblokuj konto\n"
+"  -w, --warndays DNI_OSTRZ\tustawia na DNI_OSTRZ liczbę dni przed\n"
+"\t\t\t\tupływem ważności hasła\n"
+"  -x, --maxdays MAX_DNI\tustawia maksymalną liczbę dni, przez jakie hasło\n"
+"\t\t\t\tjest ważne na wartość MAX_DNI\n"
 
 msgid "Old password: "
 msgstr "Stare hasło: "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "Nieprawidłowe hasło `%s'\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1264,6 +1343,10 @@ msgstr "Proszę wpisz swoje WŁASNE hasło jako hasło uwierzytelniające.\n"
 msgid "Sorry."
 msgstr "Wybacz."
 
+#, c-format
+msgid "%s: %s\n"
+msgstr "%s: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: musisz uruchamiać z terminala\n"
@@ -1538,6 +1621,10 @@ msgstr "Użycie: %s [-r] nazwa\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: błąd podczas aktualizacji wpisu grupy\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: nie można usunąć podstawowej grupy użytkowników.\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: nie można otworzyć pliku z grupami\n"
@@ -1693,3 +1780,6 @@ msgstr ""
 "Użycie:\n"
 "`vipw' edytuje /etc/passwd      `vipw -s' edytuje /etc/shadow\n"
 "`vigr' edytuje /etc/group       `vigr -s' edytuje /etc/gshadow\n"
+
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: PAM chauthtok nie powiodło się\n"
index b1236b6dcc023a0fee4d71b17c1044a354b51219..b49abc01c2cde35f6a48d00486d9a75eb53e919c 100644 (file)
Binary files a/po/pt.gmo and b/po/pt.gmo differ
index 3ad3c1c80e62d3c92298855364bf57d7e891b120..da82cacca53df162b085ad6defce0da8e7b25eaf 100644 (file)
--- a/po/pt.po
+++ b/po/pt.po
@@ -4,13 +4,14 @@
 # 18-04-2005 - Miguel Figueiredo <elmig@debianpt.org> - 5f1u
 # 12-07-2005 - Miguel Figueiredo <elmig@debianpt.org> - 7u4f
 # 14-08-2005 - Miguel Figueiredo <elmig@debianpt.org> - 6f2u
+# 03-09-2005 - Miguel Figueiredo <elmig@debianpt.org> - 6f12u
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.12\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
-"PO-Revision-Date: 2005-08-14 12:25+0000\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
+"PO-Revision-Date: 2005-09-03 23:05+0000\n"
 "Last-Translator: Miguel Figueiredo <elmig@debianpt.org>\n"
 "Language-Team: Portuguese <traduz@debianpt.org>\n"
 "MIME-Version: 1.0\n"
@@ -100,6 +101,27 @@ msgstr "Não tem correio."
 msgid "You have mail."
 msgstr "Tem correio."
 
+msgid "no change"
+msgstr "sem alterações"
+
+msgid "a palindrome"
+msgstr "um palíndromo"
+
+msgid "case changes only"
+msgstr "apenas alteração de maiúsculas/minúsculas"
+
+msgid "too similar"
+msgstr "demasiado parecido"
+
+msgid "too simple"
+msgstr "demasiado simples"
+
+msgid "rotated"
+msgstr "rodado"
+
+msgid "too short"
+msgstr "demasiado curto"
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Password inválida: %s.  "
@@ -138,6 +160,14 @@ msgstr "Directório raiz inválido \"%s\"\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Não é possível mudar o directório raiz para \"%s\"\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+"Sem entrada utmp.  Tem de executar \"login\" a partir do nível mais baixo "
+"\"sh\""
+
+msgid "Unable to determine your tty name."
+msgstr "Não é possível determinar nome do seu tty."
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "O malloc(%d) falhou\n"
@@ -257,6 +287,10 @@ msgstr "%s: não é possível abrir o ficheiro de passwords\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: utilizador desconhecido %s\n"
 
+#, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: o ficheiro de passwords shadow não está presente\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr ""
@@ -266,6 +300,10 @@ msgstr ""
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: não é possível abrir o ficheiro de passwords shadow\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr "%s: falhou baixar privilégios (%s)\n"
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "A alterar a informação de envelhecimento de %s\n"
@@ -290,10 +328,6 @@ msgstr "%s: não é possível reescrever o ficheiro de passwords shadow\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: não é possível reescrever o ficheiro de passwords\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: falhou chauthtok de PAM\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -386,8 +420,8 @@ msgstr "Não é possível alterar o ID para root.\n"
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr ""
-"Não é possível obter acesso exclusivo ao ficheiro de passwords; tente de "
-"novo mais tarde.\n"
+"Não é possível obter acesso exclusivo ao ficheiro de passwords; tente "
+"novamente mais tarde.\n"
 
 #, c-format
 msgid "Cannot open the password file.\n"
@@ -495,10 +529,6 @@ msgstr "%s é uma shell inválida.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Utilização: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: AVISO! Tem de ter o UID root!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: utilizador desconhecido\n"
@@ -910,16 +940,20 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 "Utilização: lastlog [opções]\n"
 "\n"
 "Opções:\n"
+"  -b, --before DIAS\tescrever apenas registos de lastlog mais antigos que "
+"DIAS\n"
+"  -h, --help\t\tmostrar esta mensagem e sai\n"
+"  -t, --time DIAS\tescrever apenas registos de lastlog mais recentes que "
+"DIAS\n"
 "  -u, --user LOGIN\tmostra o registo de lastlog para o utilizador LOGIN\n"
-"  -h, --help\t\tmostra esta mensagem e sai\n"
-"  -t, --time DIAS\tmostra apenas registos de lastlog mais recentes que DIAS\n"
 
 #, c-format
 msgid "Username         Port     From             Latest\n"
@@ -980,6 +1014,18 @@ msgstr " em `%.100s' de `%.200s'"
 msgid " on `%.100s'"
 msgstr " em `%.100s'"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr "login: Falha de PAM, a abortar: %s\n"
+
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Login incorrecto\n"
+
 #, c-format
 msgid ""
 "\n"
@@ -991,6 +1037,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Login incorrecto"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr "%s: falha no fork: %s"
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Aviso: o login foi novamente permitido após um tempo de bloqueio.\n"
 
@@ -1006,6 +1056,13 @@ msgstr "Última entrada no sistema: %.19s em %s"
 msgid " from %.*s"
 msgstr " de %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+"tempo para login excedido\n"
+"\n"
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "Utilização: newgrp [-] [grupo]\n"
@@ -1083,24 +1140,53 @@ msgid "%s: error updating files\n"
 msgstr "%s: erro ao actualizar ficheiros\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Utilização: %s [-f|-s] [nome]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "       %s [-x max] [-n min] [-w aviso] [-i inactivo] nome\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "       %s {-l|-u|-d|-S|-e} nome\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
+"Utilização: passwd [opções] [login]\n"
+"\n"
+"Opções:\n"
+"  -a, --all \t\t\treportar estado das passwords em todas as contas\n"
+"  -d, --delete \t\t\tapagar a password apra a conta indicada\n"
+"  -e, --expire\t\t\tforçar que a password expire para a conta indicada\n"
+"  -h, --help\t\t\tmostrar esta mensagem de ajuda e sair\n"
+"  -k, --keep-tokens\t\tapenas mudar a password se tiver expirado\n"
+"  -i, --inactive INACTIVA\tdefinir a password como inactiva após expirar\n"
+"\t\t\t\topós INACTIVA (dias)\n"
+"  -l, --lock\t\t\tbloquear a conta indicada\n"
+"  -n, --mindays MIN_DIAS\tdefinir para MIN_DIAS o número de dias antes\n"
+"\t\t\t\tde alterar a password\n"
+"  -q, --quiet\t\t\tmodo discreto\n"
+"  -r, --repository REPOSITÓRIO\tmudar a password no repositório REPOSITÓRIO\n"
+"  -S, --status\t\t\treportar estado da password na conta indicada\n"
+"  -u, --unlock\t\t\tdesbloquear a conta indicada\n"
+"  -w, --warndays AVISAR_DIAS\tdefinir para AVISAR_DIAS o número de dias\n"
+"\t\t\t\tpara alerta de expirar\n"
+"  -x, --maxdays MAX_DIAS\tdefinir para MAX_DIAS o número de dias máximo\n"
+"\t\t\t\tantes de alterar a password\n"
 
 msgid "Old password: "
 msgstr "Password antiga: "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "Password incorrecta para `%s'\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1260,6 +1346,10 @@ msgstr "Por favor introduza a SUA password como autenticação.\n"
 msgid "Sorry."
 msgstr "Desculpe."
 
+#, c-format
+msgid "%s: %s\n"
+msgstr "%s: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: deve ser executado a partir de um terminal\n"
@@ -1544,6 +1634,10 @@ msgstr "Utilização: %s [-r] nome\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: erro ao actualizar o registo do grupo\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: não é possível remover o grupo primário do utilizador.\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: não é possível abrir o ficheiro dos grupos\n"
@@ -1701,5 +1795,5 @@ msgstr ""
 "`vipw' edita /etc/passwd        `vipw -s' edita /etc/shadow\n"
 "`vigr' edita /etc/group         `vigr -s' edita /etc/gshadow\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "Utilização: groupadd [-g gid [-o]] [-f] grupo\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: falhou chauthtok de PAM\n"
index 8483be506d4de1da6e5514da24a090aaa2947f3e..84a397c88ee32fe6fa3bef30b0086d5f28a08969 100644 (file)
Binary files a/po/pt_BR.gmo and b/po/pt_BR.gmo differ
index 3c5f74d191b5fcd527207bd3619135daaec0b02d..7609128cf1d8f0e63a179959de135b6e9cdf4feb 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2004-06-12 17:16-0300\n"
 "Last-Translator: André Luís Lopes <andrelop@debian.org>\n"
 "Language-Team: Debian-BR Project <debian-l10n-portuguese@lists.debian.org>\n"
@@ -97,6 +97,28 @@ msgstr "Sem mensagens."
 msgid "You have mail."
 msgstr "Você possui mensagens."
 
+#, fuzzy
+msgid "no change"
+msgstr "%s : nenhuma mudança\n"
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Senha ruim : %s.  "
@@ -135,6 +157,13 @@ msgstr "Diretório raíz \"%s\" inválido\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Não foi possível mudar o diretório raíz para \"%s\"\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s : Não foi possível determinar seu nome de usuário.\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) falhou\n"
@@ -238,6 +267,10 @@ msgstr "%s : não foi possível abrir o arquivo de senhas\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s : usuário %s desconhecido\n"
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s : não foi possível abrir arquivo de senhas shadow\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s : não foi possível obter lock em arquivos de senhas shadow\n"
@@ -246,6 +279,10 @@ msgstr "%s : não foi possível obter lock em arquivos de senhas shadow\n"
 msgid "%s: can't open shadow password file\n"
 msgstr "%s : não foi possível abrir arquivo de senhas shadow\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Mudando a informação de idade para %s\n"
@@ -270,10 +307,6 @@ msgstr "%s : não foi possível reescrever arquivo de senhas shadow\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s : não foi possível reescrever arquivo de senhas\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s : chauthok PAM falhou\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -467,10 +500,6 @@ msgstr "%s é um shell inválido.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Uso : expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s : AVISO ! Deve ser set-UID root !\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s : usuário desconhecido\n"
@@ -859,9 +888,10 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 
 #, c-format
@@ -923,6 +953,16 @@ msgstr " em `%.100s' de `%.200s'"
 msgid " on `%.100s'"
 msgstr " em `%.100s'"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "Login incorreto"
+
 #, c-format
 msgid ""
 "\n"
@@ -934,6 +974,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Login incorreto"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Aviso : login rehabilitado após travamento temporário.\n"
 
@@ -949,6 +993,11 @@ msgstr "Último login : %.19s em %s"
 msgid " from %.*s"
 msgstr " de %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "Uso : newgrp [-] [grupo]\n"
@@ -1026,24 +1075,32 @@ msgid "%s: error updating files\n"
 msgstr "%s : erro atualizando arquivos\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Uso : %s [-f|-s] [nome]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "      %s [-x máximo] [-n mínimo] [-w aviso] [-i inativo] nome\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "      %s {-l|-u|-d|-S|-e} nome\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
 
 msgid "Old password: "
 msgstr "Senha antiga : "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "Senha incorreta para `%s'\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1203,6 +1260,10 @@ msgstr "Por favor, informe sua PRÓPRIA senha como autenticação.\n"
 msgid "Sorry."
 msgstr "Desculpe."
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "passwd : %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s : deve ser executado a partir de um terminal\n"
@@ -1449,6 +1510,10 @@ msgstr "Uso : %s [-r] nome\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s : erro atualizando entrada de grupo\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s : não foi possível remover grupo primário do usuário.\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s : não foi possível abrir arquivo de grupo\n"
@@ -1603,36 +1668,5 @@ msgstr ""
 "`vipw' edita /etc/passwd        `vipw -s' edita /etc/shadow\n"
 "`vigr' edita /etc/group         `vigr -s' edita /etc/gshadow\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "Uso : groupadd [-g gid [-o]] [-f] grupo\n"
-
-#, fuzzy
-#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-#~ msgstr "Uso : useradd [-u uid [-o]] [-g grupo] [-G grupo,...] \n"
-
-#~ msgid ""
-#~ "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-#~ msgstr ""
-#~ "              [-d home] [-s shell] [-c comentário] [-m [-k template]]\n"
-
-#~ msgid "               [-f inactive] [-e expire]\n"
-#~ msgstr "              [-f inativo] [-e expira ]\n"
-
-#, fuzzy
-#~ msgid "               [-p passwd] [-K KEY=VALUE] name\n"
-#~ msgstr "              [-p passwd] nome\n"
-
-#~ msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-#~ msgstr "      useradd -D [-g grupo] [-b base] [-s shell]\n"
-
-#~ msgid "%s: -O requires NAME=VALUE\n"
-#~ msgstr "%s : -O requer NOME=VALOR\n"
-
-#~ msgid "unknown uid: %u\n"
-#~ msgstr "uid desconhecido : %u\n"
-
-#~ msgid "%s: uid %u is not unique\n"
-#~ msgstr "%s : o uid %u não é único\n"
-
-#~ msgid "%s: can't get unique uid\n"
-#~ msgstr "%s : não foi possível obter uid único\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s : chauthok PAM falhou\n"
index ad9a0d746d8ce6bb03845d6551671ecc08ea4b22..03d78f9e33dfb6157f922db828c8a24f48c7a430 100644 (file)
Binary files a/po/ro.gmo and b/po/ro.gmo differ
index a7492612ff3bba0221ea37cb6cc078d354d29069..67c757d27012867a30d9431dfd621d5defd59411 100644 (file)
--- a/po/ro.po
+++ b/po/ro.po
@@ -1,3 +1,4 @@
+# translation of ro.po to Romanian
 # translation of shadow_ro.po to Romanian
 # This file is distributed under the same license as the PACKAGE package.
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
@@ -5,17 +6,17 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: shadow 4.0.11.1\n"
+"Project-Id-Version: shadow 4.0.13\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
-"PO-Revision-Date: 2005-07-11 17:35+0300\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
+"PO-Revision-Date: 2005-09-13 15:05+0300\n"
 "Last-Translator: Sorin Batariuc <sorin@bonbon.net>\n"
 "Language-Team: Romanian <debian-l10-romanian@lists.debian.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n>1\n"
-"X-Generator: KBabel 1.9.1\n"
+"X-Generator: KBabel 1.10.2\n"
 
 #, c-format
 msgid "Could not allocate space for config info.\n"
@@ -24,7 +25,7 @@ msgstr "Nu pot aloca spaţiu pentru informaţiile despre configurare.\n"
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
-"eroare de configurare - articol necunoscut '%s' (anunţaţi administratorul)\n"
+"eroare de configurare - element necunoscut '%s' (anunţaţi administratorul)\n"
 
 #, c-format
 msgid "Warning: unknown group %s\n"
@@ -36,15 +37,15 @@ msgstr "Avertisment: prea multe grupuri\n"
 
 #, c-format
 msgid "Your password has expired."
-msgstr "Parola v-a expirat."
+msgstr "Parola dvs a expirat."
 
 #, c-format
 msgid "Your password is inactive."
-msgstr "Parola  este inactivă."
+msgstr "Parola dvs este inactivă."
 
 #, c-format
 msgid "Your login has expired."
-msgstr "Autentificarea v-a expirat."
+msgstr "Autentificarea dvs a expirat."
 
 msgid "  Contact the system administrator.\n"
 msgstr "  Contactaţi administratorul de sistem.\n"
@@ -54,15 +55,15 @@ msgstr "  Alegeţi o parolă nouă.\n"
 
 #, c-format
 msgid "Your password will expire in %ld days.\n"
-msgstr "Parola  va expira în %ld zile.\n"
+msgstr "Parola dvs va expira în %ld zile.\n"
 
 #, c-format
 msgid "Your password will expire tomorrow.\n"
-msgstr "Parola  va expira mâine.\n"
+msgstr "Parola dvs va expira mâine.\n"
 
 #, c-format
 msgid "Your password will expire today.\n"
-msgstr "Parola  va expira azi.\n"
+msgstr "Parola dvs va expira azi.\n"
 
 #, c-format
 msgid "Unable to change tty %s"
@@ -98,18 +99,40 @@ msgid "You have new mail."
 msgstr "Aveţi mesaje noi."
 
 msgid "No mail."
-msgstr "Naveţi mesaje."
+msgstr "N-aveţi mesaje."
 
 msgid "You have mail."
 msgstr "Aveţi mesaje."
 
+#, fuzzy
+msgid "no change"
+msgstr "%s: nici o schimbare\n"
+
+msgid "a palindrome"
+msgstr "palindrome"
+
+msgid "case changes only"
+msgstr "changement de casse uniquement"
+
+msgid "too similar"
+msgstr "trop semblable au précédent"
+
+msgid "too simple"
+msgstr "trop simple"
+
+msgid "rotated"
+msgstr "anagramme"
+
+msgid "too short"
+msgstr "trop court"
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Parolă incorectă: %s.  "
 
 #, c-format
 msgid "passwd: pam_start() failed, error %d\n"
-msgstr "passwd: eşuare pam_start(), eroare %d\n"
+msgstr "passwd: pam_start() a eşuat, eroare %d\n"
 
 #, c-format
 msgid "passwd: %s\n"
@@ -118,16 +141,16 @@ msgstr "passwd: %s\n"
 msgid "passwd: password updated successfully\n"
 msgstr "passwd: parolă actualizată cu succes\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Incorrect password for %s.\n"
-msgstr "Parolă incorectă pentru `%s'\n"
+msgstr "Parolă incorectă pentru %s.\n"
 
 #, c-format
 msgid "Unable to cd to \"%s\"\n"
 msgstr "Nu pot schimba directorul către \"%s\"\n"
 
 msgid "No directory, logging in with HOME=/"
-msgstr "Fără director personal, autentificat cu HOME=/"
+msgstr "Fără director personal, autentificare cu HOME=/"
 
 #, c-format
 msgid "Cannot execute %s"
@@ -141,16 +164,25 @@ msgstr "Director rădăcină invalid \"%s\"\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Nu pot schimba directorul rădăcină la \"%s\"\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+"Pas d'entrée utmp. Vous devez exécuter « login » depuis l'interpréteur de "
+"commandes de plus bas niveau"
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s: Nu vă pot determina numele de utilizator.\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
-msgstr "eşuare malloc(%d)\n"
+msgstr "malloc(%d)a eşuat\n"
 
 msgid "Password: "
 msgstr "Parola: "
 
 #, c-format
 msgid "%s's Password: "
-msgstr "Parola %s: "
+msgstr "Parola pentru %s: "
 
 #, c-format
 msgid ""
@@ -216,31 +248,31 @@ msgstr "Ultima schimbare de parolă\t\t\t\t\t: "
 
 #, c-format
 msgid "never\n"
-msgstr "niciodată\n"
+msgstr "Niciodată\n"
 
 #, c-format
 msgid "Password expires\t\t\t\t\t: "
-msgstr "Parola expiră:\t\t\t\t\t\t: "
+msgstr "Parola expiră\t\t\t\t\t: "
 
 #, c-format
 msgid "Password inactive\t\t\t\t\t: "
-msgstr "Parolă inactivă\t\t\t\t\t\t: "
+msgstr "Parolă inactivăs\t\t\t\t\t: "
 
 #, c-format
 msgid "Account expires\t\t\t\t\t\t: "
-msgstr "Contul expiră\t\t\t\t\t\t: "
+msgstr "Contul expirăs\t\t\t\t\t: "
 
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
-msgstr "Numărul minim de zile dintre modificările de parolă\t\t: %ld\n"
+msgstr "Numărul minim de zile dintre schimbările de parolă\t\t: %ld\n"
 
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
-msgstr "Numărul maxim de zile dintre modificările de parolă\t\t: %ld\n"
+msgstr "Numărul maxim de încercări a fost atins\t\t: %ld\n"
 
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
-msgstr "Numărul de zile de avertizări dinaintea expirării parolei\t: %ld\n"
+msgstr "Numărul de zile de avertismente înaintea expirării parolei\t: %ld\n"
 
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
@@ -256,19 +288,27 @@ msgstr "%s: autentificare PAM eşuată\n"
 
 #, c-format
 msgid "%s: can't open password file\n"
-msgstr "%s; nu pot deschide fişierul de conturi utilizatori\n"
+msgstr "%s; nu pot deschide fişierul passwd\n"
 
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: utilizator necunoscut %s\n"
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: nu pot deschide fişierul shadow\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
-msgstr "%s nu pot încuia fişierul de parole criptate\n"
+msgstr "%s nu pot încuia fişierul shadow\n"
 
 #, c-format
 msgid "%s: can't open shadow password file\n"
-msgstr "%s: nu pot deschide fişierul de parole criptate\n"
+msgstr "%s: nu pot deschide fişierul shadow\n"
+
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr "%s : échec lors de l'abandon des privilèges (%s)\n"
 
 #, c-format
 msgid "Changing the aging information for %s\n"
@@ -280,23 +320,19 @@ msgstr "%s: eroare la modificarea câmpurilor\n"
 
 #, c-format
 msgid "%s: can't update password file\n"
-msgstr "%s: nu pot actualiza fişierul de conturi utilizatori\n"
+msgstr "%s: nu pot actualiza fişierul passwd\n"
 
 #, c-format
 msgid "%s: can't update shadow password file\n"
-msgstr "%s: nu pot actualiza fişierul de parole criptate\n"
+msgstr "%s: nu pot actualiza fişierul shadow\n"
 
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
-msgstr "%s: nu pot rescrie fişierul de parole criptate\n"
+msgstr "%s: nu pot rescrie fişierul shadow\n"
 
 #, c-format
 msgid "%s: can't rewrite password file\n"
-msgstr "%s: nu pot rescrie fişierul de conturi utilizatori\n"
-
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: eşuare chauthtok PAM\n"
+msgstr "%s: nu pot rescrie fişierul passwd\n"
 
 #, c-format
 msgid ""
@@ -322,23 +358,23 @@ msgstr "\tNume complet: %s\n"
 msgid "Room Number"
 msgstr "Număr cameră"
 
-#, fuzzy, c-format
+#, c-format
 msgid "\tRoom Number: %s\n"
-msgstr "Număr cameră"
+msgstr "\tNumăr cameră: %s\n"
 
 msgid "Work Phone"
 msgstr "Telefon birou"
 
-#, fuzzy, c-format
+#, c-format
 msgid "\tWork Phone: %s\n"
-msgstr "Telefon birou"
+msgstr "\tTelefon birou: %s\n"
 
 msgid "Home Phone"
 msgstr "Telefon acasă"
 
-#, fuzzy, c-format
+#, c-format
 msgid "\tHome Phone: %s\n"
-msgstr "Telefon acasă"
+msgstr "\tTelefon acasă: %s\n"
 
 msgid "Other"
 msgstr "Altele"
@@ -389,27 +425,27 @@ msgstr "Nu pot schimba identificatorul la root.\n"
 
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
-msgstr "Nu pot încuia fişierul de conturi utilizatori; încercaţi mai târziu.\n"
+msgstr "Nu pot încuia fişierul passwd; încercaţi mai târziu.\n"
 
 #, c-format
 msgid "Cannot open the password file.\n"
-msgstr "Nu pot deschide fişierul de conturi utilizatori.\n"
+msgstr "Nu pot deschide fişierul passwd.\n"
 
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
-msgstr "%s: nu s-a găsit %s în /etc/passwd\n"
+msgstr "%s: %s negăsit în /etc/passwd\n"
 
 #, c-format
 msgid "Error updating the password entry.\n"
-msgstr "Eroare la actualizarea intrării contului utilizator.\n"
+msgstr "Eroare la actualizarea intrării în passwd.\n"
 
 #, c-format
 msgid "Cannot commit password file changes.\n"
-msgstr "Nu pot face modificările în fişierul de conturi utilizatori.\n"
+msgstr "Nu pot face modificările în fişierul passwd.\n"
 
 #, c-format
 msgid "Cannot unlock the password file.\n"
-msgstr "Nu pot descuia fişierul de conturi utilizatori.\n"
+msgstr "Nu pot debloca fişierul passwd.\n"
 
 #, c-format
 msgid ""
@@ -421,25 +457,25 @@ msgid ""
 "  -m, --md5\t\tuse MD5 encryption instead DES when the supplied\n"
 "\t\t\tpasswords are not encrypted\n"
 msgstr ""
-"Utilizare: chpasswd [opţiuni]\n"
+"Folosire: chpasswd [opţiuni]\n"
 "\n"
 "Opţiuni:\n"
-"  -e, --encrypted\tparola furnizată este criptată\n"
-"  -h, --help\t\tafişare acest mesaj de ajutor şi ieşire\n"
-"  -m, --md5\t\tutilizează criptarea MD5 în loc de DES atunci când parola\n"
-"\t\t\tfurnizată nu este criptată\n"
+"  -e, --encrypted\tparolele oferite sunt criptate\n"
+"  -h, --help\t\tafişează acest mesaj de ajutor şi ieşi\n"
+"  -m, --md5\t\tfoloseşte criptarea MD5 în loc de DES atunci când parolele\n"
+"\t\t\toferite nu sunt criptate\n"
 
 #, c-format
 msgid "%s: can't lock password file\n"
-msgstr "%s: nu pot încuia fişierul de conturi utilizator\n"
+msgstr "%s: nu pot bloca fişierul passwd\n"
 
 #, c-format
 msgid "%s: can't lock shadow file\n"
-msgstr "%s: nu pot închide fişierul de parole criptate\n"
+msgstr "%s: nu pot închide fişierul shadow\n"
 
 #, c-format
 msgid "%s: can't open shadow file\n"
-msgstr "%s: nu pot deschide fişierul de parole criptate\n"
+msgstr "%s: nu pot deschide fişierul shadow\n"
 
 #, c-format
 msgid "%s: line %d: line too long\n"
@@ -455,19 +491,19 @@ msgstr "%s: linia %d: utilizator necunoscut %s\n"
 
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
-msgstr "%s: linia %d: nu pot actualiza intrarea contului utilizator\n"
+msgstr "%s: linia %d: nu pot actualiza intrarea în passwd\n"
 
 #, c-format
 msgid "%s: error detected, changes ignored\n"
-msgstr "%s: detectată o eroare, schimbările sunt ignorate\n"
+msgstr "%s: eroare detectată, schimbările sunt ignorate\n"
 
 #, c-format
 msgid "%s: error updating shadow file\n"
-msgstr "%s: eroare la actualizarea fişierului de parole criptate\n"
+msgstr "%s: eroare la actualizarea fişierului shadow\n"
 
 #, c-format
 msgid "%s: error updating password file\n"
-msgstr "%s: eroare la actualizarea fişierului de conturi utilizatori\n"
+msgstr "%s: eroare la actualizarea fişierului passwd\n"
 
 #, c-format
 msgid "Usage: %s [-s shell] [name]\n"
@@ -496,10 +532,6 @@ msgstr "%s este o consolă nevalidă.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Utilizare: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: AVERTISMENT!  Trebuie atribuit UID root!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: utilizator necunoscut\n"
@@ -522,26 +554,23 @@ msgstr ""
 "Utilizare: faillog [opţiuni]\n"
 "\n"
 "Opţiuni:\n"
-"  -a, --all\t\t\tafişare înregistrările de jurnal pentru eşuări pentru toţi "
+"  -a, --all\t\t\tafişează jurnalul înregistrărilor de eşuări pentru toţi "
 "utilizatorii\n"
-"  -h, --help\t\t\tafişare acest mesaj de ajutor şi ieşire\n"
-"  -l, --lock-time SEC\t\tdupă eşuarea autentificării se închide contorul "
-"pentru SEC secunde\n"
-"  -m, --maximum MAX\t\tsetează contorul maxim de autentificări eşuate la "
-"MAX\n"
-"  -r, --reset\t\t\tresetează contoarele de autentificări eşuate\n"
-"  -t, --time ZILE\t\tafişare înregistrările de jurnal pentru eşuări mai "
-"recente de ZILE\n"
-"  -u, --user LOGIN\t\tafişare înregistrări de jurnal pentru eşuări sau "
+"  -h, --help\t\t\tafişează acest mesaj de ajutor şi ieşi\n"
+"  -l, --lock-time SEC\t\tblochează contul la SEC secunde după o "
+"autentificare eşuată\n"
+"  -m, --maximum MAX\t\tsetează numărul maxim de autentificări eşuate la MAX\n"
+"  -r, --reset\t\t\tresetează contorul de autentificări eşuate\n"
+"  -t, --time DAYS\t\tafişează jurnalul înregistrărilor de eşuări mai recente "
+"de DAYS zile\n"
+"  -u, --user LOGIN\t\tafişează jurnalul înregistrărilor de eşuări sau "
 "menţine contoarele de eşuări\n"
-"\t\t\t\tşi doar le limitează (dacă este folosit cu opţiunile -r, -m sau -l)\n"
-"\t\t\t\tpentru utilizatorul cu LOGIN\n"
+"\t\t\t\tşi limite (dacă este folosit cu opţiunile -r, -m sau -l) doar\n"
+"\t\t\t\tpentru utilizatorul LOGIN\n"
 
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
-msgstr ""
-"Autentificare           Eşuări Maxim Cea mai recentă                     De "
-"la\n"
+msgstr "autentificare       Eşuări Maximum Ultima dată                   La\n"
 
 #, c-format
 msgid " [%lds left]"
@@ -557,7 +586,7 @@ msgstr "Utilizator necunoscut: %s\n"
 
 #, c-format
 msgid "Usage: %s [-r|-R] group\n"
-msgstr "Utilizare: %s -r|-R] grup\n"
+msgstr "Utilizare: %s [-r|-R] grup\n"
 
 #, c-format
 msgid "       %s [-a user] group\n"
@@ -626,7 +655,7 @@ msgstr "%s: nu pot obţine închiderea\n"
 
 #, c-format
 msgid "%s: can't get shadow lock\n"
-msgstr "%s: nu pot obţine închiderea criptată\n"
+msgstr "%s: nu pot obţine închiderea shadow\n"
 
 #, c-format
 msgid "%s: can't open file\n"
@@ -638,7 +667,7 @@ msgstr "%s: nu pot actualiza intrarea\n"
 
 #, c-format
 msgid "%s: can't update shadow entry\n"
-msgstr "%s: nu pot actualiza intrarea criptată\n"
+msgstr "%s: nu pot actualiza intrarea shadow\n"
 
 #, c-format
 msgid "%s: can't re-write file\n"
@@ -646,7 +675,7 @@ msgstr "%s: nu pot rescrie fişierul\n"
 
 #, c-format
 msgid "%s: can't re-write shadow file\n"
-msgstr "%s: nu pot rescrie fişierul de parole criptate\n"
+msgstr "%s: nu pot rescrie fişierul shadow\n"
 
 #, c-format
 msgid "%s: can't unlock file\n"
@@ -665,6 +694,16 @@ msgid ""
 "  -o, --non-unique\t\tallow create group with duplicate\n"
 "\t\t\t\t(non-unique) GID\n"
 msgstr ""
+"Utilizare: groupadd [opţiuni] grup\n"
+"\n"
+"Opţiuni:\n"
+"  -f, --force \t\tforţează terminarea cu starea de succes dacă\n"
+"\t\t\t\tgrupul specificat există deja\n"
+"  -g, --gid GID\t\tfoloseşte GID pentru noul grup\n"
+"  -h, --help\t\t\tafişează acest mesaj de ajutor şi ieşi\n"
+"  -K, --key KEY=VALUE\t\tînlocuieşte cu setările implicite /etc/login.defs\n"
+"  -o, --non-unique\t\tpermite crearea grupului cu GID duplicat\n"
+"\t\t\t\t(ne-unic)\n"
 
 #, c-format
 msgid "%s: error adding new group entry\n"
@@ -692,7 +731,7 @@ msgstr "%s: nu pot rescrie fişierul de grupuri\n"
 
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
-msgstr "%s: nu pot rescrie fişierul de parole criptate pentru grupuri\n"
+msgstr "%s: nu pot rescrie fişierul gshadow\n"
 
 #, c-format
 msgid "%s: unable to lock group file\n"
@@ -704,11 +743,11 @@ msgstr "%s: nu pot deschide fişierul de grupuri\n"
 
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
-msgstr "%s: nu pot încuia fişierul de parole criptate pentru grupuri\n"
+msgstr "%s: nu pot încuia fişierul gshadow\n"
 
 #, c-format
 msgid "%s: unable to open shadow group file\n"
-msgstr "%s: nu pot deschide fişierul de parole criptate pentru grupuri\n"
+msgstr "%s: nu pot deschide fişierul gshadow\n"
 
 #, c-format
 msgid "%s: invalid group %s\n"
@@ -732,7 +771,7 @@ msgstr "%s: eroare la ştergerea intrării de grup\n"
 
 #, c-format
 msgid "%s: error removing shadow group entry\n"
-msgstr "%s: eroare la ştergerea intrării parolei criptate de grup\n"
+msgstr "%s: eroare la ştergerea intrării din gshadow\n"
 
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
@@ -752,7 +791,7 @@ msgstr "%s: %s este stăpân NIS\n"
 
 #, c-format
 msgid "Usage: groupmod [-g gid [-o]] [-n name] group\n"
-msgstr "Utilizare: groupmod [-g id_grup [-o]] [-n nume] grup\n"
+msgstr "Utilizare: groupmod [-g gid [-o]] [-n nume] grup\n"
 
 #, c-format
 msgid "%s: %s not found in /etc/group\n"
@@ -774,9 +813,9 @@ msgstr "Utilizare: %s [-r] [-s] [grup [gshadow]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Utilizare: %s [-r] [-s] [grup]\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "No\n"
-msgstr "Nu"
+msgstr "Nu\n"
 
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
@@ -800,7 +839,7 @@ msgstr "şterg linia `%s'? "
 
 #, c-format
 msgid "duplicate group entry\n"
-msgstr "intrare de grup dublată\n"
+msgstr "intrare de grup duplicată\n"
 
 #, c-format
 msgid "invalid group name `%s'\n"
@@ -816,19 +855,19 @@ msgstr "şterg membrul `%s'? "
 
 #, c-format
 msgid "invalid shadow group file entry\n"
-msgstr "intrare nevalidă în fişierul de parole criptate de grupuri\n"
+msgstr "intrare nevalidă în fişierul gshadow\n"
 
 #, c-format
 msgid "duplicate shadow group entry\n"
-msgstr "intrare dublată de parolă criptată de grup\n"
+msgstr "intrare duplicată în gshadow\n"
 
 #, c-format
 msgid "no matching group file entry\n"
-msgstr "nici o potrivire pentru intrarea din fişierul de grupuri\n"
+msgstr "nici o potrivire între intrarile din fişierul de grupuri\n"
 
 #, c-format
 msgid "shadow group %s: no administrative user %s\n"
-msgstr "parola criptată a grupului %s: nici un utilizator administrativ %s\n"
+msgstr "gshadow %s: nici un utilizator administrativ %s\n"
 
 #, c-format
 msgid "delete administrative member `%s'? "
@@ -836,7 +875,7 @@ msgstr "şterg membrul administrativ `%s'? "
 
 #, c-format
 msgid "shadow group %s: no user %s\n"
-msgstr "parola criptată a grupului %s: nici un utilizator %s\n"
+msgstr "gshadow %s: nici un utilizator %s\n"
 
 #, c-format
 msgid "%s: cannot update file %s\n"
@@ -848,7 +887,7 @@ msgstr "%s: fişierele au fost actualizate\n"
 
 #, c-format
 msgid "%s: no changes\n"
-msgstr "%s: fără schimbări\n"
+msgstr "%s: nici o schimbare\n"
 
 #, c-format
 msgid "%s: can't lock group file\n"
@@ -860,15 +899,15 @@ msgstr "%s: nu pot deschide fişierul de grupuri\n"
 
 #, c-format
 msgid "%s: can't lock shadow group file\n"
-msgstr "%s: nu pot încuia fişierul de parole criptate de grupuri\n"
+msgstr "%s: nu pot încuia fişierul gshadow\n"
 
 #, c-format
 msgid "%s: can't open shadow group file\n"
-msgstr "%s: nu pot deschide fişierul de parole criptate de grupuri\n"
+msgstr "%s: nu pot deschide fişierul gshadow\n"
 
 #, c-format
 msgid "%s: can't remove shadow group %s\n"
-msgstr "%s: nu pot şterge parola criptată pentru grupul %s\n"
+msgstr "%s: nu pot şterge gshadow %s\n"
 
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
@@ -880,7 +919,7 @@ msgstr "%s: nu pot actualiza intrarea pentru grupul %s\n"
 
 #, c-format
 msgid "%s: can't update shadow group file\n"
-msgstr "%s: nu pot actualiza fişierul de parole criptate de grupuri\n"
+msgstr "%s: nu pot actualiza fişierul gshadow\n"
 
 #, c-format
 msgid "%s: can't update group file\n"
@@ -888,7 +927,7 @@ msgstr "%s: nu pot actualiza fişierul de grupuri\n"
 
 #, c-format
 msgid "%s: can't delete shadow group file\n"
-msgstr "%s: nu pot şterge fişierul de parole criptate de grupuri\n"
+msgstr "%s: nu pot şterge fişierul gshadow\n"
 
 #, c-format
 msgid "Usage: id [-a]\n"
@@ -902,23 +941,24 @@ msgstr "Utilizare: id\n"
 msgid " groups="
 msgstr " grupuri="
 
-#, c-format
+#, fuzzy, c-format
 msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
-"Utilizare: lastlog [opţiuni]\n"
+"Utilizaree: lastlog [opţiuni]\n"
 "\n"
 "Opţiuni:\n"
-"  -u, --user LOGIN\tafişare ultima înregistrare de jurnal pentru "
-"utilizatorul cu LOGIN-ul specificat\n"
-"  -h, --help\t\tafişare acest mesaj de ajutor şi ieşire\n"
-"  -t, --time ZILE\tafişare doar ultimile înregistrari de jurnal mai recente "
-"decât ZILE\n"
+"  -u, --user LOGIN\tafişează jurnalul ultimei înregistrări pentru "
+"utilizatorul LOGIN\n"
+"  -h, --help\t\tafişează acest mesaj de ajutor şi ieşi\n"
+"  -t, --time DAYS\tafişează doar ultimul jurnal cu înregistrări mai recente "
+"de DAYS zile\n"
 
 #, c-format
 msgid "Username         Port     From             Latest\n"
@@ -961,7 +1001,7 @@ msgid ""
 "[Disconnect bypassed -- root login allowed.]\n"
 msgstr ""
 "\n"
-"[Fază de deconectare trecută -- autentificare permisă pentru root.]\n"
+"[Deconectare ocolită -- autentificare permisă pentru root.]\n"
 
 #, c-format
 msgid ""
@@ -973,12 +1013,22 @@ msgstr ""
 
 #, c-format
 msgid " on `%.100s' from `%.200s'"
-msgstr " în `%.100s' din `%.200s'"
+msgstr " pe `%.100s' din `%.200s'"
 
 #, c-format
 msgid " on `%.100s'"
 msgstr " în `%.100s'"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr "login : échec de PAM, abandon : %s\n"
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "autentificare incorectă"
+
 #, c-format
 msgid ""
 "\n"
@@ -990,6 +1040,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "autentificare incorectă"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr "%s : échec lors du cloange (« forking » : %s"
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Avertisment: autentificare reactivată după închiderea temporară.\n"
 
@@ -1005,6 +1059,13 @@ msgstr "Ultima autentificare: %.19s în %s"
 msgid " from %.*s"
 msgstr " de la %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+"Dépassement de temps lors de la connexion\n"
+"\n"
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "Utilizare: newgrp [-] [grup]\n"
@@ -1050,11 +1111,11 @@ msgstr "%s: linia %d: linie nevalidă\n"
 
 #, c-format
 msgid "%s: line %d: can't create GID\n"
-msgstr "%s: linia %d: nu pot crea ID grup\n"
+msgstr "%s: linia %d: nu pot crea GID\n"
 
 #, c-format
 msgid "%s: line %d: can't create UID\n"
-msgstr "%s: linia %d: nu pot crea ID utilizator\n"
+msgstr "%s: linia %d: nu pot crea UID\n"
 
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
@@ -1081,24 +1142,57 @@ msgid "%s: error updating files\n"
 msgstr "%s: eroare la actualizarea fişierelor\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Utilizare: %s [-f|-s] [nume]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "       %s [-x max] [-n min] [-w avertism] [-i inactiv] nume\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "       %s {-l|-u|-d|-S|-e} nume\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
+"Utilisation : passwd [options] [login]\n"
+"\n"
+"Options :\n"
+"  -a, --all                  afficher l'état des mots de passe de tous les\n"
+"                             comptes\n"
+"  -d, --delete               supprimer le mot de passe du compte indiqué\n"
+"  -e, --expire               forcer la fin de validité du compte indiqué\n"
+"  -h, --help                 afficher ce message d'aide et quitter\n"
+"  -k, --keep-tokens          ne changer le mot de passe que d'il est arrivé\n"
+"                             en fin de validité\n"
+"  -i, --inactive INACTIF     fixer la durée d'inactivation du mot de passe\n"
+"                             après sa fin de validité à INACTIF\n"
+"                             de INACTIF\n"
+"  -l, --lock                 bloquer le compte indiqué\n"
+"  -n, --mindays JOURS_MIN    fixer le nombre minimum de jour avant le\n"
+"                             changement de mot de passe à JOURS_MIN\n"
+"  -q, --quiet                mode silencieux\n"
+"  -r, --repository DÉPÔT     changer le mot de passe dans le dépôt DÉPÔT\n"
+"  -S, --status               afficher l'état du mot de passe du compte "
+"indiqué\n"
+"  -u, --unlock               déverrouiller le compte indiqué\n"
+"  -w, --warndays JOURS_AVERT fixer le nombre de jours d'avertissement de\n"
+"                             fin de validité à JOURS_AVERT\n"
+"  -x, --maxdays JOURS_MAX    fixer le nombre maximum de jours avant le\n"
+"                             changement de mot de passe à JOURS_MAX\n"
 
 msgid "Old password: "
 msgstr "Parola veche: "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "Parolă incorectă pentru `%s'\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1164,21 +1258,21 @@ msgstr "Parola pentru %s este neschimbată.\n"
 msgid "Password changed.\n"
 msgstr "Parolă schimbată.\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Password set to expire.\n"
-msgstr "Parola v-a expirat."
+msgstr "Parola setata pentru expirare.\n"
 
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
-msgstr "Utilizare: %s [-q] [-r] [-s] [passwd [shadow]]\n"
+msgstr "Folosire: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 
 #, c-format
 msgid "invalid password file entry\n"
-msgstr "intrare nevalidă în fişierul de parole\n"
+msgstr "intrare nevalidă în fişierul passwd\n"
 
 #, c-format
 msgid "duplicate password entry\n"
-msgstr "intrare de parolă dublată\n"
+msgstr "intrare duplicată în passwd\n"
 
 #, c-format
 msgid "invalid user name '%s'\n"
@@ -1198,15 +1292,15 @@ msgstr "utilizatorul %s: programul %s nu există\n"
 
 #, c-format
 msgid "invalid shadow password file entry\n"
-msgstr "intrare nevalidă în fişierul de parole criptate\n"
+msgstr "intrare nevalidă în fişierul shadow\n"
 
 #, c-format
 msgid "duplicate shadow password entry\n"
-msgstr "intrare dublată de parolă criptată\n"
+msgstr "intrare duplicată în shadow\n"
 
 #, c-format
 msgid "no matching password file entry\n"
-msgstr "nici o potrivire la intrările fişierului de conturi utilizatori\n"
+msgstr "nici o potrivire între intrările fişierului passwd\n"
 
 #, c-format
 msgid "user %s: last password change in the future\n"
@@ -1214,27 +1308,27 @@ msgstr "utilizatorul %s: ultima schimbare de parolă s-a făcut în viitor\n"
 
 #, c-format
 msgid "%s: can't lock passwd file\n"
-msgstr "%s: nu pot încuia fişierul de conturi utilizatori\n"
+msgstr "%s: nu pot încuia fişierul passwd\n"
 
 #, c-format
 msgid "%s: can't open passwd file\n"
-msgstr "%s: nu pot deschide fişierul de conturi utilizator\n"
+msgstr "%s: nu pot deschide fişierul passwd\n"
 
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
-msgstr "%s: nu pot şterge intrarea de parolă criptată pentru %s\n"
+msgstr "%s: nu pot şterge intrarea shadow pentru %s\n"
 
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
-msgstr "%s: nu pot actualiza intrarea contului pentru %s\n"
+msgstr "%s: nu pot actualiza intrarea passwd pentru %s\n"
 
 #, c-format
 msgid "%s: can't update shadow file\n"
-msgstr "%s: nu pot actualiza fişierul de parole criptate shadow\n"
+msgstr "%s: nu pot actualiza fişierul shadow\n"
 
 #, c-format
 msgid "%s: can't update passwd file\n"
-msgstr "%s: nu pot actualiza fişierul de conturi utilizator passwd\n"
+msgstr "%s: nu pot actualiza fişierul passwd\n"
 
 #, c-format
 msgid "%s: can't update entry for user %s\n"
@@ -1242,7 +1336,7 @@ msgstr "%s: nu pot actualiza intrarea pentru utilizatorul %s\n"
 
 #, c-format
 msgid "%s: can't delete shadow password file\n"
-msgstr "%s: nu pot şterge fişierul de parole criptate shadow\n"
+msgstr "%s: nu pot şterge fişierul shadow\n"
 
 #, c-format
 msgid "Access to su to that account DENIED.\n"
@@ -1259,6 +1353,10 @@ msgstr "Vă rog introduceţi PROPRIA parolă pentru autentificare.\n"
 msgid "Sorry."
 msgstr "Scuze."
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "passwd: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: trebuie pornit de la un terminal\n"
@@ -1292,11 +1390,11 @@ msgstr "Fără consolă\n"
 
 #, c-format
 msgid "No password file\n"
-msgstr "Fără fişier de conturi utilizatori passwd\n"
+msgstr "Fără fişier passwd\n"
 
 #, c-format
 msgid "No password entry for 'root'\n"
-msgstr "Fără intrare de parolă pentru 'root'\n"
+msgstr "Fără intrare în passwd pentru 'root'\n"
 
 msgid ""
 "\n"
@@ -1305,7 +1403,7 @@ msgid ""
 msgstr ""
 "\n"
 "Apăsaţi ctrl-d pentru pornire normală,\n"
-"(sau daţi parola de root pentru depanarea sistemului):"
+"(sau introduceţi parola de root pentru întreţinerea sistemului):"
 
 msgid "Entering System Maintenance Mode\n"
 msgstr "Intrare în modul de întreţinere sistem\n"
@@ -1374,18 +1472,17 @@ msgstr ""
 "Folosire: useradd [opţiuni] LOGIN\n"
 "\n"
 "Opţiuni:\n"
-"  -b, --base-dir DIR_BAZA\tbaza directorului personal pentru noul cont de\n"
-"\t\t\t\tutilizator\n"
-"  -c, --comment COMENTARIU\t\tsetează câmpul GECOS pentru noul cont "
-"utilizator\n"
-"  -d, --home-dir DIR_ACASA\tdirectorul personal pentru noul cont urilizator\n"
+"  -b, --base-dir DIR_BAZA\tbaza directorului pentru noul director\n"
+"\t\t\t\tpersonal al contului\n"
+"  -c, --comment COMENTARIU\t\tsetează câmpul GECOS pentru noul cont\n"
+"  -d, --home-dir DIR_ACASA\tdirectorul personal pentru noul cont\n"
 "  -D, --defaults\t\tafişează sau salvează configuraţia useradd implicită\n"
 "\t\t\t\tmodificată\n"
 "  -e, --expiredate DATA_EXPIRĂRII\tsetează data expirării contului la "
 "DATA_EXPIRĂRII\n"
 "  -f, --inactive INACTIVĂ\tsetează parola inactivă după expirare\n"
 "\t\t\t\tla INACTIVĂ\n"
-"  -g, --gid GRUP\t\tforţează folosirea GRUPULUI pentru noul cont utilizator\n"
+"  -g, --gid GRUP\t\tforţează folosirea GRUPULUI pentru noul cont\n"
 "  -G, --groups GRUPURI\t\tafişează grupurile suplimentare pentru noul\n"
 "\t\t\t\tcont utilizator\n"
 "  -h, --help\t\t\tafişează acest mesaj de ajutor şi ieşi\n"
@@ -1411,13 +1508,11 @@ msgstr "%s: eroare la deschiderea fişierului de grupuri\n"
 
 #, c-format
 msgid "%s: error locking shadow group file\n"
-msgstr ""
-"%s: eroare la închiderea fişierului de parole criptate pentru grupuri\n"
+msgstr "%s: eroare la închiderea fişierului gshadow\n"
 
 #, c-format
 msgid "%s: error opening shadow group file\n"
-msgstr ""
-"%s: eroare la deschiderea fişierului de parole criptate pentru grupuri\n"
+msgstr "%s: eroare la deschiderea fişierului gshadow\n"
 
 #, c-format
 msgid "%s: UID %u is not unique\n"
@@ -1425,7 +1520,7 @@ msgstr "%s: UID %u nu este unic\n"
 
 #, c-format
 msgid "%s: can't get unique UID\n"
-msgstr "%s: nu pot prelua UID unic\n"
+msgstr "%s: nu pot prelua UID\n"
 
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
@@ -1465,35 +1560,35 @@ msgstr "%s: nume utilizator nevalid '%s'\n"
 
 #, c-format
 msgid "%s: cannot rewrite password file\n"
-msgstr "%s: nu pot rescrie fişierul de conturi utilizator\n"
+msgstr "%s: nu pot rescrie fişierul passwd\n"
 
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
-msgstr "%s: nu pot rescrie fişierul de parole criptate\n"
+msgstr "%s: nu pot rescrie fişierul shadow\n"
 
 #, c-format
 msgid "%s: unable to lock password file\n"
-msgstr "%s: nu pot încuia fişierul de conturi utilizatori\n"
+msgstr "%s: nu pot încuia fişierul passwd\n"
 
 #, c-format
 msgid "%s: unable to open password file\n"
-msgstr "%s: nu pot deschide fişierul de conturi utilizatori\n"
+msgstr "%s: nu pot deschide fişierul passwd\n"
 
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
-msgstr "%s: nu pot încuia fişierul de parole criptate\n"
+msgstr "%s: nu pot încuia fişierul shadow\n"
 
 #, c-format
 msgid "%s: cannot open shadow password file\n"
-msgstr "%s: nu pot deschide fişierul de parole criptate\n"
+msgstr "%s: nu pot deschide fişierul shadow\n"
 
 #, c-format
 msgid "%s: error adding new password entry\n"
-msgstr "%s: eroare la adăugarea unei noi intrări de cont utilizator\n"
+msgstr "%s: eroare la adăugarea unei noi intrări în passwd\n"
 
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
-msgstr "%s: eroare la adăugarea unei noi intrări de parolă criptată\n"
+msgstr "%s: eroare la adăugarea unei noi intrări în shadow\n"
 
 #, c-format
 msgid "%s: cannot create directory %s\n"
@@ -1507,7 +1602,7 @@ msgstr ""
 
 #, c-format
 msgid "Can't create mail spool for user %s.\n"
-msgstr "Nu pot crea directorul de poştă pentru utilizatorul %s.\n"
+msgstr "Nu pot crea directorul de emailuri pentru utilizatorul %s.\n"
 
 #, c-format
 msgid "%s: user %s exists\n"
@@ -1525,6 +1620,8 @@ msgid ""
 "%s: warning: the home directory already exists.\n"
 "Not copying any file from skel directory into it.\n"
 msgstr ""
+"%s: avertisment: directorul personal există deja.\n"
+"Nu se copiază nici un fişier în el din directorul skel.\n"
 
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
@@ -1538,21 +1635,25 @@ msgstr "Utilizare: %s [-r] nume\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: eroare la actualizarea intrărilor de grupuri\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: nu pot şterge grupul primar al utilizatorului.\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: nu pot deschide fişierul de grupuri\n"
 
 #, c-format
 msgid "%s: cannot open shadow group file\n"
-msgstr "%s: nu pot deschide fişierul de parole criptate pentru grupuri\n"
+msgstr "%s: nu pot deschide fişierul gshadow\n"
 
 #, c-format
 msgid "%s: error deleting password entry\n"
-msgstr "%s: eroare la ştergerea intrării contului utilizator\n"
+msgstr "%s: eroare la ştergerea intrării din passwd\n"
 
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
-msgstr "%s: eroare la ştergerea intrării parolei criptate\n"
+msgstr "%s: eroare la ştergerea intrării din shadow\n"
 
 #, c-format
 msgid "%s: user %s is currently logged in\n"
@@ -1586,7 +1687,7 @@ msgstr "%s: eroare la ştergerea directorului %s\n"
 
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [[-G group,...] [-a]] \n"
-msgstr "Utilizare: %s\t[-u id_utilizator [-o]] [-g grup] [-G grup,...] \n"
+msgstr "Utilizare: %s\t[-u uid [-o]] [-g grup] [-G grup,...] [-a]] \n"
 
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
@@ -1618,23 +1719,23 @@ msgstr "%s: parole criptate necesare pentru -e şi -f\n"
 
 #, c-format
 msgid "%s: -a flag is ONLY allowed with the -G flag\n"
-msgstr "%s: semnalizatorul -a este permis DOAR împreună cu -G\n"
+msgstr "%s: semnalizatorul -a este permis DOAR împreună cu semnalizatorul -G\n"
 
 #, c-format
 msgid "%s: uid %lu is not unique\n"
-msgstr "%s: id utilizator %lu nu este unic\n"
+msgstr "%s: uid %lu nu este unic\n"
 
 #, c-format
 msgid "%s: error changing password entry\n"
-msgstr "%s: eroare la schimbarea intrării contului utilizator\n"
+msgstr "%s: eroare la schimbarea intrării în passwd\n"
 
 #, c-format
 msgid "%s: error removing password entry\n"
-msgstr "%s: eroare la ştergerea intrării contului utilizator\n"
+msgstr "%s: eroare la ştergerea intrării passwd\n"
 
 #, c-format
 msgid "%s: error removing shadow password entry\n"
-msgstr "%s: eroare la ştergerea intrării parolei criptate\n"
+msgstr "%s: eroare la ştergerea intrării din shadow\n"
 
 #, c-format
 msgid "%s: directory %s exists\n"
@@ -1651,7 +1752,7 @@ msgstr "%s: nu pot schimba proprietarul %s\n"
 #, c-format
 msgid "%s: warning: failed to completely remove old home directory %s"
 msgstr ""
-"%s: avertisment: eşuare în a şterge complet vechiul director personal %s"
+"%s: avertisment: eşuare în a elimina complet vechiul director personal %s"
 
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
@@ -1695,5 +1796,5 @@ msgstr ""
 "`vipw' editează /etc/passwd        `vipw -s' editează /etc/shadow\n"
 "`vigr' editează /etc/group         `vigr -s' editează /etc/gshadow\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "Utilizare: groupadd [-g id_grup [-o]] [-f] grup\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: eşuare chauthtok PAM\n"
index b88fc7a985e18754c81ba399e2d0a3402dd91aac..00c2a58fbc833ff050be432eb3d17d481ea16fd4 100644 (file)
Binary files a/po/ru.gmo and b/po/ru.gmo differ
index 6b0465851687bd34f92bd6c043b84e3494031150..b3b1bb32b60946a5141f65e110c9821a8ec21b8e 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -2,15 +2,15 @@
 # Copyright (C) 2004, 2005 Free Software Foundation, Inc.
 # Nikolai Prokoschenko <nikolai@prokoschenko.de>, 2004.
 # Eugene Konev <ejka@imfi.kspu.ru>, 2004.
-# Yuri Kozlov <yuray@id.ru>, 2004, 2005.
+# Yuri Kozlov <kozlov.y@gmail.com>, 2004, 2005.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: shadow 4.0.12\n"
+"Project-Id-Version: shadow 4.0.13\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
-"PO-Revision-Date: 2005-08-14 09:06+0400\n"
-"Last-Translator: Yuri Kozlov <yuray@id.ru>\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
+"PO-Revision-Date: 2005-10-01 08:50+0400\n"
+"Last-Translator: Yuri Kozlov <kozlov.y@gmail.com>\n"
 "Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -106,6 +106,27 @@ msgstr "Для вас нет почтовых сообщений."
 msgid "You have mail."
 msgstr "Для вас есть почтовые сообщения."
 
+msgid "no change"
+msgstr "изменений не внесено"
+
+msgid "a palindrome"
+msgstr "палиндром"
+
+msgid "case changes only"
+msgstr "изменение только в регистре символов"
+
+msgid "too similar"
+msgstr "слишком похожий"
+
+msgid "too simple"
+msgstr "слишком простой"
+
+msgid "rotated"
+msgstr "перестановка символов"
+
+msgid "too short"
+msgstr "слишком короткий"
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Неверный пароль: %s.  "
@@ -145,6 +166,13 @@ msgstr "Неверный корневой каталог \"%s\"\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Не удалось изменить корневой каталог на \"%s\"\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+"Нет записи в utmp. Вы запускать \"login\" из самомого первого уровня \"sh\""
+
+msgid "Unable to determine your tty name."
+msgstr "Не удалось определить название вашего tty."
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "не удалось выделить %d байт памяти\n"
@@ -180,10 +208,9 @@ msgstr ""
 "  -E, --expiredate EXPIRE_DATE\tустановить дату окончания действия\n"
 "\t\t\t\tучётной записи до EXPIRE_DATE\n"
 "  -h, --help\t\t\tпоказать это сообщение и закончить работу\n"
-"  -I, --inactive INACTIVE\tустановить пароль для устаревших учётных записей "
-"в\n"
-"\t\t\t\tINACTIVE\n"
-"  -l, --list\t\t\tпоказать возраст учётной записи\n"
+"  -I, --inactive INACTIVE\tустановить неактивность пароля после устаревания\n"
+"\t\t\t\tв значение INACTIVE\n"
+"  -l, --list\t\t\tпоказать длительность работы учётной записи\n"
 "  -m, --mindays MIN_DAYS\tустановить минимальное число дней перед сменой "
 "пароля в\n"
 "\t\t\t\tMIN_DAYS\n"
@@ -269,6 +296,10 @@ msgstr "%s: не удалось открыть файл паролей\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: неизвестный пользователь %s\n"
 
+#, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: отсутствует теневой файл паролей\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s: не удалось заблокировать теневой файл паролей\n"
@@ -277,6 +308,10 @@ msgstr "%s: не удалось заблокировать теневой фай
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: не удалось открыть теневой файл паролей\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr "%s: не удалось снизить уровень привелегий (%s)\n"
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Изменение информации о сроках действия для %s\n"
@@ -301,10 +336,6 @@ msgstr "%s: не удалось перезаписать теневой файл
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: не удалось перезаписать файл паролей\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: проверка подлинности (chauthtok) PAM завершилась неудачно\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -503,12 +534,6 @@ msgstr "%s не является командной оболочкой.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Использование: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr ""
-"%s: ВНИМАНИЕ! Исполняемый файл программы должен быть с установленным битом "
-"set-UID!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: неизвестный пользователь\n"
@@ -923,16 +948,18 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 "Использование: lastlog [параметры]\n"
 "\n"
 "Параметры:\n"
-"  -u, --user LOGIN\tпоказать запись lastlog для учётной записи LOGIN\n"
+"  -b, --before DAYS\tпоказать записи lastlog за последние DAYS дней\n"
 "  -h, --help\t\tпоказать это сообщение и завершить работу программы\n"
 "  -t, --time DAYS\tпоказать записи lastlog за последние DAYS дней\n"
+"  -u, --user LOGIN\tпоказать запись lastlog для учётной записи LOGIN\n"
 
 #, c-format
 msgid "Username         Port     From             Latest\n"
@@ -993,6 +1020,18 @@ msgstr " на `%.100s' с `%.200s'"
 msgid " on `%.100s'"
 msgstr " на `%.100s'"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr "login: ошибка PAM, завершение работы: %s\n"
+
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Неверное имя пользователя\n"
+
 #, c-format
 msgid ""
 "\n"
@@ -1004,6 +1043,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Неверное имя пользователя"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr "%s: ошибка при вызове fork: %s"
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Внимание: вход в систему снова возможен.\n"
 
@@ -1019,6 +1062,13 @@ msgstr "Последний вход в систему: %.19s на %s"
 msgid " from %.*s"
 msgstr " с %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+"время входа в систему истекло\n"
+"\n"
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "Использование: newgrp [-] [группа]\n"
@@ -1095,27 +1145,54 @@ msgid "%s: error updating files\n"
 msgstr "%s: ошибка обновления файлов\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Использованик: %s [-f|-s] [имя пользователя]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
 msgstr ""
-"       %s [-x максимальный срок действия пароля (дней)] [-n минимальный срок "
-"действия пароля (дней)] [-w предупреждать за (дней)] [-i деактивировать "
-"через (дней)] имя пользователя\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "       %s {-l|-u|-d|-S|-e} имя пользователя\n"
+"Использование: passwd [параметры] [имя пользователя]\n"
+"\n"
+"Параметры:\n"
+"  -a, --all \t\t\tпоказать состояние паролей всех учётных записей\n"
+"  -d, --delete \t\t\tудалить пароль заданной учётной записи\n"
+"  -e, --expire\t\t\tпросрочить пароль заданной учётной записи\n"
+"  -h, --help\t\t\tпоказать это сообщение и завершить работу программы\n"
+"  -k, --keep-tokens\t\tизменять пароль только с истёкшим сроком действия\n"
+"  -i, --inactive INACTIVE\tустановить неактивность пароля после истечения "
+"срока\n"
+"\t\t\t\tв значение INACTIVE\n"
+"  -l, --lock\t\t\tзаблокировать заданную учётную запись\n"
+"  -n, --mindays MIN_DAYS\tустановить минимальное число дней перед сменой\n"
+"\t\t\t\tпароля в MIN_DAYS\n"
+"  -q, --quiet\t\t\tне показывать сообщений\n"
+"  -r, --repository REPOSITORY\tизменить пароль в репозитории REPOSITORY\n"
+"  -S, --status\t\t\tпоказать состояние пароля заданной учётной записи\n"
+"  -u, --unlock\t\t\tразблокировать заданную учётную запись\n"
+"  -w, --warndays WARN_DAYS\tустановить установить количество дней с выдачей\n"
+"\t\t\t\tпредупреждения в WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tустановить максимальное число дней перед сменой\n"
+"\t\t\t\tпароля в MAX_DAYS\n"
 
 msgid "Old password: "
 msgstr "Старый пароль: "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "Неверный пароль для `%s'\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1276,6 +1353,10 @@ msgstr "Введите ваш СОБСТВЕННЫЙ пароль.\n"
 msgid "Sorry."
 msgstr "Извините."
 
+#, c-format
+msgid "%s: %s\n"
+msgstr "%s: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: должен выполняться из терминала\n"
@@ -1556,6 +1637,10 @@ msgstr "Использование: %s [-r] имя пользователя\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: не удалось обновить запись в файле групп\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: невозможно удалить первичную группу пользователя.\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: не удалось открыть файл групп\n"
@@ -1713,3 +1798,6 @@ msgstr ""
 "Использование:\n"
 "`vipw' редактирует /etc/passwd        `vipw -s' редактирует /etc/shadow\n"
 "`vigr' редактирует /etc/group         `vigr -s' редактирует /etc/gshadow\n"
+
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: проверка подлинности (chauthtok) PAM завершилась неудачно\n"
index 44aa3fd4a90f84cf830f06d52a48cd891c28a684..ec880687fa675d3774e5fbb3b2eb7cab72c76a68 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -98,6 +98,27 @@ msgstr ""
 msgid "You have mail."
 msgstr ""
 
+msgid "no change"
+msgstr ""
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr ""
@@ -136,6 +157,12 @@ msgstr ""
 msgid "Can't change root directory to \"%s\"\n"
 msgstr ""
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+msgid "Unable to determine your tty name."
+msgstr ""
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr ""
@@ -239,6 +266,10 @@ msgstr ""
 msgid "%s: unknown user %s\n"
 msgstr ""
 
+#, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr ""
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr ""
@@ -247,6 +278,10 @@ msgstr ""
 msgid "%s: can't open shadow password file\n"
 msgstr ""
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr ""
@@ -271,10 +306,6 @@ msgstr ""
 msgid "%s: can't rewrite password file\n"
 msgstr ""
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr ""
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -462,10 +493,6 @@ msgstr ""
 msgid "Usage: expiry {-f|-c}\n"
 msgstr ""
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr ""
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr ""
@@ -854,9 +881,10 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 
 #, c-format
@@ -912,6 +940,16 @@ msgstr ""
 msgid " on `%.100s'"
 msgstr ""
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+
 #, c-format
 msgid ""
 "\n"
@@ -921,6 +959,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr ""
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 
@@ -936,6 +978,11 @@ msgstr ""
 msgid " from %.*s"
 msgstr ""
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr ""
@@ -1012,24 +1059,32 @@ msgid "%s: error updating files\n"
 msgstr ""
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr ""
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr ""
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
 msgstr ""
 
 msgid "Old password: "
 msgstr ""
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr ""
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1184,6 +1239,10 @@ msgstr ""
 msgid "Sorry."
 msgstr ""
 
+#, c-format
+msgid "%s: %s\n"
+msgstr ""
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr ""
@@ -1423,6 +1482,10 @@ msgstr ""
 msgid "%s: error updating group entry\n"
 msgstr ""
 
+#, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr ""
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr ""
index 9738ab7fcd22c7b39abef931a9731ddb58964ec2..bb2a94fa272ff91541352a07e7cf03a61254a640 100644 (file)
Binary files a/po/sk.gmo and b/po/sk.gmo differ
index 27076401b96b6632417f077d3598459bdf061d43..75c44c7b45351642931a30e7134af0084fbe4424 100644 (file)
--- a/po/sk.po
+++ b/po/sk.po
@@ -4,7 +4,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.12\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2005-08-21 10:20+0200\n"
 "Last-Translator: Peter Mann <Peter.Mann@tuke.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -102,6 +102,28 @@ msgstr "Nemáte žiadnu poštu."
 msgid "You have mail."
 msgstr "Máte poštu."
 
+#, fuzzy
+msgid "no change"
+msgstr "%s: bezo zmien\n"
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Heslo %s je chybné. "
@@ -140,6 +162,13 @@ msgstr "Chybný koreňový adresár \"%s\"\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Koreňový adresár sa nedá zmeniť na \"%s\".\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s: vaše používateľské meno sa nedá zistiť.\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "volanie malloc(%d) zlyhalo\n"
@@ -260,6 +289,10 @@ msgstr "%s: súbor s heslami sa nedá otvoriť\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: používateľ %s je neznámy\n"
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: súbor s tieňovými heslami sa nedá otvoriť\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s: súbor s tieňovými heslami sa nedá zamknúť\n"
@@ -268,6 +301,10 @@ msgstr "%s: súbor s tieňovými heslami sa nedá zamknúť\n"
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: súbor s tieňovými heslami sa nedá otvoriť\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Mením časové informácie pre používateľa %s\n"
@@ -292,10 +329,6 @@ msgstr "%s: súbor s tieňovými heslami sa nedá prepísať\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: súbor s heslami sa nedá prepísať\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: PAM metóda chauthok zlyhala\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -496,10 +529,6 @@ msgstr "Shell %s je neplatný.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Použitie: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: VAROVANIE! Musí mať oprávnenie root-a!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: neznámy používateľ\n"
@@ -907,22 +936,23 @@ msgstr "Použitie: id\n"
 msgid " groups="
 msgstr " skupiny="
 
-#, c-format
+#, fuzzy, c-format
 msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 "Použitie: lastlog [voľby]\n"
 "\n"
 "Voľby:\n"
-"  -u, --user LOGIN\tvypíše posledné prihlásenia používateľa uvedeného ako "
-"LOGIN\n"
 "  -h, --help\t\tzobrazí túto nápovedu a ukončí sa\n"
 "  -t, --time DAYS\tvypíše posledné prihlásenia nie staršie ako DAYS dní\n"
+"  -u, --user LOGIN\tvypíše posledné prihlásenia používateľa uvedeného ako "
+"LOGIN\n"
 
 #, c-format
 msgid "Username         Port     From             Latest\n"
@@ -983,6 +1013,16 @@ msgstr " na `%.100s' z `%.200s'"
 msgid " on `%.100s'"
 msgstr " na `%.100s'"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "Chybné prihlásenie"
+
 #, c-format
 msgid ""
 "\n"
@@ -994,6 +1034,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Chybné prihlásenie"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Varovanie: po dočasnom zákaze je prihlasovánie opäť povolené.\n"
 
@@ -1009,6 +1053,11 @@ msgstr "Posledné prihlásenie: %.19s na %s"
 msgid " from %.*s"
 msgstr " z %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "Použitie: newgrp [-] [skupina]\n"
@@ -1085,24 +1134,32 @@ msgid "%s: error updating files\n"
 msgstr "%s: chyba pri aktualizácii súborov\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Použitie: %s [-f|-s] [meno]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "          %s [-x max] [-n min] [-w varovanie] [-i nečinnosť] meno\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "          %s {-l|-u|-d|-S|-e} meno\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
 
 msgid "Old password: "
 msgstr "Staré heslo: "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "Chybné heslo pre `%s'\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1262,6 +1319,10 @@ msgstr "Pre overenie zadajte VAŠE vlastné heslo.\n"
 msgid "Sorry."
 msgstr "Ľutujem."
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "passwd: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: musí byť spustené z terminálu\n"
@@ -1537,6 +1598,10 @@ msgstr "Použitie: %s [-r] meno\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: položka súboru so skupinami sa nedá aktualizovať\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: primárna skupina používateľa sa nedá odstrániť\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: súbor so skupinami sa nedá otvoriť\n"
@@ -1692,5 +1757,5 @@ msgstr ""
 "`vipw' edituje /etc/passwd      `vipw -s' edituje /etc/shadow\n"
 "`vigr' edituje /etc/group       `vigr -s' edituje /etc/gshadow\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "Použitie: groupadd [-g gid [-o]] [-f] skupina\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: PAM metóda chauthok zlyhala\n"
index cbf0b6b1b37db9f492d134ee676097d23b1de854..549dc9e6a409b49c120c0fe13bbe8aa8a6c74529 100644 (file)
Binary files a/po/sq.gmo and b/po/sq.gmo differ
index e779e8a46a072c1d92d7e3d87b54386d9d46d575..92e579235c2422a523d96e6344625976146d4643 100644 (file)
--- a/po/sq.po
+++ b/po/sq.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.3\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2004-11-20 03:28+0100\n"
 "Last-Translator: Elian Myftiu <pinguini AT fastwebnet DOT it>\n"
 "Language-Team: Albanian <gnome-albanian-perkthyesit@lists.sourceforge.net>\n"
@@ -98,6 +98,27 @@ msgstr ""
 msgid "You have mail."
 msgstr ""
 
+msgid "no change"
+msgstr ""
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr ""
@@ -136,6 +157,12 @@ msgstr ""
 msgid "Can't change root directory to \"%s\"\n"
 msgstr ""
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+msgid "Unable to determine your tty name."
+msgstr ""
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr ""
@@ -239,6 +266,10 @@ msgstr ""
 msgid "%s: unknown user %s\n"
 msgstr ""
 
+#, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr ""
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr ""
@@ -247,6 +278,10 @@ msgstr ""
 msgid "%s: can't open shadow password file\n"
 msgstr ""
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr ""
@@ -271,10 +306,6 @@ msgstr ""
 msgid "%s: can't rewrite password file\n"
 msgstr ""
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr ""
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -462,10 +493,6 @@ msgstr ""
 msgid "Usage: expiry {-f|-c}\n"
 msgstr ""
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr ""
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr ""
@@ -854,9 +881,10 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 
 #, c-format
@@ -912,6 +940,16 @@ msgstr ""
 msgid " on `%.100s'"
 msgstr ""
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+
 #, c-format
 msgid ""
 "\n"
@@ -921,6 +959,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr ""
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 
@@ -936,6 +978,11 @@ msgstr ""
 msgid " from %.*s"
 msgstr ""
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr ""
@@ -1012,24 +1059,32 @@ msgid "%s: error updating files\n"
 msgstr ""
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr ""
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr ""
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
 msgstr ""
 
 msgid "Old password: "
 msgstr ""
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr ""
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1184,6 +1239,10 @@ msgstr ""
 msgid "Sorry."
 msgstr ""
 
+#, c-format
+msgid "%s: %s\n"
+msgstr ""
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr ""
@@ -1423,6 +1482,10 @@ msgstr ""
 msgid "%s: error updating group entry\n"
 msgstr ""
 
+#, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr ""
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr ""
index 8e7aac6bac380c15ca6b92ef3431795c2c688f49..5e203e2103b65286b1f0f6834530e8a58a786cf9 100644 (file)
Binary files a/po/sv.gmo and b/po/sv.gmo differ
index c1cfdeb56067f6e05f2b12dbfa8ebaf86b45e383..7a118bfd3889eb1a30767e984240d7916135eb50 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.11.1\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2005-07-20 21:49+0200\n"
 "Last-Translator: Per Olofsson <pelle@debian.org>\n"
 "Language-Team: sv <sv@li.org>\n"
@@ -100,6 +100,28 @@ msgstr "Ingen post."
 msgid "You have mail."
 msgstr "Du har post."
 
+#, fuzzy
+msgid "no change"
+msgstr "%s: inga ändringar\n"
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Felaktigt lösenord: %s.  "
@@ -138,6 +160,13 @@ msgstr "Felaktig rotkatalog \"%s\"\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Kan inte byta rotkatalog till \"%s\"\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s: Kan inte avgöra ditt användarnamn.\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) misslyckades\n"
@@ -256,6 +285,10 @@ msgstr "%s: kan inte öppna lösenordsfilen\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: okänd användare %s\n"
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: kan inte öppna skugglösenordsfilen\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s: kan inte låsa skugglösenordsfilen\n"
@@ -264,6 +297,10 @@ msgstr "%s: kan inte låsa skugglösenordsfilen\n"
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: kan inte öppna skugglösenordsfilen\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Ändrar åldringsinformation för %s\n"
@@ -288,10 +325,6 @@ msgstr "%s: kan inte skriva om skugglösenordsfilen\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: kan inte skriva om lösenordsfilen\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: PAM chauthtok misslyckades\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -490,10 +523,6 @@ msgstr "%s är ett felaktigt skal.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Användning: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: VARNING!  Måste vara set-UID root!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: okänd användare\n"
@@ -892,21 +921,22 @@ msgstr "Användning: id\n"
 msgid " groups="
 msgstr " grupper="
 
-#, c-format
+#, fuzzy, c-format
 msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 "Användning: lastlog [flaggor]\n"
 "\n"
 "Flaggor:\n"
-"  -u, --user ANVÄNDARE\tskriv ut lastlog-posten för användaren ANVÄNDARE\n"
 "  -h, --help\t\tvisa det här meddelandet och avsluta\n"
 "  -t, --time DAGAR\tskriv bara ut lastlog-poster som är nyare än DAGAR\n"
+"  -u, --user ANVÄNDARE\tskriv ut lastlog-posten för användaren ANVÄNDARE\n"
 
 #, c-format
 msgid "Username         Port     From             Latest\n"
@@ -967,6 +997,16 @@ msgstr " på \"%.100s\" från \"%.200s\""
 msgid " on `%.100s'"
 msgstr " på \"%.100s\""
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "Felaktig inloggning"
+
 #, c-format
 msgid ""
 "\n"
@@ -978,6 +1018,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Felaktig inloggning"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Varning: inloggning på nytt aktiv efter den temporära utelåsningen.\n"
 
@@ -993,6 +1037,11 @@ msgstr "Senaste inloggning: %.19s på %s"
 msgid " from %.*s"
 msgstr " från %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "Användning: newgrp [-] [grupp]\n"
@@ -1069,24 +1118,32 @@ msgid "%s: error updating files\n"
 msgstr "%s: kunde inte uppdatera filerna\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Användning: %s [-f|-s] [namn]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "            %s [-x högst] [-n minst] [-w varna] [-i inaktiv] namn\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "            %s {-l|-u|-d|-S|-e} namn\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
 
 msgid "Old password: "
 msgstr "Förra lösenordet: "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "Felaktigt lösenord för \"%s\"\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1245,6 +1302,10 @@ msgstr "Var god skriv in ditt EGET lösenord som äkthetsbevis.\n"
 msgid "Sorry."
 msgstr "Tyvärr."
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "passwd: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: måste köras från en terminal\n"
@@ -1516,6 +1577,10 @@ msgstr "Användning: %s [-r] namn\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: fel under uppdatering av gruppnotering\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: kan inte ta bort användarens primära grupp.\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: kan inte öppna gruppfilen\n"
@@ -1671,5 +1736,5 @@ msgstr ""
 "\"vipw\" editerar /etc/passwd   \"vipw -w\" editerar /etc/shadow\n"
 "\"vipg\" editerar /etc/group    \"vipg -w\" editerar /etc/gshadow\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "Användning: groupadd [-g gid [-o]] [-f] grupp\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: PAM chauthtok misslyckades\n"
index 811e9b2e9758c90f68eb2a038ecc324ee4bb6986..025d1b382bc1dda4ad8d36f581cc3e62846295cf 100644 (file)
Binary files a/po/tl.gmo and b/po/tl.gmo differ
index 12f785c2ad48b8963f6fb3e0396848df7da5c319..0f95b17832e33acaa773fb5264a942c4d2d3b152 100644 (file)
--- a/po/tl.po
+++ b/po/tl.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.7\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2005-01-26 22:00+0800\n"
 "Last-Translator: Eric Pareja <xenos@upm.edu.ph>\n"
 "Language-Team: Tagalog <debian-tl@banwa.upm.edu.ph>\n"
@@ -102,6 +102,28 @@ msgstr "Walang koreo."
 msgid "You have mail."
 msgstr "Mayroon kang koreo."
 
+#, fuzzy
+msgid "no change"
+msgstr "%s: walang pagbabago\n"
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Masamang password: %s.  "
@@ -140,6 +162,13 @@ msgstr "Hindi tanggap na root directory \"%s\"\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Hindi mapalitan ang root directory sa \"%s\"\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s: Hindi makilala ang inyong pangalan.\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "sawi ang malloc(%d)\n"
@@ -243,6 +272,10 @@ msgstr "%s: hindi mabuksan ang tipunang password\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: di kilalang gumagamit %s\n"
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: hindi mabuksan ang tipunang shadow password\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s: hindi maaldaba ang tipunang shadow password\n"
@@ -251,6 +284,10 @@ msgstr "%s: hindi maaldaba ang tipunang shadow password\n"
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: hindi mabuksan ang tipunang shadow password\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Pinapalitan ang impormasyong pagtanda para kay %s\n"
@@ -275,10 +312,6 @@ msgstr "%s: hindi maisulat-muli ang tipunang shadow password\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: hindi maisulat-muli ang tipunang password\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: sawi ang PAM chauthtok\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -478,10 +511,6 @@ msgstr "Ang %s ay hindi tanggap na shell.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Pag-gamit: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: BABALA!  Kailangang naka-set-UID root!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: hindi kilalang gumagamit\n"
@@ -870,9 +899,10 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 "Pag-gamit: chpasswd [mga option]\n"
 "\n"
@@ -941,6 +971,16 @@ msgstr " ng `%.100s' mula `%.200s'"
 msgid " on `%.100s'"
 msgstr " ng `%.100s'"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "Maling pagpasok"
+
 #, c-format
 msgid ""
 "\n"
@@ -952,6 +992,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Maling pagpasok"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Babala: pagpasok ay enabled muli matapos ng panandalian pagbawal.\n"
 
@@ -967,6 +1011,11 @@ msgstr "Huling pagpasok: %.19s sa %s"
 msgid " from %.*s"
 msgstr " mula %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, fuzzy, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "pag-gamit: newgrp [-] [grupo]\n"
@@ -1042,25 +1091,33 @@ msgstr "%s: linya %d: hindi ma-apdeyt ang ipinasok\n"
 msgid "%s: error updating files\n"
 msgstr "%s: error sa pag-apdeyt ng mga tipunan\n"
 
-#, fuzzy, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "pag-gamit: %s [-f|-s] [pangalan]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "       %s [-x max] [-n min] [-w babala] [-i inakt] pangalan\n"
-
 #, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "       %s {-l|-u|-d|-S|-e} pangalan\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
 
 msgid "Old password: "
 msgstr "Lumang password: "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "Maling password para kay `%s'\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1219,6 +1276,10 @@ msgstr "Ibigay ang inyong SARILING password bilang authentication.\n"
 msgid "Sorry."
 msgstr "Ipagpaumanhin."
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "passwd: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: kinakailangang patakbuhin mula sa isang terminal\n"
@@ -1465,6 +1526,10 @@ msgstr "pag-gamit: %s [-r] pangalan\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: error sa pag-apdeyt ng ipinasok sa grupo\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: hindi matanggal ang pangunahing grupo ng gumagamit.\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: hindi mabuksan ang tipunang grupo\n"
@@ -1619,39 +1684,5 @@ msgstr ""
 "`vipw' ine-edit /etc/passwd     `vipw -s' ine-edit /etc/shadow\n"
 "`vigr' ine-edit /etc/group      `vigr -s' ine-edit /etc/gshadow\n"
 
-#, fuzzy
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "pag-gamit: groupadd [-g gid [-o]] grupo\n"
-
-#, fuzzy
-#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-#~ msgstr "pag-gamit: %s\t[-u uid [-o]] [-g grupo] [-G grupo,...] \n"
-
-#, fuzzy
-#~ msgid ""
-#~ "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-#~ msgstr "\t\t[-d bahay] [-s shell] [-c comment] [-m [-k template]]\n"
-
-#, fuzzy
-#~ msgid "               [-f inactive] [-e expire]\n"
-#~ msgstr "\t\t[-f inaktibo] [-e paso ]\n"
-
-#, fuzzy
-#~ msgid "               [-p passwd] [-K KEY=VALUE] name\n"
-#~ msgstr "[-p passwd] pangalan\n"
-
-#, fuzzy
-#~ msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-#~ msgstr "       %s\t-D [-g grupo] [-b base] [-s shell]\n"
-
-#~ msgid "%s: -O requires NAME=VALUE\n"
-#~ msgstr "%s: kinakailangan ng -O ang PANGALAN=HALAGA\n"
-
-#~ msgid "unknown uid: %u\n"
-#~ msgstr "di kilalang uid: %u\n"
-
-#~ msgid "%s: uid %u is not unique\n"
-#~ msgstr "%s: ang uid %u ay hindi kakaiba\n"
-
-#~ msgid "%s: can't get unique uid\n"
-#~ msgstr "%s: hindi makakuha ng kakaibang uid\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: sawi ang PAM chauthtok\n"
index 0945008ae1962d5bed5f797a348e726b002ca995..4b4100dcc6f07e17a531515c5050c818ffe934e2 100644 (file)
Binary files a/po/tr.gmo and b/po/tr.gmo differ
index f3f944643e8854b869e3d8a938ca71522d4b6be3..ec7d0cd941d5b0c26e3d628ecc8747b25645f28e 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2004-06-13 10:27+0300\n"
 "Last-Translator: Mehmet Türker <mturker@innova.com.tr>\n"
 "Language-Team: Turkish <debian-l10n-turkish@lists.debian.org>\n"
@@ -97,6 +97,28 @@ msgstr "E-Posta yok."
 msgid "You have mail."
 msgstr "E-Postanız var."
 
+#, fuzzy
+msgid "no change"
+msgstr "%s: değişiklik yok\n"
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Hatalı parola: %s.  "
@@ -135,6 +157,13 @@ msgstr "Geçersiz kök dizin \"%s\"\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Kök dizin \"%s\" olarak değiştirilemiyor\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s: Kullanıcı isminiz belirlenemedi.\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) başarısız oldu\n"
@@ -238,6 +267,10 @@ msgstr "%s: parola dosyası açılamadı\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: bilinmeyen kullanıcı %s\n"
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: gölge parola dosyası açılamadı\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s: gölge parola dosyası kilitlenemedi\n"
@@ -246,6 +279,10 @@ msgstr "%s: gölge parola dosyası kilitlenemedi\n"
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: gölge parola dosyası açılamadı\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "%s için ömür bilgisi değiştiriliyor\n"
@@ -270,10 +307,6 @@ msgstr "%s: gölge parola dosyasının üzerine yazılamadı\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: parola dosyasına yazılamadı\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: PAM chauthok başarısız oldu\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -463,10 +496,6 @@ msgstr "%s geçersiz bir kabuk.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Kullanım: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: UYARI!  root kullanıcısına set-UID olmalı!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: bilinmeyen kullanıcı\n"
@@ -855,9 +884,10 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 
 #, c-format
@@ -919,6 +949,16 @@ msgstr " `%.200s'den `%.100s' üzerinde"
 msgid " on `%.100s'"
 msgstr " `%.100s' üzerinde"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "Giriş geçersiz"
+
 #, c-format
 msgid ""
 "\n"
@@ -930,6 +970,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Giriş geçersiz"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 "Uyarı: geçici bir kilitlenme sonrasında giriş tekrar olanaklı kılındı.\n"
@@ -946,6 +990,11 @@ msgstr "Son giriş: %s üzerinden %.19s"
 msgid " from %.*s"
 msgstr "%.*s'den"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "Kullanım: newgrp [-] [grup]\n"
@@ -1022,24 +1071,32 @@ msgid "%s: error updating files\n"
 msgstr "%s: dosyaların güncellenmesinde hata oluştu\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Kullanım: %s [-f|-s] [isim]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "          %s [-x maks] [-n min] [-w uyarı] [-i pasif] isim\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "          %s {-l|-u|-d|-S|-e} isim\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
 
 msgid "Old password: "
 msgstr "Eski parola: "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "`%s' için yanlış parola\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1198,6 +1255,10 @@ msgstr "Lütfen yetkilendirme için KENDİ parolanızı girin.\n"
 msgid "Sorry."
 msgstr "Üzgünüm."
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "passwd: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: bir terminalden çalıştırılmalı\n"
@@ -1445,6 +1506,10 @@ msgstr "Kullanım: %s [-r] isim\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: grup kaydı güncellenirken hata oluştu\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: kullanıcının birincil grubu silinemez\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: grup dosyası açılamıyor\n"
@@ -1599,37 +1664,5 @@ msgstr ""
 "`vipw' /etc/passwd'ü düzenler        `vipw -s' /etc/shadow'u düzenler\n"
 "`vigr' /etc/group'u düzenler         `vigr -s' /etc/gshadow'u düzenler\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "Kullanım: groupadd [-g gid [-o]] [-f] grup\n"
-
-#, fuzzy
-#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-#~ msgstr "kullanım: useradd [-u uid [-o]] [-g grup] [-G grup,...] \n"
-
-#~ msgid ""
-#~ "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-#~ msgstr ""
-#~ "                  [-d ev_dizini] [-s kabuk] [-c açıklama] [-m [-k "
-#~ "şablon]]\n"
-
-#~ msgid "               [-f inactive] [-e expire]\n"
-#~ msgstr "                  [-f pasif] [-e hesap_bitimi ]\n"
-
-#, fuzzy
-#~ msgid "               [-p passwd] [-K KEY=VALUE] name\n"
-#~ msgstr "                  [-p parola] isim\n"
-
-#~ msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-#~ msgstr "          useradd -D [-g grup] [-b taban] [-s kabuk]\n"
-
-#~ msgid "%s: -O requires NAME=VALUE\n"
-#~ msgstr "%s: -O seçeneği ISIM=DEĞER gerektirir\n"
-
-#~ msgid "unknown uid: %u\n"
-#~ msgstr "bilinmeyen uid: %u\n"
-
-#~ msgid "%s: uid %u is not unique\n"
-#~ msgstr "%s: uid %u benzersiz değil\n"
-
-#~ msgid "%s: can't get unique uid\n"
-#~ msgstr "%s: benzersiz bir uid elde edilemedi\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: PAM chauthok başarısız oldu\n"
index 6df6a400da1ad5a5036b2f2b7d362a0c37f15828..70affdf1f1ed1e59df387f0fea32ee76ebc80392 100644 (file)
Binary files a/po/uk.gmo and b/po/uk.gmo differ
index dcb6dbed700d80d4ec7067a3fa3ea73d80591884..c3d5c713de95d8e7662ef1c0d01d3f7e8d3dc8de 100644 (file)
--- a/po/uk.po
+++ b/po/uk.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow-4.0.8\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2005-04-19 23:22+0300\n"
 "Last-Translator: Roman Festchook <linux@polesye.net>\n"
 "Language-Team:  <linux@polesye.net>\n"
@@ -100,6 +100,28 @@ msgstr "Пошти не має."
 msgid "You have mail."
 msgstr "Ви маєте пошту."
 
+#, fuzzy
+msgid "no change"
+msgstr "%s: без змін\n"
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Поганий пароль: %s.  "
@@ -138,6 +160,13 @@ msgstr "Невірна коренева тека \"%s\"\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Не можу змінити кореневу теку на \"%s\"\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s: Не можу визначити Ваше ім'я користувача.\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) не виконано\n"
@@ -241,6 +270,10 @@ msgstr "%s: не можу відкрити файл паролей\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: невідомий користувач %s\n"
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: не можу відкрити файл прихованих паролей\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s: не можу заблокувати файл прихованих паролей\n"
@@ -249,6 +282,10 @@ msgstr "%s: не можу заблокувати файл прихованих 
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: не можу відкрити файл прихованих паролей\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Змінюю вікову інформацію для %s\n"
@@ -273,10 +310,6 @@ msgstr "%s: не можу переписати файл прихованих п
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: не можу переписати файл паролей\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: помилка PAM chauthtok\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -475,10 +508,6 @@ msgstr "%s є невірна оболонка.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Використовуйте: expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: ЗАСТЕРЕЖЕННЯ! Програма повина бути Set-UID root!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: невідомий користувач\n"
@@ -876,22 +905,23 @@ msgstr "Використовуйте: id\n"
 msgid " groups="
 msgstr " групи="
 
-#, c-format
+#, fuzzy, c-format
 msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 "Використання: lastlog [опції]\n"
 "\n"
 "Опції:\n"
-"  -u, --user ЛОГІН\tвивести записи останніх входів для користувача з "
-"ЛОГІНом\n"
 "  -h, --help\t\tвивести допомогу та вийти\n"
 "  -t, --time ДНІВ\tвивести лише записи свіжіші за ДНІВ\n"
+"  -u, --user ЛОГІН\tвивести записи останніх входів для користувача з "
+"ЛОГІНом\n"
 
 #, c-format
 msgid "Username         Port     From             Latest\n"
@@ -952,6 +982,16 @@ msgstr " на `%.100s' з `%.200s'"
 msgid " on `%.100s'"
 msgstr " на `%.100s'"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "Невірний логін"
+
 #, c-format
 msgid ""
 "\n"
@@ -963,6 +1003,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Невірний логін"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Застереження: login поновлено після тимчасового блокування.\n"
 
@@ -978,6 +1022,11 @@ msgstr "Останній вхід в систему: %.19s на %s"
 msgid " from %.*s"
 msgstr " з %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "Використовуйте: newgrp [-] [група]\n"
@@ -1054,24 +1103,32 @@ msgid "%s: error updating files\n"
 msgstr "%s: помилка оновлення файлу\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Використовуйте: %s [-f|-s] [ім'я]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "     %s [-x макс] [-n мин] [-w застереження] [-i неактивний] ім'я\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "                %s {-l|-u|-d|-S|-e} ім'я\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
 
 msgid "Old password: "
 msgstr "Старий пароль: "
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "Невірний пароль для `%s'\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1231,6 +1288,10 @@ msgstr "Будьласка введіть Ваш власний пароль д
 msgid "Sorry."
 msgstr "Вибачте."
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "passwd: %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: повино бути запущено з терміналу\n"
@@ -1477,6 +1538,10 @@ msgstr "Використовуйте: %s [-r] ім'я\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: помилка оновлення запису у базі груп\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: не можу видалити головну групу користувача.\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: не можу відкрити файл груп\n"
@@ -1632,35 +1697,5 @@ msgstr ""
 "`vipw' редагує /etc/passwd      `vipw -s' редагує /etc/shadow\n"
 "`vigr' редагує /etc/group       `vigr -s' редагує /etc/gshadow\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "Використовуйте: groupadd [-g gid [-o]] [-f] група\n"
-
-#, fuzzy
-#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-#~ msgstr "Використовуйте: useradd [-u uid [-o]] [-g група] [-G група,...] \n"
-
-#~ msgid ""
-#~ "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-#~ msgstr "      [-d домашня_тека] [-s shell] [-c коментар] [-m [-k шаблон]]\n"
-
-#~ msgid "               [-f inactive] [-e expire]\n"
-#~ msgstr "              [-f неактивний] [-e прострочений]\n"
-
-#, fuzzy
-#~ msgid "               [-p passwd] [-K KEY=VALUE] name\n"
-#~ msgstr "             [-p пароль] ім'я\n"
-
-#~ msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-#~ msgstr "         useradd -D [-g група] [-b базова_тека] [-s оболонка]\n"
-
-#~ msgid "%s: -O requires NAME=VALUE\n"
-#~ msgstr "%s: -O вимагає ЗМІННА=ЗНАЧЕННЯ\n"
-
-#~ msgid "unknown uid: %u\n"
-#~ msgstr "невідомий uid: %u\n"
-
-#~ msgid "%s: uid %u is not unique\n"
-#~ msgstr "%s: uid %u не є унікальним\n"
-
-#~ msgid "%s: can't get unique uid\n"
-#~ msgstr "%s: не можу отримати унікальній uid\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: помилка PAM chauthtok\n"
index cd8f939f30ebeffc70f01adbef419979f99c1a9b..db7330f4116a40327772ec9ee2074a27ea6bba30 100644 (file)
Binary files a/po/vi.gmo and b/po/vi.gmo differ
index d064c8b242baf908523ee8039087752af767dc40..44d44b520a2a4f8707e3d08fd76d4de0e0caf7bc 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.9\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2005-05-10 22:33+0930\n"
 "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
 "Language-Team: Vietnamese <gnomevi-list@lists.sourceforge.net>\n"
@@ -96,6 +96,28 @@ msgstr "Không có thư."
 msgid "You have mail."
 msgstr "Bạn có thư."
 
+#, fuzzy
+msgid "no change"
+msgstr "%s: chưa thay đổi gì\n"
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Mật khẩu sai: %s."
@@ -134,6 +156,13 @@ msgstr "Thư mục gốc không hợp lệ \"%s\".\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "Không thể thay đổi thư mục gốc thành \"%s\".\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s: không thể quyết định tên người dùng của bạn.\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) (phân chia bộ nhớ) đã thất bại.\n"
@@ -237,6 +266,10 @@ msgstr "%s: không mở được tập tin mật khẩu.\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s: người dùng lạ %s\n"
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s: không mở được tập tin mật khẩu bóng\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s: không khóa được tập tin mật khẩu bóng\n"
@@ -245,6 +278,10 @@ msgstr "%s: không khóa được tập tin mật khẩu bóng\n"
 msgid "%s: can't open shadow password file\n"
 msgstr "%s: không mở được tập tin mật khẩu bóng\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Đang thay đổi thông tin phạm vị thời gian cho %s.\n"
@@ -269,10 +306,6 @@ msgstr "%s: không thể ghi lại tập tin mật khẩu bóng.\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: không thể ghi lại tập tin mật khẩu.\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: chauthtok PAM (thay đổi hiệu bài xác thức) đã thất bại.\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -474,10 +507,6 @@ msgstr ""
 "Cách sử dụng: expiry {-f|-c}\n"
 "(expiry: khi hết hạn dùng)\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: CẢNH BÁO!  Phải có quyền người chủ (root) set-UID!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: người dùng lạ.\n"
@@ -882,23 +911,24 @@ msgstr "Cách sử dụng: id\n"
 msgid " groups="
 msgstr " nhóm="
 
-#, c-format
+#, fuzzy, c-format
 msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 "Cách sử dụng: lastlog [tùy_chọn]\n"
 "(lastlog: bản ghi cuối cùng)\n"
 "\n"
 "Tùy chọn:\n"
-"  -u, --user TÊN_DÙNG\thiển thị mục ghi lastlog cho _người dùng_ có tên ấy\n"
 "  -h, --help\t\thiển thị _trợ giúp_ này rồi thoát\n"
 "  -t, --time SỐ\thiển thị các mục ghi lastlog chỉ mới hơn SỐ ngày (_thời "
 "gian_)\n"
+"  -u, --user TÊN_DÙNG\thiển thị mục ghi lastlog cho _người dùng_ có tên ấy\n"
 
 #, c-format
 msgid "Username         Port     From             Latest\n"
@@ -959,6 +989,16 @@ msgstr " vào `%.100s' từ `%.200s'"
 msgid " on `%.100s'"
 msgstr " vào `%.100s'"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "Đăng nhập không đúng"
+
 #, c-format
 msgid ""
 "\n"
@@ -970,6 +1010,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "Đăng nhập không đúng"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Cảnh báo: đã hiệu lực lại đăng nhập sau bị khóa ra tạm thời.\n"
 
@@ -985,6 +1029,11 @@ msgstr "Đang nhập cuối cùng: %.19s vào %s"
 msgid " from %.*s"
 msgstr " từ %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr ""
@@ -1066,25 +1115,32 @@ msgid "%s: error updating files\n"
 msgstr "%s: gặp lỗi khi cập nhật tập tin.\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Cách sử dụng: %s [-f|-s] [tên]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
 msgstr ""
-"       %s [-x tối_đa] [-n tối_thiểu] [-w cảnh_báo] [-i không_hoạt_động] tên\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "       %s {-l|-u|-d|-S|-e} tên\n"
 
 msgid "Old password: "
 msgstr "Mật khẩu cũ:"
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "Mật khẩu không đúng cho `%s'\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1246,6 +1302,10 @@ msgstr "Hãy nhập mật khẩu của BẠN để xác thức.\n"
 msgid "Sorry."
 msgstr "Tiếc là..."
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "passwd: (mật khẩu) %s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: phải chạy nó từ thiết bị cuối.\n"
@@ -1494,6 +1554,10 @@ msgstr "Cách sử dụng: %s [-r] tên\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s: gặp lỗi khi cập nhật mục ghi nhóm.\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s: không loại bỏ được nhóm chính của người dùng.\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: không mở được tập tin nhóm.\n"
@@ -1650,41 +1714,5 @@ msgstr ""
 "`vipw' thì sửa đổi /etc/passwd        `vipw -s' thì sửa đổi /etc/shadow\n"
 "`vigr' thì sửa đổi /etc/group         `vigr -s' thì sửa đổi /etc/gshadow\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr ""
-#~ "Cách sử dụng: groupadd [-g gid [-o]] nhóm\n"
-#~ "(groupadd: thêm nhóm)\n"
-
-#, fuzzy
-#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-#~ msgstr ""
-#~ "Cách sử dụng: useradd [-u uid [-o]] [-g nhóm] [-G nhóm,...] \n"
-#~ "(useradd: thêm người dùng)\n"
-
-#~ msgid ""
-#~ "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-#~ msgstr "\t\t[-d chính] [-s hệ_vỏ] [-c ghi_chú] [-m [-k mẫu]]\n"
-
-#~ msgid "               [-f inactive] [-e expire]\n"
-#~ msgstr "\t\t[-f không_hoạt_động] [-e hết_hạn ]\n"
-
-#, fuzzy
-#~ msgid "               [-p passwd] [-K KEY=VALUE] name\n"
-#~ msgstr "\t\t[-p mật_khẩu] tên\n"
-
-#~ msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-#~ msgstr ""
-#~ "       useradd -D [-g nhóm] [-b cơ_bản] [-s hệ_vỏ]\n"
-#~ "(useradd: thêm người dùng)\n"
-
-#~ msgid "%s: -O requires NAME=VALUE\n"
-#~ msgstr "%s: -O cần đến TÊN=GIÁ_TRỊ\n"
-
-#~ msgid "unknown uid: %u\n"
-#~ msgstr "uid lạ: %u\n"
-
-#~ msgid "%s: uid %u is not unique\n"
-#~ msgstr "%s: UID %u không phải độc nhất\n"
-
-#~ msgid "%s: can't get unique uid\n"
-#~ msgstr "%s: không gọi được UID độc nhất\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s: chauthtok PAM (thay đổi hiệu bài xác thức) đã thất bại.\n"
index 5dbb0bea2892f92fc4e2ac1141663ee59b07e051..d88be7c448a3685abf1ad75b64f3d40939ef5c7d 100644 (file)
Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ
index 21d382f843ef16475e90a0c32e10850701e545ee..82f0870a7694ee714f4d5a382d43818b44b6346e 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2004-05-14 10:26+1200\n"
 "Last-Translator: Carlos Z.F. Liu <carlos_liu@yahoo.com>\n"
 "Language-Team: Chinese (simplified) <i18n-translation@lists.linux.net.cn>\n"
@@ -95,6 +95,28 @@ msgstr "无信件。"
 msgid "You have mail."
 msgstr "您有信件。"
 
+#, fuzzy
+msgid "no change"
+msgstr "%s:无改变\n"
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "错误的密码:%s。 "
@@ -133,6 +155,13 @@ msgstr "无效的根目录“%s”\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "无法将根目录改变为“%s”\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s:无法确定您的用户名。\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) 失败\n"
@@ -236,6 +265,10 @@ msgstr "%s:无法打开密码文件\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s:未知用户:%s\n"
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s:无法打开影子密码文件\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s:无法锁定影子密码文件\n"
@@ -244,6 +277,10 @@ msgstr "%s:无法锁定影子密码文件\n"
 msgid "%s: can't open shadow password file\n"
 msgstr "%s:无法打开影子密码文件\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "正在为 %s 修改年龄信息\n"
@@ -268,10 +305,6 @@ msgstr "%s:无法重写影子密码文件\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s:无法重写密码文件\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s:PAM chauthtok 失败\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -461,10 +494,6 @@ msgstr "%s 是无效的 shell。\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "用法:expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s:警告!必须是 set-UID root!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s:未知用户\n"
@@ -853,9 +882,10 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 
 #, c-format
@@ -917,6 +947,16 @@ msgstr " 在“%.100s”上,来自“%.200s”"
 msgid " on `%.100s'"
 msgstr "在“%.100s”上"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "登录错误"
+
 #, c-format
 msgid ""
 "\n"
@@ -928,6 +968,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "登录错误"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "警告:在短暂的锁定后将恢复登录。\n"
 
@@ -943,6 +987,11 @@ msgstr "上次登录:%.19s 在 %s 上"
 msgid " from %.*s"
 msgstr " 来自 %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "用法:newgrp [-] [组]\n"
@@ -1019,24 +1068,32 @@ msgid "%s: error updating files\n"
 msgstr "%s:更新文件出错\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "用法:%s [-f|-s] [名称]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "       %s [-x 最大] [-n 最小] [-w 警告] [-i 失效] 名称\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "       %s {-l|-u|-d|-S|-e} 名称\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
 
 msgid "Old password: "
 msgstr "旧密码:"
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "“%s”的密码不正确\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1195,6 +1252,10 @@ msgstr "请输入您自己的密码作为验证。\n"
 msgid "Sorry."
 msgstr "抱歉"
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "passwd:%s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s:必须从终端中执行\n"
@@ -1439,6 +1500,10 @@ msgstr "用法:%s [-r] 名称\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s:更新组条目时出错\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s:不能删除用户的主组。\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s:无法打开组文件\n"
@@ -1593,35 +1658,5 @@ msgstr ""
 "“vipw” 编辑 /etc/passwd      “vipw -s” 编辑 /etc/shadow\n"
 "“vigr” 编辑 /etc/group       “vigr -s” 编辑 /etc/gshadow\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "用法:groupadd [-g gid [-o]] [-f] 组\n"
-
-#, fuzzy
-#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-#~ msgstr "用法:useradd [-u uid [-o]] [-g 组] [-G 组,...] \n"
-
-#~ msgid ""
-#~ "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-#~ msgstr "               [-d 主目录] [-s shell] [-c 注释] [-m [-k 模板]]\n"
-
-#~ msgid "               [-f inactive] [-e expire]\n"
-#~ msgstr "               [-f 失效日] [-e 过期日 ]\n"
-
-#, fuzzy
-#~ msgid "               [-p passwd] [-K KEY=VALUE] name\n"
-#~ msgstr "               [-p 密码] 名称\n"
-
-#~ msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-#~ msgstr "       useradd -D [-g 组] [-b 主目录] [-s shell]\n"
-
-#~ msgid "%s: -O requires NAME=VALUE\n"
-#~ msgstr "%s:-O 需要 NAME=VALUE\n"
-
-#~ msgid "unknown uid: %u\n"
-#~ msgstr "未知的 uid:%u\n"
-
-#~ msgid "%s: uid %u is not unique\n"
-#~ msgstr "%s:uid %u 不唯一\n"
-
-#~ msgid "%s: can't get unique uid\n"
-#~ msgstr "%s:无法获得唯一的 uid\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s:PAM chauthtok 失败\n"
index 531b0eb7d78f51c5d8304a2cd0d68788c1ec90f0..25a522089b2512065d631a605e65987107188bb3 100644 (file)
Binary files a/po/zh_TW.gmo and b/po/zh_TW.gmo differ
index acb9a9669ab0bb3e3520f0e785fce44297db8b2f..1e38ecedeac1768fc085908d5e5e6a89a2c52e5e 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.9\n"
 "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n"
-"POT-Creation-Date: 2005-08-11 16:15+0200\n"
+"POT-Creation-Date: 2005-10-10 20:33+0200\n"
 "PO-Revision-Date: 2005-06-02 22:20+0800\n"
 "Last-Translator: Asho Yeh <asho@debian.org.tw>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@@ -101,6 +101,28 @@ msgstr "無信件。"
 msgid "You have mail."
 msgstr "您有信件。"
 
+#, fuzzy
+msgid "no change"
+msgstr "%s:無改變\n"
+
+msgid "a palindrome"
+msgstr ""
+
+msgid "case changes only"
+msgstr ""
+
+msgid "too similar"
+msgstr ""
+
+msgid "too simple"
+msgstr ""
+
+msgid "rotated"
+msgstr ""
+
+msgid "too short"
+msgstr ""
+
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "錯誤的密碼:%s。 "
@@ -139,6 +161,13 @@ msgstr "無效的根目錄“%s”\n"
 msgid "Can't change root directory to \"%s\"\n"
 msgstr "無法將根目錄改變為“%s”\n"
 
+msgid "No utmp entry.  You must exec \"login\" from the lowest level \"sh\""
+msgstr ""
+
+#, fuzzy
+msgid "Unable to determine your tty name."
+msgstr "%s:無法確定您的使用者名稱。\n"
+
 #, c-format
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) 失敗\n"
@@ -253,6 +282,10 @@ msgstr "%s:無法打開密碼文件\n"
 msgid "%s: unknown user %s\n"
 msgstr "%s:未知使用者:%s\n"
 
+#, fuzzy, c-format
+msgid "%s: the shadow password file is not present\n"
+msgstr "%s:無法打開影子密碼文件\n"
+
 #, c-format
 msgid "%s: can't lock shadow password file\n"
 msgstr "%s:無法鎖定shadow密碼文件\n"
@@ -261,6 +294,10 @@ msgstr "%s:無法鎖定shadow密碼文件\n"
 msgid "%s: can't open shadow password file\n"
 msgstr "%s:無法打開影子密碼文件\n"
 
+#, c-format
+msgid "%s: failed to drop privileges (%s)\n"
+msgstr ""
+
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "正在為 %s 修改年齡訊息\n"
@@ -285,10 +322,6 @@ msgstr "%s:無法重寫shadow密碼檔案\n"
 msgid "%s: can't rewrite password file\n"
 msgstr "%s:無法重寫密碼檔案\n"
 
-#, c-format
-msgid "%s: PAM chauthtok failed\n"
-msgstr "%s:PAM chauthtok 失敗\n"
-
 #, c-format
 msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
@@ -485,10 +518,6 @@ msgstr "%s 是無效的 shell。\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "用法:expiry {-f|-c}\n"
 
-#, c-format
-msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s:警告!必須是 set-UID root!\n"
-
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s:未知使用者\n"
@@ -883,21 +912,22 @@ msgstr "用法:id\n"
 msgid " groups="
 msgstr " 群組="
 
-#, c-format
+#, fuzzy, c-format
 msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -b, --before DAYS\tprint only lastlog records older than DAYS\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 msgstr ""
 "用法:lastlog [選項]\n"
 "\n"
 "選項:\n"
-"  -u, --user LOGIN\t根據指定的 LOGIN 列出該使用者最後的歷史記錄\n"
 "  -h, --help\t\t顯示這份說明文字然後結束\n"
 "  -t, --time DAYS\t只列出 DAYS 天內的歷史記錄\n"
+"  -u, --user LOGIN\t根據指定的 LOGIN 列出該使用者最後的歷史記錄\n"
 
 #, c-format
 msgid "Username         Port     From             Latest\n"
@@ -958,6 +988,16 @@ msgstr " 在“%.100s”上,來自“%.200s”"
 msgid " on `%.100s'"
 msgstr "在“%.100s”上"
 
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "登入錯誤"
+
 #, c-format
 msgid ""
 "\n"
@@ -969,6 +1009,10 @@ msgstr ""
 msgid "Login incorrect"
 msgstr "登入錯誤"
 
+#, c-format
+msgid "%s: failure forking: %s"
+msgstr ""
+
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "警告:在短暫的鎖定後將恢復登入。\n"
 
@@ -984,6 +1028,11 @@ msgstr "上次登入:%.19s 在 %s 上"
 msgid " from %.*s"
 msgstr " 來自 %.*s"
 
+msgid ""
+"login time exceeded\n"
+"\n"
+msgstr ""
+
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "用法:newgrp [-] [群組]\n"
@@ -1060,24 +1109,32 @@ msgid "%s: error updating files\n"
 msgstr "%s:更新檔案出錯\n"
 
 #, c-format
-msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "用法:%s [-f|-s] [名稱]\n"
-
-#, c-format
-msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "       %s [-x 最大] [-n 最小] [-w 警告] [-i 失效] 名稱\n"
-
-#, c-format
-msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "       %s {-l|-u|-d|-S|-e} 名稱\n"
+msgid ""
+"Usage: passwd [options] [login]\n"
+"\n"
+"Options:\n"
+"  -a, --all \t\t\treport password status on all accounts\n"
+"  -d, --delete \t\t\tdelete the password for the named account\n"
+"  -e, --expire\t\t\tforce expire the password for the named account\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -k, --keep-tokens\t\tchange password only if expired\n"
+"  -i, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --lock\t\t\tlock the named account\n"
+"  -n, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -q, --quiet\t\t\tquiet mode\n"
+"  -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n"
+"  -S, --status\t\t\treport password status on the named account\n"
+"  -u, --unlock\t\t\tunlock the named account\n"
+"  -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
+"  -x, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+msgstr ""
 
 msgid "Old password: "
 msgstr "舊密碼:"
 
-#, c-format
-msgid "Incorrect password for `%s'\n"
-msgstr "“%s”的密碼不正確\n"
-
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1236,6 +1293,10 @@ msgstr "請輸入您自己的密碼作為驗証。\n"
 msgid "Sorry."
 msgstr "抱歉"
 
+#, fuzzy, c-format
+msgid "%s: %s\n"
+msgstr "passwd:%s\n"
+
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s:必須從終端中執行\n"
@@ -1481,6 +1542,10 @@ msgstr "用法:%s [-r] 名稱\n"
 msgid "%s: error updating group entry\n"
 msgstr "%s:更新群組項目時出錯\n"
 
+#, fuzzy, c-format
+msgid "%s: Cannot remove group %s which is a primary group for another user.\n"
+msgstr "%s:不能刪除使用者的主群組。\n"
+
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s:無法打開群組檔案\n"
@@ -1635,35 +1700,5 @@ msgstr ""
 "“vipw” 編輯 /etc/passwd      “vipw -s” 編輯 /etc/shadow\n"
 "“vigr” 編輯 /etc/group       “vigr -s” 編輯 /etc/gshadow\n"
 
-#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-#~ msgstr "用法:groupadd [-g gid [-o]] [-f] 群組\n"
-
-#, fuzzy
-#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-#~ msgstr "用法:useradd [-u uid [-o]] [-g 群組] [-G 群組,...] \n"
-
-#~ msgid ""
-#~ "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-#~ msgstr "               [-d 主目錄] [-s shell] [-c 注釋] [-m [-k 模板]]\n"
-
-#~ msgid "               [-f inactive] [-e expire]\n"
-#~ msgstr "               [-f 失效日] [-e 過期日 ]\n"
-
-#, fuzzy
-#~ msgid "               [-p passwd] [-K KEY=VALUE] name\n"
-#~ msgstr "               [-p 密碼] 名稱\n"
-
-#~ msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-#~ msgstr "       useradd -D [-g 群組] [-b 主目錄] [-s shell]\n"
-
-#~ msgid "%s: -O requires NAME=VALUE\n"
-#~ msgstr "%s:-O 需要 NAME=VALUE\n"
-
-#~ msgid "unknown uid: %u\n"
-#~ msgstr "未知的 uid:%u\n"
-
-#~ msgid "%s: uid %u is not unique\n"
-#~ msgstr "%s:uid %u 不唯一\n"
-
-#~ msgid "%s: can't get unique uid\n"
-#~ msgstr "%s:無法獲得唯一的 uid\n"
+#~ msgid "%s: PAM chauthtok failed\n"
+#~ msgstr "%s:PAM chauthtok 失敗\n"
index ac580c0e349ec758d191f994efe6ed6aa7886fb6..f94bd0edc1caceaf3262ab1a390db416cca4ad3e 100644 (file)
@@ -50,29 +50,30 @@ LDADD              = $(top_builddir)/libmisc/libmisc.a \
                 $(top_builddir)/lib/libshadow.la
 AM_CPPFLAGS    = -DLOCALEDIR=\"$(datadir)/locale\"
 
-chpasswd_LDADD = $(LDADD) $(LIBPAM)
-chage_LDADD    = $(LDADD) $(LIBPAM)
+chage_LDADD    = $(LDADD) $(LIBPAM) $(LIBAUDIT)
 chfn_LDADD     = $(LDADD) $(LIBPAM)
 chsh_SOURCES   = \
        chsh.c \
        chsh_chkshell.c
 chsh_LDADD     = $(LDADD) $(LIBPAM)
-groupadd_LDADD = $(LDADD) $(LIBPAM)
-groupdel_LDADD = $(LDADD) $(LIBPAM)
-groupmod_LDADD = $(LDADD) $(LIBPAM)
+chpasswd_LDADD = $(LDADD) $(LIBPAM)
+gpasswd_LDADD  = $(LDADD) $(LIBAUDIT)
+groupadd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT)
+groupdel_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT)
+groupmod_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT)
 login_SOURCES  = \
        login.c \
        login_nopam.c
 login_LDADD    = $(LDADD) $(LIBPAM)
 newusers_LDADD = $(LDADD) $(LIBPAM)
-passwd_LDADD   = $(LDADD) $(LIBPAM) $(LIBCRACK)
+passwd_LDADD   = $(LDADD) $(LIBPAM) $(LIBCRACK) $(LIBAUDIT)
 su_SOURCES     = \
        su.c \
        suauth.c
 su_LDADD       = $(LDADD) $(LIBPAM)
-useradd_LDADD  = $(LDADD) $(LIBPAM)
-userdel_LDADD  = $(LDADD) $(LIBPAM)
-usermod_LDADD  = $(LDADD) $(LIBPAM)
+useradd_LDADD  = $(LDADD) $(LIBPAM) $(LIBAUDIT)
+userdel_LDADD  = $(LDADD) $(LIBPAM) $(LIBAUDIT)
+usermod_LDADD  = $(LDADD) $(LIBPAM) $(LIBAUDIT)
 
 install-am: all-am
        $(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
index f2e31474bdbaacd6777456086ba4475d5a0d19c3..232bcd440ca381b9a16be371719a725e15d2babb 100644 (file)
@@ -50,7 +50,8 @@ noinst_PROGRAMS = id$(EXEEXT) sulogin$(EXEEXT)
 subdir = src
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -68,7 +69,8 @@ chage_OBJECTS = chage.$(OBJEXT)
 am__DEPENDENCIES_1 = $(top_builddir)/libmisc/libmisc.a \
        $(top_builddir)/lib/libshadow.la
 am__DEPENDENCIES_2 =
-chage_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+chage_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \
+       $(am__DEPENDENCIES_2)
 chfn_SOURCES = chfn.c
 chfn_OBJECTS = chfn.$(OBJEXT)
 chfn_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
@@ -90,18 +92,19 @@ faillog_DEPENDENCIES = $(top_builddir)/libmisc/libmisc.a \
        $(top_builddir)/lib/libshadow.la
 gpasswd_SOURCES = gpasswd.c
 gpasswd_OBJECTS = gpasswd.$(OBJEXT)
-gpasswd_LDADD = $(LDADD)
-gpasswd_DEPENDENCIES = $(top_builddir)/libmisc/libmisc.a \
-       $(top_builddir)/lib/libshadow.la
+gpasswd_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
 groupadd_SOURCES = groupadd.c
 groupadd_OBJECTS = groupadd.$(OBJEXT)
-groupadd_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+groupadd_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \
+       $(am__DEPENDENCIES_2)
 groupdel_SOURCES = groupdel.c
 groupdel_OBJECTS = groupdel.$(OBJEXT)
-groupdel_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+groupdel_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \
+       $(am__DEPENDENCIES_2)
 groupmod_SOURCES = groupmod.c
 groupmod_OBJECTS = groupmod.$(OBJEXT)
-groupmod_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+groupmod_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \
+       $(am__DEPENDENCIES_2)
 groups_SOURCES = groups.c
 groups_OBJECTS = groups.$(OBJEXT)
 groups_LDADD = $(LDADD)
@@ -151,7 +154,7 @@ newusers_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
 passwd_SOURCES = passwd.c
 passwd_OBJECTS = passwd.$(OBJEXT)
 passwd_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \
-       $(am__DEPENDENCIES_2)
+       $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2)
 pwck_SOURCES = pwck.c
 pwck_OBJECTS = pwck.$(OBJEXT)
 pwck_LDADD = $(LDADD)
@@ -177,13 +180,16 @@ sulogin_DEPENDENCIES = $(top_builddir)/libmisc/libmisc.a \
        $(top_builddir)/lib/libshadow.la
 useradd_SOURCES = useradd.c
 useradd_OBJECTS = useradd.$(OBJEXT)
-useradd_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+useradd_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \
+       $(am__DEPENDENCIES_2)
 userdel_SOURCES = userdel.c
 userdel_OBJECTS = userdel.$(OBJEXT)
-userdel_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+userdel_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \
+       $(am__DEPENDENCIES_2)
 usermod_SOURCES = usermod.c
 usermod_OBJECTS = usermod.$(OBJEXT)
-usermod_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+usermod_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \
+       $(am__DEPENDENCIES_2)
 vipw_SOURCES = vipw.c
 vipw_OBJECTS = vipw.$(OBJEXT)
 vipw_LDADD = $(LDADD)
@@ -241,6 +247,8 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
+ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
@@ -252,6 +260,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LDFLAGS = @LDFLAGS@
+LIBAUDIT = @LIBAUDIT@
 LIBCRACK = @LIBCRACK@
 LIBCRYPT = @LIBCRYPT@
 LIBICONV = @LIBICONV@
@@ -291,6 +300,9 @@ U = @U@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
 YACC = @YACC@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -350,32 +362,33 @@ LDADD = $(top_builddir)/libmisc/libmisc.a \
                 $(top_builddir)/lib/libshadow.la
 
 AM_CPPFLAGS = -DLOCALEDIR=\"$(datadir)/locale\"
-chpasswd_LDADD = $(LDADD) $(LIBPAM)
-chage_LDADD = $(LDADD) $(LIBPAM)
+chage_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT)
 chfn_LDADD = $(LDADD) $(LIBPAM)
 chsh_SOURCES = \
        chsh.c \
        chsh_chkshell.c
 
 chsh_LDADD = $(LDADD) $(LIBPAM)
-groupadd_LDADD = $(LDADD) $(LIBPAM)
-groupdel_LDADD = $(LDADD) $(LIBPAM)
-groupmod_LDADD = $(LDADD) $(LIBPAM)
+chpasswd_LDADD = $(LDADD) $(LIBPAM)
+gpasswd_LDADD = $(LDADD) $(LIBAUDIT)
+groupadd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT)
+groupdel_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT)
+groupmod_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT)
 login_SOURCES = \
        login.c \
        login_nopam.c
 
 login_LDADD = $(LDADD) $(LIBPAM)
 newusers_LDADD = $(LDADD) $(LIBPAM)
-passwd_LDADD = $(LDADD) $(LIBPAM) $(LIBCRACK)
+passwd_LDADD = $(LDADD) $(LIBPAM) $(LIBCRACK) $(LIBAUDIT)
 su_SOURCES = \
        su.c \
        suauth.c
 
 su_LDADD = $(LDADD) $(LIBPAM)
-useradd_LDADD = $(LDADD) $(LIBPAM)
-userdel_LDADD = $(LDADD) $(LIBPAM)
-usermod_LDADD = $(LDADD) $(LIBPAM)
+useradd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT)
+userdel_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT)
+usermod_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT)
 all: all-am
 
 .SUFFIXES:
@@ -389,9 +402,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  src/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  src/Makefile
+         $(AUTOMAKE) --foreign  src/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 99f6a36186c4f4e0893a1848461d19d2c7df6da5..a110c1257585cbdab0e12634f418f9263ab62cdc 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: chage.c,v 1.55 2005/08/09 17:20:02 kloczek Exp $")
+#ident "$Id: chage.c,v 1.66 2005/10/04 20:26:41 kloczek Exp $"
+
 #include <ctype.h>
 #include <fcntl.h>
 #include <getopt.h>
@@ -102,7 +102,6 @@ int isnum (const char *s)
 /*
  * usage - print command line syntax and exit
  */
-
 static void usage (void)
 {
        fprintf (stderr, _("Usage: chage [options] user\n"
@@ -144,7 +143,6 @@ static void date_to_str (char *buf, size_t maxsize, time_t date)
  * any other negative value is an error. very large positive values will
  * be handled elsewhere.
  */
-
 static int new_fields (void)
 {
        char buf[200];
@@ -225,7 +223,6 @@ static void print_date (time_t date)
  * values will be displayed as a calendar date, or the word "never" if
  * the date is 1/1/70, which is day number 0.
  */
-
 static void list_fields (void)
 {
        long changed = 0;
@@ -235,7 +232,6 @@ static void list_fields (void)
         * The "last change" date is either "never" or the date the password
         * was last modified. The date is the number of days since 1/1/1970.
         */
-
        printf (_("Last password change\t\t\t\t\t: "));
        if (lastday <= 0) {
                printf (_("never\n"));
@@ -248,7 +244,6 @@ static void list_fields (void)
         * The password expiration date is determined from the last change
         * date plus the number of days the password is valid for.
         */
-
        printf (_("Password expires\t\t\t\t\t: "));
        if (lastday <= 0 || maxdays >= 10000 * (DAY / SCALE)
            || maxdays < 0) {
@@ -264,7 +259,6 @@ static void list_fields (void)
         * number of inactive days is added. The resulting date is when the
         * active will be disabled.
         */
-
        printf (_("Password inactive\t\t\t\t\t: "));
        if (lastday <= 0 || inactdays < 0 ||
            maxdays >= 10000 * (DAY / SCALE) || maxdays < 0) {
@@ -278,7 +272,6 @@ static void list_fields (void)
         * The account will expire on the given date regardless of the
         * password expiring or not.
         */
-
        printf (_("Account expires\t\t\t\t\t\t: "));
        if (expdays < 0) {
                printf (_("never\n"));
@@ -294,7 +287,6 @@ static void list_fields (void)
         * expires that the user is told, and the number of days after the
         * password expires that the account becomes unusable.
         */
-
        printf (_("Minimum number of days between password change\t\t: %ld\n"),
                mindays);
        printf (_("Maximum number of days between password change\t\t: %ld\n"),
@@ -366,6 +358,9 @@ int main (int argc, char **argv)
        int retval;
 #endif
 
+#ifdef WITH_AUDIT
+       audit_help_open ();
+#endif
        sanitize_env ();
        setlocale (LC_ALL, "");
        bindtextdomain (PACKAGE, LOCALEDIR);
@@ -373,7 +368,8 @@ int main (int argc, char **argv)
 
        ruid = getuid ();
 #ifdef WITH_SELINUX
-       amroot = (ruid == 0 && checkPasswdAccess (PASSWD__ROOTOK) == 0);
+       amroot = (ruid == 0
+                 && selinux_check_passwd_access (PASSWD__ROOTOK) == 0);
 #else
        amroot = (ruid == 0);
 #endif
@@ -470,6 +466,10 @@ int main (int argc, char **argv)
 
        if (!amroot && !lflg) {
                fprintf (stderr, _("%s: Permission denied.\n"), Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change age", NULL,
+                             getuid (), 0);
+#endif
                exit (E_NOPERM);
        }
 
@@ -537,6 +537,15 @@ int main (int argc, char **argv)
        pwent = *pw;
        STRFCPY (name, pwent.pw_name);
 
+       if (!spw_file_present ()) {
+               fprintf (stderr,
+                        _("%s: the shadow password file is not present\n"),
+                        Prog);
+               SYSLOG ((LOG_ERR, "can't find the shadow password file"));
+               closelog ();
+               exit (E_SHADOW_NOTFOUND);
+       }
+
        /*
         * For shadow password files we have to lock the file and read in
         * the entries as was done for the password file. The user entries
@@ -549,6 +558,10 @@ int main (int argc, char **argv)
                cleanup (1);
                SYSLOG ((LOG_ERR, "failed locking %s", SHADOW_FILE));
                closelog ();
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change age", name,
+                             getuid (), 0);
+#endif
                exit (E_NOPERM);
        }
        if (!spw_open (locks ? O_RDWR : O_RDONLY)) {
@@ -557,12 +570,20 @@ int main (int argc, char **argv)
                cleanup (2);
                SYSLOG ((LOG_ERR, "failed opening %s", SHADOW_FILE));
                closelog ();
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change age", name,
+                             getuid (), 0);
+#endif
                exit (E_NOPERM);
        }
 
        if (lflg && (setgid (getgid ()) || setuid (ruid))) {
-               fprintf (stderr, "%s: failed to drop privileges (%s)\n",
+               fprintf (stderr, _("%s: failed to drop privileges (%s)\n"),
                         Prog, strerror (errno));
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change age", name,
+                             getuid (), 0);
+#endif
                exit (E_NOPERM);
        }
 
@@ -572,7 +593,6 @@ int main (int argc, char **argv)
         * Set the fields that aren't being set from the command line from
         * the password file.
         */
-
        if (sp) {
                spwd = *sp;
 
@@ -588,6 +608,49 @@ int main (int argc, char **argv)
                        inactdays = spwd.sp_inact;
                if (!Eflg)
                        expdays = spwd.sp_expire;
+#ifdef WITH_AUDIT
+               if (Mflg)
+
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "change max age", pw->pw_name, pw->pw_uid,
+                                     1);
+               if (mflg)
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "change min age", pw->pw_name, pw->pw_uid,
+                                     1);
+               if (dflg) {
+                       char new_lastchg[200];
+                       char old_lastchg[200];
+
+                       date_to_str (new_lastchg, sizeof new_lastchg,
+                                    lastday * DAY);
+                       date_to_str (old_lastchg, sizeof old_lastchg,
+                                    spwd.sp_lstchg * DAY);
+
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "change last change date", pw->pw_name,
+                                     pw->pw_uid, 1);
+               }
+               if (Wflg)
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "change passwd warning", pw->pw_name,
+                                     pw->pw_uid, 1);
+               if (Iflg)
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "change inactive days", pw->pw_name,
+                                     pw->pw_uid, 1);
+               if (Eflg) {
+                       char new_exp[200];
+                       char old_exp[200];
+
+                       date_to_str (new_exp, sizeof new_exp, expdays * DAY);
+                       date_to_str (old_exp, sizeof old_exp,
+                                    spwd.sp_expire * DAY);
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "change passwd expiration", pw->pw_name,
+                                     pw->pw_uid, 1);
+               }
+#endif
        }
 
        /*
@@ -597,10 +660,18 @@ int main (int argc, char **argv)
 
        if (lflg) {
                if (!amroot && (ruid != pwent.pw_uid)) {
+#ifdef WITH_AUDIT
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change age",
+                                     pw->pw_name, pw->pw_uid, 0);
+#endif
                        fprintf (stderr, _("%s: Permission denied.\n"), Prog);
                        closelog ();
                        exit (E_NOPERM);
                }
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "display aging info",
+                             pw->pw_name, pw->pw_uid, 1);
+#endif
                list_fields ();
                cleanup (2);
                closelog ();
@@ -611,7 +682,6 @@ int main (int argc, char **argv)
         * If none of the fields were changed from the command line, let the
         * user interactively change them.
         */
-
        if (!mflg && !Mflg && !dflg && !Wflg && !Iflg && !Eflg) {
                printf (_("Changing the aging information for %s\n"), name);
                if (!new_fields ()) {
@@ -619,15 +689,24 @@ int main (int argc, char **argv)
                                 Prog);
                        cleanup (2);
                        closelog ();
+#ifdef WITH_AUDIT
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change age",
+                                     pw->pw_name, getuid (), 0);
+#endif
                        exit (E_NOPERM);
                }
+#ifdef WITH_AUDIT
+               else
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "change all aging information",
+                                     pw->pw_name, getuid (), 1);
+#endif
        }
        /*
         * There was no shadow entry. The new entry will have the encrypted
         * password transferred from the normal password file along with the
         * aging information.
         */
-
        if (sp == 0) {
                sp = &spwd;
                memzero (&spwd, sizeof spwd);
@@ -643,6 +722,10 @@ int main (int argc, char **argv)
                        cleanup (2);
                        SYSLOG ((LOG_ERR, "failed updating %s", PASSWD_FILE));
                        closelog ();
+#ifdef WITH_AUDIT
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change age",
+                                     pw->pw_name, getuid (), 0);
+#endif
                        exit (E_NOPERM);
                }
        }
@@ -652,7 +735,6 @@ int main (int argc, char **argv)
         * modified entry back to the shadow file. Closing the shadow and
         * password files will commit any changes that have been made.
         */
-
        spwd.sp_max = maxdays;
        spwd.sp_min = mindays;
        spwd.sp_lstchg = lastday;
@@ -666,6 +748,10 @@ int main (int argc, char **argv)
                cleanup (2);
                SYSLOG ((LOG_ERR, "failed updating %s", SHADOW_FILE));
                closelog ();
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change age",
+                             pw->pw_name, getuid (), 0);
+#endif
                exit (E_NOPERM);
        }
 
@@ -679,73 +765,34 @@ int main (int argc, char **argv)
                cleanup (2);
                SYSLOG ((LOG_ERR, "failed rewriting %s", SHADOW_FILE));
                closelog ();
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change age",
+                             pw->pw_name, getuid (), 0);
+#endif
                exit (E_NOPERM);
        }
-#ifdef USE_PAM
-       retval = PAM_SUCCESS;
-
-       pampw = getpwuid (getuid ());
-       if (pampw == NULL) {
-               retval = PAM_USER_UNKNOWN;
-       }
-
-       if (retval == PAM_SUCCESS) {
-               retval = pam_start ("chage", pampw->pw_name, &conv, &pamh);
-       }
-
-       if (retval == PAM_SUCCESS) {
-               retval = pam_authenticate (pamh, 0);
-               if (retval != PAM_SUCCESS) {
-                       pam_end (pamh, retval);
-               }
-       }
-
-       if (retval == PAM_SUCCESS) {
-               retval = pam_acct_mgmt (pamh, 0);
-               if (retval != PAM_SUCCESS) {
-                       pam_end (pamh, retval);
-               }
-       }
-
-       if (retval != PAM_SUCCESS) {
-               fprintf (stderr, _("%s: PAM authentication failed\n"), Prog);
-               exit (E_NOPERM);
-       }
-#endif                         /* USE_PAM */
 
        /*
         * Close the password file. If any entries were modified, the file
         * will be re-written.
         */
-
        if (!pw_close ()) {
                fprintf (stderr, _("%s: can't rewrite password file\n"), Prog);
                cleanup (2);
                SYSLOG ((LOG_ERR, "failed rewriting %s", PASSWD_FILE));
                closelog ();
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change age",
+                             pw->pw_name, getuid (), 0);
+#endif
                exit (E_NOPERM);
        }
        cleanup (2);
        SYSLOG ((LOG_INFO, "changed password expiry for %s", name));
 
 #ifdef USE_PAM
-       if (!lflg) {
-               if (retval == PAM_SUCCESS) {
-                       retval = pam_chauthtok (pamh, 0);
-                       if (retval != PAM_SUCCESS) {
-                               pam_end (pamh, retval);
-                       }
-               }
-
-               if (retval != PAM_SUCCESS) {
-                       fprintf (stderr, _("%s: PAM chauthtok failed\n"), Prog);
-                       exit (E_NOPERM);
-               }
-       }
-
        if (retval == PAM_SUCCESS)
                pam_end (pamh, PAM_SUCCESS);
-
 #endif                         /* USE_PAM */
 
        closelog ();
index 0ce86f33b55c34486ead4cdf8ee54c93fdc357c5..bff215c7a1b4c08d9009faf76752afceb0bee465 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: chfn.c,v 1.31 2005/08/02 13:39:43 kloczek Exp $")
+#ident "$Id: chfn.c,v 1.37 2005/10/04 20:25:55 kloczek Exp $"
+
 #include <fcntl.h>
 #include <pwd.h>
 #include <signal.h>
@@ -77,7 +77,6 @@ static char *copy_field (char *, char *, char *);
 /*
  * usage - print command line syntax and exit
  */
-
 static void usage (void)
 {
        if (amroot)
@@ -134,7 +133,6 @@ static int may_change_field (int field)
  * prompt the user for each of the four fields and fill in the fields from
  * the user's response, or leave alone if nothing was entered.
  */
-
 static void new_fields (void)
 {
        printf (_("Enter the new value, or press ENTER for the default\n"));
@@ -173,7 +171,6 @@ static void new_fields (void)
  *     out - where to copy the field to
  *     extra - fields with '=' get copied here
  */
-
 static char *copy_field (char *in, char *out, char *extra)
 {
        char *cp = NULL;
@@ -199,6 +196,12 @@ static char *copy_field (char *in, char *out, char *extra)
        return cp;
 }
 
+#ifdef USE_PAM
+static struct pam_conv conv = {
+       misc_conv,
+       NULL
+};
+#endif                         /* USE_PAM */
 
 /*
  * chfn - change a user's password file information
@@ -216,7 +219,6 @@ static char *copy_field (char *in, char *out, char *extra)
  *
  *     (*) requires root permission to execute.
  */
-
 int main (int argc, char **argv)
 {
        char *cp;               /* temporary character pointer       */
@@ -232,6 +234,12 @@ int main (int argc, char **argv)
        int oflg = 0;           /* -o - set other information        */
        char *user;
 
+#ifdef USE_PAM
+       pam_handle_t *pamh = NULL;
+       struct passwd *pampw;
+       int retval;
+#endif
+
        sanitize_env ();
        setlocale (LC_ALL, "");
        bindtextdomain (PACKAGE, LOCALEDIR);
@@ -241,14 +249,12 @@ int main (int argc, char **argv)
         * This command behaves different for root and non-root
         * users.
         */
-
        amroot = (getuid () == 0);
 
        /*
         * Get the program name. The program name is used as a
         * prefix to most error messages.
         */
-
        Prog = Basename (argv[0]);
 
        OPENLOG ("chfn");
@@ -260,7 +266,6 @@ int main (int argc, char **argv)
         * environment and must agree with the real UID. Also, the UID will
         * be checked for any commands which are restricted to root only.
         */
-
        while ((flag = getopt (argc, argv, "f:r:w:h:o:")) != EOF) {
                switch (flag) {
                case 'f':
@@ -317,7 +322,6 @@ int main (int argc, char **argv)
         * Get the name of the user to check. It is either the command line
         * name, or the name getlogin() returns.
         */
-
        if (optind < argc) {
                user = argv[optind];
                pw = getpwnam (user);
@@ -342,7 +346,6 @@ int main (int argc, char **argv)
        /*
         * Now we make sure this is a LOCAL password entry for this user ...
         */
-
        if (__ispwNIS ()) {
                char *nis_domain;
                char *nis_master;
@@ -358,7 +361,7 @@ int main (int argc, char **argv)
                                 ("%s: `%s' is the NIS master for this client.\n"),
                                 Prog, nis_master);
                }
-               exit (1);
+               exit (E_NOPERM);
        }
 #endif
 
@@ -366,7 +369,6 @@ int main (int argc, char **argv)
         * Non-privileged users are only allowed to change the gecos field
         * if the UID of the user matches the current real UID.
         */
-
        if (!amroot && pw->pw_uid != getuid ()) {
                fprintf (stderr, _("%s: Permission denied.\n"), Prog);
                closelog ();
@@ -377,9 +379,8 @@ int main (int argc, char **argv)
         * If the UID of the user does not match the current real UID,
         * check if the change is allowed by SELinux policy.
         */
-
        if ((pw->pw_uid != getuid ())
-           && (checkPasswdAccess (PASSWD__CHFN) != 0)) {
+           && (selinux_check_passwd_access (PASSWD__CHFN) != 0)) {
                fprintf (stderr, _("%s: Permission denied.\n"), Prog);
                closelog ();
                exit (E_NOPERM);
@@ -393,17 +394,45 @@ int main (int argc, char **argv)
         * any changes can be made. Idea from util-linux chfn/chsh. 
         * --marekm
         */
-
        if (!amroot && getdef_bool ("CHFN_AUTH"))
                passwd_check (pw->pw_name, pw->pw_passwd, "chfn");
 
-#endif                         /* !USE_PAM */
+#else                          /* !USE_PAM */
+       retval = PAM_SUCCESS;
+
+       pampw = getpwuid (getuid ());
+       if (pampw == NULL) {
+               retval = PAM_USER_UNKNOWN;
+       }
+
+       if (retval == PAM_SUCCESS) {
+               retval = pam_start ("chfn", pampw->pw_name, &conv, &pamh);
+       }
+
+       if (retval == PAM_SUCCESS) {
+               retval = pam_authenticate (pamh, 0);
+               if (retval != PAM_SUCCESS) {
+                       pam_end (pamh, retval);
+               }
+       }
+
+       if (retval == PAM_SUCCESS) {
+               retval = pam_acct_mgmt (pamh, 0);
+               if (retval != PAM_SUCCESS) {
+                       pam_end (pamh, retval);
+               }
+       }
+
+       if (retval != PAM_SUCCESS) {
+               fprintf (stderr, _("%s: PAM authentication failed\n"), Prog);
+               exit (E_NOPERM);
+       }
+#endif                         /* USE_PAM */
 
        /*
         * Now get the full name. It is the first comma separated field in
         * the GECOS field.
         */
-
        STRFCPY (old_gecos, pw->pw_gecos);
        cp = copy_field (old_gecos, fflg ? (char *) 0 : fullnm, slop);
 
@@ -411,21 +440,18 @@ int main (int argc, char **argv)
         * Now get the room number. It is the next comma separated field,
         * if there is indeed one.
         */
-
        if (cp)
                cp = copy_field (cp, rflg ? (char *) 0 : roomno, slop);
 
        /*
         * Now get the work phone number. It is the third field.
         */
-
        if (cp)
                cp = copy_field (cp, wflg ? (char *) 0 : workph, slop);
 
        /*
         * Now get the home phone number. It is the fourth field.
         */
-
        if (cp)
                cp = copy_field (cp, hflg ? (char *) 0 : homeph, slop);
 
@@ -454,44 +480,43 @@ int main (int argc, char **argv)
        if (valid_field (fullnm, ":,=")) {
                fprintf (stderr, _("%s: invalid name: \"%s\"\n"), Prog, fullnm);
                closelog ();
-               exit (1);
+               exit (E_NOPERM);
        }
        if (valid_field (roomno, ":,=")) {
                fprintf (stderr, _("%s: invalid room number: \"%s\"\n"),
                         Prog, roomno);
                closelog ();
-               exit (1);
+               exit (E_NOPERM);
        }
        if (valid_field (workph, ":,=")) {
                fprintf (stderr, _("%s: invalid work phone: \"%s\"\n"),
                         Prog, workph);
                closelog ();
-               exit (1);
+               exit (E_NOPERM);
        }
        if (valid_field (homeph, ":,=")) {
                fprintf (stderr, _("%s: invalid home phone: \"%s\"\n"),
                         Prog, homeph);
                closelog ();
-               exit (1);
+               exit (E_NOPERM);
        }
        if (valid_field (slop, ":")) {
                fprintf (stderr,
                         _("%s: \"%s\" contains illegal characters\n"),
                         Prog, slop);
                closelog ();
-               exit (1);
+               exit (E_NOPERM);
        }
 
        /*
         * Build the new GECOS field by plastering all the pieces together,
         * if they will fit ...
         */
-
        if (strlen (fullnm) + strlen (roomno) + strlen (workph) +
            strlen (homeph) + strlen (slop) > (unsigned int) 80) {
                fprintf (stderr, _("%s: fields too long\n"), Prog);
                closelog ();
-               exit (1);
+               exit (E_NOPERM);
        }
        snprintf (new_gecos, sizeof new_gecos, "%s,%s,%s,%s%s%s",
                  fullnm, roomno, workph, homeph, slop[0] ? "," : "", slop);
@@ -502,12 +527,11 @@ int main (int argc, char **argv)
         * against unexpected signals. Any keyboard signals are set to be
         * ignored.
         */
-
        if (setuid (0)) {
                fprintf (stderr, _("Cannot change ID to root.\n"));
                SYSLOG ((LOG_ERR, "can't setuid(0)"));
                closelog ();
-               exit (1);
+               exit (E_NOPERM);
        }
        pwd_init ();
 
@@ -515,21 +539,20 @@ int main (int argc, char **argv)
         * The passwd entry is now ready to be committed back to the
         * password file. Get a lock on the file and open it.
         */
-
        if (!pw_lock ()) {
                fprintf (stderr,
                         _
                         ("Cannot lock the password file; try again later.\n"));
                SYSLOG ((LOG_WARN, "can't lock /etc/passwd"));
                closelog ();
-               exit (1);
+               exit (E_NOPERM);
        }
        if (!pw_open (O_RDWR)) {
                fprintf (stderr, _("Cannot open the password file.\n"));
                pw_unlock ();
                SYSLOG ((LOG_ERR, "can't open /etc/passwd"));
                closelog ();
-               exit (1);
+               exit (E_NOPERM);
        }
 
        /*
@@ -543,7 +566,7 @@ int main (int argc, char **argv)
                pw_unlock ();
                fprintf (stderr,
                         _("%s: %s not found in /etc/passwd\n"), Prog, user);
-               exit (1);
+               exit (E_NOPERM);
        }
 
        /*
@@ -562,7 +585,7 @@ int main (int argc, char **argv)
                pw_unlock ();
                SYSLOG ((LOG_ERR, "error updating passwd entry"));
                closelog ();
-               exit (1);
+               exit (E_NOPERM);
        }
 
        /*
@@ -573,18 +596,23 @@ int main (int argc, char **argv)
                pw_unlock ();
                SYSLOG ((LOG_ERR, "can't rewrite /etc/passwd"));
                closelog ();
-               exit (1);
+               exit (E_NOPERM);
        }
        if (!pw_unlock ()) {
                fprintf (stderr, _("Cannot unlock the password file.\n"));
                SYSLOG ((LOG_ERR, "can't unlock /etc/passwd"));
                closelog ();
-               exit (1);
+               exit (E_NOPERM);
        }
        SYSLOG ((LOG_INFO, "changed user `%s' information", user));
 
        nscd_flush_cache ("passwd");
 
+#ifdef USE_PAM
+       if (retval == PAM_SUCCESS)
+               pam_end (pamh, PAM_SUCCESS);
+#endif                         /* USE_PAM */
+
        closelog ();
        exit (E_SUCCESS);
 }
index 052da98c7d8aee0251f24bfdb2547c5db92f1cc0..a44296f328008d07547423ed5dda57bbbd75fb75 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: chpasswd.c,v 1.29 2005/08/11 16:23:34 kloczek Exp $")
+#ident "$Id: chpasswd.c,v 1.33 2005/10/04 21:05:12 kloczek Exp $"
+
 #include <fcntl.h>
 #include <getopt.h>
 #include <pwd.h>
@@ -40,10 +40,10 @@ RCSID (PKG_VER "$Id: chpasswd.c,v 1.29 2005/08/11 16:23:34 kloczek Exp $")
 #include <security/pam_appl.h>
 #include <security/pam_misc.h>
 #endif                         /* USE_PAM */
-#include "prototypes.h"
 #include "defines.h"
-#include "pwio.h"
 #include "nscd.h"
+#include "prototypes.h"
+#include "pwio.h"
 #include "shadowio.h"
 /*
  * Global variables
@@ -60,7 +60,6 @@ static void usage (void);
 /*
  * usage - display usage message and exit
  */
-
 static void usage (void)
 {
        fprintf (stderr, _("Usage: chpasswd [options]\n"
@@ -178,7 +177,6 @@ int main (int argc, char **argv)
         * Lock the password file and open it for reading. This will bring
         * all of the entries into memory where they may be updated.
         */
-
        if (!pw_lock ()) {
                fprintf (stderr, _("%s: can't lock password file\n"), Prog);
                exit (1);
@@ -214,7 +212,6 @@ int main (int argc, char **argv)
         * last change date is set in the age only if aging information is
         * present.
         */
-
        while (fgets (buf, sizeof buf, stdin) != (char *) 0) {
                line++;
                if ((cp = strrchr (buf, '\n'))) {
@@ -260,7 +257,6 @@ int main (int argc, char **argv)
                 * Get the password file entry for this user. The user must
                 * already exist.
                 */
-
                pw = pw_locate (name);
                if (!pw) {
                        fprintf (stderr,
@@ -279,7 +275,6 @@ int main (int argc, char **argv)
                 * user's password file entry and the last password change
                 * date is set to the current date.
                 */
-
                if (sp) {
                        newsp = *sp;
                        newsp.sp_pwdp = cp;
@@ -294,7 +289,6 @@ int main (int argc, char **argv)
                 * be written to the password file later, after all the
                 * other entries have been updated as well.
                 */
-
                if (sp)
                        ok = spw_update (&newsp);
                else
@@ -317,7 +311,6 @@ int main (int argc, char **argv)
         * changes to be written out all at once, and then unlocked
         * afterwards.
         */
-
        if (errors) {
                fprintf (stderr,
                         _("%s: error detected, changes ignored\n"), Prog);
@@ -345,18 +338,6 @@ int main (int argc, char **argv)
        pw_unlock ();
 
 #ifdef USE_PAM
-       if (retval == PAM_SUCCESS) {
-               retval = pam_chauthtok (pamh, 0);
-               if (retval != PAM_SUCCESS) {
-                       pam_end (pamh, retval);
-               }
-       }
-
-       if (retval != PAM_SUCCESS) {
-               fprintf (stderr, _("%s: PAM chauthtok failed\n"), Prog);
-               exit (1);
-       }
-
        if (retval == PAM_SUCCESS)
                pam_end (pamh, PAM_SUCCESS);
 #endif                         /* USE_PAM */
index 0bac68832f5b417870a9e3e0393b700258ae2b8e..f6cf2431a76408a561b0e7f6f13dd762b981c706 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: chsh.c,v 1.30 2005/07/24 15:22:45 kloczek Exp $")
+#ident "$Id: chsh.c,v 1.35 2005/10/04 21:02:22 kloczek Exp $"
+
 #include <fcntl.h>
 #include <pwd.h>
 #include <signal.h>
@@ -56,7 +56,9 @@ RCSID (PKG_VER "$Id: chsh.c,v 1.30 2005/07/24 15:22:45 kloczek Exp $")
 #ifndef SHELLS_FILE
 #define SHELLS_FILE "/etc/shells"
 #endif
-/* global variables */
+/*
+ * Global variables
+ */
 static char *Prog;             /* Program name */
 static int amroot;             /* Real UID is root */
 static char loginsh[BUFSIZ];   /* Name of new login shell */
@@ -71,7 +73,6 @@ static int restricted_shell (const char *);
 /*
  * usage - print command line syntax and exit
  */
-
 static void usage (void)
 {
        fprintf (stderr, _("Usage: %s [-s shell] [name]\n"), Prog);
@@ -84,7 +85,6 @@ static void usage (void)
  * prompt the user for the login shell and change it according to the
  * response, or leave it alone if nothing was entered.
  */
-
 static void new_fields (void)
 {
        printf (_("Enter the new value, or press ENTER for the default\n"));
@@ -97,7 +97,6 @@ static void new_fields (void)
  * If the first letter of the filename is 'r' or 'R', the shell is
  * considered to be restricted.
  */
-
 static int restricted_shell (const char *sh)
 {
        /*
@@ -108,6 +107,12 @@ static int restricted_shell (const char *sh)
        return !check_shell (sh);
 }
 
+#ifdef USE_PAM
+static struct pam_conv conv = {
+       misc_conv,
+       NULL
+};
+#endif                         /* USE_PAM */
 
 /*
  * chsh - this command controls changes to the user's shell
@@ -115,7 +120,6 @@ static int restricted_shell (const char *sh)
  *     The only supported option is -s which permits the the login shell to
  *     be set from the command line.
  */
-
 int main (int argc, char **argv)
 {
        char *user;             /* User name                         */
@@ -124,6 +128,12 @@ int main (int argc, char **argv)
        const struct passwd *pw;        /* Password entry from /etc/passwd   */
        struct passwd pwent;    /* New password entry                */
 
+#ifdef USE_PAM
+       pam_handle_t *pamh = NULL;
+       struct passwd *pampw;
+       int retval;
+#endif
+
        sanitize_env ();
 
        setlocale (LC_ALL, "");
@@ -133,14 +143,12 @@ int main (int argc, char **argv)
        /*
         * This command behaves different for root and non-root users.
         */
-
        amroot = getuid () == 0;
 
        /*
         * Get the program name. The program name is used as a prefix to
         * most error messages.
         */
-
        Prog = Basename (argv[0]);
 
        OPENLOG ("chsh");
@@ -165,7 +173,6 @@ int main (int argc, char **argv)
         * There should be only one remaining argument at most and it should
         * be the user's name.
         */
-
        if (argc > optind + 1)
                usage ();
 
@@ -173,7 +180,6 @@ int main (int argc, char **argv)
         * Get the name of the user to check. It is either the command line
         * name, or the name getlogin() returns.
         */
-
        if (optind < argc) {
                user = argv[optind];
                pw = getpwnam (user);
@@ -198,7 +204,6 @@ int main (int argc, char **argv)
        /*
         * Now we make sure this is a LOCAL password entry for this user ...
         */
-
        if (__ispwNIS ()) {
                char *nis_domain;
                char *nis_master;
@@ -222,7 +227,6 @@ int main (int argc, char **argv)
         * Non-privileged users are only allowed to change the shell if the
         * UID of the user matches the current real UID.
         */
-
        if (!amroot && pw->pw_uid != getuid ()) {
                SYSLOG ((LOG_WARN, "can't change shell for `%s'", user));
                closelog ();
@@ -235,7 +239,6 @@ int main (int argc, char **argv)
         * Non-privileged users are only allowed to change the shell if it
         * is not a restricted one.
         */
-
        if (!amroot && restricted_shell (pw->pw_shell)) {
                SYSLOG ((LOG_WARN, "can't change shell for `%s'", user));
                closelog ();
@@ -248,9 +251,8 @@ int main (int argc, char **argv)
         * If the UID of the user does not match the current real UID,
         * check if the change is allowed by SELinux policy.
         */
-
        if ((pw->pw_uid != getuid ())
-           && (checkPasswdAccess (PASSWD__CHSH) != 0)) {
+           && (selinux_check_passwd_access (PASSWD__CHSH) != 0)) {
                SYSLOG ((LOG_WARN, "can't change shell for `%s'", user));
                closelog ();
                fprintf (stderr,
@@ -266,17 +268,45 @@ int main (int argc, char **argv)
         * before any changes can be made. Idea from util-linux
         * chfn/chsh.  --marekm
         */
-
        if (!amroot && getdef_bool ("CHSH_AUTH"))
                passwd_check (pw->pw_name, pw->pw_passwd, "chsh");
 
-#endif                         /* !USE_PAM */
+#else                          /* !USE_PAM */
+       retval = PAM_SUCCESS;
+
+       pampw = getpwuid (getuid ());
+       if (pampw == NULL) {
+               retval = PAM_USER_UNKNOWN;
+       }
+
+       if (retval == PAM_SUCCESS) {
+               retval = pam_start ("chsh", pampw->pw_name, &conv, &pamh);
+       }
+
+       if (retval == PAM_SUCCESS) {
+               retval = pam_authenticate (pamh, 0);
+               if (retval != PAM_SUCCESS) {
+                       pam_end (pamh, retval);
+               }
+       }
+
+       if (retval == PAM_SUCCESS) {
+               retval = pam_acct_mgmt (pamh, 0);
+               if (retval != PAM_SUCCESS) {
+                       pam_end (pamh, retval);
+               }
+       }
+
+       if (retval != PAM_SUCCESS) {
+               fprintf (stderr, _("%s: PAM authentication failed\n"), Prog);
+               exit (E_NOPERM);
+       }
+#endif                         /* USE_PAM */
 
        /*
         * Now get the login shell. Either get it from the password
         * file, or use the value from the command line.
         */
-
        if (!sflg)
                STRFCPY (loginsh, pw->pw_shell);
 
@@ -284,7 +314,6 @@ int main (int argc, char **argv)
         * If the login shell was not set on the command line, let the user
         * interactively change it.
         */
-
        if (!sflg) {
                printf (_("Changing the login shell for %s\n"), user);
                new_fields ();
@@ -296,7 +325,6 @@ int main (int argc, char **argv)
         * users are restricted to using the shells in /etc/shells.
         * The shell must be executable by the user.
         */
-
        if (valid_field (loginsh, ":,=")) {
                fprintf (stderr, _("%s: Invalid entry: %s\n"), Prog, loginsh);
                closelog ();
@@ -314,7 +342,6 @@ int main (int argc, char **argv)
         * to root to protect against unexpected signals. Any
         * keyboard signals are set to be ignored.
         */
-
        if (setuid (0)) {
                SYSLOG ((LOG_ERR, "can't setuid(0)"));
                closelog ();
@@ -327,7 +354,6 @@ int main (int argc, char **argv)
         * The passwd entry is now ready to be committed back to
         * the password file. Get a lock on the file and open it.
         */
-
        if (!pw_lock ()) {
                SYSLOG ((LOG_WARN, "can't lock /etc/passwd"));
                closelog ();
@@ -369,7 +395,6 @@ int main (int argc, char **argv)
         * Update the passwd file entry. If there is a DBM file, update
         * that entry as well.
         */
-
        if (!pw_update (&pwent)) {
                SYSLOG ((LOG_ERR, "error updating passwd entry"));
                closelog ();
@@ -381,7 +406,6 @@ int main (int argc, char **argv)
        /*
         * Changes have all been made, so commit them and unlock the file.
         */
-
        if (!pw_close ()) {
                SYSLOG ((LOG_ERR, "can't rewrite /etc/passwd"));
                closelog ();
@@ -399,6 +423,11 @@ int main (int argc, char **argv)
 
        nscd_flush_cache ("passwd");
 
+#ifdef USE_PAM
+       if (retval == PAM_SUCCESS)
+               pam_end (pamh, PAM_SUCCESS);
+#endif                         /* USE_PAM */
+
        closelog ();
        exit (E_SUCCESS);
 }
index 7e162db450cc53f557aa282f170eabc5a74331e5..ac9195e25f141933c857eba391e212499bad8614 100644 (file)
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID ("$Id: chsh_chkshell.c,v 1.1 2005/07/07 08:40:27 kloczek Exp $")
-#include <sys/types.h>
-#include <stdio.h>
+#ident "$Id: chsh_chkshell.c,v 1.3 2005/08/31 17:25:00 kloczek Exp $"
+
 #include <fcntl.h>
-#include "prototypes.h"
+#include <stdio.h>
+#include <sys/types.h>
 #include "defines.h"
+#include "prototypes.h"
 #ifndef SHELLS_FILE
 #define SHELLS_FILE "/etc/shells"
 #endif
index 3525aae6ae39f708fff00437646e0128e129979c..3cc953b1209506832d5f0cb6a724355b2c1c3c05 100644 (file)
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: expiry.c,v 1.14 2005/05/25 18:20:25 kloczek Exp $")
-#include <sys/types.h>
+#ident "$Id: expiry.c,v 1.18 2005/09/07 15:00:45 kloczek Exp $"
+
+#include <pwd.h>
 #include <signal.h>
 #include <stdio.h>
-#include "prototypes.h"
+#include <sys/types.h>
 #include "defines.h"
-#include <pwd.h>
+#include "prototypes.h"
 /* local function prototypes */
 static RETSIGTYPE catch (int);
 static void usage (void);
@@ -44,7 +44,6 @@ static void usage (void);
 /*
  * catch - signal catcher
  */
-
 static RETSIGTYPE catch (int sig)
 {
        exit (10);
@@ -53,7 +52,6 @@ static RETSIGTYPE catch (int sig)
 /*
  * usage - print syntax message and exit
  */
-
 static void usage (void)
 {
        fprintf (stderr, _("Usage: expiry {-f|-c}\n"));
@@ -66,7 +64,6 @@ static void usage (void)
  *     expiry checks (-c) the current password expiraction and forces (-f)
  *     changes when required. It is callable as a normal user command.
  */
-
 int main (int argc, char **argv)
 {
        struct passwd *pwd;
@@ -79,7 +76,6 @@ int main (int argc, char **argv)
        /* 
         * Start by disabling all of the keyboard signals.
         */
-
        signal (SIGHUP, catch);
        signal (SIGINT, catch);
        signal (SIGQUIT, catch);
@@ -91,7 +87,6 @@ int main (int argc, char **argv)
         * expiry takes one of two arguments. The default action is to give
         * the usage message.
         */
-
        setlocale (LC_ALL, "");
        bindtextdomain (PACKAGE, LOCALEDIR);
        textdomain (PACKAGE);
@@ -99,23 +94,9 @@ int main (int argc, char **argv)
        if (argc != 2 || (strcmp (argv[1], "-f") && strcmp (argv[1], "-c")))
                usage ();
 
-#if 0                          /* could be setgid shadow with /etc/shadow mode 0640 */
-       /*
-        * Make sure I am root. Can't open /etc/shadow without root
-        * authority.
-        */
-
-       if (geteuid () != 0) {
-               fprintf (stderr,
-                        _("%s: WARNING!  Must be set-UID root!\n"), argv[0]);
-               exit (10);
-       }
-#endif
-
        /*
         * Get user entries for /etc/passwd and /etc/shadow
         */
-
        if (!(pwd = get_my_pwent ())) {
                fprintf (stderr, _("%s: unknown user\n"), Prog);
                exit (10);
@@ -125,26 +106,22 @@ int main (int argc, char **argv)
        /*
         * If checking accounts, use agecheck() function.
         */
-
        if (strcmp (argv[1], "-c") == 0) {
 
                /*
                 * Print out number of days until expiration.
                 */
-
                agecheck (pwd, spwd);
 
                /*
                 * Exit with status indicating state of account.
                 */
-
                exit (isexpired (pwd, spwd));
        }
 
        /*
         * If forcing password change, use expire() function.
         */
-
        if (strcmp (argv[1], "-f") == 0) {
 
                /*
@@ -152,7 +129,6 @@ int main (int argc, char **argv)
                 * message indicating what to do. And it doesn't return at
                 * all unless the account is unexpired.
                 */
-
                expire (pwd, spwd);
                exit (0);
        }
@@ -160,7 +136,6 @@ int main (int argc, char **argv)
        /*
         * Can't get here ...
         */
-
        usage ();
        exit (1);
 }
index aa8967a01653cb56e8f0833a625ba0716ac54104..dc1ee335da2d6c152a7c785bd0df0648c2888a76 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: faillog.c,v 1.24 2005/08/03 17:40:59 kloczek Exp $")
+#ident "$Id: faillog.c,v 1.26 2005/08/31 17:25:00 kloczek Exp $"
+
 #include <getopt.h>
 #include <pwd.h>
 #include <stdio.h>
@@ -41,7 +41,9 @@ RCSID (PKG_VER "$Id: faillog.c,v 1.24 2005/08/03 17:40:59 kloczek Exp $")
 #include "exitcodes.h"
 #include "faillog.h"
 #include "prototypes.h"
-/* global variables */
+/*
+ * Global variables
+ */
 static FILE *fail;             /* failure file stream */
 static uid_t user;             /* one single user, specified on command line */
 static int days;               /* number of days to consider for print command */
index 97f4c704dc38a1a11f6400b2e6714a6851700e1e..fc7675f4b65fb9daac7133b508a22d1cb8c5809d 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: gpasswd.c,v 1.28 2005/08/09 15:27:51 kloczek Exp $")
+#ident "$Id: gpasswd.c,v 1.34 2005/09/07 15:00:45 kloczek Exp $"
+
 #include <errno.h>
 #include <fcntl.h>
 #include <grp.h>
@@ -45,7 +45,9 @@ RCSID (PKG_VER "$Id: gpasswd.c,v 1.28 2005/08/09 15:27:51 kloczek Exp $")
 #ifdef SHADOWGRP
 #include "sgroupio.h"
 #endif
-/* global variables */
+/*
+ * Global variables
+ */
 static char *Prog;
 
 #ifdef SHADOWGRP
@@ -55,6 +57,8 @@ static int is_shadowgrp;
 static int
  aflg = 0, Aflg = 0, dflg = 0, Mflg = 0, rflg = 0, Rflg = 0;
 
+unsigned int bywho = -1;
+
 #ifndef        RETRIES
 #define        RETRIES 3
 #endif
@@ -67,7 +71,6 @@ static int check_list (const char *);
 /*
  * usage - display usage message
  */
-
 static void usage (void)
 {
        fprintf (stderr, _("Usage: %s [-r|-R] group\n"), Prog);
@@ -89,7 +92,6 @@ static void usage (void)
  *     with die() as the signal handler. If signal later calls die() with a
  *     signal number, the terminal modes are then reset.
  */
-
 static RETSIGTYPE die (int killed)
 {
        static TERMIO sgtty;
@@ -112,7 +114,6 @@ static RETSIGTYPE die (int killed)
  *     check_list scans a comma-separated list of user names and checks
  *     that each listed name exists.
  */
-
 static int check_list (const char *users)
 {
        const char *start, *end;
@@ -146,13 +147,11 @@ static int check_list (const char *users)
        return errors;
 }
 
-
 static void failure (void)
 {
        fprintf (stderr, _("%s: Permission denied.\n"), Prog);
        exit (1);
- /*NOTREACHED*/}
-
+}
 
 /*
  * gpasswd - administer the /etc/group file
@@ -164,7 +163,6 @@ static void failure (void)
  *     -A user,...     make list of users the administrative users
  *     -M user,...     make list of users the group members
  */
-
 int main (int argc, char **argv)
 {
        int flag;
@@ -186,6 +184,10 @@ int main (int argc, char **argv)
        char *group = NULL;
        char *members = NULL;
 
+#ifdef WITH_AUDIT
+       audit_help_open ();
+#endif
+
        sanitize_env ();
        setlocale (LC_ALL, "");
        bindtextdomain (PACKAGE, LOCALEDIR);
@@ -198,8 +200,8 @@ int main (int argc, char **argv)
         * prevent the invoker from issuing signals which would interfer
         * with this command.
         */
-
        amroot = getuid () == 0;
+       bywho = getuid ();
        Prog = Basename (argv[0]);
 
        OPENLOG ("gpasswd");
@@ -217,14 +219,24 @@ int main (int argc, char **argv)
                                fprintf (stderr,
                                         _("%s: unknown user %s\n"), Prog,
                                         user);
+#ifdef WITH_AUDIT
+                               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                             "adding to group", user, -1, 0);
+#endif
                                exit (1);
                        }
                        aflg++;
                        break;
 #ifdef SHADOWGRP
                case 'A':
-                       if (!amroot)
+                       if (!amroot) {
+#ifdef WITH_AUDIT
+                               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                             "Listing administrators", NULL,
+                                             bywho, 0);
+#endif
                                failure ();
+                       }
                        if (!is_shadowgrp) {
                                fprintf (stderr,
                                         _
@@ -245,8 +257,14 @@ int main (int argc, char **argv)
                case 'g':       /* no-op from normal password */
                        break;
                case 'M':
-                       if (!amroot)
+                       if (!amroot) {
+#ifdef WITH_AUDIT
+                               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                             "listing members", NULL, bywho,
+                                             0);
+#endif
                                failure ();
+                       }
                        members = optarg;
                        if (check_list (members))
                                exit (1);
@@ -280,7 +298,11 @@ int main (int argc, char **argv)
        pw = get_my_pwent ();
        if (!pw) {
                fprintf (stderr, _("Who are you?\n"));
-               exit (1);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "user lookup", NULL,
+                             bywho, 0);
+#endif
+               failure ();
        }
        myname = xstrdup (pw->pw_name);
 
@@ -293,13 +315,16 @@ int main (int argc, char **argv)
         * XXX - should get the entry using gr_locate() and modify that,
         * getgrnam() could give us a NIS group.  --marekm
         */
-
        if (!(group = argv[optind]))
                usage ();
 
        if (!(gr = getgrnam (group))) {
                fprintf (stderr, _("unknown group: %s\n"), group);
-               exit (1);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "group lookup", group,
+                             -1, 0);
+#endif
+               failure ();
        }
        grent = *gr;
        grent.gr_name = xstrdup (gr->gr_name);
@@ -339,9 +364,13 @@ int main (int argc, char **argv)
         * Administrative members can do anything to a group that the root
         * user can.
         */
-
-       if (!amroot && !is_on_list (sgent.sg_adm, myname))
+       if (!amroot && !is_on_list (sgent.sg_adm, myname)) {
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "modify group", group,
+                             -1, 0);
+#endif
                failure ();
+       }
 #else                          /* ! SHADOWGRP */
 
 #ifdef FIRST_MEMBER_IS_ADMIN
@@ -352,13 +381,22 @@ int main (int argc, char **argv)
         * the root user can. The rationale for this hack is that the FIRST
         * user is probably the most important user in this entire group.
         */
-
        if (!amroot) {
-               if (grent.gr_mem[0] == (char *) 0)
+               if (grent.gr_mem[0] == (char *) 0) {
+#ifdef WITH_AUDIT
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "modifying group", group, -1, 0);
+#endif
                        failure ();
+               }
 
-               if (strcmp (grent.gr_mem[0], myname) != 0)
+               if (strcmp (grent.gr_mem[0], myname) != 0) {
+#ifdef WITH_AUDIT
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "modifying group", myname, -1, 0);
+#endif
                        failure ();
+               }
        }
 #else
        /*
@@ -366,9 +404,13 @@ int main (int argc, char **argv)
         * installed on existing systems where the first group member might
         * be just a normal user.  --marekm
         */
-
-       if (!amroot)
+       if (!amroot) {
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "modifying group",
+                             group, -1, 0);
+#endif
                failure ();
+       }
 #endif
 
 #endif                         /* SHADOWGRP */
@@ -377,11 +419,14 @@ int main (int argc, char **argv)
         * Removing a password is straight forward. Just set the password
         * field to a "".
         */
-
        if (rflg) {
                grent.gr_passwd = "";   /* XXX warning: const */
 #ifdef SHADOWGRP
                sgent.sg_passwd = "";   /* XXX warning: const */
+#endif
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "deleting group password", group, -1, 1);
 #endif
                SYSLOG ((LOG_INFO, "remove password from group %s by %s",
                         group, myname));
@@ -391,10 +436,13 @@ int main (int argc, char **argv)
                 * Same thing for restricting the group. Set the password
                 * field to "!".
                 */
-
                grent.gr_passwd = "!";  /* XXX warning: const */
 #ifdef SHADOWGRP
                sgent.sg_passwd = "!";  /* XXX warning: const */
+#endif
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "restrict access to group", group, -1, 1);
 #endif
                SYSLOG ((LOG_INFO, "restrict access to group %s by %s",
                         group, myname));
@@ -405,12 +453,15 @@ int main (int argc, char **argv)
         * Adding a member to a member list is pretty straightforward as
         * well. Call the appropriate routine and split.
         */
-
        if (aflg) {
                printf (_("Adding user %s to group %s\n"), user, group);
                grent.gr_mem = add_list (grent.gr_mem, user);
 #ifdef SHADOWGRP
                sgent.sg_mem = add_list (sgent.sg_mem, user);
+#endif
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding group member",
+                             user, -1, 1);
 #endif
                SYSLOG ((LOG_INFO, "add member %s to group %s by %s", user,
                         group, myname));
@@ -421,7 +472,6 @@ int main (int argc, char **argv)
         * Removing a member from the member list is the same deal as adding
         * one, except the routine is different.
         */
-
        if (dflg) {
                int removed = 0;
 
@@ -440,8 +490,16 @@ int main (int argc, char **argv)
                if (!removed) {
                        fprintf (stderr, _("%s: unknown member %s\n"),
                                 Prog, user);
+#ifdef WITH_AUDIT
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "deleting member", user, -1, 0);
+#endif
                        exit (1);
                }
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting member",
+                             user, -1, 1);
+#endif
                SYSLOG ((LOG_INFO, "remove member %s from group %s by %s",
                         user, group, myname));
                goto output;
@@ -452,8 +510,11 @@ int main (int argc, char **argv)
         * list to make sure everyone is a real user. Then slap the new list
         * in place.
         */
-
        if (Aflg) {
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "setting group admin",
+                             group, -1, 1);
+#endif
                SYSLOG ((LOG_INFO, "set administrators of %s to %s",
                         group, admins));
                sgent.sg_adm = comma_to_list (admins);
@@ -467,8 +528,11 @@ int main (int argc, char **argv)
         * make sure everyone is a real user. Then slap the new list in
         * place.
         */
-
        if (Mflg) {
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "setting group members", group, -1, 1);
+#endif
                SYSLOG ((LOG_INFO, "set members of %s to %s", group, members));
 #ifdef SHADOWGRP
                sgent.sg_mem = comma_to_list (members);
@@ -482,9 +546,12 @@ int main (int argc, char **argv)
         * be a tty. The typical keyboard signals are caught so the termio
         * modes can be restored.
         */
-
        if (!isatty (0) || !isatty (1)) {
                fprintf (stderr, _("%s: Not a tty\n"), Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing password",
+                             group, -1, 0);
+#endif
                exit (1);
        }
 
@@ -504,7 +571,6 @@ int main (int argc, char **argv)
         * identical. There is no need to validate the old password since
         * the invoker is either the group owner, or root.
         */
-
        printf (_("Changing the password for group %s\n"), group);
 
        for (retries = 0; retries < RETRIES; retries++) {
@@ -524,8 +590,13 @@ int main (int argc, char **argv)
                strzero (cp);
                memzero (pass, sizeof pass);
 
-               if (retries + 1 < RETRIES)
+               if (retries + 1 < RETRIES) {
                        puts (_("They don't match; try again"));
+#ifdef WITH_AUDIT
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "changing password", group, -1, 0);
+#endif
+               }
        }
 
        if (retries == RETRIES) {
@@ -541,6 +612,10 @@ int main (int argc, char **argv)
        else
 #endif
                grent.gr_passwd = cp;
+#ifdef WITH_AUDIT
+       audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing password", group,
+                     -1, 1);
+#endif
        SYSLOG ((LOG_INFO, "change the password for group %s by %s", group,
                 myname));
 
@@ -550,11 +625,14 @@ int main (int argc, char **argv)
         * will be locked and opened for writing. The new entry will be
         * output, etc.
         */
-
       output:
        if (setuid (0)) {
                fprintf (stderr, _("Cannot change ID to root.\n"));
                SYSLOG ((LOG_ERR, "can't setuid(0)"));
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing id to root",
+                             group, -1, 0);
+#endif
                closelog ();
                exit (1);
        }
@@ -563,48 +641,80 @@ int main (int argc, char **argv)
        if (!gr_lock ()) {
                fprintf (stderr, _("%s: can't get lock\n"), Prog);
                SYSLOG ((LOG_WARN, "failed to get lock for /etc/group"));
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "locking /etc/group",
+                             group, -1, 0);
+#endif
                exit (1);
        }
 #ifdef SHADOWGRP
        if (is_shadowgrp && !sgr_lock ()) {
                fprintf (stderr, _("%s: can't get shadow lock\n"), Prog);
                SYSLOG ((LOG_WARN, "failed to get lock for /etc/gshadow"));
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "locking /etc/gshadow", group, -1, 0);
+#endif
                exit (1);
        }
 #endif
        if (!gr_open (O_RDWR)) {
                fprintf (stderr, _("%s: can't open file\n"), Prog);
                SYSLOG ((LOG_WARN, "cannot open /etc/group"));
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "opening /etc/group",
+                             group, -1, 0);
+#endif
                exit (1);
        }
 #ifdef SHADOWGRP
        if (is_shadowgrp && !sgr_open (O_RDWR)) {
                fprintf (stderr, _("%s: can't open shadow file\n"), Prog);
                SYSLOG ((LOG_WARN, "cannot open /etc/gshadow"));
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "opening /etc/gshadow", group, -1, 0);
+#endif
                exit (1);
        }
 #endif
        if (!gr_update (&grent)) {
                fprintf (stderr, _("%s: can't update entry\n"), Prog);
                SYSLOG ((LOG_WARN, "cannot update /etc/group"));
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "updating /etc/group",
+                             group, -1, 0);
+#endif
                exit (1);
        }
 #ifdef SHADOWGRP
        if (is_shadowgrp && !sgr_update (&sgent)) {
                fprintf (stderr, _("%s: can't update shadow entry\n"), Prog);
                SYSLOG ((LOG_WARN, "cannot update /etc/gshadow"));
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "updating /etc/gshadow", group, -1, 0);
+#endif
                exit (1);
        }
 #endif
        if (!gr_close ()) {
                fprintf (stderr, _("%s: can't re-write file\n"), Prog);
                SYSLOG ((LOG_WARN, "cannot re-write /etc/group"));
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "rewriting /etc/group", group, -1, 0);
+#endif
                exit (1);
        }
 #ifdef SHADOWGRP
        if (is_shadowgrp && !sgr_close ()) {
                fprintf (stderr, _("%s: can't re-write shadow file\n"), Prog);
                SYSLOG ((LOG_WARN, "cannot re-write /etc/gshadow"));
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "rewriting /etc/gshadow", group, -1, 0);
+#endif
                exit (1);
        }
        if (is_shadowgrp)
@@ -612,6 +722,10 @@ int main (int argc, char **argv)
 #endif
        if (!gr_unlock ()) {
                fprintf (stderr, _("%s: can't unlock file\n"), Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "unlocking group file", group, -1, 0);
+#endif
                exit (1);
        }
 
index d42b3ec05d82d6ca19e88325373387d230eb3564..f7c3d07de3d20fa5d50bde4824bf9db9dd76e34c 100644 (file)
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: groupadd.c,v 1.41 2005/08/11 13:45:41 kloczek Exp $")
-#include <sys/types.h>
-#include <stdio.h>
-#include <getopt.h>
-#include <grp.h>
+#ident "$Id: groupadd.c,v 1.48 2005/10/04 21:05:12 kloczek Exp $"
+
 #include <ctype.h>
 #include <fcntl.h>
+#include <getopt.h>
+#include <grp.h>
+#include <stdio.h>
+#include <sys/types.h>
 #ifdef USE_PAM
 #include <security/pam_appl.h>
 #include <security/pam_misc.h>
 #include <pwd.h>
 #endif                         /* USE_PAM */
-#include "defines.h"
-#include "prototypes.h"
 #include "chkname.h"
+#include "defines.h"
 #include "getdef.h"
 #include "groupio.h"
 #include "nscd.h"
+#include "prototypes.h"
 #ifdef SHADOWGRP
 #include "sgroupio.h"
 static int is_shadow_grp;
@@ -56,7 +56,6 @@ static int is_shadow_grp;
 /*
  * exit status values
  */
-
 #define E_SUCCESS      0       /* success */
 #define E_USAGE                2       /* invalid command syntax */
 #define E_BAD_ARG      3       /* invalid argument to option */
@@ -64,6 +63,9 @@ static int is_shadow_grp;
 #define E_NAME_IN_USE  9       /* group name not unique */
 #define E_GRP_UPDATE   10      /* can't update group file */
 
+/*
+ * Global variables
+ */
 static char *group_name;
 static gid_t group_id;
 static char *empty_list = NULL;
@@ -92,7 +94,6 @@ static void fail_exit (int);
 /*
  * usage - display usage message and exit
  */
-
 static void usage (void)
 {
        fprintf (stderr, _("Usage: groupadd [options] group\n"
@@ -114,7 +115,6 @@ static void usage (void)
  *     new_grent() takes all of the values that have been entered and fills
  *     in a (struct group) with them.
  */
-
 static void new_grent (struct group *grent)
 {
        memzero (grent, sizeof *grent);
@@ -131,7 +131,6 @@ static void new_grent (struct group *grent)
  *     new_sgent() takes all of the values that have been entered and fills
  *     in a (struct sgrp) with them.
  */
-
 static void new_sgent (struct sgrp *sgent)
 {
        memzero (sgent, sizeof *sgent);
@@ -147,7 +146,6 @@ static void new_sgent (struct sgrp *sgent)
  *
  *     grp_update() writes the new records to the group files.
  */
-
 static void grp_update (void)
 {
        struct group grp;
@@ -180,6 +178,10 @@ static void grp_update (void)
                fail_exit (E_GRP_UPDATE);
        }
 #endif                         /* SHADOWGRP */
+#ifdef WITH_AUDIT
+       audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding group", group_name,
+                     group_id, 1);
+#endif
        SYSLOG ((LOG_INFO, "new group: name=%s, GID=%u",
                 group_name, (unsigned int) group_id));
 }
@@ -191,13 +193,12 @@ static void grp_update (void)
  *     file, or checks the given group ID against the existing ones for
  *     uniqueness.
  */
-
 static void find_new_gid (void)
 {
        const struct group *grp;
        gid_t gid_min, gid_max;
 
-       gid_min = getdef_unum ("GID_MIN", 100);
+       gid_min = getdef_unum ("GID_MIN", 1000);
        gid_max = getdef_unum ("GID_MAX", 60000);
 
        /*
@@ -213,7 +214,6 @@ static void find_new_gid (void)
         * user specified one with -g) or looking for the largest unused
         * value.
         */
-
 #ifdef NO_GETGRENT
        gr_rewind ();
        while ((grp = gr_next ())) {
@@ -276,7 +276,6 @@ static void find_new_gid (void)
  *     check_new_name() insures that the new name doesn't contain any
  *     illegal characters.
  */
-
 static void check_new_name (void)
 {
        if (check_group_name (group_name))
@@ -298,7 +297,6 @@ static void check_new_name (void)
  *     close_files() closes all of the files that were opened for this new
  *     group. This causes any modified entries to be written out.
  */
-
 static void close_files (void)
 {
        if (!gr_close ()) {
@@ -322,15 +320,22 @@ static void close_files (void)
  *
  *     open_files() opens the two group files.
  */
-
 static void open_files (void)
 {
        if (!gr_lock ()) {
                fprintf (stderr, _("%s: unable to lock group file\n"), Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "locking group file",
+                             group_name, -1, 0);
+#endif
                exit (E_GRP_UPDATE);
        }
        if (!gr_open (O_RDWR)) {
                fprintf (stderr, _("%s: unable to open group file\n"), Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "opening group file",
+                             group_name, -1, 0);
+#endif
                fail_exit (E_GRP_UPDATE);
        }
 #ifdef SHADOWGRP
@@ -350,13 +355,17 @@ static void open_files (void)
 /*
  * fail_exit - exit with an error code after unlocking files
  */
-
 static void fail_exit (int code)
 {
        (void) gr_unlock ();
 #ifdef SHADOWGRP
        if (is_shadow_grp)
                sgr_unlock ();
+#endif
+       if (code != E_SUCCESS)
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding group",
+                             group_name, -1, 0);
 #endif
        exit (code);
 }
@@ -380,10 +389,12 @@ int main (int argc, char **argv)
        int retval;
 #endif
 
+#ifdef WITH_AUDIT
+       audit_help_open ();
+#endif
        /*
         * Get my name so that I can use it to report errors.
         */
-
        Prog = Basename (argv[0]);
 
        setlocale (LC_ALL, "");
@@ -514,12 +525,15 @@ int main (int argc, char **argv)
        /*
         * Start with a quick check to see if the group exists.
         */
-
        if (getgrnam (group_name)) {
                if (fflg) {
                        exit (E_SUCCESS);
                }
                fprintf (stderr, _("%s: group %s exists\n"), Prog, group_name);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding group",
+                             group_name, -1, 0);
+#endif
                exit (E_NAME_IN_USE);
        }
 
@@ -538,18 +552,6 @@ int main (int argc, char **argv)
        close_files ();
 
 #ifdef USE_PAM
-       if (retval == PAM_SUCCESS) {
-               retval = pam_chauthtok (pamh, 0);
-               if (retval != PAM_SUCCESS) {
-                       pam_end (pamh, retval);
-               }
-       }
-
-       if (retval != PAM_SUCCESS) {
-               fprintf (stderr, _("%s: PAM chauthtok failed\n"), Prog);
-               exit (1);
-       }
-
        if (retval == PAM_SUCCESS)
                pam_end (pamh, PAM_SUCCESS);
 #endif                         /* USE_PAM */
index 1cbcfc9d0cfec733fd845582de30496e1d94fa86..2d7c7b4dd10712360c0b0c299e4b1ef4ecb64568 100644 (file)
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: groupdel.c,v 1.23 2005/08/11 16:23:34 kloczek Exp $")
-#include <sys/types.h>
-#include <stdio.h>
-#include <grp.h>
+#ident "$Id: groupdel.c,v 1.29 2005/10/04 21:05:12 kloczek Exp $"
+
 #include <ctype.h>
 #include <fcntl.h>
+#include <grp.h>
 #include <pwd.h>
 #ifdef USE_PAM
 #include <security/pam_appl.h>
 #include <security/pam_misc.h>
 #endif                         /* USE_PAM */
+#include <stdio.h>
+#include <sys/types.h>
+#include "defines.h"
+#include "groupio.h"
 #include "nscd.h"
 #include "prototypes.h"
-#include "defines.h"
+#ifdef SHADOWGRP
+#include "sgroupio.h"
+#endif
+/*
+ * Global variables
+ */
 static char *group_name;
 static char *Prog;
 static int errors;
-
-#include "groupio.h"
+static gid_t group_id = -1;
 
 #ifdef SHADOWGRP
-#include "sgroupio.h"
-
 static int is_shadow_grp;
 #endif
 
 /*
  * exit status values
  */
-
 #define E_SUCCESS      0       /* success */
 #define E_USAGE                2       /* invalid command syntax */
 #define E_NOTFOUND     6       /* specified group doesn't exist */
@@ -76,7 +79,6 @@ static void group_busy (gid_t);
 /*
  * usage - display usage message and exit
  */
-
 static void usage (void)
 {
        fprintf (stderr, _("Usage: groupdel group\n"));
@@ -88,7 +90,6 @@ static void usage (void)
  *
  *     grp_update() writes the new records to the group files.
  */
-
 static void grp_update (void)
 {
        if (!gr_remove (group_name)) {
@@ -105,6 +106,10 @@ static void grp_update (void)
                errors++;
        }
 #endif                         /* SHADOWGRP */
+#ifdef WITH_AUDIT
+       audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting group", group_name,
+                     group_id, 1);
+#endif
        SYSLOG ((LOG_INFO, "remove group `%s'\n", group_name));
        return;
 }
@@ -115,7 +120,6 @@ static void grp_update (void)
  *     close_files() closes all of the files that were opened for this
  *     new group.  This causes any modified entries to be written out.
  */
-
 static void close_files (void)
 {
        if (!gr_close ()) {
@@ -139,7 +143,6 @@ static void close_files (void)
  *
  *     open_files() opens the two group files.
  */
-
 static void open_files (void)
 {
        if (!gr_lock ()) {
@@ -171,7 +174,6 @@ static void open_files (void)
  *     for any user.  You must remove all users before you remove
  *     the group.
  */
-
 static void group_busy (gid_t gid)
 {
        struct passwd *pwd;
@@ -196,7 +198,6 @@ static void group_busy (gid_t gid)
        /*
         * Can't remove the group.
         */
-
        fprintf (stderr, _("%s: cannot remove user's primary group.\n"), Prog);
        exit (E_GROUP_BUSY);
 }
@@ -228,6 +229,10 @@ int main (int argc, char **argv)
        int retval;
 #endif
 
+#ifdef WITH_AUDIT
+       audit_help_open ();
+#endif
+
        /*
         * Get my name so that I can use it to report errors.
         */
@@ -287,8 +292,15 @@ int main (int argc, char **argv)
        if (!(grp = getgrnam (group_name))) {
                fprintf (stderr, _("%s: group %s does not exist\n"),
                         Prog, group_name);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting group",
+                             group_name, -1, 0);
+#endif
                exit (E_NOTFOUND);
        }
+
+       group_id = grp->gr_gid; /* LAUS */
+
 #ifdef USE_NIS
        /*
         * Make sure this isn't a NIS group
@@ -300,6 +312,10 @@ int main (int argc, char **argv)
                fprintf (stderr, _("%s: group %s is a NIS group\n"),
                         Prog, group_name);
 
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting group",
+                             group_name, -1, 0);
+#endif
                if (!yp_get_default_domain (&nis_domain) &&
                    !yp_master (nis_domain, "group.byname", &nis_master)) {
                        fprintf (stderr, _("%s: %s is the NIS master\n"),
@@ -327,21 +343,14 @@ int main (int argc, char **argv)
        close_files ();
 
 #ifdef USE_PAM
-       if (retval == PAM_SUCCESS) {
-               retval = pam_chauthtok (pamh, 0);
-               if (retval != PAM_SUCCESS) {
-                       pam_end (pamh, retval);
-               }
-       }
-
-       if (retval != PAM_SUCCESS) {
-               fprintf (stderr, _("%s: PAM chauthtok failed\n"), Prog);
-               exit (1);
-       }
-
        if (retval == PAM_SUCCESS)
                pam_end (pamh, PAM_SUCCESS);
 #endif                         /* USE_PAM */
+       if (errors != 0)
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting group",
+                             group_name, -1, 0);
+#endif
        exit (errors == 0 ? E_SUCCESS : E_GRP_UPDATE);
        /* NOT REACHED */
 }
index 5119ba068b5b7045957e59cf31cbd84fd0f01d74..222628c9d881f0c9fb96cd547e71a0950e256434 100644 (file)
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: groupmod.c,v 1.30 2005/08/02 17:49:17 kloczek Exp $")
-#include <sys/types.h>
-#include <stdio.h>
-#include <grp.h>
+#ident "$Id: groupmod.c,v 1.36 2005/10/04 21:05:12 kloczek Exp $"
+
 #include <ctype.h>
 #include <fcntl.h>
+#include <grp.h>
+#include <stdio.h>
+#include <sys/types.h>
 #ifdef USE_PAM
 #include <security/pam_appl.h>
 #include <security/pam_misc.h>
 #include <pwd.h>
 #endif                         /* USE_PAM */
-#include "prototypes.h"
 #include "chkname.h"
 #include "defines.h"
 #include "groupio.h"
 #include "nscd.h"
+#include "prototypes.h"
 #ifdef SHADOWGRP
 #include "sgroupio.h"
-static int is_shadow_grp;
 #endif
-
 /*
  * exit status values
  */
-
 #define E_SUCCESS      0       /* success */
 #define E_USAGE                2       /* invalid command syntax */
 #define E_BAD_ARG      3       /* invalid argument to option */
@@ -62,7 +59,12 @@ static int is_shadow_grp;
 #define E_NOTFOUND     6       /* specified group doesn't exist */
 #define E_NAME_IN_USE  9       /* group name already in use */
 #define E_GRP_UPDATE   10      /* can't update group file */
-
+/*
+ * Global variables
+ */
+#ifdef SHADOWGRP
+static int is_shadow_grp;
+#endif
 static char *group_name;
 static char *group_newname;
 static gid_t group_id;
@@ -105,7 +107,6 @@ static void usage (void)
  *     new_grent() takes all of the values that have been entered and fills
  *     in a (struct group) with them.
  */
-
 static void new_grent (struct group *grent)
 {
        if (nflg)
@@ -122,7 +123,6 @@ static void new_grent (struct group *grent)
  *     new_sgent() takes all of the values that have been entered and fills
  *     in a (struct sgrp) with them.
  */
-
 static void new_sgent (struct sgrp *sgent)
 {
        if (nflg)
@@ -135,7 +135,6 @@ static void new_sgent (struct sgrp *sgent)
  *
  *     grp_update() writes the new records to the group files.
  */
-
 static void grp_update (void)
 {
        struct group grp;
@@ -149,12 +148,15 @@ static void grp_update (void)
        /*
         * Get the current settings for this group.
         */
-
        ogrp = gr_locate (group_name);
        if (!ogrp) {
                fprintf (stderr,
                         _("%s: %s not found in /etc/group\n"),
                         Prog, group_name);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "modifying group",
+                             group_name, -1, 0);
+#endif
                exit (E_GRP_UPDATE);
        }
        grp = *ogrp;
@@ -169,40 +171,58 @@ static void grp_update (void)
        /*
         * Write out the new group file entry.
         */
-
        if (!gr_update (&grp)) {
                fprintf (stderr, _("%s: error adding new group entry\n"), Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding group",
+                             group_name, -1, 0);
+#endif
                exit (E_GRP_UPDATE);
        }
        if (nflg && !gr_remove (group_name)) {
                fprintf (stderr, _("%s: error removing group entry\n"), Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting group",
+                             group_name, -1, 0);
+#endif
                exit (E_GRP_UPDATE);
        }
 #ifdef SHADOWGRP
+
        /*
         * Make sure there was a shadow entry to begin with. Skip down to
         * "out" if there wasn't. Can't just return because there might be
         * some syslogging to do.
         */
-
        if (!osgrp)
                goto out;
 
        /*
         * Write out the new shadow group entries as well.
         */
-
        if (!sgr_update (&sgrp)) {
                fprintf (stderr, _("%s: error adding new group entry\n"), Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding group",
+                             group_name, -1, 0);
+#endif
                exit (E_GRP_UPDATE);
        }
        if (nflg && !sgr_remove (group_name)) {
                fprintf (stderr, _("%s: error removing group entry\n"), Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting group",
+                             group_name, -1, 0);
+#endif
                exit (E_GRP_UPDATE);
        }
       out:
 #endif                         /* SHADOWGRP */
 
+#ifdef WITH_AUDIT
+       audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "modifing group", group_name,
+                     group_id, 1);
+#endif
        if (nflg)
                SYSLOG ((LOG_INFO, "change group `%s' to `%s'",
                         group_name, group_newname));
@@ -217,7 +237,6 @@ static void grp_update (void)
  *
  *     check_new_gid() insures that the new GID value is unique.
  */
-
 static void check_new_gid (void)
 {
        /*
@@ -225,7 +244,6 @@ static void check_new_gid (void)
         * didn't really change, just return. If the ID didn't change, turn
         * off those flags. No sense doing needless work.
         */
-
        if (group_id == group_newid) {
                gflg = 0;
                return;
@@ -237,8 +255,11 @@ static void check_new_gid (void)
        /*
         * Tell the user what they did wrong.
         */
-
        fprintf (stderr, _("%s: %u is not a unique GID\n"), Prog, group_newid);
+#ifdef WITH_AUDIT
+       audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "modify gid", NULL,
+                     group_newid, 0);
+#endif
        exit (E_GID_IN_USE);
 }
 
@@ -248,13 +269,11 @@ static void check_new_gid (void)
  *     check_new_name() insures that the new name does not exist already.
  *     You can't have the same name twice, period.
  */
-
 static void check_new_name (void)
 {
        /*
         * Make sure they are actually changing the name.
         */
-
        if (strcmp (group_name, group_newname) == 0) {
                nflg = 0;
                return;
@@ -265,11 +284,14 @@ static void check_new_name (void)
                /*
                 * If the entry is found, too bad.
                 */
-
                if (getgrnam (group_newname)) {
                        fprintf (stderr,
                                 _("%s: %s is not a unique name\n"), Prog,
                                 group_newname);
+#ifdef WITH_AUDIT
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "modifying group", group_name, -1, 0);
+#endif
                        exit (E_NAME_IN_USE);
                }
                return;
@@ -281,6 +303,10 @@ static void check_new_name (void)
 
        fprintf (stderr, _("%s: %s is not a valid group name\n"),
                 Prog, group_newname);
+#ifdef WITH_AUDIT
+       audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "modifying group", group_name,
+                     -1, 0);
+#endif
        exit (E_BAD_ARG);
 }
 
@@ -291,7 +317,6 @@ static void check_new_name (void)
  *     values that the user will be created with accordingly. The values
  *     are checked for sanity.
  */
-
 static void process_flags (int argc, char **argv)
 {
        char *end;
@@ -306,6 +331,11 @@ static void process_flags (int argc, char **argv)
                                fprintf (stderr,
                                         _("%s: invalid group %s\n"),
                                         Prog, optarg);
+#ifdef WITH_AUDIT
+                               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                             "modifying group", NULL,
+                                             group_newid, 0);
+#endif
                                exit (E_BAD_ARG);
                        }
                        break;
@@ -335,7 +365,6 @@ static void process_flags (int argc, char **argv)
  *     close_files() closes all of the files that were opened for this new
  *     group. This causes any modified entries to be written out.
  */
-
 static void close_files (void)
 {
        if (!gr_close ()) {
@@ -359,7 +388,6 @@ static void close_files (void)
  *
  *     open_files() opens the two group files.
  */
-
 static void open_files (void)
 {
        if (!gr_lock ()) {
@@ -403,7 +431,6 @@ static struct pam_conv conv = {
  *             -o - permit the group ID value to be non-unique
  *             -n - specify a new group name
  */
-
 int main (int argc, char **argv)
 {
        struct group *grp;
@@ -414,10 +441,13 @@ int main (int argc, char **argv)
        int retval;
 #endif
 
+#ifdef WITH_AUDIT
+       audit_help_open ();
+#endif
+
        /*
         * Get my name so that I can use it to report errors.
         */
-
        Prog = Basename (argv[0]);
 
        setlocale (LC_ALL, "");
@@ -469,10 +499,22 @@ int main (int argc, char **argv)
        if (!(grp = getgrnam (group_name))) {
                fprintf (stderr, _("%s: group %s does not exist\n"),
                         Prog, group_name);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "modifying group",
+                             group_name, -1, 0);
+#endif
                exit (E_NOTFOUND);
        } else
                group_id = grp->gr_gid;
 
+#ifdef WITH_AUDIT
+       /* Set new name/id to original if not specified on command line */
+       if (nflg == 0)
+               group_newname = group_name;
+       if (gflg == 0)
+               group_newid = group_id;
+#endif
+
 #ifdef USE_NIS
        /*
         * Now make sure it isn't an NIS group.
@@ -484,6 +526,10 @@ int main (int argc, char **argv)
                fprintf (stderr, _("%s: group %s is a NIS group\n"),
                         Prog, group_name);
 
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "modifying group",
+                             group_name, -1, 0);
+#endif
                if (!yp_get_default_domain (&nis_domain) &&
                    !yp_master (nis_domain, "group.byname", &nis_master)) {
                        fprintf (stderr, _("%s: %s is the NIS master\n"),
@@ -503,7 +549,6 @@ int main (int argc, char **argv)
         * Do the hard stuff - open the files, create the group entries,
         * then close and update the files.
         */
-
        open_files ();
 
        grp_update ();
@@ -512,18 +557,6 @@ int main (int argc, char **argv)
        close_files ();
 
 #ifdef USE_PAM
-       if (retval == PAM_SUCCESS) {
-               retval = pam_chauthtok (pamh, 0);
-               if (retval != PAM_SUCCESS) {
-                       pam_end (pamh, retval);
-               }
-       }
-
-       if (retval != PAM_SUCCESS) {
-               fprintf (stderr, _("%s: PAM chauthtok failed\n"), Prog);
-               exit (1);
-       }
-
        if (retval == PAM_SUCCESS)
                pam_end (pamh, PAM_SUCCESS);
 #endif                         /* USE_PAM */
index e143edcbdbdadaf363f48f431e455fec5c9ee055..ae44f478e6c42d5b0298a8ac05163b09557ceae6 100644 (file)
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: groups.c,v 1.10 2005/03/31 05:14:54 kloczek Exp $")
-#include <stdio.h>
-#include <pwd.h>
+#ident "$Id: groups.c,v 1.13 2005/09/07 15:00:45 kloczek Exp $"
+
 #include <grp.h>
-#include "prototypes.h"
+#include <pwd.h>
+#include <stdio.h>
 #include "defines.h"
+#include "prototypes.h"
 /*
  * Global variables
  */
@@ -50,7 +50,6 @@ static void print_groups (const char *);
  *     print_groups() scans the groups file for the list of groups which
  *     the user is listed as being a member of.
  */
-
 static void print_groups (const char *member)
 {
        int groups = 0;
@@ -87,7 +86,6 @@ static void print_groups (const char *member)
 /*
  * groups - print out the groups a process is a member of
  */
-
 int main (int argc, char **argv)
 {
        long sys_ngroups;
@@ -114,7 +112,6 @@ int main (int argc, char **argv)
        /*
         * Get the program name so that error messages can use it.
         */
-
        Prog = Basename (argv[0]);
 
        if (argc == 1) {
@@ -130,7 +127,6 @@ int main (int argc, char **argv)
                 * the system to tell me which groups are currently set for
                 * this process.
                 */
-
                ngroups = getgroups (sys_ngroups, groups);
                if (ngroups < 0) {
                        perror ("getgroups");
@@ -140,7 +136,6 @@ int main (int argc, char **argv)
                /*
                 * The groupset includes the primary group as well.
                 */
-
                pri_grp = getegid ();
                for (i = 0; i < ngroups; i++)
                        if (pri_grp == (int) groups[i])
@@ -154,7 +149,6 @@ int main (int argc, char **argv)
                 * set. Unknown groups are printed as their decimal group ID
                 * values.
                 */
-
                if (pri_grp != -1) {
                        if ((gr = getgrgid (pri_grp)))
                                printf ("%s", gr->gr_name);
@@ -177,7 +171,6 @@ int main (int argc, char **argv)
                 * This system does not have the getgroups() system call, so
                 * I must check the groups file directly.
                 */
-
                if ((logname = getlogin ()))
                        print_groups (logname);
                else
@@ -189,7 +182,6 @@ int main (int argc, char **argv)
                 * The invoker wanted to know about some other user. Use
                 * that name to look up the groups instead.
                 */
-
                print_groups (argv[1]);
        }
        exit (0);
index a51006eae67eda689807cda88eb0d1ed862953a3..5f70c7d56ed204b25b712fa031be464fa71b004c 100644 (file)
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: grpck.c,v 1.25 2005/08/09 15:27:51 kloczek Exp $")
-#include <stdio.h>
+#ident "$Id: grpck.c,v 1.28 2005/09/07 15:00:45 kloczek Exp $"
+
 #include <fcntl.h>
 #include <grp.h>
-#include "prototypes.h"
-#include "defines.h"
-#include "chkname.h"
 #include <pwd.h>
+#include <stdio.h>
+#include "chkname.h"
 #include "commonio.h"
+#include "defines.h"
 #include "groupio.h"
+#include "prototypes.h"
 extern void __gr_del_entry (const struct commonio_entry *);
 extern struct commonio_entry *__gr_get_head (void);
 
@@ -61,9 +61,8 @@ extern struct commonio_entry *__sgr_get_head (void);
 #define        E_CANT_UPDATE   5
 
 /*
- * Local variables
+ * Global variables
  */
-
 static char *Prog;
 static const char *grp_file = GROUP_FILE;
 
@@ -80,7 +79,6 @@ static void delete_member (char **, const char *);
 /*
  * usage - print syntax message and exit
  */
-
 static void usage (void)
 {
 #ifdef SHADOWGRP
@@ -94,7 +92,6 @@ static void usage (void)
 /*
  * yes_or_no - get answer to question from the user
  */
-
 static int yes_or_no (void)
 {
        char buf[80];
@@ -102,7 +99,6 @@ static int yes_or_no (void)
        /*
         * In read-only mode all questions are answered "no".
         */
-
        if (read_only) {
                printf (_("No\n"));
                return 0;
@@ -111,7 +107,6 @@ static int yes_or_no (void)
        /*
         * Get a line and see what the first character is.
         */
-
        if (fgets (buf, sizeof buf, stdin))
                return buf[0] == 'y' || buf[0] == 'Y';
 
@@ -121,7 +116,6 @@ static int yes_or_no (void)
 /*
  * delete_member - delete an entry in a list of members
  */
-
 static void delete_member (char **list, const char *member)
 {
        int i;
@@ -138,7 +132,6 @@ static void delete_member (char **list, const char *member)
 /*
  * grpck - verify group file integrity
  */
-
 int main (int argc, char **argv)
 {
        int arg;
@@ -158,7 +151,6 @@ int main (int argc, char **argv)
        /*
         * Get my name so that I can use it to report errors.
         */
-
        Prog = Basename (argv[0]);
 
        setlocale (LC_ALL, "");
@@ -170,7 +162,6 @@ int main (int argc, char **argv)
        /*
         * Parse the command line arguments
         */
-
        while ((arg = getopt (argc, argv, "qrs")) != EOF) {
                switch (arg) {
                case 'q':
@@ -195,7 +186,6 @@ int main (int argc, char **argv)
        /*
         * Make certain we have the right number of arguments
         */
-
 #ifdef SHADOWGRP
        if (optind != argc && optind + 1 != argc && optind + 2 != argc)
 #else
@@ -207,7 +197,6 @@ int main (int argc, char **argv)
         * If there are two left over filenames, use those as the group and
         * group password filenames.
         */
-
        if (optind != argc) {
                grp_file = argv[optind];
                gr_name (grp_file);
@@ -224,7 +213,6 @@ int main (int argc, char **argv)
        /*
         * Lock the files if we aren't in "read-only" mode
         */
-
        if (!read_only) {
                if (!gr_lock ()) {
                        fprintf (stderr, _("%s: cannot lock file %s\n"),
@@ -250,7 +238,6 @@ int main (int argc, char **argv)
         * Open the files. Use O_RDONLY if we are in read_only mode,
         * O_RDWR otherwise.
         */
-
        if (!gr_open (read_only ? O_RDONLY : O_RDWR)) {
                fprintf (stderr, _("%s: cannot open file %s\n"), Prog,
                         grp_file);
@@ -282,7 +269,6 @@ int main (int argc, char **argv)
        /*
         * Loop through the entire group file.
         */
-
        for (gre = __gr_get_head (); gre; gre = gre->next) {
                /*
                 * Skip all NIS entries.
@@ -296,14 +282,12 @@ int main (int argc, char **argv)
                 * have no (struct group) entry because they couldn't be
                 * parsed properly.
                 */
-
                if (!gre->eptr) {
 
                        /*
                         * Tell the user this entire line is bogus and ask
                         * them to delete it.
                         */
-
                        printf (_("invalid group file entry\n"));
                        printf (_("delete line `%s'? "), gre->line);
                        errors++;
@@ -311,7 +295,6 @@ int main (int argc, char **argv)
                        /*
                         * prompt the user to delete the entry or not
                         */
-
                        if (!yes_or_no ())
                                continue;
 
@@ -321,7 +304,6 @@ int main (int argc, char **argv)
                         * When done, it skips back to the top of the loop
                         * to try out the next list element.
                         */
-
                      delete_gr:
                        SYSLOG ((LOG_INFO, "delete group line `%s'",
                                 gre->line));
@@ -334,13 +316,11 @@ int main (int argc, char **argv)
                /*
                 * Group structure is good, start using it.
                 */
-
                grp = gre->eptr;
 
                /*
                 * Make sure this entry has a unique name.
                 */
-
                for (tgre = __gr_get_head (); tgre; tgre = tgre->next) {
 
                        const struct group *ent = tgre->eptr;
@@ -348,14 +328,12 @@ int main (int argc, char **argv)
                        /*
                         * Don't check this entry
                         */
-
                        if (tgre == gre)
                                continue;
 
                        /*
                         * Don't check invalid entries.
                         */
-
                        if (!ent)
                                continue;
 
@@ -366,7 +344,6 @@ int main (int argc, char **argv)
                         * Tell the user this entry is a duplicate of
                         * another and ask them to delete it.
                         */
-
                        printf (_("duplicate group entry\n"));
                        printf (_("delete line `%s'? "), gre->line);
                        errors++;
@@ -374,7 +351,6 @@ int main (int argc, char **argv)
                        /*
                         * prompt the user to delete the entry or not
                         */
-
                        if (yes_or_no ())
                                goto delete_gr;
                }
@@ -392,7 +368,6 @@ int main (int argc, char **argv)
                 * groups with no members are returned as groups with one
                 * member "", causing grpck to fail.  --marekm
                 */
-
                if (grp->gr_mem[0] && !grp->gr_mem[1]
                    && *(grp->gr_mem[0]) == '\0')
                        grp->gr_mem[0] = (char *) 0;
@@ -400,7 +375,6 @@ int main (int argc, char **argv)
                /*
                 * Make sure each member exists
                 */
-
                for (i = 0; grp->gr_mem[i]; i++) {
                        if (getpwnam (grp->gr_mem[i]))
                                continue;
@@ -408,7 +382,6 @@ int main (int argc, char **argv)
                         * Can't find this user. Remove them
                         * from the list.
                         */
-
                        errors++;
                        printf (_("group %s: no user %s\n"),
                                grp->gr_name, grp->gr_mem[i]);
@@ -433,7 +406,6 @@ int main (int argc, char **argv)
        /*
         * Loop through the entire shadow group file.
         */
-
        for (sge = __sgr_get_head (); sge; sge = sge->next) {
 
                /*
@@ -441,14 +413,12 @@ int main (int argc, char **argv)
                 * have no (struct sgrp) entry because they couldn't be
                 * parsed properly.
                 */
-
                if (!sge->eptr) {
 
                        /*
                         * Tell the user this entire line is bogus and ask
                         * them to delete it.
                         */
-
                        printf (_("invalid shadow group file entry\n"));
                        printf (_("delete line `%s'? "), sge->line);
                        errors++;
@@ -456,7 +426,6 @@ int main (int argc, char **argv)
                        /*
                         * prompt the user to delete the entry or not
                         */
-
                        if (!yes_or_no ())
                                continue;
 
@@ -466,7 +435,6 @@ int main (int argc, char **argv)
                         * linked list. When done, it skips back to the top
                         * of the loop to try out the next list element.
                         */
-
                      delete_sg:
                        SYSLOG ((LOG_INFO, "delete shadow line `%s'",
                                 sge->line));
@@ -479,13 +447,11 @@ int main (int argc, char **argv)
                /*
                 * Shadow group structure is good, start using it.
                 */
-
                sgr = sge->eptr;
 
                /*
                 * Make sure this entry has a unique name.
                 */
-
                for (tsge = __sgr_get_head (); tsge; tsge = tsge->next) {
 
                        const struct sgrp *ent = tsge->eptr;
@@ -493,14 +459,12 @@ int main (int argc, char **argv)
                        /*
                         * Don't check this entry
                         */
-
                        if (tsge == sge)
                                continue;
 
                        /*
                         * Don't check invalid entries.
                         */
-
                        if (!ent)
                                continue;
 
@@ -511,7 +475,6 @@ int main (int argc, char **argv)
                         * Tell the user this entry is a duplicate of
                         * another and ask them to delete it.
                         */
-
                        printf (_("duplicate shadow group entry\n"));
                        printf (_("delete line `%s'? "), sge->line);
                        errors++;
@@ -519,7 +482,6 @@ int main (int argc, char **argv)
                        /*
                         * prompt the user to delete the entry or not
                         */
-
                        if (yes_or_no ())
                                goto delete_sg;
                }
@@ -527,7 +489,6 @@ int main (int argc, char **argv)
                /*
                 * Make sure this entry exists in the /etc/group file.
                 */
-
                if (!gr_locate (sgr->sg_name)) {
                        printf (_("no matching group file entry\n"));
                        printf (_("delete line `%s'? "), sge->line);
@@ -539,7 +500,6 @@ int main (int argc, char **argv)
                /*
                 * Make sure each administrator exists
                 */
-
                for (i = 0; sgr->sg_adm[i]; i++) {
                        if (getpwnam (sgr->sg_adm[i]))
                                continue;
@@ -547,7 +507,6 @@ int main (int argc, char **argv)
                         * Can't find this user. Remove them
                         * from the list.
                         */
-
                        errors++;
                        printf (_
                                ("shadow group %s: no administrative user %s\n"),
@@ -570,7 +529,6 @@ int main (int argc, char **argv)
                /*
                 * Make sure each member exists
                 */
-
                for (i = 0; sgr->sg_mem[i]; i++) {
                        if (getpwnam (sgr->sg_mem[i]))
                                continue;
@@ -578,7 +536,6 @@ int main (int argc, char **argv)
                        /*
                         * Can't find this user. Remove them from the list.
                         */
-
                        errors++;
                        printf (_("shadow group %s: no user %s\n"),
                                sgr->sg_name, sgr->sg_mem[i]);
@@ -604,7 +561,6 @@ int main (int argc, char **argv)
         * All done. If there were no deletions we can just abandon any
         * changes to the files.
         */
-
        if (deleted) {
              write_and_bye:
                if (!gr_close ()) {
@@ -624,7 +580,6 @@ int main (int argc, char **argv)
        /*
         * Don't be anti-social - unlock the files when you're done.
         */
-
 #ifdef SHADOWGRP
        if (is_shadow)
                sgr_unlock ();
@@ -636,7 +591,6 @@ int main (int argc, char **argv)
        /*
         * Tell the user what we did and exit.
         */
-
        if (errors)
                printf (deleted ?
                        _("%s: the files have been updated\n") :
index c2b6ae30eba53aadaf1ac926c8b714c98e9ba122..84f3695de92e49fc3c3d29bdcfa2e70d6630e42d 100644 (file)
@@ -9,26 +9,23 @@
  */
 
 #include <config.h>
+#ident "$Id: grpconv.c,v 1.19 2005/08/31 17:25:00 kloczek Exp $"
 
-#include <stdio.h>
 #include <errno.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <fcntl.h>
 #include <time.h>
 #include <unistd.h>
-
-#include <grp.h>
 #include "prototypes.h"
-
 #ifdef SHADOWGRP
-
 #include "groupio.h"
 #include "sgroupio.h"
-
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: grpconv.c,v 1.17 2005/08/09 15:27:51 kloczek Exp $")
-
+/*
+ * Global variables
+ */
 static int group_locked = 0;
 static int gshadow_locked = 0;
 
index 4b7f6d19da395150209597305415f936de3cefff..232175a27e1582248f07f8ee083bc97a960d91b7 100644 (file)
@@ -10,8 +10,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: grpunconv.c,v 1.15 2005/08/09 15:27:51 kloczek Exp $")
+#ident "$Id: grpunconv.c,v 1.17 2005/08/31 17:25:00 kloczek Exp $"
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -23,6 +23,9 @@ RCSID (PKG_VER "$Id: grpunconv.c,v 1.15 2005/08/09 15:27:51 kloczek Exp $")
 #ifdef SHADOWGRP
 #include "groupio.h"
 #include "sgroupio.h"
+/*
+ * Global variables
+ */
 static int group_locked = 0;
 static int gshadow_locked = 0;
 
index f6e5c4734a4fe94af3dc21d9946497eb65be3d23..5d1e2966945ac99a656b09fda247919f48149681 100644 (file)
--- a/src/id.c
+++ b/src/id.c
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: id.c,v 1.15 2005/06/20 10:17:08 kloczek Exp $")
-#include <sys/types.h>
-#include <stdio.h>
+#ident "$Id: id.c,v 1.18 2005/09/07 15:00:45 kloczek Exp $"
+
 #include <grp.h>
 #include <pwd.h>
+#include <stdio.h>
+#include <sys/types.h>
 #include "defines.h"
 /* local function prototypes */
 static void usage (void);
@@ -154,7 +154,6 @@ static void usage (void)
         * Print out the concurrent group set if the user has requested it.
         * The group numbers will be printed followed by their names.
         */
-
        if (aflg && (ngroups = getgroups (sys_ngroups, groups)) != -1) {
 
                /*
@@ -165,7 +164,6 @@ static void usage (void)
                 * where "###" is a numerical value and "aaa" is the
                 * corresponding name for each respective numerical value.
                 */
-
                printf (_(" groups="));
                for (i = 0; i < ngroups; i++) {
                        if (i)
@@ -184,7 +182,6 @@ static void usage (void)
        /*
         * Finish off the line.
         */
-
        putchar ('\n');
        exit (0);
        /* NOT REACHED */
index 7c0421588824a1cbc9a24ca3655b5faf66e98cad..68897454f913cf62b8b678b8b72754a25ece5fd5 100644 (file)
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: lastlog.c,v 1.18 2005/04/27 16:55:33 kloczek Exp $")
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <stdio.h>
+#ident "$Id: lastlog.c,v 1.23 2005/08/31 17:25:00 kloczek Exp $"
+
+#include <getopt.h>
+#include <lastlog.h>
 #include <pwd.h>
+#include <stdio.h>
+#include <sys/stat.h>
+#include <sys/types.h>
 #include <time.h>
-#include "prototypes.h"
 #include "defines.h"
-#include <lastlog.h>
-#include <getopt.h>
+#include "prototypes.h"
 /*
  * Needed for MkLinux DR1/2/2.1 - J.
  */
 #ifndef LASTLOG_FILE
 #define LASTLOG_FILE "/var/log/lastlog"
 #endif
+/*
+ * Global variables
+ */
 static FILE *lastlogfile;      /* lastlog file stream */
 static off_t user;             /* one single user, specified on command line */
 static int days;               /* number of days to consider for print command */
 static time_t seconds;         /* that number of days in seconds */
+static int inverse_days;       /* number of days to consider for print command */
+static time_t inverse_seconds; /* that number of days in seconds */
+
 
 static int uflg = 0;           /* set if user is a valid user id */
 static int tflg = 0;           /* print is restricted to most recent days */
+static int bflg = 0;           /* print excludes most recent days */
 static struct lastlog lastlog; /* scratch structure to play with ... */
 static struct stat statbuf;    /* fstat buffer for file size */
 static struct passwd *pwent;
@@ -64,9 +71,10 @@ static void usage (void)
        fprintf (stdout, _("Usage: lastlog [options]\n"
                           "\n"
                           "Options:\n"
-                          "  -u, --user LOGIN  print lastlog record for user with specified LOGIN\n"
+                          "  -b, --before DAYS print only lastlog records older than DAYS\n"
                           "  -h, --help                display this help message and exit\n"
-                          "  -t, --time DAYS   print only lastlog records more recent than DAYS\n"));
+                          "  -t, --time DAYS   print only lastlog records more recent than DAYS\n"
+                          "  -u, --user LOGIN  print lastlog record for user with specified LOGIN\n"));
        exit (1);
 }
 
@@ -148,6 +156,9 @@ static void print (void)
                        if (tflg && NOW - lastlog.ll_time > seconds)
                                continue;
 
+                       if (bflg && NOW - lastlog.ll_time < inverse_seconds)
+                               continue;
+
                        print_one (pwent);
                }
        }
@@ -164,12 +175,13 @@ int main (int argc, char **argv)
                static struct option const longopts[] = {
                        {"help", no_argument, NULL, 'h'},
                        {"time", required_argument, NULL, 't'},
+                       {"before", required_argument, NULL, 'b'},
                        {"user", required_argument, NULL, 'u'},
                        {NULL, 0, NULL, '\0'}
                };
 
                while ((c =
-                       getopt_long (argc, argv, "ht:u:", longopts,
+                       getopt_long (argc, argv, "ht:b:u:", longopts,
                                     NULL)) != -1) {
                        switch (c) {
                        case 'h':
@@ -180,6 +192,11 @@ int main (int argc, char **argv)
                                seconds = days * DAY;
                                tflg++;
                                break;
+                       case 'b':
+                               inverse_days = atoi (optarg);
+                               inverse_seconds = inverse_days * DAY;
+                               bflg++;
+                               break;
                        case 'u':
                                pwent = getpwnam (optarg);
                                if (!pwent) {
index b4373b9b56358e3cdc31e174e5060e728fb44300..b0f5aa88d25d99dcde1374e3621a22050bd69a83 100644 (file)
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: login.c,v 1.67 2005/08/11 11:26:11 kloczek Exp $")
-#include "prototypes.h"
-#include "defines.h"
-#include <sys/stat.h>
-#include <stdio.h>
+#ident "$Id: login.c,v 1.74 2005/09/07 15:00:45 kloczek Exp $"
+
 #include <errno.h>
-#include <pwd.h>
 #include <grp.h>
-#include <signal.h>
 #include <lastlog.h>
-#include "faillog.h"
-#include "failure.h"
-#include "pwauth.h"
-#include "getdef.h"
 #ifdef UT_ADDR
 #include <netdb.h>
 #endif
+#include <pwd.h>
+#include <signal.h>
+#include <stdio.h>
+#include <sys/stat.h>
+#include "defines.h"
+#include "faillog.h"
+#include "failure.h"
+#include "getdef.h"
+#include "prototypes.h"
+#include "pwauth.h"
 #ifdef USE_PAM
 #include "pam_defs.h"
 static const struct pam_conv conv = {
@@ -73,6 +73,9 @@ static pam_handle_t *pamh = NULL;
 #define LASTLOG_FILE "/var/log/lastlog"
 #endif
 
+/*
+ * Global variables
+ */
 const char *hostname = "";
 
 static struct passwd pwent;
@@ -150,7 +153,6 @@ static RETSIGTYPE alarm_handler (int);
  * login -h hostname   (for telnetd, etc.)
  * login -f name       (for pre-authenticated login: datakit, xterm, etc.)
  */
-
 static void usage (void)
 {
        fprintf (stderr, _("Usage: %s [-p] [name]\n"), Prog);
@@ -172,7 +174,6 @@ static void setup_tty (void)
        /*
         * Add your favorite terminal modes here ...
         */
-
        termio.c_lflag |= ISIG | ICANON | ECHO | ECHOE;
        termio.c_iflag |= ICRNL;
 
@@ -184,7 +185,6 @@ static void setup_tty (void)
         * ttymon invocation prefers this, but these settings won't come into
         * effect after the first username login 
         */
-
        STTY (0, &termio);
 }
 
@@ -210,7 +210,6 @@ static void check_nologin (void)
         * out for root so she knows to remove the file if she's
         * forgotten about it ...
         */
-
        fname = getdef_str ("NOLOGINS_FILE");
        if (fname != NULL && access (fname, F_OK) == 0) {
                FILE *nlfp;
@@ -220,7 +219,6 @@ static void check_nologin (void)
                 * Cat the file if it can be opened, otherwise just
                 * print a default message
                 */
-
                if ((nlfp = fopen (fname, "r"))) {
                        while ((c = getc (nlfp)) != EOF) {
                                if (c == '\n')
@@ -274,26 +272,24 @@ static void init_env (void)
         * Add the timezone environmental variable so that time functions
         * work correctly.
         */
-
        if ((tmp = getenv ("TZ"))) {
                addenv ("TZ", tmp);
-       } 
+       }
 #ifndef USE_PAM
-               else if ((cp = getdef_str ("ENV_TZ")))
+       else if ((cp = getdef_str ("ENV_TZ")))
                addenv (*cp == '/' ? tz (cp) : cp, NULL);
-#endif /* !USE_PAM */
+#endif                         /* !USE_PAM */
        /* 
         * Add the clock frequency so that profiling commands work
         * correctly.
         */
-
        if ((tmp = getenv ("HZ"))) {
                addenv ("HZ", tmp);
-       } 
+       }
 #ifndef USE_PAM
-               else if ((cp = getdef_str ("ENV_HZ")))
+       else if ((cp = getdef_str ("ENV_HZ")))
                addenv (cp, NULL);
-#endif /* !USE_PAM */
+#endif                         /* !USE_PAM */
 }
 
 
@@ -321,7 +317,6 @@ static RETSIGTYPE alarm_handler (int sig)
  *     -f - do not perform authentication, user is preauthenticated
  *     -h - the name of the remote host
  */
-
 int main (int argc, char **argv)
 {
        char username[32];
@@ -434,14 +429,6 @@ int main (int argc, char **argv)
        if (!isatty (0) || !isatty (1) || !isatty (2))
                exit (1);       /* must be a terminal */
 
-#if 0
-       /*
-        * Get the utmp file entry and get the tty name from it. The
-        * current process ID must match the process ID in the utmp
-        * file if there are no additional flags on the command line.
-        */
-       checkutmp (!rflg && !fflg && !hflg);
-#else
        /*
         * Be picky if run by normal users (possible if installed setuid
         * root), but not if run by root. This way it still allows logins
@@ -450,7 +437,6 @@ int main (int argc, char **argv)
         * entry (will not overwrite remote hostname).  --marekm
         */
        checkutmp (!amroot);
-#endif
        STRFCPY (tty, utent.ut_line);
        is_console = console (tty);
 
@@ -517,7 +503,6 @@ int main (int argc, char **argv)
                         * user may have one for themselves, but otherwise,
                         * just take what you get.
                         */
-
                        long limit = getdef_long ("ULIMIT", -1L);
 
                        if (limit != -1)
@@ -529,7 +514,6 @@ int main (int argc, char **argv)
                 * The entire environment will be preserved if the -p flag
                 * is used.
                 */
-
                if (pflg)
                        while (*envp)   /* add inherited environment, */
                                addenv (*envp++, NULL); /* some variables change later */
@@ -593,12 +577,13 @@ int main (int argc, char **argv)
                retcode = pam_start ("login", username, &conv, &pamh);
                if (retcode != PAM_SUCCESS) {
                        fprintf (stderr,
-                                "login: PAM Failure, aborting: %s\n",
+                                _("login: PAM Failure, aborting: %s\n"),
                                 pam_strerror (pamh, retcode));
                        SYSLOG ((LOG_ERR, "Couldn't initialize PAM: %s",
-                               pam_strerror (pamh, retcode)));
+                                pam_strerror (pamh, retcode)));
                        exit (99);
                }
+
                /*
                 * hostname & tty are either set to NULL or their correct values,
                 * depending on how much we know. We also set PAM's fail delay to
@@ -646,7 +631,6 @@ int main (int argc, char **argv)
                         * pay attention to failure count and get rid of
                         * MAX_LOGIN_TRIES?
                         */
-
                        retcode = pam_authenticate (pamh, 0);
                        while ((failcount++ < retries) &&
                               ((retcode == PAM_AUTH_ERR) ||
@@ -656,13 +640,13 @@ int main (int argc, char **argv)
                                pam_get_item (pamh, PAM_USER,
                                              (const void **) &pam_user);
                                SYSLOG ((LOG_NOTICE,
-                                       "FAILED LOGIN %d FROM %s FOR %s, %s",
-                                       failcount, hostname, pam_user,
-                                       pam_strerror (pamh, retcode)));
+                                        "FAILED LOGIN %d FROM %s FOR %s, %s",
+                                        failcount, hostname, pam_user,
+                                        pam_strerror (pamh, retcode)));
 #ifdef HAVE_PAM_FAIL_DELAY
                                pam_fail_delay (pamh, 1000000 * delay);
 #endif
-                               fprintf (stderr, "Login incorrect\n\n");
+                               fprintf (stderr, _("\nLogin incorrect\n"));
                                pam_set_item (pamh, PAM_USER, NULL);
                                retcode = pam_authenticate (pamh, 0);
                        }
@@ -673,15 +657,15 @@ int main (int argc, char **argv)
 
                                if (retcode == PAM_MAXTRIES)
                                        SYSLOG ((LOG_NOTICE,
-                                               "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s",
-                                               failcount, hostname,
-                                               pam_user,
-                                               pam_strerror (pamh, retcode)));
+                                                "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s",
+                                                failcount, hostname,
+                                                pam_user,
+                                                pam_strerror (pamh, retcode)));
                                else
                                        SYSLOG ((LOG_NOTICE,
-                                               "FAILED LOGIN SESSION FROM %s FOR %s, %s",
-                                               hostname, pam_user,
-                                               pam_strerror (pamh, retcode)));
+                                                "FAILED LOGIN SESSION FROM %s FOR %s, %s",
+                                                hostname, pam_user,
+                                                pam_strerror (pamh, retcode)));
 
                                fprintf (stderr, "\nLogin incorrect\n");
                                pam_end (pamh, retcode);
@@ -803,7 +787,6 @@ int main (int argc, char **argv)
                 * If you reach this far, your password has been
                 * authenticated and so on.
                 */
-
                if (!failed && pwent.pw_name && pwent.pw_uid == 0
                    && !is_console) {
                        SYSLOG ((LOG_CRIT, "ILLEGAL ROOT LOGIN %s", fromhost));
@@ -867,7 +850,6 @@ int main (int argc, char **argv)
                if (--retries <= 0)
                        SYSLOG ((LOG_CRIT, "REPEATED login failures%s",
                                 fromhost));
-#if 1
                /*
                 * If this was a passwordless account and we get here, login
                 * was denied (securetty, faillog, etc.). There was no
@@ -875,16 +857,14 @@ int main (int argc, char **argv)
                 * guys won't see that the passwordless account exists at
                 * all).  --marekm
                 */
-
                if (pwent.pw_passwd[0] == '\0')
                        pw_auth ("!", username, reason, (char *) 0);
-#endif
+
                /*
                 * Wait a while (a la SVR4 /usr/bin/login) before attempting
                 * to login the user again. If the earlier alarm occurs
                 * before the sleep() below completes, login will exit.
                 */
-
                if (delay > 0)
                        sleep (delay);
 
@@ -969,8 +949,8 @@ int main (int argc, char **argv)
        child = fork ();
        if (child < 0) {
                /* error in fork() */
-               fprintf (stderr, "login: failure forking: %s",
-                        strerror (errno));
+               fprintf (stderr, _("%s: failure forking: %s"),
+                        Prog, strerror (errno));
                PAM_END;
                exit (0);
        } else if (child) {
index 8425285f5fb3cac9266a96f0892768e24399a363..0d977953a1a2df382f17daecfadda66e2b130305 100644 (file)
@@ -22,8 +22,8 @@
 #endif
 
 #ifndef USE_PAM
-#include "rcsid.h"
-RCSID ("$Id: login_nopam.c,v 1.5 2005/07/02 17:53:06 kloczek Exp $")
+#ident "$Id: login_nopam.c,v 1.8 2005/09/07 15:00:45 kloczek Exp $"
+
 #include "prototypes.h"
     /*
      * This module implements a simple but effective form of login access
@@ -63,13 +63,11 @@ extern int innetgr ();
 #define TABLE  "/etc/login.access"
 #endif
 
- /* Delimiters for fields and for lists of users, ttys or hosts. */
-
+/* Delimiters for fields and for lists of users, ttys or hosts. */
 static char fs[] = ":";                /* field separator */
 static char sep[] = ", \t";    /* list-element separator */
 
- /* Constants to be used in assignments only, not in comparisons... */
-
+/* Constants to be used in assignments only, not in comparisons... */
 #define YES             1
 #define NO              0
 
@@ -79,7 +77,6 @@ static int from_match ();
 static int string_match ();
 
 /* login_access - match username/group and host/tty with access control file */
-
 int login_access (const char *user, const char *from)
 {
        FILE *fp;
@@ -98,14 +95,13 @@ int login_access (const char *user, const char *from)
         * mandatory. The first field should be a "+" or "-" character. A
         * non-existing table means no access control.
         */
-
        if ((fp = fopen (TABLE, "r"))) {
                while (!match && fgets (line, sizeof (line), fp)) {
                        lineno++;
                        if (line[end = strlen (line) - 1] != '\n') {
                                SYSLOG ((LOG_ERR,
-                                       "%s: line %d: missing newline or line too long",
-                                       TABLE, lineno));
+                                        "%s: line %d: missing newline or line too long",
+                                        TABLE, lineno));
                                continue;
                        }
                        if (line[0] == '#')
@@ -120,14 +116,14 @@ int login_access (const char *user, const char *from)
                            || !(froms = strtok ((char *) 0, fs))
                            || strtok ((char *) 0, fs)) {
                                SYSLOG ((LOG_ERR,
-                                       "%s: line %d: bad field count",
-                                       TABLE, lineno));
+                                        "%s: line %d: bad field count",
+                                        TABLE, lineno));
                                continue;
                        }
                        if (perm[0] != '+' && perm[0] != '-') {
                                SYSLOG ((LOG_ERR,
-                                       "%s: line %d: bad first field",
-                                       TABLE, lineno));
+                                        "%s: line %d: bad first field",
+                                        TABLE, lineno));
                                continue;
                        }
                        match = (list_match (froms, from, from_match)
@@ -141,7 +137,6 @@ int login_access (const char *user, const char *from)
 }
 
 /* list_match - match an item against a list of tokens with exceptions */
-
 static int list_match (char *list, const char *item, int (*match_fn) ())
 {
        char *tok;
@@ -153,15 +148,14 @@ static int list_match (char *list, const char *item, int (*match_fn) ())
         * a match, look for an "EXCEPT" list and recurse to determine whether
         * the match is affected by any exceptions.
         */
-
        for (tok = strtok (list, sep); tok != 0; tok = strtok ((char *) 0, sep)) {
                if (strcasecmp (tok, "EXCEPT") == 0)    /* EXCEPT: give up */
                        break;
                if ((match = (*match_fn) (tok, item)))  /* YES */
                        break;
        }
-       /* Process exceptions to matches. */
 
+       /* Process exceptions to matches. */
        if (match != NO) {
                while ((tok = strtok ((char *) 0, sep))
                       && strcasecmp (tok, "EXCEPT"))
@@ -173,7 +167,6 @@ static int list_match (char *list, const char *item, int (*match_fn) ())
 }
 
 /* myhostname - figure out local machine name */
-
 static char *myhostname (void)
 {
        static char name[MAXHOSTNAMELEN + 1] = "";
@@ -186,7 +179,6 @@ static char *myhostname (void)
 }
 
 /* netgroup_match - match group against machine or user */
-
 static int
 netgroup_match (const char *group, const char *machine, const char *user)
 {
@@ -203,7 +195,6 @@ netgroup_match (const char *group, const char *machine, const char *user)
 }
 
 /* user_match - match a username against one token */
-
 static int user_match (const char *tok, const char *string)
 {
        struct group *group;
@@ -219,7 +210,6 @@ static int user_match (const char *tok, const char *string)
         * Otherwise, return YES if the token fully matches the username, or if
         * the token is a group that contains the username.
         */
-
        if ((at = strchr (tok + 1, '@')) != 0) {        /* split user@host pattern */
                *at = 0;
                return (user_match (tok, string)
@@ -281,7 +271,6 @@ static int from_match (const char *tok, const char *string)
         * contain a "." character. If the token is a network number, return YES
         * if it matches the head of the string.
         */
-
        if (tok[0] == '@') {    /* netgroup */
                return (netgroup_match (tok + 1, string, (char *) 0));
        } else if (string_match (tok, string)) {        /* ALL or exact match */
@@ -301,7 +290,6 @@ static int from_match (const char *tok, const char *string)
 }
 
 /* string_match - match a string against one token */
-
 static int string_match (const char *tok, const char *string)
 {
 
@@ -309,7 +297,6 @@ static int string_match (const char *tok, const char *string)
         * If the token has the magic value "ALL" the match always succeeds.
         * Otherwise, return YES if the token fully matches the string.
         */
-
        if (strcasecmp (tok, "ALL") == 0) {     /* all: always matches */
                return (YES);
        } else if (strcasecmp (tok, string) == 0) {     /* try exact match */
index add70319d545256de4415d61e2243abd58647fe0..ef76d072d938278770da853d8173e2cdcd1b4fb5 100644 (file)
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: logoutd.c,v 1.26 2005/07/05 20:17:51 kloczek Exp $")
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <stdio.h>
-#include <signal.h>
+#ident "$Id: logoutd.c,v 1.30 2005/09/07 15:00:45 kloczek Exp $"
+
 #include <fcntl.h>
-#include "prototypes.h"
+#include <signal.h>
+#include <stdio.h>
+#include <sys/stat.h>
+#include <sys/types.h>
 #include "defines.h"
+#include "prototypes.h"
+/*
+ * Global variables
+ */
 static char *Prog;
 
 #ifndef DEFAULT_HUP_MESG
-#define DEFAULT_HUP_MESG "login time exceeded\r\n"
+#define DEFAULT_HUP_MESG _("login time exceeded\n\n")
 #endif
 
 #ifndef HUP_MESG_FILE
@@ -130,7 +133,6 @@ static void send_mesg_to_tty (int tty_fd)
  *     utmpx/utmp file is periodically scanned and offending users are logged
  *     off from the system.
  */
-
 int main (int argc, char **argv)
 {
        int i;
@@ -158,7 +160,6 @@ int main (int argc, char **argv)
        /*
         * Put this process in the background.
         */
-
        pid = fork ();
        if (pid > 0) {
                /* parent */
@@ -173,7 +174,6 @@ int main (int argc, char **argv)
        /*
         * Start syslogging everything
         */
-
        Prog = Basename (argv[0]);
 
        OPENLOG ("logoutd");
@@ -182,14 +182,12 @@ int main (int argc, char **argv)
         * Scan the utmpx/utmp file once per minute looking for users that
         * are not supposed to still be logged in.
         */
-
        while (1) {
 
                /* 
                 * Attempt to re-open the utmpx/utmp file. The file is only
                 * open while it is being used.
                 */
-
 #if HAVE_UTMPX_H
                setutxent ();
 #else
@@ -201,7 +199,6 @@ int main (int argc, char **argv)
                 * for login sessions will be checked to see if the user
                 * is permitted to be signed on at this time.
                 */
-
 #if HAVE_UTMPX_H
                while ((ut = getutxent ())) {
 #else
@@ -258,7 +255,6 @@ int main (int argc, char **argv)
                         * vhangup() the line to kill try and kill
                         * whatever is out there using it.
                         */
-
                        if ((tty_fd =
                             open (tty_name, O_RDONLY | O_NDELAY)) == -1)
                                continue;
@@ -277,7 +273,6 @@ int main (int argc, char **argv)
                        /*
                         * This child has done all it can, drop dead.
                         */
-
                        exit (0);
                }
 
@@ -293,7 +288,6 @@ int main (int argc, char **argv)
                /*
                 * Reap any dead babies ...
                 */
-
                while (wait (&status) != -1);
        }
        return 1;
index 30c0e6c3de01a2895d2a0abd0a400c69b23cf9ca..8d0bc9319ae5def38a9f4054a9dce3fc02270bd5 100644 (file)
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: newgrp.c,v 1.35 2005/08/11 11:26:11 kloczek Exp $")
-#include <stdio.h>
+#ident "$Id: newgrp.c,v 1.41 2005/09/07 15:00:45 kloczek Exp $"
+
 #include <errno.h>
 #include <grp.h>
 #include <pwd.h>
-#include "prototypes.h"
+#include <stdio.h>
 #include "defines.h"
 #include "getdef.h"
+#include "prototypes.h"
+/*
+ * Global variables
+ */
 extern char **environ;
 
 #ifdef HAVE_SETGROUPS
@@ -54,7 +57,6 @@ static void usage (void);
 /*
  * usage - print command usage message
  */
-
 static void usage (void)
 {
        if (is_newgrp)
@@ -67,7 +69,6 @@ static void usage (void)
  * find_matching_group - search all groups of a given group id for
  *                       membership of a given username
  */
-
 static struct group *find_matching_group (const char *name, gid_t gid)
 {
        struct group *gr;
@@ -79,6 +80,7 @@ static struct group *find_matching_group (const char *name, gid_t gid)
                if (gr->gr_gid != gid) {
                        continue;
                }
+
                /*
                 * A group with matching GID was found.
                 * Test for membership of 'name'.
@@ -95,7 +97,6 @@ static struct group *find_matching_group (const char *name, gid_t gid)
 /*
  * newgrp - change the invokers current real and effective group id
  */
-
 int main (int argc, char **argv)
 {
        int initflag = 0;
@@ -144,7 +145,6 @@ int main (int argc, char **argv)
         * but we do not need to restore the previous process persona and we
         * don't need to re-exec anything.  -- JWP
         */
-
        Prog = Basename (argv[0]);
        is_newgrp = (strcmp (Prog, "newgrp") == 0);
        OPENLOG (is_newgrp ? "newgrp" : "sg");
@@ -180,7 +180,6 @@ int main (int argc, char **argv)
         *      sg [-]
         *      sg [-] groupid [[-c command]
         */
-
        if (argc > 0 && (!strcmp (argv[0], "-") || !strcmp (argv[0], "-l"))) {
                argc--;
                argv++;
@@ -191,7 +190,6 @@ int main (int argc, char **argv)
                 * Do the command line for everything that is
                 * not "newgrp".
                 */
-
                if (argc > 0 && argv[0][0] != '-') {
                        group = argv[0];
                        argc--;
@@ -208,7 +206,6 @@ int main (int argc, char **argv)
                         * "sg group -c command" (as in the man page) or
                         * "sg group command" (as in the usage message).
                         */
-
                        if (argc > 1 && strcmp (argv[0], "-c") == 0)
                                command = argv[1];
                        else
@@ -216,19 +213,16 @@ int main (int argc, char **argv)
                        cflag++;
                }
        } else {
-
                /*
                 * Do the command line for "newgrp". It's just making sure
                 * there aren't any flags and getting the new group name.
                 */
-
                if (argc > 0 && argv[0][0] == '-') {
                        usage ();
                        goto failure;
                } else if (argv[0] != (char *) 0) {
                        group = argv[0];
                } else {
-
                        /*
                         * get the group file entry for her login group id. 
                         * the entry must exist, simply to be annoying.
@@ -236,7 +230,6 @@ int main (int argc, char **argv)
                         * Perhaps in the past, but the default behavior now depends on the
                         * group entry, so it had better exist.  -- JWP
                         */
-
                        if (!(grp = getgrgid (pwd->pw_gid))) {
                                fprintf (stderr, _("unknown GID: %lu\n"),
                                         (unsigned long) pwd->pw_gid);
@@ -255,7 +248,6 @@ int main (int argc, char **argv)
         * nasty message but at least your real and effective group id's are
         * set.
         */
-
        /* don't use getgroups(0, 0) - it doesn't work on some systems */
        i = 16;
        for (;;) {
@@ -313,7 +305,6 @@ int main (int argc, char **argv)
         * including the user's name in the member list of the user's login
         * group.  -- JWP
         */
-
        if (!(grp = getgrnam (group))) {
                fprintf (stderr, _("unknown group: %s\n"), group);
                goto failure;
@@ -348,7 +339,6 @@ int main (int argc, char **argv)
         * password, she will be denied access anyway.
         *
         */
-
        if (!is_on_list (grp->gr_mem, name))
                needspasswd = 1;
 
@@ -357,7 +347,6 @@ int main (int argc, char **argv)
         * password, and the group has a password, she needs to give the
         * group password.
         */
-
        if ((spwd = getspnam (name)))
                pwd->pw_passwd = spwd->sp_pwdp;
 
@@ -373,14 +362,11 @@ int main (int argc, char **argv)
         * Note that she now has to provide the password to her own group,
         * unless she is listed as a member.  -- JWP
         */
-
        if (getuid () != 0 && needspasswd) {
-
                /*
                 * get the password from her, and set the salt for
                 * the decryption from the group file.
                 */
-
                if (!(cp = getpass (_("Password: "))))
                        goto failure;
 
@@ -389,7 +375,6 @@ int main (int argc, char **argv)
                 * password in the group file. The result of this encryption
                 * must match the previously encrypted value in the file.
                 */
-
                cpasswd = pw_encrypt (cp, grp->gr_passwd);
                strzero (cp);
 
@@ -416,7 +401,6 @@ int main (int argc, char **argv)
         * all successful validations pass through this point. The group id
         * will be set, and the group added to the concurrent groupset.
         */
-
 #ifdef USE_SYSLOG
        if (getdef_bool ("SYSLOG_SG_ENAB"))
                SYSLOG ((LOG_INFO, "user `%s' switched to group `%s'",
@@ -467,14 +451,24 @@ int main (int argc, char **argv)
                child = fork ();
                if (child < 0) {
                        /* error in fork() */
-                       fprintf (stderr, "%s: failure forking: %s",
+                       fprintf (stderr, _("%s: failure forking: %s"),
                                 is_newgrp ? "newgrp" : "sg", strerror (errno));
                        exit (1);
                } else if (child) {
                        /* parent - wait for child to finish, then log session close */
+                       int cst = 0;
+
                        do {
-                               pid = waitpid (child, NULL, 0);
-                       } while (pid != child);
+                               errno = 0;
+                               pid = waitpid (child, &cst, WUNTRACED);
+                               if (pid == child && WIFSTOPPED (cst)) {
+                                       /* stop when child stops */
+                                       raise (SIGSTOP);
+                                       /* wake child when resumed */
+                                       kill (child, SIGCONT);
+                               }
+                       } while (pid == child && WIFSTOPPED (cst) ||
+                                pid != child && errno == EINTR);
                        SYSLOG ((LOG_INFO,
                                 "user `%s' (login `%s' on %s) returned to group `%s'",
                                 name, loginname, tty,
@@ -482,6 +476,7 @@ int main (int argc, char **argv)
                        closelog ();
                        exit (0);
                }
+
                /* child - restore signals to their default state */
                signal (SIGINT, SIG_DFL);
                signal (SIGQUIT, SIG_DFL);
@@ -502,7 +497,6 @@ int main (int argc, char **argv)
         * If the group doesn't fit, i'll complain loudly and skip this
         * part.
         */
-
        for (i = 0; i < ngroups; i++) {
                if (gid == grouplist[i])
                        break;
@@ -524,7 +518,6 @@ int main (int argc, char **argv)
         * to the real UID. For root, this also sets the real GID to the
         * new group id.
         */
-
        if (setgid (gid))
                perror ("setgid");
 
@@ -537,7 +530,6 @@ int main (int argc, char **argv)
         * See if the "-c" flag was used. If it was, i just create a shell
         * command for her using the argument that followed the "-c" flag.
         */
-
        if (cflag) {
                closelog ();
                execl ("/bin/sh", "sh", "-c", command, (char *) 0);
@@ -567,7 +559,6 @@ int main (int argc, char **argv)
         * problem, try using $SHELL as a workaround; also please notify me
         * at jparmele@wildbear.com -- JWP
         */
-
        if (!initflag && (cp = getenv ("SHELL")))
                prog = cp;
        else if (pwd->pw_shell && pwd->pw_shell[0])
@@ -579,7 +570,6 @@ int main (int argc, char **argv)
         * Now i try to find the basename of the login shell. This will
         * become argv[0] of the spawned command.
         */
-
        cp = Basename ((char *) prog);
 
        endspent ();
@@ -593,7 +583,6 @@ int main (int argc, char **argv)
         * Switch back to her home directory if i am doing login
         * initialization.
         */
-
        if (initflag) {
                if (chdir (pwd->pw_dir))
                        perror ("chdir");
@@ -616,7 +605,6 @@ int main (int argc, char **argv)
         * Exec the login shell and go away. We are trying to get back to
         * the previous environment which should be the user's login shell.
         */
-
        shell (prog, initflag ? (char *) 0 : cp);
        /* NOTREACHED */
       failure:
@@ -631,7 +619,6 @@ int main (int argc, char **argv)
         * process. The closelog is probably unnecessary, but it does no
         * harm.  -- JWP
         */
-
        closelog ();
        exit (1);
 }
index d9363b605668363860f43013e44d73b69d144108..1d4d0e1c3e9730e61d794a82c4c6ec9da8265b48 100644 (file)
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: newusers.c,v 1.26 2005/08/11 16:23:34 kloczek Exp $")
+#ident "$Id: newusers.c,v 1.30 2005/10/04 21:05:12 kloczek Exp $"
+
 #include <sys/types.h>
 #include <sys/stat.h>
-#include "prototypes.h"
-#include "defines.h"
 #include <stdio.h>
 #include <pwd.h>
 #include <grp.h>
@@ -49,13 +47,16 @@ RCSID (PKG_VER "$Id: newusers.c,v 1.26 2005/08/11 16:23:34 kloczek Exp $")
 #include <security/pam_appl.h>
 #include <security/pam_misc.h>
 #endif                         /* USE_PAM */
-static char *Prog;
-
+#include "prototypes.h"
+#include "defines.h"
 #include "getdef.h"
 #include "pwio.h"
 #include "groupio.h"
-
 #include "shadowio.h"
+/*
+ * Global variables
+ */
+static char *Prog;
 
 static int is_shadow;
 
@@ -69,7 +70,6 @@ static int add_passwd (struct passwd *, const char *);
 /*
  * usage - display usage message and exit
  */
-
 static void usage (void)
 {
        fprintf (stderr, _("Usage: %s [input]\n"), Prog);
@@ -79,7 +79,6 @@ static void usage (void)
 /*
  * add_group - create a new group or add a user to an existing group
  */
-
 static int add_group (const char *name, const char *gid, gid_t * ngid)
 {
        const struct passwd *pwd;
@@ -92,7 +91,6 @@ static int add_group (const char *name, const char *gid, gid_t * ngid)
         * Start by seeing if the named group already exists. This will be
         * very easy to deal with if it does.
         */
-
        if ((grp = gr_locate (gid))) {
              add_member:
                grent = *grp;
@@ -115,7 +113,6 @@ static int add_group (const char *name, const char *gid, gid_t * ngid)
         * out the GID from the password file. I want the UID and GID to
         * match, unless the GID is already used.
         */
-
        if (gid[0] == '\0') {
                i = 100;
                for (pw_rewind (); (pwd = pw_next ());) {
@@ -129,13 +126,11 @@ static int add_group (const char *name, const char *gid, gid_t * ngid)
                        }
                }
        } else if (gid[0] >= '0' && gid[0] <= '9') {
-
                /*
                 * The GID is a number, which means either this is a brand
                 * new group, or an existing group. For existing groups I
                 * just add myself as a member, just like I did earlier.
                 */
-
                i = atoi (gid);
                for (gr_rewind (); (grp = gr_next ());)
                        if (grp->gr_gid == i)
@@ -147,13 +142,11 @@ static int add_group (const char *name, const char *gid, gid_t * ngid)
                 * figure out what group ID that group name is going to
                 * have.
                 */
-
                i = -1;
 
        /*
         * If I don't have a group ID by now, I'll go get the next one.
         */
-
        if (i == -1) {
                for (i = 100, gr_rewind (); (grp = gr_next ());)
                        if (grp->gr_gid >= i)
@@ -163,7 +156,6 @@ static int add_group (const char *name, const char *gid, gid_t * ngid)
        /*
         * Now I have all of the fields required to create the new group.
         */
-
        if (gid[0] && (gid[0] <= '0' || gid[0] >= '9'))
                grent.gr_name = xstrdup (gid);
        else
@@ -182,7 +174,6 @@ static int add_group (const char *name, const char *gid, gid_t * ngid)
 /*
  * add_user - create a new user ID
  */
-
 static int add_user (const char *name, const char *uid, uid_t * nuid, gid_t gid)
 {
        const struct passwd *pwd;
@@ -193,7 +184,6 @@ static int add_user (const char *name, const char *uid, uid_t * nuid, gid_t gid)
         * The first guess for the UID is either the numerical UID that the
         * caller provided, or the next available UID.
         */
-
        if (uid[0] >= '0' && uid[0] <= '9') {
                i = atoi (uid);
        } else if (uid[0] && (pwd = pw_locate (uid))) {
@@ -210,7 +200,6 @@ static int add_user (const char *name, const char *uid, uid_t * nuid, gid_t gid)
         * JUST YET, since there is still more data to be added. So, I fill
         * in the parts that I have.
         */
-
        pwent.pw_name = xstrdup (name);
        pwent.pw_passwd = "x";  /* XXX warning: const */
        pwent.pw_uid = i;
@@ -231,7 +220,6 @@ static void update_passwd (struct passwd *pwd, const char *passwd)
 /*
  * add_passwd - add or update the encrypted password
  */
-
 static int add_passwd (struct passwd *pwd, const char *passwd)
 {
        const struct spwd *sp;
@@ -242,16 +230,15 @@ static int add_passwd (struct passwd *pwd, const char *passwd)
         * points to the entry in the password file. Shadow files are
         * harder since there are zillions of things to do ...
         */
-
        if (!is_shadow) {
                update_passwd (pwd, passwd);
                return 0;
        }
+
        /*
         * Do the first and easiest shadow file case. The user already
         * exists in the shadow password file.
         */
-
        if ((sp = spw_locate (pwd->pw_name))) {
                spent = *sp;
                spent.sp_pwdp = pw_encrypt (passwd, crypt_make_salt ());
@@ -264,7 +251,6 @@ static int add_passwd (struct passwd *pwd, const char *passwd)
         * when the entry was created, so this user would have to have had
         * the password set someplace else.
         */
-
        if (strcmp (pwd->pw_passwd, "x") != 0) {
                update_passwd (pwd, passwd);
                return 0;
@@ -274,7 +260,6 @@ static int add_passwd (struct passwd *pwd, const char *passwd)
         * Now the really hard case - I need to create an entirely new
         * shadow password file entry.
         */
-
        spent.sp_namp = pwd->pw_name;
        spent.sp_pwdp = pw_encrypt (passwd, crypt_make_salt ());
        spent.sp_lstchg = time ((time_t *) 0) / SCALE;
@@ -370,7 +355,6 @@ int main (int argc, char **argv)
         * modified, or new entries added. The password file is the key - if
         * it gets locked, assume the others can be locked right away.
         */
-
        if (!pw_lock ()) {
                fprintf (stderr, _("%s: can't lock /etc/passwd.\n"), Prog);
                exit (1);
@@ -404,7 +388,6 @@ int main (int argc, char **argv)
         * over 100 is allocated. The pw_gid field will be updated with that
         * value.
         */
-
        while (fgets (buf, sizeof buf, stdin) != (char *) 0) {
                line++;
                if ((cp = strrchr (buf, '\n'))) {
@@ -421,7 +404,6 @@ int main (int argc, char **argv)
                 * There MUST be 7 colon separated fields, although the
                 * values aren't that particular.
                 */
-
                for (cp = buf, nfields = 0; nfields < 7; nfields++) {
                        fields[nfields] = cp;
                        if ((cp = strchr (cp, ':')))
@@ -445,7 +427,6 @@ int main (int argc, char **argv)
                 * new group, if that group ID exists, a whole new group ID
                 * will be made up.
                 */
-
                if (!(pw = pw_locate (fields[0])) &&
                    add_group (fields[0], fields[3], &gid)) {
                        fprintf (stderr,
@@ -462,7 +443,6 @@ int main (int argc, char **argv)
                 * available user ID is computed and used. After this there
                 * will at least be a (struct passwd) for the user.
                 */
-
                if (!pw && add_user (fields[0], fields[2], &uid, gid)) {
                        fprintf (stderr,
                                 _("%s: line %d: can't create UID\n"),
@@ -475,7 +455,6 @@ int main (int argc, char **argv)
                 * The password, gecos field, directory, and shell fields
                 * all come next.
                 */
-
                if (!(pw = pw_locate (fields[0]))) {
                        fprintf (stderr,
                                 _("%s: line %d: cannot find user %s\n"),
@@ -517,7 +496,6 @@ int main (int argc, char **argv)
                /*
                 * Update the password entry with the new changes made.
                 */
-
                if (!pw_update (&newpw)) {
                        fprintf (stderr,
                                 _("%s: line %d: can't update entry\n"),
@@ -534,7 +512,6 @@ int main (int argc, char **argv)
         * changes to be written out all at once, and then unlocked
         * afterwards.
         */
-
        if (errors) {
                fprintf (stderr,
                         _("%s: error detected, changes ignored\n"), Prog);
@@ -562,18 +539,6 @@ int main (int argc, char **argv)
        (void) pw_unlock ();
 
 #ifdef USE_PAM
-       if (retval == PAM_SUCCESS) {
-               retval = pam_chauthtok (pamh, 0);
-               if (retval != PAM_SUCCESS) {
-                       pam_end (pamh, retval);
-               }
-       }
-
-       if (retval != PAM_SUCCESS) {
-               fprintf (stderr, _("%s: PAM chauthtok failed\n"), Prog);
-               exit (1);
-       }
-
        if (retval == PAM_SUCCESS)
                pam_end (pamh, PAM_SUCCESS);
 #endif                         /* USE_PAM */
index b3054ff13e1dfafddc02b447346a8cac2733ddc0..a6f44ee75e57aeb5f05c6f22026870edb63f26dc 100644 (file)
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: passwd.c,v 1.44 2005/08/03 16:00:46 kloczek Exp $")
-#include "prototypes.h"
-#include "defines.h"
-#include <sys/types.h>
-#include <time.h>
-#include <stdio.h>
+#ident "$Id: passwd.c,v 1.52 2005/09/07 15:00:45 kloczek Exp $"
+
+#include <errno.h>
 #include <fcntl.h>
+#include <getopt.h>
+#include <pwd.h>
 #include <signal.h>
-#include <errno.h>
+#include <stdio.h>
+#include <sys/types.h>
+#ifdef WITH_SELINUX
+#include <selinux/selinux.h>
+#include <selinux/av_permissions.h>
+#endif
+#include <time.h>
+#include "defines.h"
+#include "getdef.h"
+#include "nscd.h"
+#include "prototypes.h"
+#include "pwauth.h"
+#include "pwio.h"
+#include "shadowio.h"
 #ifndef GPASSWD_PROGRAM
 #define GPASSWD_PROGRAM "gpasswd"
 #endif
@@ -48,16 +59,6 @@ RCSID (PKG_VER "$Id: passwd.c,v 1.44 2005/08/03 16:00:46 kloczek Exp $")
 #ifndef CHSH_PROGRAM
 #define CHSH_PROGRAM "chsh"
 #endif
-#include <pwd.h>
-#include "pwauth.h"
-#include "shadowio.h"
-#include "pwio.h"
-#include "nscd.h"
-#include "getdef.h"
-#ifdef WITH_SELINUX
-#include <selinux/selinux.h>
-#include <selinux/av_permissions.h>
-#endif
 /*
  * exit status values
  */
@@ -77,18 +78,18 @@ static char *Prog;          /* Program name */
 static int amroot;             /* The real UID was 0 */
 
 static int
- eflg = 0,                     /* -e - force password change */
+ aflg = 0,                     /* -a - show status for all users */
+    dflg = 0,                  /* -d - delete password */
+    eflg = 0,                  /* -e - force password change */
     iflg = 0,                  /* -i - set inactive days */
     kflg = 0,                  /* -k - change only if expired */
-    nflg = 0,                  /* -n - set minimum days */
-    wflg = 0,                  /* -w - set warning days */
-    xflg = 0,                  /* -x - set maximum days */
-    aflg = 0,                  /* -a - show status for all users */
-    dflg = 0,                  /* -d - delete password */
     lflg = 0,                  /* -l - lock account */
+    nflg = 0,                  /* -n - set minimum days */
     qflg = 0,                  /* -q - quiet mode */
     Sflg = 0,                  /* -S - show password status */
-    uflg = 0;                  /* -u - unlock account */
+    uflg = 0,                  /* -u - unlock account */
+    wflg = 0,                  /* -w - set warning days */
+    xflg = 0;                  /* -x - set maximum days */
 
 /*
  * set to 1 if there are any flags which require root privileges,
@@ -136,17 +137,28 @@ static long getnumber (const char *);
 /*
  * usage - print command usage and exit
  */
-
 static void usage (int status)
 {
-       fprintf (stderr, _("Usage: %s [-f|-s] [name]\n"), Prog);
-       if (amroot) {
-               fprintf (stderr,
-                        _
-                        ("       %s [-x max] [-n min] [-w warn] [-i inact] name\n"),
-                        Prog);
-               fprintf (stderr, _("       %s {-l|-u|-d|-S|-e} name\n"), Prog);
-       }
+       fprintf (stderr, _("Usage: passwd [options] [login]\n"
+                          "\n"
+                          "Options:\n"
+                          "  -a, --all                         report password status on all accounts\n"
+                          "  -d, --delete                      delete the password for the named account\n"
+                          "  -e, --expire                      force expire the password for the named account\n"
+                          "  -h, --help                        display this help message and exit\n"
+                          "  -k, --keep-tokens         change password only if expired\n"
+                          "  -i, --inactive INACTIVE   set password inactive after expiration\n"
+                          "                            to INACTIVE\n"
+                          "  -l, --lock                        lock the named account\n"
+                          "  -n, --mindays MIN_DAYS    set minimum number of days before password\n"
+                          "                            change to MIN_DAYS\n"
+                          "  -q, --quiet                       quiet mode\n"
+                          "  -r, --repository REPOSITORY       change password in REPOSITORY repository\n"
+                          "  -S, --status                      report password status on the named account\n"
+                          "  -u, --unlock                      unlock the named account\n"
+                          "  -w, --warndays WARN_DAYS  set expiration warning days to WARN_DAYS\n"
+                          "  -x, --maxdays MAX_DAYS    set maximim number of days before password\n"
+                          "                            change to MAX_DAYS\n"));
        exit (status);
 }
 
@@ -177,8 +189,7 @@ static int reuse (const char *pass, const struct passwd *pw)
  * new_password - validate old password and replace with new (both old and
  * new in global "char crypt_passwd[128]")
  */
-
- /*ARGSUSED*/ static int new_password (const struct passwd *pw)
+static int new_password (const struct passwd *pw)
 {
        char *clear;            /* Pointer to clear text */
        char *cipher;           /* Pointer to cipher text */
@@ -204,11 +215,11 @@ static int reuse (const char *pass, const struct passwd *pw)
 
                cipher = pw_encrypt (clear, crypt_passwd);
                if (strcmp (cipher, crypt_passwd) != 0) {
-                       SYSLOG ((LOG_WARN, "incorrect password for `%s'",
+                       SYSLOG ((LOG_WARN, "incorrect password for %s",
                                 pw->pw_name));
                        sleep (1);
                        fprintf (stderr,
-                                _("Incorrect password for `%s'\n"),
+                                _("Incorrect password for %s.\n"),
                                 pw->pw_name);
                        return -1;
                }
@@ -225,7 +236,6 @@ static int reuse (const char *pass, const struct passwd *pw)
         * for strength, unless it is the root user. This provides an escape
         * for initial login passwords.
         */
-
        if (getdef_bool ("MD5_CRYPT_ENAB"))
                pass_max_len = 127;
        else
@@ -251,6 +261,7 @@ Please use a combination of upper and lower case letters and numbers.\n"), getde
                        printf (_("Try again.\n"));
                        continue;
                }
+
                /*
                 * If enabled, warn about weak passwords even if you are
                 * root (enter this password again to use it anyway). 
@@ -284,7 +295,6 @@ Please use a combination of upper and lower case letters and numbers.\n"), getde
        /*
         * Encrypt the password, then wipe the cleartext password.
         */
-
        cp = pw_encrypt (pass, crypt_make_salt ());
        memzero (pass, sizeof pass);
 
@@ -301,7 +311,6 @@ Please use a combination of upper and lower case letters and numbers.\n"), getde
  *     check_password() sees if the invoker has permission to change the
  *     password for the given user.
  */
-
 static void check_password (const struct passwd *pw, const struct spwd *sp)
 {
        time_t now, last, ok;
@@ -319,7 +328,6 @@ static void check_password (const struct passwd *pw, const struct spwd *sp)
        /*
         * Root can change any password any time.
         */
-
        if (amroot)
                return;
 
@@ -331,7 +339,6 @@ static void check_password (const struct passwd *pw, const struct spwd *sp)
         * changed. Passwords which have been inactive too long cannot be
         * changed.
         */
-
        if (sp->sp_pwdp[0] == '!' || exp_status > 1 ||
            (sp->sp_max >= 0 && sp->sp_min > sp->sp_max)) {
                fprintf (stderr,
@@ -345,7 +352,6 @@ static void check_password (const struct passwd *pw, const struct spwd *sp)
        /*
         * Passwords may only be changed after sp_min time is up.
         */
-
        last = sp->sp_lstchg * SCALE;
        ok = last + (sp->sp_min > 0 ? sp->sp_min * SCALE : 0);
 
@@ -397,7 +403,6 @@ static const char *pw_status (const char *pass)
 /*
  * print_status - print current password status
  */
-
 static void print_status (const struct passwd *pw)
 {
        struct spwd *sp;
@@ -534,6 +539,7 @@ static void update_shadow (void)
                nsp->sp_inact = (inact * DAY) / SCALE;
        if (do_update_age)
                nsp->sp_lstchg = time ((time_t *) 0) / SCALE;
+
        /*
         * Force change on next login, like SunOS 4.x passwd -e or Solaris
         * 2.x passwd -f. Solaris 2.x seems to do the same thing (set
@@ -574,19 +580,20 @@ static long getnumber (const char *str)
  *
  *     The valid options are
  *
- *     -l      lock the named account (*)
- *     -u      unlock the named account (*)
  *     -d      delete the password for the named account (*)
  *     -e      expire the password for the named account (*)
- *     -x #    set sp_max to # days (*)
- *     -n #    set sp_min to # days (*)
- *     -w #    set sp_warn to # days (*)
- *     -i #    set sp_inact to # days (*)
- *     -S      show password status of named account
- *     -g      execute gpasswd command to interpret flags
  *     -f      execute chfn command to interpret flags
- *     -s      execute chsh command to interpret flags
+ *     -g      execute gpasswd command to interpret flags
+ *     -i #    set sp_inact to # days (*)
  *     -k      change password only if expired
+ *     -l      lock the named account (*)
+ *     -n #    set sp_min to # days (*)
+ *     -r #    change password in # repository
+ *     -s      execute chsh command to interpret flags
+ *     -S      show password status of named account
+ *     -u      unlock the named account (*)
+ *     -w #    set sp_warn to # days (*)
+ *     -x #    set sp_max to # days (*)
  *
  *     (*) requires root permission to execute.
  *
@@ -594,7 +601,6 @@ static long getnumber (const char *str)
  *     appropriate internal format. For finer resolute the chage
  *     command must be used.
  */
-
 int main (int argc, char **argv)
 {
        int flag;               /* Current option to process     */
@@ -634,7 +640,6 @@ int main (int argc, char **argv)
         * These flags are deprecated, may change in a future release.
         * Please run these programs directly.  --marekm
         */
-
        if (argc > 1 && argv[1][0] == '-' && strchr ("gfs", argv[1][1])) {
                char buf[200];
 
@@ -661,81 +666,99 @@ int main (int argc, char **argv)
                exit (E_FAILURE);
        }
 
-       /* 
-        * The remaining arguments will be processed one by one and executed
-        * by this command. The name is the last argument if it does not
-        * begin with a "-", otherwise the name is determined from the
-        * environment and must agree with the real UID. Also, the UID will
-        * be checked for any commands which are restricted to root only.
-        */
-
-
-       while ((flag = getopt (argc, argv, "adei:kln:qr:Suw:x:")) != EOF) {
-               switch (flag) {
-               case 'a':
-                       aflg++;
-                       break;
-               case 'd':
-                       dflg++;
-                       anyflag = 1;
-                       break;
-               case 'e':
-                       eflg++;
-                       anyflag = 1;
-                       break;
-               case 'i':
-                       inact = getnumber (optarg);
-                       if (inact >= -1)
-                               iflg++;
-                       anyflag = 1;
-                       break;
-               case 'k':
-                       /* change only if expired, like Linux-PAM passwd -k. */
-                       kflg++; /* ok for users */
-                       break;
-               case 'l':
-                       lflg++;
-                       anyflag = 1;
-                       break;
-               case 'n':
-                       age_min = getnumber (optarg);
-                       nflg++;
-                       anyflag = 1;
-                       break;
-               case 'q':
-                       qflg++; /* ok for users */
-                       break;
-               case 'S':
-                       Sflg++; /* ok for users */
-                       break;
-               case 'u':
-                       uflg++;
-                       anyflag = 1;
-                       break;
-               case 'w':
-                       warn = getnumber (optarg);
-                       if (warn >= -1)
-                               wflg++;
-                       anyflag = 1;
-                       break;
-               case 'r':
-                       /* -r repository (files|nis|nisplus) */
-                       /* only "files" supported for now */
-                       if (strcmp (optarg, "files") != 0) {
-                               fprintf (stderr,
-                                        _
-                                        ("%s: repository %s not supported\n"),
-                                        Prog, optarg);
-                               exit (E_BAD_ARG);
+       {
+               /*
+                * Parse the command line options.
+                */
+               int option_index = 0;
+               int c;
+               static struct option long_options[] = {
+                       {"all", no_argument, NULL, 'a'},
+                       {"delete", no_argument, NULL, 'd'},
+                       {"expire", no_argument, NULL, 'e'},
+                       {"help", no_argument, NULL, 'h'},
+                       {"inactive", required_argument, NULL, 'i'},
+                       {"keep-tokens", no_argument, NULL, 'k'},
+                       {"lock", no_argument, NULL, 'l'},
+                       {"mindays", required_argument, NULL, 'n'},
+                       {"quiet", no_argument, NULL, 'q'},
+                       {"repository", required_argument, NULL, 'r'},
+                       {"status", no_argument, NULL, 'S'},
+                       {"unlock", no_argument, NULL, 'u'},
+                       {"warning", required_argument, NULL, 'w'},
+                       {"maxdays", required_argument, NULL, 'x'},
+                       {NULL, 0, NULL, '\0'}
+               };
+
+               while ((c =
+                       getopt_long (argc, argv, "adei:kln:qr:Suw:x:",
+                                    long_options, &option_index)) != -1) {
+                       switch (c) {
+                       case 'a':
+                               aflg++;
+                               break;
+                       case 'd':
+                               dflg++;
+                               anyflag = 1;
+                               break;
+                       case 'e':
+                               eflg++;
+                               anyflag = 1;
+                               break;
+                       case 'i':
+                               inact = getnumber (optarg);
+                               if (inact >= -1)
+                                       iflg++;
+                               anyflag = 1;
+                               break;
+                       case 'k':
+                               /* change only if expired, like Linux-PAM passwd -k. */
+                               kflg++; /* ok for users */
+                               break;
+                       case 'l':
+                               lflg++;
+                               anyflag = 1;
+                               break;
+                       case 'n':
+                               age_min = getnumber (optarg);
+                               nflg++;
+                               anyflag = 1;
+                               break;
+                       case 'q':
+                               qflg++; /* ok for users */
+                               break;
+                       case 'r':
+                               /* -r repository (files|nis|nisplus) */
+                               /* only "files" supported for now */
+                               if (strcmp (optarg, "files") != 0) {
+                                       fprintf (stderr,
+                                                _
+                                                ("%s: repository %s not supported\n"),
+                                                Prog, optarg);
+                                       exit (E_BAD_ARG);
+                               }
+                               break;
+                       case 'S':
+                               Sflg++; /* ok for users */
+                               break;
+                       case 'u':
+                               uflg++;
+                               anyflag = 1;
+                               break;
+                       case 'w':
+                               warn = getnumber (optarg);
+                               if (warn >= -1)
+                                       wflg++;
+                               anyflag = 1;
+                               break;
+                       case 'x':
+                               age_max = getnumber (optarg);
+                               xflg++;
+                               anyflag = 1;
+                               break;
+                       default:
+                               usage (E_BAD_ARG);
                        }
-                       break;
-               case 'x':
-                       age_max = getnumber (optarg);
-                       xflg++;
-                       anyflag = 1;
-                       break;
-               default:
-                       usage (E_BAD_ARG);
                }
        }
 
@@ -744,7 +767,6 @@ int main (int argc, char **argv)
         * command line if possible. Otherwise it is figured out from the
         * environment.
         */
-
        pw = get_my_pwent ();
        if (!pw) {
                fprintf (stderr,
@@ -761,7 +783,6 @@ int main (int argc, char **argv)
         * The -a flag requires -S, no other flags, no username, and
         * you must be root.  --marekm
         */
-
        if (aflg) {
                if (anyflag || !Sflg || (optind < argc))
                        usage (E_USAGE);
@@ -794,7 +815,6 @@ int main (int argc, char **argv)
         * -S now ok for normal users (check status of my own account), and
         * doesn't require username.  --marekm
         */
-
        if (anyflag && optind >= argc)
                usage (E_USAGE);
 
@@ -817,7 +837,7 @@ int main (int argc, char **argv)
         * check if the change is allowed by SELinux policy.
         */
        if ((pw->pw_uid != getuid ())
-           && (checkPasswdAccess (PASSWD__PASSWD) != 0)) {
+           && (selinux_check_passwd_access (PASSWD__PASSWD) != 0)) {
 #else
        /*
         * If the UID of the user does not match the current real UID,
@@ -844,7 +864,6 @@ int main (int argc, char **argv)
        /*
         * The user name is valid, so let's get the shadow file entry.
         */
-
        sp = getspnam (name);
        if (!sp)
                sp = pwd_to_spwd (pw);
@@ -854,7 +873,6 @@ int main (int argc, char **argv)
        /*
         * If there are no other flags, just change the password.
         */
-
        if (!anyflag) {
                STRFCPY (crypt_passwd, cp);
 
@@ -862,7 +880,6 @@ int main (int argc, char **argv)
                 * See if the user is permitted to change the password. 
                 * Otherwise, go ahead and set a new password.
                 */
-
                check_password (pw, sp);
 
                /*
@@ -888,13 +905,12 @@ int main (int argc, char **argv)
         * against unexpected signals. Any keyboard signals are set to be
         * ignored.
         */
-
        pwd_init ();
 
+#ifdef USE_PAM
        /*
         * Don't set the real UID for PAM...
         */
-#ifdef USE_PAM
        if (!anyflag) {
                do_pam_passwd (name, qflg, kflg);
                exit (E_SUCCESS);
index 4794831c3d25168c84a8d73e0c8b8a6675a623d7..be50b93d3a91eb23942bf908cf9708b54f550eef 100644 (file)
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: pwck.c,v 1.29 2005/08/09 15:27:02 kloczek Exp $")
-#include <stdio.h>
+#ident "$Id: pwck.c,v 1.32 2005/09/07 15:00:45 kloczek Exp $"
+
 #include <fcntl.h>
 #include <grp.h>
-#include "prototypes.h"
-#include "defines.h"
-#include "chkname.h"
 #include <pwd.h>
+#include <stdio.h>
+#include "chkname.h"
 #include "commonio.h"
+#include "defines.h"
+#include "prototypes.h"
 #include "pwio.h"
+#include "shadowio.h"
 extern void __pw_del_entry (const struct commonio_entry *);
 extern struct commonio_entry *__pw_get_head (void);
 
-#include "shadowio.h"
 extern void __spw_del_entry (const struct commonio_entry *);
 extern struct commonio_entry *__spw_get_head (void);
 
@@ -59,7 +59,7 @@ extern struct commonio_entry *__spw_get_head (void);
 #define        E_CANTUPDATE    5
 
 /*
- * Local variables
+ * Global variables
  */
 
 static char *Prog;
@@ -76,7 +76,6 @@ static int yes_or_no (void);
 /*
  * usage - print syntax message and exit
  */
-
 static void usage (void)
 {
        fprintf (stderr, _("Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"),
@@ -87,7 +86,6 @@ static void usage (void)
 /*
  * yes_or_no - get answer to question from the user
  */
-
 static int yes_or_no (void)
 {
        char buf[80];
@@ -104,7 +102,6 @@ static int yes_or_no (void)
        /*
         * Get a line and see what the first character is.
         */
-
        if (fgets (buf, sizeof buf, stdin))
                return buf[0] == 'y' || buf[0] == 'Y';
 
@@ -114,7 +111,6 @@ static int yes_or_no (void)
 /*
  * pwck - verify password file integrity
  */
-
 int main (int argc, char **argv)
 {
        int arg;
@@ -131,7 +127,6 @@ int main (int argc, char **argv)
        /*
         * Get my name so that I can use it to report errors.
         */
-
        Prog = Basename (argv[0]);
 
        setlocale (LC_ALL, "");
@@ -143,7 +138,6 @@ int main (int argc, char **argv)
        /*
         * Parse the command line arguments
         */
-
        while ((arg = getopt (argc, argv, "eqrs")) != EOF) {
                switch (arg) {
                case 'e':       /* added for Debian shadow-961025-2 compatibility */
@@ -169,7 +163,6 @@ int main (int argc, char **argv)
        /*
         * Make certain we have the right number of arguments
         */
-
        if (optind != argc && optind + 1 != argc && optind + 2 != argc)
                usage ();
 
@@ -177,7 +170,6 @@ int main (int argc, char **argv)
         * If there are two left over filenames, use those as the password
         * and shadow password filenames.
         */
-
        if (optind != argc) {
                pwd_file = argv[optind];
                pw_name (pwd_file);
@@ -192,7 +184,6 @@ int main (int argc, char **argv)
        /*
         * Lock the files if we aren't in "read-only" mode
         */
-
        if (!read_only) {
                if (!pw_lock ()) {
                        fprintf (stderr, _("%s: cannot lock file %s\n"),
@@ -216,7 +207,6 @@ int main (int argc, char **argv)
         * Open the files. Use O_RDONLY if we are in read_only mode, O_RDWR
         * otherwise.
         */
-
        if (!pw_open (read_only ? O_RDONLY : O_RDWR)) {
                fprintf (stderr, _("%s: cannot open file %s\n"),
                         Prog, pwd_file);
@@ -244,13 +234,11 @@ int main (int argc, char **argv)
        /*
         * Loop through the entire password file.
         */
-
        for (pfe = __pw_get_head (); pfe; pfe = pfe->next) {
                /*
                 * If this is a NIS line, skip it. You can't "know" what NIS
                 * is going to do without directly asking NIS ...
                 */
-
                if (pfe->line[0] == '+' || pfe->line[0] == '-')
                        continue;
 
@@ -259,14 +247,11 @@ int main (int argc, char **argv)
                 * have no (struct passwd) entry because they couldn't be
                 * parsed properly.
                 */
-
                if (!pfe->eptr) {
-
                        /*
                         * Tell the user this entire line is bogus and ask
                         * them to delete it.
                         */
-
                        printf (_("invalid password file entry\n"));
                        printf (_("delete line `%s'? "), pfe->line);
                        errors++;
@@ -274,7 +259,6 @@ int main (int argc, char **argv)
                        /*
                         * prompt the user to delete the entry or not
                         */
-
                        if (!yes_or_no ())
                                continue;
 
@@ -284,7 +268,6 @@ int main (int argc, char **argv)
                         * list. When done, it skips back to the top of the
                         * loop to try out the next list element.
                         */
-
                      delete_pw:
                        SYSLOG ((LOG_INFO, "delete passwd line `%s'",
                                 pfe->line));
@@ -297,27 +280,23 @@ int main (int argc, char **argv)
                /*
                 * Password structure is good, start using it.
                 */
-
                pwd = pfe->eptr;
 
                /*
                 * Make sure this entry has a unique name.
                 */
-
                for (tpfe = __pw_get_head (); tpfe; tpfe = tpfe->next) {
                        const struct passwd *ent = tpfe->eptr;
 
                        /*
                         * Don't check this entry
                         */
-
                        if (tpfe == pfe)
                                continue;
 
                        /*
                         * Don't check invalid entries.
                         */
-
                        if (!ent)
                                continue;
 
@@ -328,7 +307,6 @@ int main (int argc, char **argv)
                         * Tell the user this entry is a duplicate of
                         * another and ask them to delete it.
                         */
-
                        printf (_("duplicate password entry\n"));
                        printf (_("delete line `%s'? "), pfe->line);
                        errors++;
@@ -336,7 +314,6 @@ int main (int argc, char **argv)
                        /*
                         * prompt the user to delete the entry or not
                         */
-
                        if (yes_or_no ())
                                goto delete_pw;
                }
@@ -352,7 +329,6 @@ int main (int argc, char **argv)
                /*
                 * Make sure the primary group exists
                 */
-
                if (!quiet && !getgrgid (pwd->pw_gid)) {
 
                        /*
@@ -367,13 +343,10 @@ int main (int argc, char **argv)
                /*
                 * Make sure the home directory exists
                 */
-
                if (!quiet && access (pwd->pw_dir, F_OK)) {
-
                        /*
                         * Home directory doesn't exist, give a warning
                         */
-
                        printf (_
                                ("user %s: directory %s does not exist\n"),
                                pwd->pw_name, pwd->pw_dir);
@@ -383,14 +356,12 @@ int main (int argc, char **argv)
                /*
                 * Make sure the login shell is executable
                 */
-
                if (!quiet && pwd->pw_shell[0]
                    && access (pwd->pw_shell, F_OK)) {
 
                        /*
                         * Login shell doesn't exist, give a warning
                         */
-
                        printf (_("user %s: program %s does not exist\n"),
                                pwd->pw_name, pwd->pw_shell);
                        errors++;
@@ -403,13 +374,11 @@ int main (int argc, char **argv)
        /*
         * Loop through the entire shadow password file.
         */
-
        for (spe = __spw_get_head (); spe; spe = spe->next) {
                /*
                 * If this is a NIS line, skip it. You can't "know" what NIS
                 * is going to do without directly asking NIS ...
                 */
-
                if (spe->line[0] == '+' || spe->line[0] == '-')
                        continue;
 
@@ -418,14 +387,11 @@ int main (int argc, char **argv)
                 * have no (struct spwd) entry because they couldn't be
                 * parsed properly.
                 */
-
                if (!spe->eptr) {
-
                        /*
                         * Tell the user this entire line is bogus and ask
                         * them to delete it.
                         */
-
                        printf (_("invalid shadow password file entry\n"));
                        printf (_("delete line `%s'? "), spe->line);
                        errors++;
@@ -433,7 +399,6 @@ int main (int argc, char **argv)
                        /*
                         * prompt the user to delete the entry or not
                         */
-
                        if (!yes_or_no ())
                                continue;
 
@@ -443,7 +408,6 @@ int main (int argc, char **argv)
                         * When done, it skips back to the top of the loop
                         * to try out the next list element.
                         */
-
                      delete_spw:
                        SYSLOG ((LOG_INFO, "delete shadow line `%s'",
                                 spe->line));
@@ -456,27 +420,23 @@ int main (int argc, char **argv)
                /*
                 * Shadow password structure is good, start using it.
                 */
-
                spw = spe->eptr;
 
                /*
                 * Make sure this entry has a unique name.
                 */
-
                for (tspe = __spw_get_head (); tspe; tspe = tspe->next) {
                        const struct spwd *ent = tspe->eptr;
 
                        /*
                         * Don't check this entry
                         */
-
                        if (tspe == spe)
                                continue;
 
                        /*
                         * Don't check invalid entries.
                         */
-
                        if (!ent)
                                continue;
 
@@ -487,7 +447,6 @@ int main (int argc, char **argv)
                         * Tell the user this entry is a duplicate of
                         * another and ask them to delete it.
                         */
-
                        printf (_("duplicate shadow password entry\n"));
                        printf (_("delete line `%s'? "), spe->line);
                        errors++;
@@ -495,7 +454,6 @@ int main (int argc, char **argv)
                        /*
                         * prompt the user to delete the entry or not
                         */
-
                        if (yes_or_no ())
                                goto delete_spw;
                }
@@ -504,14 +462,11 @@ int main (int argc, char **argv)
                 * Make sure this entry exists in the /etc/passwd
                 * file.
                 */
-
                if (!pw_locate (spw->sp_namp)) {
-
                        /*
                         * Tell the user this entry has no matching
                         * /etc/passwd entry and ask them to delete it.
                         */
-
                        printf (_("no matching password file entry\n"));
                        printf (_("delete line `%s'? "), spe->line);
                        errors++;
@@ -519,7 +474,6 @@ int main (int argc, char **argv)
                        /*
                         * prompt the user to delete the entry or not
                         */
-
                        if (yes_or_no ())
                                goto delete_spw;
                }
@@ -527,7 +481,6 @@ int main (int argc, char **argv)
                /*
                 * Warn if last password change in the future.  --marekm
                 */
-
                if (!quiet && spw->sp_lstchg > time ((time_t *) 0) / SCALE) {
                        printf (_
                                ("user %s: last password change in the future\n"),
@@ -542,7 +495,6 @@ int main (int argc, char **argv)
         * All done. If there were no deletions we can just abandon any
         * changes to the files.
         */
-
        if (deleted) {
              write_and_bye:
                if (!pw_close ()) {
@@ -564,7 +516,6 @@ int main (int argc, char **argv)
        /*
         * Don't be anti-social - unlock the files when you're done.
         */
-
        if (is_shadow)
                spw_unlock ();
        (void) pw_unlock ();
@@ -574,7 +525,6 @@ int main (int argc, char **argv)
        /*
         * Tell the user what we did and exit.
         */
-
        if (errors)
                printf (deleted ?
                        _("%s: the files have been updated\n") :
index 07baff0174bda403a548c4521438e711f160a05d..896be05f9b3927b886c0bf0ed5b6f7300678037a 100644 (file)
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: pwconv.c,v 1.18 2005/08/09 15:27:02 kloczek Exp $")
+#ident "$Id: pwconv.c,v 1.21 2005/09/07 15:00:45 kloczek Exp $"
+
+#include <errno.h>
+#include <fcntl.h>
+#include <pwd.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <fcntl.h>
 #include <time.h>
 #include <unistd.h>
-#include <errno.h>
-#include <pwd.h>
-#include "prototypes.h"
 #include "defines.h"
+#include "getdef.h"
+#include "prototypes.h"
 #include "pwio.h"
 #include "shadowio.h"
-#include "getdef.h"
 /*
  * exit status values
  */
@@ -53,6 +53,9 @@ RCSID (PKG_VER "$Id: pwconv.c,v 1.18 2005/08/09 15:27:02 kloczek Exp $")
 #define E_MISSING      4       /* unexpected failure, passwd file missing */
 #define E_PWDBUSY      5       /* passwd file(s) busy */
 #define E_BADENTRY     6       /* bad shadow entry */
+/*
+ * Global variables
+ */
 static int
  shadow_locked = 0, passwd_locked = 0;
 
@@ -153,6 +156,7 @@ int main (int argc, char **argv)
                                 Prog, spent.sp_namp);
                        fail_exit (E_FAILURE);
                }
+
                /* remove password from /etc/passwd */
                pwent = *pw;
                pwent.pw_passwd = SHADOW_PASSWD_STRING; /* XXX warning: const */
index 9f5c637bfd1d3c0ab5598c7b3ea977280a4f6d76..e4f1f8a27e65ed33b611c7dd00fff2eba644a639 100644 (file)
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: pwunconv.c,v 1.18 2005/08/03 16:00:46 kloczek Exp $")
-#include "defines.h"
-#include <sys/types.h>
-#include <stdio.h>
+#ident "$Id: pwunconv.c,v 1.21 2005/09/07 15:00:45 kloczek Exp $"
+
 #include <fcntl.h>
 #include <pwd.h>
+#include <stdio.h>
+#include <sys/types.h>
 #include <unistd.h>
+#include "defines.h"
+#include "nscd.h"
 #include "prototypes.h"
 #include "pwio.h"
 #include "shadowio.h"
-#include "nscd.h"
-char *l64a ();
-
+/*
+ * Global variables
+ */
 static int shadow_locked = 0, passwd_locked = 0;
 
+char *l64a ();
+
 /* local function prototypes */
 static void fail_exit (int);
 
@@ -117,7 +120,6 @@ int main (int argc, char **argv)
                 * put into the new file. Otherwise, the days are converted
                 * to weeks and so on.
                 */
-
                if (!pw_update (&pwent)) {
                        fprintf (stderr,
                                 _("%s: can't update entry for user %s\n"),
index 55e5f86ebb1397dcef47a0a453a35807cd30a1d4..54726c8ea08517515ed698ea0ea92774c6a359ee 100644 (file)
--- a/src/su.c
+++ b/src/su.c
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: su.c,v 1.41 2005/08/04 19:13:43 kloczek Exp $")
+#ident "$Id: su.c,v 1.45 2005/09/07 15:00:45 kloczek Exp $"
+
 #include <grp.h>
 #include <pwd.h>
 #include <signal.h>
@@ -88,7 +88,6 @@ static int iswheel (const char *);
  *     with die() as the signal handler. If signal later calls die() with a
  *     signal number, the terminal modes are then reset.
  */
-
 static RETSIGTYPE die (int killed)
 {
        static TERMIO sgtty;
@@ -216,7 +215,7 @@ static void run_shell (const char *shellstr, char *args[], int doshell)
        if (ret != PAM_SUCCESS) {
                SYSLOG ((LOG_ERR, "pam_close_session: %s",
                         pam_strerror (pamh, ret)));
-               fprintf (stderr, "%s: %s\n", Prog, pam_strerror (pamh, ret));
+               fprintf (stderr, _("%s: %s\n"), Prog, pam_strerror (pamh, ret));
                pam_end (pamh, ret);
                exit (1);
        }
@@ -247,7 +246,6 @@ static void run_shell (const char *shellstr, char *args[], int doshell)
  *     particular, the argument "-c" will cause the next argument to be
  *     interpreted as a command by the common shell programs.
  */
-
 int main (int argc, char **argv)
 {
        char *cp;
@@ -283,7 +281,6 @@ int main (int argc, char **argv)
         * Get the program name. The program name is used as a prefix to
         * most error messages.
         */
-
        Prog = Basename (argv[0]);
 
        OPENLOG ("su");
@@ -297,7 +294,6 @@ int main (int argc, char **argv)
         * Get the tty name. Entries will be logged indicating that the user
         * tried to change to the named new user from the current terminal.
         */
-
        if (isatty (0) && (cp = ttyname (0))) {
                if (strncmp (cp, "/dev/", 5) == 0)
                        tty = cp + 5;
@@ -321,7 +317,6 @@ int main (int argc, char **argv)
        /*
         * Process the command line arguments. 
         */
-
        argc--;
        argv++;                 /* shift out command name */
 
@@ -335,7 +330,6 @@ int main (int argc, char **argv)
         * If a new login is being set up, the old environment will be
         * ignored and a new one created later on.
         */
-
        if (fakelogin) {
                /*
                 * The terminal type will be left alone if it is present in
@@ -346,11 +340,13 @@ int main (int argc, char **argv)
 #ifndef USE_PAM
                if ((cp = getdef_str ("ENV_TZ")))
                        addenv (*cp == '/' ? tz (cp) : cp, NULL);
+
                /*
                 * The clock frequency will be reset to the login value if required
                 */
                if ((cp = getdef_str ("ENV_HZ")))
                        addenv (cp, NULL);      /* set the default $HZ, if one */
+
                /*
                 * Also leave DISPLAY and XAUTHORITY if present, else
                 * pam_xauth will not work.
@@ -371,7 +367,6 @@ int main (int argc, char **argv)
         * doesn't start with a "-" unless you specify the new user name.
         * Any remaining arguments will be passed to the user's login shell.
         */
-
        if (argc > 0 && argv[0][0] != '-') {
                STRFCPY (name, argv[0]);        /* use this login id */
                argc--;
@@ -386,7 +381,6 @@ int main (int argc, char **argv)
         * Get the user's real name. The current UID is used to determine
         * who has executed su. That user ID must exist.
         */
-
        pw = get_my_pwent ();
        if (!pw) {
                SYSLOG ((LOG_CRIT, "Unknown UID: %u", my_uid));
@@ -420,7 +414,7 @@ int main (int argc, char **argv)
        if (ret != PAM_SUCCESS) {
                SYSLOG ((LOG_ERR, "pam_set_item: %s",
                         pam_strerror (pamh, ret)));
-               fprintf (stderr, "%s: %s\n", Prog, pam_strerror (pamh, ret));
+               fprintf (stderr, _("%s: %s\n"), Prog, pam_strerror (pamh, ret));
                pam_end (pamh, ret);
                exit (1);
        }
@@ -435,7 +429,6 @@ int main (int argc, char **argv)
         * The password file entries for the user is gotten and the account
         * validated.
         */
-
        if (!(pw = getpwnam (name))) {
                (void) fprintf (stderr, _("Unknown id: %s\n"), name);
                closelog ();
@@ -498,7 +491,6 @@ int main (int argc, char **argv)
        /*
         * Set the default shell.
         */
-
        if (pwent.pw_shell[0] == '\0')
                pwent.pw_shell = "/bin/sh";     /* XXX warning: const */
 
@@ -509,7 +501,7 @@ int main (int argc, char **argv)
        if (ret != PAM_SUCCESS) {
                SYSLOG ((LOG_ERR, "pam_authenticate: %s",
                         pam_strerror (pamh, ret)));
-               fprintf (stderr, "%s: %s\n", Prog, pam_strerror (pamh, ret));
+               fprintf (stderr, _("%s: %s\n"), Prog, pam_strerror (pamh, ret));
                pam_end (pamh, ret);
                su_failure (tty);
        }
@@ -522,7 +514,7 @@ int main (int argc, char **argv)
                } else {
                        SYSLOG ((LOG_ERR, "pam_acct_mgmt: %s",
                                 pam_strerror (pamh, ret)));
-                       fprintf (stderr, "%s: %s\n", Prog,
+                       fprintf (stderr, _("%s: %s\n"), Prog,
                                 pam_strerror (pamh, ret));
                        pam_end (pamh, ret);
                        su_failure (tty);
@@ -532,7 +524,6 @@ int main (int argc, char **argv)
        /*
         * Set up a signal handler in case the user types QUIT.
         */
-
        die (0);
        oldsig = signal (SIGQUIT, die);
 
@@ -541,7 +532,6 @@ int main (int argc, char **argv)
         * The first character of an administrator defined method is an '@'
         * character.
         */
-
        if (!amroot && pw_auth (pwent.pw_passwd, name, PW_SU, (char *) 0)) {
                SYSLOG ((pwent.pw_uid ? LOG_NOTICE : LOG_WARN,
                         "Authentication failed for %s", name));
@@ -554,7 +544,6 @@ int main (int argc, char **argv)
         * expired accounts, but normal users can't become a user with an
         * expired password.
         */
-
        if (!amroot) {
                if (!spwd)
                        spwd = pwd_to_spwd (&pwent);
@@ -572,7 +561,6 @@ int main (int argc, char **argv)
         * there is a "SU" entry in the /etc/porttime file denying access to
         * the account.
         */
-
        if (!amroot) {
                if (!isttytime (pwent.pw_name, "SU", time ((time_t *) 0))) {
                        SYSLOG ((pwent.pw_uid ? LOG_WARN : LOG_CRIT,
@@ -595,7 +583,10 @@ int main (int argc, char **argv)
                addenv ("PATH", cp);
        }
 
+#ifndef USE_PAM
+       /* setup the environment for PAM later on, else we run into auth problems */
        environ = newenvp;      /* make new environment active */
+#endif
 
        if (getenv ("IFS"))     /* don't export user IFS ... */
                addenv ("IFS= \t\n", NULL);     /* ... instead, set a safe IFS */
@@ -631,7 +622,7 @@ int main (int argc, char **argv)
        ret = pam_setcred (pamh, PAM_ESTABLISH_CRED);
        if (ret != PAM_SUCCESS) {
                SYSLOG ((LOG_ERR, "pam_setcred: %s", pam_strerror (pamh, ret)));
-               fprintf (stderr, "%s: %s\n", Prog, pam_strerror (pamh, ret));
+               fprintf (stderr, _("%s: %s\n"), Prog, pam_strerror (pamh, ret));
                pam_end (pamh, ret);
                exit (1);
        }
@@ -640,7 +631,7 @@ int main (int argc, char **argv)
        if (ret != PAM_SUCCESS) {
                SYSLOG ((LOG_ERR, "pam_open_session: %s",
                         pam_strerror (pamh, ret)));
-               fprintf (stderr, "%s: %s\n", Prog, pam_strerror (pamh, ret));
+               fprintf (stderr, _("%s: %s\n"), Prog, pam_strerror (pamh, ret));
                pam_end (pamh, ret);
                exit (1);
        }
@@ -694,7 +685,6 @@ int main (int argc, char **argv)
         * See if the user has extra arguments on the command line. In that
         * case they will be provided to the new user's shell as arguments.
         */
-
        if (fakelogin) {
                char *arg0;
 
@@ -710,12 +700,10 @@ int main (int argc, char **argv)
                cp = Basename (pwent.pw_shell);
 
        if (!doshell) {
-
                /*
                 * Use new user's shell from /etc/passwd and create an argv
                 * with the rest of the command line included.
                 */
-
                argv[-1] = pwent.pw_shell;
 #ifndef USE_PAM
                (void) execv (pwent.pw_shell, &argv[-1]);
index 13249f087f4f4b5da6fc5bf28f500136a558d0dc..824daf6e8046580468a3dc3dfaccc76cb66dd5d8 100644 (file)
@@ -1,12 +1,11 @@
 #include <config.h>
-
-#include <stdio.h>
-#include <pwd.h>
+#include <errno.h>
 #include <grp.h>
+#include <pwd.h>
+#include <stdio.h>
 #include <sys/types.h>
-#include <errno.h>
-#include "prototypes.h"
 #include "defines.h"
+#include "prototypes.h"
 
 #ifndef SUAUTHFILE
 #define SUAUTHFILE "/etc/suauth"
@@ -17,6 +16,9 @@
 #define        DENY            -1
 #define        OWNPWORD        2
 
+/*
+ * Global variables
+ */
 struct passwd pwent;
 
 #ifdef SU_ACCESS
@@ -24,7 +26,6 @@ struct passwd pwent;
 /* Really, I could do with a few const char's here defining all the 
  * strings output to the user or the syslog. -- chris
  */
-
 static int applies (const char *, char *);
 
 int check_su_auth (const char *, const char *);
index e45b649cb76ca985f7eccf024460378a109264ab..d1559e8f8a0beb2a03968f5832bf8db4e04749de 100644 (file)
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: sulogin.c,v 1.20 2005/07/06 11:33:06 kloczek Exp $")
-#include "prototypes.h"
-#include "defines.h"
-#include "getdef.h"
+#ident "$Id: sulogin.c,v 1.23 2005/09/07 15:00:45 kloczek Exp $"
+
+#include <fcntl.h>
+#include <pwd.h>
 #include <signal.h>
 #include <stdio.h>
-#include <pwd.h>
-#include <fcntl.h>
+#include "defines.h"
+#include "getdef.h"
+#include "prototypes.h"
 #include "pwauth.h"
+/*
+ * Global variables
+ */
 static char name[BUFSIZ];
 static char pass[BUFSIZ];
 
@@ -156,11 +159,9 @@ static RETSIGTYPE catch (int sig)
        while (1) {             /* repeatedly get login/password pairs */
                pw_entry (name, &pwent);        /* get entry from password file */
                if (pwent.pw_name == (char *) 0) {
-
                        /*
                         * Fail secure
                         */
-
                        printf (_("No password entry for 'root'\n"));
 #ifdef USE_SYSLOG
                        SYSLOG (LOG_WARN, "No password entry for 'root'\n");
index ed707e30f55a0b22f6809d849598ecc4c3da64f6..b8546fb5c4c96f7799594fee610d087a4bc04b9b 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: useradd.c,v 1.75 2005/08/11 16:23:34 kloczek Exp $")
+#ident "$Id: useradd.c,v 1.84 2005/10/04 21:05:12 kloczek Exp $"
+
 #include <ctype.h>
 #include <errno.h>
 #include <fcntl.h>
@@ -46,12 +46,20 @@ RCSID (PKG_VER "$Id: useradd.c,v 1.75 2005/08/11 16:23:34 kloczek Exp $")
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <time.h>
-#include "prototypes.h"
-#include "defines.h"
 #include "chkname.h"
-#include "pwauth.h"
+#include "defines.h"
 #include "faillog.h"
+#include "getdef.h"
+#include "groupio.h"
 #include "nscd.h"
+#include "prototypes.h"
+#include "pwauth.h"
+#include "pwio.h"
+#ifdef SHADOWGRP
+#include "sgroupio.h"
+#endif
+#include "shadowio.h"
+
 #ifndef SKEL_DIR
 #define SKEL_DIR "/etc/skel"
 #endif
@@ -65,6 +73,9 @@ RCSID (PKG_VER "$Id: useradd.c,v 1.75 2005/08/11 16:23:34 kloczek Exp $")
 #ifndef LASTLOG_FILE
 #define LASTLOG_FILE "/var/log/lastlog"
 #endif
+/*
+ * Global variables
+ */
 /*
  * These defaults are used if there is no defaults file.
  */
@@ -124,16 +135,6 @@ extern int optind;
 
 static int home_added;
 
-#include "groupio.h"
-
-#ifdef SHADOWGRP
-#include "sgroupio.h"
-#endif
-
-#include "pwio.h"
-#include "shadowio.h"
-#include "getdef.h"
-
 /*
  * exit status values
  */
@@ -185,17 +186,19 @@ static void create_mail (void);
 /*
  * fail_exit - undo as much as possible
  */
-
 static void fail_exit (int code)
 {
        if (home_added)
                rmdir (user_home);
 
+#ifdef WITH_AUDIT
+       audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding user", user_name, -1,
+                     0);
+#endif
        SYSLOG ((LOG_INFO, "failed adding user `%s', data deleted", user_name));
        exit (code);
 }
 
-
 static struct group *getgr_nam_gid (const char *name)
 {
        gid_t gid;
@@ -208,7 +211,6 @@ static struct group *getgr_nam_gid (const char *name)
        return getgrnam (name);
 }
 
-
 static long get_number (const char *cp)
 {
        long val;
@@ -244,7 +246,6 @@ static uid_t get_uid (const char *cp)
  *     various values from the file, or uses built-in default values if the
  *     file does not exist.
  */
-
 static void get_defaults (void)
 {
        FILE *fp;
@@ -263,7 +264,6 @@ static void get_defaults (void)
         * Read the file a line at a time. Only the lines that have relevant
         * values are used, everything else can be ignored.
         */
-
        while (fgets (buf, sizeof buf, fp)) {
                if ((cp = strrchr (buf, '\n')))
                        *cp = '\0';
@@ -276,7 +276,6 @@ static void get_defaults (void)
                /*
                 * Primary GROUP identifier
                 */
-
                if (MATCH (buf, DGROUP)) {
                        unsigned int val = (unsigned int) strtoul (cp, &ep, 10);
 
@@ -353,14 +352,12 @@ static void get_defaults (void)
        }
 }
 
-
 /*
  * show_defaults - show the contents of the defaults file
  *
  *     show_defaults() displays the values that are used from the default
  *     file and the built-in values.
  */
-
 static void show_defaults (void)
 {
        printf ("GROUP=%u\n", (unsigned int) def_group);
@@ -379,7 +376,6 @@ static void show_defaults (void)
  *     are currently set. Duplicated lines are pruned, missing lines are
  *     added, and unrecognized lines are copied as is.
  */
-
 static int set_defaults (void)
 {
        FILE *ifp;
@@ -399,7 +395,6 @@ static int set_defaults (void)
        /*
         * Create a temporary file to copy the new output to.
         */
-
        if ((ofd = mkstemp (new_file)) == -1) {
                fprintf (stderr,
                         _("%s: cannot create new defaults file\n"), Prog);
@@ -417,7 +412,6 @@ static int set_defaults (void)
         * temporary file, using any new values. Each line is checked
         * to insure that it is not output more than once.
         */
-
        if (!(ifp = fopen (def_file, "r"))) {
                fprintf (ofp, "# useradd defaults file\n");
                goto skip;
@@ -461,7 +455,6 @@ static int set_defaults (void)
         * causes new values to be added to a file which did not previously
         * have an entry for that value.
         */
-
        if (!out_group)
                fprintf (ofp, DGROUP "%u\n", (unsigned int) def_group);
        if (!out_home)
@@ -482,7 +475,6 @@ static int set_defaults (void)
         * Flush and close the file. Check for errors to make certain
         * the new file is intact.
         */
-
        fflush (ofp);
        if (ferror (ofp) || fclose (ofp)) {
                unlink (new_file);
@@ -492,7 +484,6 @@ static int set_defaults (void)
        /*
         * Rename the current default file to its backup name.
         */
-
        snprintf (buf, sizeof buf, "%s-", def_file);
        if (rename (def_file, buf) && errno != ENOENT) {
                snprintf (buf, sizeof buf, _("%s: rename: %s"), Prog, def_file);
@@ -504,12 +495,15 @@ static int set_defaults (void)
        /*
         * Rename the new default file to its correct name.
         */
-
        if (rename (new_file, def_file)) {
                snprintf (buf, sizeof buf, _("%s: rename: %s"), Prog, new_file);
                perror (buf);
                return -1;
        }
+#ifdef WITH_AUDIT
+       audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing user defaults",
+                     NULL, -1, 1);
+#endif
        SYSLOG ((LOG_INFO,
                 "useradd defaults: GROUP=%u, HOME=%s, SHELL=%s, INACTIVE=%ld, "
                 "EXPIRE=%s, SKEL=%s, CREATE_MAIL_SPOOL=%s",
@@ -526,7 +520,6 @@ static int set_defaults (void)
  *     converts it to a NULL-terminated array. Any unknown group
  *     names are reported as errors.
  */
-
 static int get_groups (char *list)
 {
        char *cp;
@@ -537,7 +530,6 @@ static int get_groups (char *list)
        /*
         * Initialize the list to be empty
         */
-
        user_groups[0] = (char *) 0;
 
        if (!*list)
@@ -548,12 +540,10 @@ static int get_groups (char *list)
         * each name and look it up. A mix of numerical and string
         * values for group identifiers is permitted.
         */
-
        do {
                /*
                 * Strip off a single name from the list
                 */
-
                if ((cp = strchr (list, ',')))
                        *cp++ = '\0';
 
@@ -561,14 +551,12 @@ static int get_groups (char *list)
                 * Names starting with digits are treated as numerical
                 * GID values, otherwise the string is looked up as is.
                 */
-
                grp = getgr_nam_gid (list);
 
                /*
                 * There must be a match, either by GID value or by
                 * string name.
                 */
-
                if (!grp) {
                        fprintf (stderr, _("%s: unknown group %s\n"),
                                 Prog, list);
@@ -588,7 +576,6 @@ static int get_groups (char *list)
                 * Don't add this group if they are an NIS group. Tell
                 * the user to go to the server for this group.
                 */
-
                if (__isgrNIS ()) {
                        fprintf (stderr,
                                 _("%s: group `%s' is a NIS group.\n"),
@@ -617,7 +604,6 @@ static int get_groups (char *list)
        /*
         * Any errors in finding group names are fatal
         */
-
        if (errors)
                return -1;
 
@@ -627,7 +613,6 @@ static int get_groups (char *list)
 /*
  * usage - display usage message and exit
  */
-
 static void usage (void)
 {
        fprintf (stderr, _("Usage: useradd [options] LOGIN\n"
@@ -665,7 +650,6 @@ static void usage (void)
  *     new_pwent() takes all of the values that have been entered and
  *     fills in a (struct passwd) with them.
  */
-
 static void new_pwent (struct passwd *pwent)
 {
        memzero (pwent, sizeof *pwent);
@@ -696,7 +680,6 @@ static long scale_age (long x)
  *     new_spent() takes all of the values that have been entered and
  *     fills in a (struct spwd) with them.
  */
-
 static void new_spent (struct spwd *spent)
 {
        memzero (spent, sizeof *spent);
@@ -717,7 +700,6 @@ static void new_spent (struct spwd *spent)
  *     grp_update() takes the secondary group set given in user_groups
  *     and adds the user to each group given by that set.
  */
-
 static void grp_update (void)
 {
        const struct group *grp;
@@ -732,7 +714,6 @@ static void grp_update (void)
         * Lock and open the group file. This will load all of the group
         * entries.
         */
-
        if (!gr_lock ()) {
                fprintf (stderr, _("%s: error locking group file\n"), Prog);
                fail_exit (E_GRP_UPDATE);
@@ -758,14 +739,12 @@ static void grp_update (void)
         * Scan through the entire group file looking for the groups that
         * the user is a member of.
         */
-
        for (gr_rewind (), grp = gr_next (); grp; grp = gr_next ()) {
 
                /*
                 * See if the user specified this group as one of their
                 * concurrent groups.
                 */
-
                if (!is_on_list (user_groups, grp->gr_name))
                        continue;
 
@@ -773,7 +752,6 @@ static void grp_update (void)
                 * Make a copy - gr_update() will free() everything
                 * from the old entry, and we need it later.
                 */
-
                ngrp = __gr_dup (grp);
                if (!ngrp) {
                        fail_exit (E_GRP_UPDATE);       /* XXX */
@@ -783,13 +761,16 @@ static void grp_update (void)
                 * Add the username to the list of group members and
                 * update the group entry to reflect the change.
                 */
-
                ngrp->gr_mem = add_list (ngrp->gr_mem, user_name);
                if (!gr_update (ngrp)) {
                        fprintf (stderr,
-                                "%s: error adding new group entry\n", Prog);
+                                _("%s: error adding new group entry\n"), Prog);
                        fail_exit (E_GRP_UPDATE);
                }
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "adding user to group", user_name, -1, 1);
+#endif
                SYSLOG ((LOG_INFO, "add `%s' to group `%s'",
                         user_name, ngrp->gr_name));
        }
@@ -803,14 +784,12 @@ static void grp_update (void)
         * that the user is a member of. The administrative list isn't
         * modified.
         */
-
        for (sgr_rewind (), sgrp = sgr_next (); sgrp; sgrp = sgr_next ()) {
 
                /*
                 * See if the user specified this group as one of their
                 * concurrent groups.
                 */
-
                if (!gr_locate (sgrp->sg_name))
                        continue;
 
@@ -821,7 +800,6 @@ static void grp_update (void)
                 * Make a copy - sgr_update() will free() everything
                 * from the old entry, and we need it later.
                 */
-
                nsgrp = __sgr_dup (sgrp);
                if (!nsgrp) {
                        fail_exit (E_GRP_UPDATE);       /* XXX */
@@ -831,13 +809,16 @@ static void grp_update (void)
                 * Add the username to the list of group members and
                 * update the group entry to reflect the change.
                 */
-
                nsgrp->sg_mem = add_list (nsgrp->sg_mem, user_name);
                if (!sgr_update (nsgrp)) {
                        fprintf (stderr,
                                 _("%s: error adding new group entry\n"), Prog);
                        fail_exit (E_GRP_UPDATE);
                }
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "adding user to shadow group", user_name, -1, 1);
+#endif
                SYSLOG ((LOG_INFO, "add `%s' to shadow group `%s'",
                         user_name, nsgrp->sg_name));
        }
@@ -851,20 +832,18 @@ static void grp_update (void)
  *     file, or checks the given user ID against the existing ones for
  *     uniqueness.
  */
-
 static void find_new_uid (void)
 {
        const struct passwd *pwd;
        uid_t uid_min, uid_max;
 
-       uid_min = getdef_unum ("UID_MIN", 100);
+       uid_min = getdef_unum ("UID_MIN", 1000);
        uid_max = getdef_unum ("UID_MAX", 60000);
 
        /*
         * Start with some UID value if the user didn't provide us with
         * one already.
         */
-
        if (!uflg)
                user_id = uid_min;
 
@@ -873,7 +852,6 @@ static void find_new_uid (void)
         * UID (if the user specified one with -u) or looking for the
         * largest unused value.
         */
-
 #ifdef NO_GETPWENT
        pw_rewind ();
        while ((pwd = pw_next ())) {
@@ -884,11 +862,19 @@ static void find_new_uid (void)
                if (strcmp (user_name, pwd->pw_name) == 0) {
                        fprintf (stderr, _("%s: name %s is not unique\n"),
                                 Prog, user_name);
+#ifdef WITH_AUDIT
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding user",
+                                     user_name, user_id, 0);
+#endif
                        exit (E_NAME_IN_USE);
                }
                if (uflg && user_id == pwd->pw_uid) {
                        fprintf (stderr, _("%s: UID %u is not unique\n"),
                                 Prog, (unsigned int) user_id);
+#ifdef WITH_AUDIT
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding user",
+                                     user_name, user_id, 0);
+#endif
                        exit (E_UID_IN_USE);
                }
                if (!uflg && pwd->pw_uid >= user_id) {
@@ -897,6 +883,7 @@ static void find_new_uid (void)
                        user_id = pwd->pw_uid + 1;
                }
        }
+
        /*
         * If a user with UID equal to UID_MAX exists, the above algorithm
         * will give us UID_MAX+1 even if not unique. Search for the first
@@ -930,7 +917,6 @@ static void find_new_uid (void)
  *     the values that the user will be created with accordingly. The
  *     values are checked for sanity.
  */
-
 static void process_flags (int argc, char **argv)
 {
        const struct group *grp;
@@ -1140,6 +1126,7 @@ static void process_flags (int argc, char **argv)
                        anyflag++;
                }
        }
+
        /*
         * Certain options are only valid in combination with others.
         * Check it here so that they can be specified in any order.
@@ -1167,6 +1154,10 @@ static void process_flags (int argc, char **argv)
                                 _
                                 ("%s: invalid user name '%s'\n"),
                                 Prog, user_name);
+#ifdef WITH_AUDIT
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding user",
+                                     user_name, -1, 0);
+#endif
                        exit (E_BAD_ARG);
                }
                if (!dflg) {
@@ -1195,7 +1186,6 @@ static void process_flags (int argc, char **argv)
  *     close_files() closes all of the files that were opened for this
  *     new user. This causes any modified entries to be written out.
  */
-
 static void close_files (void)
 {
        if (!pw_close ()) {
@@ -1236,27 +1226,44 @@ static void close_files (void)
  *
  *     open_files() opens the two password files.
  */
-
 static void open_files (void)
 {
        if (!pw_lock ()) {
                fprintf (stderr, _("%s: unable to lock password file\n"), Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "locking password file", user_name, user_id, 0);
+#endif
                exit (E_PW_UPDATE);
        }
        if (!pw_open (O_RDWR)) {
                fprintf (stderr, _("%s: unable to open password file\n"), Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "opening password file", user_name, user_id, 0);
+#endif
                pw_unlock ();
                exit (E_PW_UPDATE);
        }
        if (is_shadow_pwd && !spw_lock ()) {
                fprintf (stderr,
                         _("%s: cannot lock shadow password file\n"), Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "locking shadow password file", user_name,
+                             user_id, 0);
+#endif
                pw_unlock ();
                exit (E_PW_UPDATE);
        }
        if (is_shadow_pwd && !spw_open (O_RDWR)) {
                fprintf (stderr,
                         _("%s: cannot open shadow password file\n"), Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "opening shadow password file", user_name,
+                             user_id, 0);
+#endif
                spw_unlock ();
                pw_unlock ();
                exit (E_PW_UPDATE);
@@ -1298,7 +1305,6 @@ static void lastlog_reset (uid_t uid)
  *     usr_update() creates the password file entries for this user
  *     and will update the group entries if required.
  */
-
 static void usr_update (void)
 {
        struct passwd pwent;
@@ -1311,7 +1317,6 @@ static void usr_update (void)
         * Fill in the password structure with any new fields, making
         * copies of strings.
         */
-
        new_pwent (&pwent);
        new_spent (&spent);
 
@@ -1319,7 +1324,6 @@ static void usr_update (void)
         * Create a syslog entry. We need to do this now in case anything
         * happens so we know what we were trying to accomplish.
         */
-
        SYSLOG ((LOG_INFO,
                 "new user: name=%s, UID=%u, GID=%u, home=%s, shell=%s",
                 user_name, (unsigned int) user_id,
@@ -1331,7 +1335,6 @@ static void usr_update (void)
         * no user with this UID exists yet (entries for shared UIDs
         * are left unchanged).  --marekm
         */
-
        if (!getpwuid (user_id)) {
                faillog_reset (user_id);
                lastlog_reset (user_id);
@@ -1340,7 +1343,6 @@ static void usr_update (void)
        /*
         * Put the new (struct passwd) in the table.
         */
-
        if (!pw_update (&pwent)) {
                fprintf (stderr,
                         _("%s: error adding new password entry\n"), Prog);
@@ -1350,19 +1352,25 @@ static void usr_update (void)
        /*
         * Put the new (struct spwd) in the table.
         */
-
        if (is_shadow_pwd && !spw_update (&spent)) {
                fprintf (stderr,
                         _
                         ("%s: error adding new shadow password entry\n"),
                         Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "adding shadow password", user_name, user_id, 0);
+#endif
                exit (E_PW_UPDATE);
        }
+#ifdef WITH_AUDIT
+       audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding user", user_name,
+                     user_id, 1);
+#endif
 
        /*
         * Do any group file updates for this user.
         */
-
        if (do_grp_update)
                grp_update ();
 }
@@ -1374,7 +1382,6 @@ static void usr_update (void)
  *     already exist. It will be created mode 755 owned by the user
  *     with the user's default group.
  */
-
 static void create_home (void)
 {
        if (access (user_home, F_OK)) {
@@ -1389,6 +1396,10 @@ static void create_home (void)
                chown (user_home, user_id, user_gid);
                chmod (user_home, 0777 & ~getdef_num ("UMASK", 022));
                home_added++;
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "adding home directory", user_name, user_id, 1);
+#endif
        }
 }
 
@@ -1454,7 +1465,6 @@ static struct pam_conv conv = {
 /*
  * main - useradd command
  */
-
 int main (int argc, char **argv)
 {
 #ifdef USE_PAM
@@ -1463,10 +1473,13 @@ int main (int argc, char **argv)
        int retval;
 #endif
 
+#ifdef WITH_AUDIT
+       audit_help_open ();
+#endif
+
        /*
         * Get my name so that I can use it to report errors.
         */
-
        Prog = Basename (argv[0]);
 
        setlocale (LC_ALL, "");
@@ -1523,7 +1536,6 @@ int main (int argc, char **argv)
         * See if we are messing with the defaults file, or creating
         * a new user.
         */
-
        if (Dflg) {
                if (gflg || bflg || fflg || eflg || sflg)
                        exit (set_defaults ()? 1 : 0);
@@ -1535,9 +1547,12 @@ int main (int argc, char **argv)
        /*
         * Start with a quick check to see if the user exists.
         */
-
        if (getpwnam (user_name)) {
                fprintf (stderr, _("%s: user %s exists\n"), Prog, user_name);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding user",
+                             user_name, -1, 0);
+#endif
                exit (E_NAME_IN_USE);
        }
 
@@ -1553,6 +1568,10 @@ int main (int argc, char **argv)
                                 _
                                 ("%s: group %s exists - if you want to add this user to that group, use -g.\n"),
                                 Prog, user_name);
+#ifdef WITH_AUDIT
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "adding group", user_name, -1, 0);
+#endif
                        exit (E_NAME_IN_USE);
                }
        }
@@ -1566,7 +1585,6 @@ int main (int argc, char **argv)
         * - flush nscd caches for passwd and group services,
         * - then close and update the files.
         */
-
        open_files ();
 
        usr_update ();
@@ -1579,7 +1597,8 @@ int main (int argc, char **argv)
                        fprintf (stderr,
                                 _
                                 ("%s: warning: the home directory already exists.\n"
-                                 "Not copying any file from skel directory into it.\n"), Prog);
+                                 "Not copying any file from skel directory into it.\n"),
+                                Prog);
 
        } else if (getdef_str ("CREATE_HOME")) {
                /*
@@ -1608,18 +1627,6 @@ int main (int argc, char **argv)
        close_files ();
 
 #ifdef USE_PAM
-       if (retval == PAM_SUCCESS) {
-               retval = pam_chauthtok (pamh, 0);
-               if (retval != PAM_SUCCESS) {
-                       pam_end (pamh, retval);
-               }
-       }
-
-       if (retval != PAM_SUCCESS) {
-               fprintf (stderr, _("%s: PAM chauthtok failed\n"), Prog);
-               exit (1);
-       }
-
        if (retval == PAM_SUCCESS)
                pam_end (pamh, PAM_SUCCESS);
 #endif                         /* USE_PAM */
index ba8471df3b6114ff5e7931612af5cc3059a6c99e..da38c9ddee908d46ffb84cc0c504fb1bc478ddbd 100644 (file)
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: userdel.c,v 1.45 2005/08/11 16:23:34 kloczek Exp $")
-#include <sys/stat.h>
-#include <stdio.h>
+#ident "$Id: userdel.c,v 1.52 2005/10/04 21:05:12 kloczek Exp $"
+
 #include <errno.h>
-#include <pwd.h>
-#include <grp.h>
-#include <ctype.h>
 #include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <stdio.h>
+#include <stdio.h>
+#include <sys/stat.h>
+#include <sys/stat.h>
 #ifdef USE_PAM
 #include <security/pam_appl.h>
 #include <security/pam_misc.h>
 #endif                         /* USE_PAM */
-#include "prototypes.h"
 #include "defines.h"
 #include "getdef.h"
-#include "pwauth.h"
+#include "groupio.h"
 #include "nscd.h"
+#include "prototypes.h"
+#include "pwauth.h"
+#include "pwio.h"
+#include "shadowio.h"
+#ifdef SHADOWGRP
+#include "sgroupio.h"
+#endif
 /*
  * exit status values
  */
@@ -64,14 +71,6 @@ static char *user_home;
 static char *Prog;
 static int fflg = 0, rflg = 0;
 
-#include "groupio.h"
-#include "pwio.h"
-#include "shadowio.h"
-
-#ifdef SHADOWGRP
-#include "sgroupio.h"
-#endif
-
 static int is_shadow_pwd;
 
 #ifdef SHADOWGRP
@@ -97,7 +96,6 @@ static void remove_mailbox (void);
 /*
  * usage - display usage message and exit
  */
-
 static void usage (void)
 {
        fprintf (stderr, _("Usage: %s [-r] name\n"), Prog);
@@ -114,11 +112,11 @@ static void usage (void)
  *     name is their user name) and delete them too (only if USERGROUPS_ENAB
  *     is enabled).
  */
-
 static void update_groups (void)
 {
        const struct group *grp;
        struct group *ngrp;
+       struct passwd *pwd;
 
 #ifdef SHADOWGRP
        int deleted_user_group = 0;
@@ -130,14 +128,12 @@ static void update_groups (void)
         * Scan through the entire group file looking for the groups that
         * the user is a member of.
         */
-
        for (gr_rewind (), grp = gr_next (); grp; grp = gr_next ()) {
 
                /*
                 * See if the user specified this group as one of their
                 * concurrent groups.
                 */
-
                if (!is_on_list (grp->gr_mem, user_name))
                        continue;
 
@@ -145,7 +141,6 @@ static void update_groups (void)
                 * Delete the username from the list of group members and
                 * update the group entry to reflect the change.
                 */
-
                ngrp = __gr_dup (grp);
                if (!ngrp) {
                        exit (13);      /* XXX */
@@ -158,28 +153,61 @@ static void update_groups (void)
                /*
                 * Update the DBM group file with the new entry as well.
                 */
-
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "deleting user from group", user_name, user_id,
+                             0);
+#endif
                SYSLOG ((LOG_INFO, "delete `%s' from group `%s'\n",
                         user_name, ngrp->gr_name));
        }
+
        /*
         * we've removed their name from all the groups above, so
         * now if they have a group with the same name as their
         * user name, with no members, we delete it.
         */
-
        grp = getgrnam (user_name);
        if (grp && getdef_bool ("USERGROUPS_ENAB")
            && (grp->gr_mem[0] == NULL)) {
 
-               gr_remove (grp->gr_name);
+               /*
+                * Scan the passwd file to check if this group is still
+                * used as a primary group.
+                */
+               setpwent ();
+               while ((pwd = getpwent ())) {
+                       if (strcmp (pwd->pw_name, user_name) == 0)
+                               continue;
+                       if (pwd->pw_gid == grp->gr_gid) {
+                               fprintf (stderr,
+                                        _
+                                        ("%s: Cannot remove group %s which is a primary group for another user.\n"),
+                                        Prog, grp->gr_name);
+                               break;
+                       }
+               }
+               endpwent ();
+
+               if (pwd == NULL) {
+                       /*
+                        * We can remove this group, it is not the primary
+                        * group of any remaining user.
+                        */
+                       gr_remove (grp->gr_name);
 
 #ifdef SHADOWGRP
-               deleted_user_group = 1;
+                       deleted_user_group = 1;
 #endif
 
-               SYSLOG ((LOG_INFO, "removed group `%s' owned by `%s'\n",
-                        grp->gr_name, user_name));
+#ifdef WITH_AUDIT
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "deleting group", user_name, user_id, 0);
+#endif
+                       SYSLOG ((LOG_INFO,
+                                "removed group `%s' owned by `%s'\n",
+                                grp->gr_name, user_name));
+               }
        }
 #ifdef SHADOWGRP
        if (!is_shadow_grp)
@@ -190,7 +218,6 @@ static void update_groups (void)
         * that the user is a member of. Both the administrative list and
         * the ordinary membership list is checked.
         */
-
        for (sgr_rewind (), sgrp = sgr_next (); sgrp; sgrp = sgr_next ()) {
                int was_member, was_admin;
 
@@ -198,7 +225,6 @@ static void update_groups (void)
                 * See if the user specified this group as one of their
                 * concurrent groups.
                 */
-
                was_member = is_on_list (sgrp->sg_mem, user_name);
                was_admin = is_on_list (sgrp->sg_adm, user_name);
 
@@ -219,6 +245,11 @@ static void update_groups (void)
                if (!sgr_update (nsgrp))
                        fprintf (stderr,
                                 _("%s: error updating group entry\n"), Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "deleting user from shadow group", user_name,
+                             user_id, 0);
+#endif
                SYSLOG ((LOG_INFO, "delete `%s' from shadow group `%s'\n",
                         user_name, nsgrp->sg_name));
        }
@@ -234,7 +265,6 @@ static void update_groups (void)
  *     close_files() closes all of the files that were opened for this
  *     new user. This causes any modified entries to be written out.
  */
-
 static void close_files (void)
 {
        if (!pw_close ())
@@ -262,7 +292,6 @@ static void close_files (void)
 /*
  * fail_exit - exit with a failure code after unlocking the files
  */
-
 static void fail_exit (int code)
 {
        (void) pw_unlock ();
@@ -272,6 +301,10 @@ static void fail_exit (int code)
 #ifdef SHADOWGRP
        if (is_shadow_grp)
                sgr_unlock ();
+#endif
+#ifdef WITH_AUDIT
+       audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting user", user_name,
+                     user_id, 0);
 #endif
        exit (code);
 }
@@ -286,39 +319,76 @@ static void open_files (void)
 {
        if (!pw_lock ()) {
                fprintf (stderr, _("%s: unable to lock password file\n"), Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "locking password file", user_name, user_id, 1,
+                             0);
+#endif
                exit (E_PW_UPDATE);
        }
        if (!pw_open (O_RDWR)) {
                fprintf (stderr, _("%s: unable to open password file\n"), Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "opening password file", user_name, user_id, 0);
+#endif
                fail_exit (E_PW_UPDATE);
        }
        if (is_shadow_pwd && !spw_lock ()) {
                fprintf (stderr,
                         _("%s: cannot lock shadow password file\n"), Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "locking shadow password file", user_name,
+                             user_id, 0);
+#endif
                fail_exit (E_PW_UPDATE);
        }
        if (is_shadow_pwd && !spw_open (O_RDWR)) {
                fprintf (stderr,
                         _("%s: cannot open shadow password file\n"), Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "opening shadow password file", user_name,
+                             user_id, 0);
+#endif
                fail_exit (E_PW_UPDATE);
        }
        if (!gr_lock ()) {
                fprintf (stderr, _("%s: unable to lock group file\n"), Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "locking group file",
+                             user_name, user_id, 0);
+#endif
                fail_exit (E_GRP_UPDATE);
        }
        if (!gr_open (O_RDWR)) {
                fprintf (stderr, _("%s: cannot open group file\n"), Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "opening group file",
+                             user_name, user_id, 0);
+#endif
                fail_exit (E_GRP_UPDATE);
        }
 #ifdef SHADOWGRP
        if (is_shadow_grp && !sgr_lock ()) {
                fprintf (stderr,
                         _("%s: unable to lock shadow group file\n"), Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "locking shadow group file", user_name, user_id,
+                             0);
+#endif
                fail_exit (E_GRP_UPDATE);
        }
        if (is_shadow_grp && !sgr_open (O_RDWR)) {
                fprintf (stderr, _("%s: cannot open shadow group file\n"),
                         Prog);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "opening shadow group file", user_name, user_id,
+                             0);
+#endif
                fail_exit (E_GRP_UPDATE);
        }
 #endif
@@ -330,7 +400,6 @@ static void open_files (void)
  *     update_user() deletes the password file entries for this user
  *     and will update the group entries as required.
  */
-
 static void update_user (void)
 {
        if (!pw_remove (user_name))
@@ -339,6 +408,10 @@ static void update_user (void)
        if (is_shadow_pwd && !spw_remove (user_name))
                fprintf (stderr,
                         _("%s: error deleting shadow password entry\n"), Prog);
+#ifdef WITH_AUDIT
+       audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting user entries",
+                     user_name, user_id, 1);
+#endif
        SYSLOG ((LOG_INFO, "delete user `%s'\n", user_name));
 }
 
@@ -349,7 +422,6 @@ static void update_user (void)
  * by this user. Also, I think this check should be in usermod
  * as well (at least when changing username or UID).  --marekm
  */
-
 static void user_busy (const char *name, uid_t uid)
 {
 
@@ -379,7 +451,13 @@ static void user_busy (const char *name, uid_t uid)
                        continue;
                fprintf (stderr,
                         _("%s: user %s is currently logged in\n"), Prog, name);
-               exit (E_USER_BUSY);
+               if (!fflg) {
+#ifdef WITH_AUDIT
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "deleting user logged in", name, -1, 0);
+#endif
+                       exit (E_USER_BUSY);
+               }
        }
 }
 
@@ -420,7 +498,6 @@ lprm $1
 exit 0
 ==========
  */
-
 static void user_cancel (const char *user)
 {
        char *cmd;
@@ -480,6 +557,10 @@ static void remove_mailbox (void)
        snprintf (mailfile, sizeof mailfile, "%s/%s", maildir, user_name);
        if (fflg) {
                unlink (mailfile);      /* always remove, ignore errors */
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting mail file",
+                             user_name, user_id, 1);
+#endif
                return;
        }
        i = is_owner (user_id, mailfile);
@@ -488,6 +569,10 @@ static void remove_mailbox (void)
                         _
                         ("%s: %s not owned by %s, not removing\n"),
                         Prog, mailfile, user_name);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting mail file",
+                             user_name, user_id, 0);
+#endif
                return;
        } else if (i == -1)
                return;         /* mailbox doesn't exist */
@@ -495,6 +580,12 @@ static void remove_mailbox (void)
                fprintf (stderr, _("%s: warning: can't remove "), Prog);
                perror (mailfile);
        }
+#ifdef WITH_AUDIT
+       else {
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting mail file",
+                             user_name, user_id, 0);
+       }
+#endif
 }
 
 #ifdef USE_PAM
@@ -502,6 +593,7 @@ static struct pam_conv conv = {
        misc_conv, NULL
 };
 #endif                         /* USE_PAM */
+
 /*
  * main - userdel command
  */
@@ -516,6 +608,11 @@ int main (int argc, char **argv)
        struct passwd *pampw;
        int retval;
 #endif
+
+#ifdef WITH_AUDIT
+       audit_help_open ();
+#endif
+
        /*
         * Get my name so that I can use it to report errors.
         */
@@ -582,6 +679,10 @@ int main (int argc, char **argv)
        if (!(pwd = getpwnam (user_name))) {
                fprintf (stderr, _("%s: user %s does not exist\n"),
                         Prog, user_name);
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "deleting user not found", user_name, -1, 0);
+#endif
                exit (E_NOTFOUND);
        }
 #ifdef USE_NIS
@@ -589,7 +690,6 @@ int main (int argc, char **argv)
        /*
         * Now make sure it isn't an NIS user.
         */
-
        if (__ispwNIS ()) {
                char *nis_domain;
                char *nis_master;
@@ -611,6 +711,7 @@ int main (int argc, char **argv)
         * Check to make certain the user isn't logged in.
         */
        user_busy (user_name, user_id);
+
        /*
         * Do the hard stuff - open the files, create the user entries,
         * create the home directory, then close and update the files.
@@ -631,9 +732,8 @@ int main (int argc, char **argv)
                rflg = 0;
                errors++;
        }
-
-/* This may be slow, the above should be good enough. */
 #ifdef EXTRA_CHECK_HOME_DIR
+       /* This may be slow, the above should be good enough. */
        if (rflg && !fflg) {
                /*
                 * For safety, refuse to remove the home directory if it
@@ -656,6 +756,7 @@ int main (int argc, char **argv)
                                break;
                        }
                }
+               endpwent ();
        }
 #endif
 
@@ -665,32 +766,34 @@ int main (int argc, char **argv)
                        fprintf (stderr,
                                 _("%s: error removing directory %s\n"),
                                 Prog, user_home);
+#ifdef WITH_AUDIT
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "deleting home directory", user_name,
+                                     user_id, 1);
+#endif
                        errors++;
                }
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "deleting home directory", user_name, user_id, 1);
+#endif
        }
 
        /*
         * Cancel any crontabs or at jobs. Have to do this before we remove
         * the entry from /etc/passwd.
         */
-
        user_cancel (user_name);
        close_files ();
 #ifdef USE_PAM
-       if (retval == PAM_SUCCESS) {
-               retval = pam_chauthtok (pamh, 0);
-               if (retval != PAM_SUCCESS)
-                       pam_end (pamh, retval);
-       }
-
-       if (retval != PAM_SUCCESS) {
-               fprintf (stderr, _("%s: PAM chauthtok failed\n"), Prog);
-               exit (E_PW_UPDATE);
-       }
-
        if (retval == PAM_SUCCESS)
                pam_end (pamh, PAM_SUCCESS);
 #endif                         /* USE_PAM */
+#ifdef WITH_AUDIT
+       if (errors)
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "deleting home directory", user_name, -1, 0);
+#endif
        exit (errors ? E_HOMEDIR : E_SUCCESS);
        /* NOT REACHED */
 }
index c0bfede7a568ce3736415f435ceab4a8c94dd741..c9bfba70ac83519c6ed943a494db120d4320b13b 100644 (file)
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: usermod.c,v 1.51 2005/08/11 16:23:34 kloczek Exp $")
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <stdio.h>
-#include <errno.h>
-#include <pwd.h>
-#include <grp.h>
+#ident "$Id: usermod.c,v 1.58 2005/10/04 21:05:12 kloczek Exp $"
+
 #include <ctype.h>
+#include <errno.h>
 #include <fcntl.h>
-#include <time.h>
+#include <grp.h>
+#include <lastlog.h>
+#include <pwd.h>
 #ifdef USE_PAM
 #include <security/pam_appl.h>
 #include <security/pam_misc.h>
 #endif                         /* USE_PAM */
-#include "prototypes.h"
-#include "defines.h"
+#include <stdio.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <time.h>
 #include "chkname.h"
+#include "defines.h"
 #include "faillog.h"
-#include <lastlog.h>
-#include "pwauth.h"
 #include "getdef.h"
 #include "groupio.h"
 #include "nscd.h"
+#include "prototypes.h"
+#include "pwauth.h"
 #include "pwio.h"
 #ifdef SHADOWGRP
 #include "sgroupio.h"
@@ -68,14 +68,17 @@ RCSID (PKG_VER "$Id: usermod.c,v 1.51 2005/08/11 16:23:34 kloczek Exp $")
 #define E_USAGE                2       /* invalid command syntax */
 #define E_BAD_ARG      3       /* invalid argument to option */
 #define E_UID_IN_USE   4       /* UID already in use (and no -o) */
-    /* #define E_BAD_PWFILE     5 *//* passwd file contains errors */
+                               /* #define E_BAD_PWFILE     5 *//* passwd file contains errors */
 #define E_NOTFOUND     6       /* specified user/group doesn't exist */
 #define E_USER_BUSY    8       /* user to modify is logged in */
 #define E_NAME_IN_USE  9       /* username already in use */
 #define E_GRP_UPDATE   10      /* can't update group file */
-    /* #define E_NOSPACE        11 *//* insufficient space to move home dir */
+                                /* #define E_NOSPACE        11 *//* insufficient space to move home dir */
 #define E_HOMEDIR      12      /* unable to complete home dir move */
 #define        VALID(s)        (strcspn (s, ":\n") == strlen (s))
+/*
+ * Global variables
+ */
 static char *user_name;
 static char *user_newname;
 static char *user_pass;
@@ -84,12 +87,16 @@ static uid_t user_newid;
 static gid_t user_gid;
 static gid_t user_newgid;
 static char *user_comment;
+static char *user_newcomment;  /* Audit */
 static char *user_home;
 static char *user_newhome;
 static char *user_shell;
+static char *user_newshell;    /* Audit */
 
 static long user_expire;
+static long user_newexpire;    /* Audit */
 static long user_inactive;
+static long user_newinactive;  /* Audit */
 static long sys_ngroups;
 static char **user_groups;     /* NULL-terminated list */
 
@@ -163,7 +170,6 @@ static struct group *getgr_nam_gid (const char *name)
        return getgrnam (name);
 }
 
-
 /*
  * get_groups - convert a list of group names to an array of group IDs
  *
@@ -171,7 +177,6 @@ static struct group *getgr_nam_gid (const char *name)
  *     converts it to a NULL-terminated array. Any unknown group names are
  *     reported as errors.
  */
-
 static int get_groups (char *list)
 {
        char *cp;
@@ -182,7 +187,6 @@ static int get_groups (char *list)
        /*
         * Initialize the list to be empty
         */
-
        user_groups[0] = (char *) 0;
 
        if (!*list)
@@ -193,7 +197,6 @@ static int get_groups (char *list)
         * name and look it up. A mix of numerical and string values for
         * group identifiers is permitted.
         */
-
        do {
                /*
                 * Strip off a single name from the list
@@ -230,7 +233,6 @@ static int get_groups (char *list)
                 * Don't add this group if they are an NIS group. Tell the
                 * user to go to the server for this group.
                 */
-
                if (__isgrNIS ()) {
                        fprintf (stderr,
                                 _("%s: group `%s' is a NIS group.\n"),
@@ -250,7 +252,6 @@ static int get_groups (char *list)
                /*
                 * Add the group name to the user's list of groups.
                 */
-
                user_groups[ngroups++] = xstrdup (grp->gr_name);
        } while (list);
 
@@ -259,7 +260,6 @@ static int get_groups (char *list)
        /*
         * Any errors in finding group names are fatal
         */
-
        if (errors)
                return -1;
 
@@ -269,7 +269,6 @@ static int get_groups (char *list)
 /*
  * usage - display usage message and exit
  */
-
 static void usage (void)
 {
        fprintf (stderr,
@@ -289,12 +288,15 @@ static void usage (void)
  * update encrypted password string (for both shadow and non-shadow
  * passwords)
  */
-
 static char *new_pw_passwd (char *pw_pass, const char *pw_name)
 {
        if (Lflg && pw_pass[0] != '!') {
                char *buf = xmalloc (strlen (pw_pass) + 2);
 
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "updating passwd",
+                             user_newname, user_newid, 0);
+#endif
                SYSLOG ((LOG_INFO, "lock user `%s' password", pw_name));
                strcpy (buf, "!");
                strcat (buf, pw_pass);
@@ -302,6 +304,10 @@ static char *new_pw_passwd (char *pw_pass, const char *pw_name)
        } else if (Uflg && pw_pass[0] == '!') {
                char *s;
 
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "updating password",
+                             user_newname, user_newid, 0);
+#endif
                SYSLOG ((LOG_INFO, "unlock user `%s' password", pw_name));
                s = pw_pass;
                while (*s) {
@@ -309,6 +315,10 @@ static char *new_pw_passwd (char *pw_pass, const char *pw_name)
                        s++;
                }
        } else if (pflg) {
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing password",
+                             user_newname, user_newid, 1);
+#endif
                SYSLOG ((LOG_INFO, "change user `%s' password", pw_name));
                pw_pass = xstrdup (user_pass);
        }
@@ -321,10 +331,13 @@ static char *new_pw_passwd (char *pw_pass, const char *pw_name)
  *     new_pwent() takes all of the values that have been entered and fills
  *     in a (struct passwd) with them.
  */
-
 static void new_pwent (struct passwd *pwent)
 {
        if (lflg) {
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing name",
+                             user_newname, user_newid, 1);
+#endif
                SYSLOG ((LOG_INFO, "change user name `%s' to `%s'",
                         pwent->pw_name, user_newname));
                pwent->pw_name = xstrdup (user_newname);
@@ -334,31 +347,60 @@ static void new_pwent (struct passwd *pwent)
                    new_pw_passwd (pwent->pw_passwd, pwent->pw_name);
 
        if (uflg) {
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing uid",
+                             user_newname, user_newid, 1);
+#endif
                SYSLOG ((LOG_INFO,
                         "change user `%s' UID from `%d' to `%d'",
                         pwent->pw_name, pwent->pw_uid, user_newid));
                pwent->pw_uid = user_newid;
        }
        if (gflg) {
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "changing primary group", user_newname,
+                             user_newid, 1);
+#endif
                SYSLOG ((LOG_INFO,
                         "change user `%s' GID from `%d' to `%d'",
                         pwent->pw_name, pwent->pw_gid, user_newgid));
                pwent->pw_gid = user_newgid;
        }
-       if (cflg)
+       if (cflg) {
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing comment",
+                             user_newname, user_newid, 1);
+               pwent->pw_gecos = user_newcomment;
+#else
                pwent->pw_gecos = user_comment;
+#endif
+       }
 
        if (dflg) {
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "changing home directory", user_newname,
+                             user_newid, 1);
+#endif
                SYSLOG ((LOG_INFO,
                         "change user `%s' home from `%s' to `%s'",
                         pwent->pw_name, pwent->pw_dir, user_newhome));
                pwent->pw_dir = user_newhome;
        }
        if (sflg) {
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing user shell",
+                             user_newname, user_newid, 1);
+               SYSLOG ((LOG_INFO, "change user `%s' shell from `%s' to `%s'",
+                        pwent->pw_name, pwent->pw_shell, user_newshell));
+               pwent->pw_shell = user_newshell;
+#else
                SYSLOG ((LOG_INFO,
                         "change user `%s' shell from `%s' to `%s'",
                         pwent->pw_name, pwent->pw_shell, user_shell));
                pwent->pw_shell = user_shell;
+#endif
        }
 }
 
@@ -368,24 +410,84 @@ static void new_pwent (struct passwd *pwent)
  *     new_spent() takes all of the values that have been entered and fills
  *     in a (struct spwd) with them.
  */
-
 static void new_spent (struct spwd *spent)
 {
        if (lflg)
                spent->sp_namp = xstrdup (user_newname);
 
        if (fflg) {
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "changing inactive days", user_newname,
+                             user_newid, 1);
+               SYSLOG ((LOG_INFO,
+                        "change user `%s' inactive from `%ld' to `%ld'",
+                        spent->sp_namp, spent->sp_inact, user_newinactive));
+               spent->sp_inact = user_newinactive;
+#else
+
                SYSLOG ((LOG_INFO,
                         "change user `%s' inactive from `%ld' to `%ld'",
                         spent->sp_namp, spent->sp_inact, user_inactive));
                spent->sp_inact = user_inactive;
+#endif
        }
        if (eflg) {
                /* XXX - dates might be better than numbers of days.  --marekm */
+#ifdef WITH_AUDIT
+               if (audit_fd >= 0) {
+                       time_t exp_t;
+                       struct tm *exp_tm;
+                       char new_exp[16], old_exp[16];
+
+                       if (user_newexpire == -1)
+                               new_exp[0] = '\0';
+                       else {
+                               exp_t = user_newexpire * DAY;
+                               exp_tm = gmtime (&exp_t);
+#ifdef HAVE_STRFTIME
+                               strftime (new_exp, sizeof (new_exp), "%Y-%m-%d",
+                                         exp_tm);
+#else
+                               memset (new_exp, 0, sizeof (new_exp));
+                               snprintf (new_exp, sizeof (new_exp) - 1,
+                                         "%04i-%02i-%02i",
+                                         exp_tm->tm_year + 1900,
+                                         exp_tm->tm_mon + 1, exp_tm->tm_mday);
+#endif
+                       }
+
+                       if (user_expire == -1)
+                               old_exp[0] = '\0';
+                       else {
+                               exp_t = user_expire * DAY;
+                               exp_tm = gmtime (&exp_t);
+#ifdef HAVE_STRFTIME
+                               strftime (old_exp, sizeof (old_exp), "%Y-%m-%d",
+                                         exp_tm);
+#else
+                               memset (old_exp, 0, sizeof (old_exp));
+                               snprintf (old_exp, sizeof (old_exp) - 1,
+                                         "%04i-%02i-%02i",
+                                         exp_tm->tm_year + 1900,
+                                         exp_tm->tm_mon + 1, exp_tm->tm_mday);
+#endif
+                       }
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "changing expiration date", user_newname,
+                                     user_newid, 1);
+               }
+
+               SYSLOG ((LOG_INFO,
+                        "change user `%s' expiration from `%ld' to `%ld'",
+                        spent->sp_namp, spent->sp_expire, user_newexpire));
+               spent->sp_expire = user_newexpire;
+#else
                SYSLOG ((LOG_INFO,
                         "change user `%s' expiration from `%ld' to `%ld'",
                         spent->sp_namp, spent->sp_expire, user_expire));
                spent->sp_expire = user_expire;
+#endif
        }
        spent->sp_pwdp = new_pw_passwd (spent->sp_pwdp, spent->sp_namp);
        if (pflg)
@@ -395,7 +497,6 @@ static void new_spent (struct spwd *spent)
 /*
  * fail_exit - exit with an error code after unlocking files
  */
-
 static void fail_exit (int code)
 {
        (void) gr_unlock ();
@@ -406,6 +507,10 @@ static void fail_exit (int code)
        if (is_shadow_pwd)
                spw_unlock ();
        (void) pw_unlock ();
+#ifdef WITH_AUDIT
+       audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "modifying account",
+                     user_name, -1, 0);
+#endif
        exit (code);
 }
 
@@ -441,7 +546,6 @@ static int update_group (void)
         * the user is a member of.
         */
        while ((grp = gr_next ())) {
-
                /*
                 * See if the user specified this group as one of their
                 * concurrent groups.
@@ -468,6 +572,11 @@ static int update_group (void)
                                ngrp->gr_mem = add_list (ngrp->gr_mem,
                                                         user_newname);
                                changed = 1;
+#ifdef WITH_AUDIT
+                               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                             "changing group member",
+                                             user_newname, -1, 1);
+#endif
                                SYSLOG ((LOG_INFO,
                                         "change `%s' to `%s' in group `%s'",
                                         user_name, user_newname,
@@ -476,6 +585,11 @@ static int update_group (void)
                } else if (was_member && !aflg && Gflg && !is_member) {
                        ngrp->gr_mem = del_list (ngrp->gr_mem, user_name);
                        changed = 1;
+#ifdef WITH_AUDIT
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "removing group member", user_name, -1,
+                                     1);
+#endif
                        SYSLOG ((LOG_INFO, "delete `%s' from group `%s'",
                                 user_name, ngrp->gr_name));
                } else if (!was_member && Gflg && is_member) {
@@ -483,6 +597,10 @@ static int update_group (void)
                                                 lflg ? user_newname :
                                                 user_name);
                        changed = 1;
+#ifdef WITH_AUDIT
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "adding user to group", user_name, -1, 1);
+#endif
                        SYSLOG ((LOG_INFO, "add `%s' to group `%s'",
                                 lflg ? user_newname : user_name,
                                 ngrp->gr_name));
@@ -574,6 +692,11 @@ static int update_gshadow (void)
                        nsgrp->sg_adm = del_list (nsgrp->sg_adm, user_name);
                        nsgrp->sg_adm = add_list (nsgrp->sg_adm, user_newname);
                        changed = 1;
+#ifdef WITH_AUDIT
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "changing admin name in shadow group",
+                                     user_name, -1, 1);
+#endif
                        SYSLOG ((LOG_INFO,
                                 "change admin `%s' to `%s' in shadow group `%s'",
                                 user_name, user_newname, nsgrp->sg_name));
@@ -585,6 +708,11 @@ static int update_gshadow (void)
                                nsgrp->sg_mem = add_list (nsgrp->sg_mem,
                                                          user_newname);
                                changed = 1;
+#ifdef WITH_AUDIT
+                               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                             "changing member in shadow group",
+                                             user_name, -1, 1);
+#endif
                                SYSLOG ((LOG_INFO,
                                         "change `%s' to `%s' in shadow group `%s'",
                                         user_name, user_newname,
@@ -593,6 +721,11 @@ static int update_gshadow (void)
                } else if (was_member && !aflg && Gflg && !is_member) {
                        nsgrp->sg_mem = del_list (nsgrp->sg_mem, user_name);
                        changed = 1;
+#ifdef WITH_AUDIT
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "removing user from shadow group",
+                                     user_name, -1, 1);
+#endif
                        SYSLOG ((LOG_INFO,
                                 "delete `%s' from shadow group `%s'",
                                 user_name, nsgrp->sg_name));
@@ -601,6 +734,11 @@ static int update_gshadow (void)
                                                  lflg ? user_newname :
                                                  user_name);
                        changed = 1;
+#ifdef WITH_AUDIT
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "adding user to shadow group",
+                                     user_newname, -1, 1);
+#endif
                        SYSLOG ((LOG_INFO, "add `%s' to shadow group `%s'",
                                 lflg ? user_newname : user_name,
                                 nsgrp->sg_name));
@@ -639,7 +777,6 @@ static int update_gshadow (void)
  *     grp_update() takes the secondary group set given in user_groups and
  *     adds the user to each group given by that set.
  */
-
 static int grp_update (void)
 {
        int ret;
@@ -685,7 +822,6 @@ static uid_t get_id (const char *cp)
  *     values that the user will be created with accordingly. The values
  *     are checked for sanity.
  */
-
 static void process_flags (int argc, char **argv)
 {
        const struct group *grp;
@@ -703,14 +839,26 @@ static void process_flags (int argc, char **argv)
                         Prog, argv[argc - 1]);
                exit (E_NOTFOUND);
        }
+
        user_name = argv[argc - 1];
+       user_id = pwd->pw_uid;
+       user_gid = pwd->pw_gid;
+       user_comment = xstrdup (pwd->pw_gecos);
+       user_home = xstrdup (pwd->pw_dir);
+       user_shell = xstrdup (pwd->pw_shell);
+#ifdef WITH_AUDIT
+       user_newname = user_name;
+       user_newid = user_id;
+       user_newgid = user_gid;
+       user_newcomment = user_comment;
+       user_newhome = user_home;
+       user_newshell = user_shell;
+#endif
 
 #ifdef USE_NIS
-
        /*
         * Now make sure it isn't an NIS user.
         */
-
        if (__ispwNIS ()) {
                char *nis_domain;
                char *nis_master;
@@ -726,15 +874,14 @@ static void process_flags (int argc, char **argv)
                exit (E_NOTFOUND);
        }
 #endif
-       user_id = pwd->pw_uid;
-       user_gid = pwd->pw_gid;
-       user_comment = xstrdup (pwd->pw_gecos);
-       user_home = xstrdup (pwd->pw_dir);
-       user_shell = xstrdup (pwd->pw_shell);
 
        if (is_shadow_pwd && (spwd = getspnam (user_name))) {
                user_expire = spwd->sp_expire;
                user_inactive = spwd->sp_inact;
+#ifdef WITH_AUDIT
+               user_newexpire = user_expire;
+               user_newinactive = user_inactive;
+#endif
        }
 
        while ((arg = getopt (argc, argv, "ac:d:e:f:g:G:l:Lmop:s:u:U")) != EOF) {
@@ -749,7 +896,11 @@ static void process_flags (int argc, char **argv)
                                         Prog, optarg);
                                exit (E_BAD_ARG);
                        }
+#ifdef WITH_AUDIT
+                       user_newcomment = optarg;
+#else
                        user_comment = optarg;
+#endif
                        cflg++;
                        break;
                case 'd':
@@ -764,21 +915,38 @@ static void process_flags (int argc, char **argv)
                        break;
                case 'e':
                        if (*optarg) {
+#ifdef WITH_AUDIT
+                               user_newexpire = strtoday (optarg);
+                               if (user_newexpire == -1) {
+#else
                                user_expire = strtoday (optarg);
                                if (user_expire == -1) {
+#endif
                                        fprintf (stderr,
                                                 _
                                                 ("%s: invalid date `%s'\n"),
                                                 Prog, optarg);
                                        exit (E_BAD_ARG);
                                }
+#ifdef WITH_AUDIT
+                               user_newexpire *= DAY / SCALE;
+#else
                                user_expire *= DAY / SCALE;
+#endif
                        } else
+#ifdef WITH_AUDIT
+                               user_newexpire = -1;
+#else
                                user_expire = -1;
+#endif
                        eflg++;
                        break;
                case 'f':
+#ifdef WITH_AUDIT
+                       user_newinactive = get_number (optarg);
+#else
                        user_inactive = get_number (optarg);
+#endif
                        fflg++;
                        break;
                case 'g':
@@ -810,7 +978,6 @@ static void process_flags (int argc, char **argv)
                         * set the flag as this will cause rather serious
                         * problems later!
                         */
-
                        if (strcmp (user_name, optarg))
                                lflg++;
 
@@ -848,7 +1015,11 @@ static void process_flags (int argc, char **argv)
                                         Prog, optarg);
                                exit (E_BAD_ARG);
                        }
+#ifdef WITH_AUDIT
+                       user_newshell = optarg;
+#else
                        user_shell = optarg;
+#endif
                        sflg++;
                        break;
                case 'u':
@@ -913,7 +1084,6 @@ static void process_flags (int argc, char **argv)
  *     close_files() closes all of the files that were opened for this new
  *     user. This causes any modified entries to be written out.
  */
-
 static void close_files (void)
 {
        if (!pw_close ()) {
@@ -932,7 +1102,6 @@ static void close_files (void)
        /*
         * Close the DBM and/or flat files
         */
-
        endpwent ();
        endspent ();
        endgrent ();
@@ -946,7 +1115,6 @@ static void close_files (void)
  *
  *     open_files() opens the two password files.
  */
-
 static void open_files (void)
 {
        if (!pw_lock ()) {
@@ -975,7 +1143,6 @@ static void open_files (void)
  *     usr_update() creates the password file entries for this user and
  *     will update the group entries if required.
  */
-
 static void usr_update (void)
 {
        struct passwd pwent;
@@ -987,7 +1154,6 @@ static void usr_update (void)
        /*
         * Locate the entry in /etc/passwd, which MUST exist.
         */
-
        pwd = pw_locate (user_name);
        if (!pwd) {
                fprintf (stderr, _("%s: %s not found in /etc/passwd\n"),
@@ -1002,7 +1168,6 @@ static void usr_update (void)
         * Locate the entry in /etc/shadow. It doesn't have to exist, and
         * won't be created if it doesn't.
         */
-
        if (is_shadow_pwd && (spwd = spw_locate (user_name))) {
                spent = *spwd;
                new_spent (&spent);
@@ -1047,7 +1212,6 @@ static void usr_update (void)
  *     move_home() moves the user's home directory to a new location. The
  *     files will be copied if the directory cannot simply be renamed.
  */
-
 static void move_home (void)
 {
        struct stat sb;
@@ -1088,6 +1252,13 @@ static void move_home (void)
                                                         _
                                                         ("%s: warning: failed to completely remove old home directory %s"),
                                                         Prog, user_home);
+#ifdef WITH_AUDIT
+                                       audit_logger (AUDIT_USER_CHAUTHTOK,
+                                                     Prog,
+                                                     "moving home directory",
+                                                     user_newname, user_newid,
+                                                     1);
+#endif
                                        return;
                                }
 
@@ -1100,17 +1271,27 @@ static void move_home (void)
                                 Prog, user_home, user_newhome);
                        fail_exit (E_HOMEDIR);
                }
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "moving home directory", user_newname, user_newid,
+                             1);
+#endif
        }
-       if (uflg || gflg)
+       if (uflg || gflg) {
+#ifdef WITH_AUDIT
+               audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                             "changing home directory owner", user_newname,
+                             user_newid, 1);
+#endif
                chown (dflg ? user_newhome : user_home,
                       uflg ? user_newid : user_id,
                       gflg ? user_newgid : user_gid);
+       }
 }
 
 /*
  * update_files - update the lastlog and faillog files
  */
-
 static void update_files (void)
 {
        struct lastlog ll;
@@ -1122,7 +1303,6 @@ static void update_files (void)
         * left alone in case the UID was shared. It doesn't hurt anything
         * to just leave it be.
         */
-
        if ((fd = open (LASTLOG_FILE, O_RDWR)) != -1) {
                lseek (fd, (off_t) user_id * sizeof ll, SEEK_SET);
                if (read (fd, (char *) &ll, sizeof ll) == sizeof ll) {
@@ -1135,7 +1315,6 @@ static void update_files (void)
        /*
         * Relocate the "faillog" entries in the same manner.
         */
-
        if ((fd = open (FAILLOG_FILE, O_RDWR)) != -1) {
                lseek (fd, (off_t) user_id * sizeof fl, SEEK_SET);
                if (read (fd, (char *) &fl, sizeof fl) == sizeof fl) {
@@ -1175,7 +1354,6 @@ static void move_mailbox (void)
         * replacing /var/spool/mail/luser with a hard link to /etc/passwd
         * between stat and chown).  --marekm
         */
-
        snprintf (mailfile, sizeof mailfile, "%s/%s", maildir, user_name);
        fd = open (mailfile, O_RDONLY | O_NONBLOCK, 0);
        if (fd < 0) {
@@ -1196,16 +1374,34 @@ static void move_mailbox (void)
                close (fd);
                return;
        }
-       if (uflg && fchown (fd, user_newid, (gid_t) - 1) < 0)
-               perror (_("failed to change mailbox owner"));
+       if (uflg) {
+               if (fchown (fd, user_newid, (gid_t) - 1) < 0) {
+                       perror (_("failed to change mailbox owner"));
+               }
+#ifdef WITH_AUDIT
+               else {
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "changing mail file owner", user_newname,
+                                     user_newid, 1);
+               }
+#endif
+       }
 
        close (fd);
 
        if (lflg) {
                snprintf (newmailfile, sizeof newmailfile, "%s/%s",
                          maildir, user_newname);
-               if (link (mailfile, newmailfile) || unlink (mailfile))
+               if (link (mailfile, newmailfile) || unlink (mailfile)) {
                        perror (_("failed to rename mailbox"));
+               }
+#ifdef WITH_AUDIT
+               else {
+                       audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
+                                     "changing mail file name", user_newname,
+                                     user_newid, 1);
+               }
+#endif
        }
 }
 #endif
@@ -1220,7 +1416,6 @@ static struct pam_conv conv = {
 /*
  * main - usermod command
  */
-
 int main (int argc, char **argv)
 {
        int grp_err = 0;
@@ -1231,6 +1426,10 @@ int main (int argc, char **argv)
        int retval;
 #endif
 
+#ifdef WITH_AUDIT
+       audit_help_open ();
+#endif
+
        /*
         * Get my name so that I can use it to report errors.
         */
@@ -1289,7 +1488,6 @@ int main (int argc, char **argv)
         * Do the hard stuff - open the files, change the user entries,
         * change the home directory, then close and update the files.
         */
-
        open_files ();
 
        usr_update ();
@@ -1316,7 +1514,6 @@ int main (int argc, char **argv)
                 * Change the UID on all of the files owned by `user_id' to
                 * `user_newid' in the user's home directory.
                 */
-
                chown_tree (dflg ? user_newhome : user_home,
                            user_id, user_newid,
                            user_gid, gflg ? user_newgid : user_gid);
@@ -1326,18 +1523,6 @@ int main (int argc, char **argv)
                exit (E_GRP_UPDATE);
 
 #ifdef USE_PAM
-       if (retval == PAM_SUCCESS) {
-               retval = pam_chauthtok (pamh, 0);
-               if (retval != PAM_SUCCESS) {
-                       pam_end (pamh, retval);
-               }
-       }
-
-       if (retval != PAM_SUCCESS) {
-               fprintf (stderr, _("%s: PAM authentication failed\n"), Prog);
-               exit (1);
-       }
-
        if (retval == PAM_SUCCESS)
                pam_end (pamh, PAM_SUCCESS);
 #endif                         /* USE_PAM */
index 27e27e0253e24d1dbb06191cc947a5e46284bb4c..3caa58ad1e227358c37bb04258b6abaa57569fde 100644 (file)
 
 #include <config.h>
 
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: vipw.c,v 1.14 2005/08/03 16:00:46 kloczek Exp $")
-#include "defines.h"
+#ident "$Id: vipw.c,v 1.17 2005/09/07 15:00:45 kloczek Exp $"
+
 #include <errno.h>
-#include <sys/stat.h>
-#include <unistd.h>
+#include <signal.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <sys/stat.h>
 #include <sys/types.h>
-#include <signal.h>
+#include <unistd.h>
 #include <utime.h>
+#include "defines.h"
+#include "groupio.h"
+#include "nscd.h"
 #include "prototypes.h"
 #include "pwio.h"
-#include "shadowio.h"
-#include "groupio.h"
 #include "sgroupio.h"
-#include "nscd.h"
+#include "shadowio.h"
+/*
+ * Global variables
+ */
 static const char *progname, *filename, *fileeditname;
 static int filelocked = 0, createedit = 0;
 static int (*unlock) (void);
@@ -186,7 +189,6 @@ vipwedit (const char *file, int (*file_lock) (void), int (*file_unlock) (void))
         * ask the user what to do (edit again, save changes anyway, or quit
         * without saving). Use pwck or grpck to do the check.  --marekm
         */
-
        createedit = 0;
        unlink (filebackup);
        link (file, filebackup);
@@ -201,7 +203,6 @@ vipwedit (const char *file, int (*file_lock) (void), int (*file_unlock) (void))
        (*file_unlock) ();
 }
 
-
 int main (int argc, char **argv)
 {
        int flag;