--- /dev/null
+2000-10-12 Tomasz K³oczko <kloczek@pld.org.pl>
+
+ * NEWS: - summary changes description for shadow-20001012.
+
+ * configure.in: - release changed to 20001012.
+
+ * etc/Makefile.am: - removed shells and suauth from EXTRA_DIST.
+
+ * doc/Makefile.am: - removed README.debian from EXTRA_DIST.
+
+ * libmisc/Makefile.am: - removed pwdcheck.c from libmisc_a_SOURCES.
+
+ * debian/Makefile.am: - removed FILES from EXTRA_DIST.
+
+ * contrib/Makefile.am: - s/udbachk.v012.tgz/udbachk.tgz/
+
+ * doc/Makefile.am: - removed CHANGES (this file was moved to ../NEWS).
+
+2000-10-10 Tomasz K³oczko <kloczek@pld.org.pl>
+
+ * po/ChangeLog: - add empty file (gettext requires this).
+
+2000-10-10 Arkadiusz Mi¶kiewicz <misiek@pld.org.pl>
+
+ * README: typos fixed
+
+2000-10-10 Tomasz K³oczko <kloczek@pld.org.pl>
+
+ * Makefile.am: - added shadow-utils.spec.in to EXTR_DIST.
+
+ * redhat/Attic/shadow-utils.spec.in: - obsoleted.
+
+ * Attic/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.
+
+ * doc/LSM: - new maintainer and new primary site.
+
+ * Makefile.am: - README added to EXTRA_DIST.
+
+ * README: - added README with all shadow sites and resources details.
+
+ * shadow-utils.spec.in: - partialy rewrited.
+
+ * configure.in: - change version to 20001010.
+
+ * Makefile.am: - added NEWS to EXTRA_DIST.
+
+ * Makefile.am, TODO: - added TODO.
+
+ * doc/Attic/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, Makefile.am, configure.in, shadow-utils.spec.in:
+ - remove redhat/ directory with obsoleted files.
+
+ * man/Makefile.am: - removed redundant ${man_MANS} from EXTRA_DIST.
+
+ * src/useradd.c:
+ - fix a security bug (adduser could overwrite previously existing
+ groups (shadow-19990827-group.patch from RH),
+
+ * po/cs.po, po/el.po, po/fr.po, po/pl.po, po/sv.po:
+ - "make updated-po".
+
+ * man/pl/Makefile.am, man/pl/grpconv.8, man/pl/grpunconv.8, man/pl/pwunconv.8, man/Makefile.am, man/grpconv.8, man/grpunconv.8, man/pwunconv.8:
+ - added man pages for grpconv(8), grpunconv(8), pwunconv(8) (.so link to
+ pwconv(8))
+
+ * man/pl/Makefile.am, man/pl/adduser.8, man/Makefile.am, man/adduser.8:
+ - added man page for adduser(8) (.so link to useradd(8)).
+
+ * po/Attic/doit:
+ - removed (in po/Makefile.in.in exist special update-po target).
+
+ * etc/pam.d/passwd, etc/pam.d/su: - cosmetics.
+
+ * etc/pam.d/shadow: - sample PAM config file for shadow utils.
+
+ * etc/pam.d/Makefile.am: - added shadow to EXTRA_DIST
+
+ * src/chpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/newusers.c, src/useradd.c, src/userdel.c, src/usermod.c:
+ - bind to shadow PAM file instead userdb (mainly PAMimication all shadow
+ utils is used for proper updating db files but in real this can be used
+ for perform many other tasks).
+
+ * src/Makefile.am: - added linking with @LIBPAM@ all PAMified tools.
+
+ * src/chpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/newusers.c, src/useradd.c, src/userdel.c, src/usermod.c:
+ - added PAM support (bind to common "userdb" PAM authentication description
+ file).
+
+ * src/chage.c: - added PAM support.
+
+2000-10-06 Tomasz K³oczko <kloczek@pld.org.pl>
+
+ * autogen.sh:
+ - added autogen.sh script which prepare raw source code from cvs to use.
+
+2000-10-04 Tomasz K³oczko <kloczek@pld.org.pl>
+
+ * man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/pl/vipw.8:
+ - merged changes from PTM.
+
+ * man/pl/Makefile.am:
+ - simplified: use only man_MANS and remaped $(mandir) variable.
+
+2000-09-27 Tomasz K³oczko <kloczek@pld.org.pl>
+
+ * po/cs.po, configure.in:
+ - added cs translation (Jiri Pavlovsky <Jiri.Pavlovsky@ff.cuni.cz>).
+
+2000-09-05 Marek Micha³kiewicz <marekm@linux.org.pl>
+
+ * man/pl/sulogin.8, man/pl/vipw.8, po/el.po, po/fr.po, po/pl.po, po/sv.po, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/d_passwd.5, man/pl/dialups.5, man/pl/dpasswd.8, 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/mkpasswd.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/pwauth.8, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/shadowconfig.8, man/pl/su.1, man/pl/suauth.5:
+ *** empty log message ***
+
+2000-09-02 Marek Micha³kiewicz <marekm@linux.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/chage.c, src/chfn.c, src/chsh.c, src/dpasswd.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, configure.in, debian/rules, doc/Attic/CHANGES, doc/LSM, lib/commonio.c:
+ *** empty log message ***
+
+2000-08-26 Marek Micha³kiewicz <marekm@linux.org.pl>
+
+ * 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/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/dpasswd.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/mkpasswd.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/Makefile.am, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/dialchk.h, lib/dialup.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/rad64.c, lib/sgroupio.c, lib/sgroupio.h, lib/shadowio.h, lib/tcfsio.h, 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/suauth.c, libmisc/sulog.c, man/Makefile.am, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/dpasswd.8, 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/mkpasswd.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/pwauth.8, 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/Attic/CHANGES, doc/README, doc/README.linux, doc/README.pam, doc/WISHLIST, debian/login.copyright, debian/passwd.copyright, debian/secure-su.copyright, Attic/mkinstalldirs, configure.in, Makefile.am:
+ *** empty log message ***
+
+1999-08-27 Marek Micha³kiewicz <marekm@linux.org.pl>
+
+ * 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/chage.c, src/dpasswd.c, src/gpasswd.c, src/login.c, src/logoutd.c, src/newgrp.c, src/passwd.c, src/sulogin.c, acconfig.h, configure.in, debian/Attic/logoutd, debian/Makefile.am, debian/changelog, debian/control.gnu, debian/control.linux, debian/login.postrm, debian/logoutd.init, debian/passwd.conffiles, debian/passwd.cron, debian/passwd.init, debian/passwd.postrm, debian/rules, doc/Attic/CHANGES, doc/README.mirrors, doc/WISHLIST, etc/Makefile.am, etc/login.defs.hurd, etc/login.defs.linux, lib/defines.h:
+ *** empty log message ***
+
+1999-07-09 Marek Micha³kiewicz <marekm@linux.org.pl>
+
+ * configure.in, contrib/Makefile.am, debian/changelog, doc/Attic/CHANGES, doc/LSM, doc/WISHLIST, lib/prototypes.h, lib/strcasecmp.c, 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@linux.org.pl>
+
+ * redhat/Attic/shadow-utils.spec.in, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/dpasswd.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/mkpasswd.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/Attic/CHANGES, doc/LSM, doc/README.linux, doc/README.mirrors, 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/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@linux.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/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/Attic/CHANGES, debian/tar.c, debian/rules, debian/Attic/logoutd, debian/control, debian/changelog, configure.in:
+ *** empty log message ***
+
+1998-12-28 Marek Micha³kiewicz <marekm@linux.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/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/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/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/Attic/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@linux.org.pl>
+
+ * src/passwd.c, src/su.c, src/userdel.c, src/Makefile.am, src/chage.c, src/faillog.c, src/login.c, lib/pwauth.c, lib/tcfsio.c, lib/tcfsio.h, 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/Makefile.am, doc/README.linux, doc/README.mirrors, doc/README.platforms, doc/WISHLIST, etc/Makefile.am, etc/pam.d/Makefile.am, doc/Attic/CHANGES, debian/changelog, configure.in, acconfig.h:
+ *** empty log message ***
+
+1998-06-26 Marek Micha³kiewicz <marekm@linux.org.pl>
+
+ * src/passwd.c, src/usermod.c, man/faillog.8, man/pwconv.8, src/logoutd.c, lib/getpass.c, libmisc/copydir.c, doc/README.linux, doc/README.mirrors, doc/WISHLIST, lib/commonio.c, debian/changelog, doc/Attic/CHANGES, configure.in:
+ *** empty log message ***
+
+1998-05-29 Marek Micha³kiewicz <marekm@linux.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/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@linux.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/chage.c, src/dpasswd.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/limits.c, libmisc/log.c, libmisc/login_desrpc.c, libmisc/loginprompt.c, libmisc/obscure.c, libmisc/strtoday.c, libmisc/chkname.c, libmisc/chowndir.c, libmisc/copydir.c, libmisc/failure.c, lib/defines.h, lib/dialchk.c, lib/pwauth.c, lib/pwpack.c, doc/Attic/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@linux.org.pl>
+
+ * 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.linux, doc/README.mirrors, doc/Attic/CHANGES, configure.in:
+ *** empty log message ***
+
+1998-01-30 Marek Micha³kiewicz <marekm@linux.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/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/obscure.c, libmisc/age.c, libmisc/env.c, libmisc/limits.c, lib/shadow.c, lib/shadowio.c, lib/shadowio.h, lib/strstr.c, lib/utent.c, lib/pwio.c, lib/pwio.h, lib/rmdir.c, lib/sgetspent.c, lib/sgroupio.c, lib/mkdir.c, lib/prototypes.h, lib/putgrent.c, 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/Attic/automake-1.0.diff, doc/README.mirrors, doc/WISHLIST, lib/Makefile.am, lib/commonio.c, doc/ANNOUNCE, doc/Attic/CHANGES, doc/Makefile.am, doc/README.limits, doc/README.linux, debian/Makefile.am, debian/changelog, debian/login.copyright, debian/rules, Attic/mkinstalldirs, Attic/shadow-utils.spec, contrib/README, Attic/aclocal.m4, acconfig.h, configure.in, Makefile.am:
+ *** empty log message ***
+
+1998-01-25 Marek Micha³kiewicz <marekm@linux.org.pl>
+
+ * acconfig.h: *** empty log message ***
+
+1997-12-14 Marek Micha³kiewicz <marekm@linux.org.pl>
+
+ * doc/Attic/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/prototypes.h, lib/pwdbm.c, lib/pwent.c, lib/shadow.c, doc/LSM, doc/WISHLIST, etc/limits, lib/grent.c, Attic/shadow-utils.spec, debian/changelog, configure.in:
+ *** empty log message ***
+
+1997-12-08 Marek Micha³kiewicz <marekm@linux.org.pl>
+
+ * 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/logoutd.c, src/mkpasswd.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/chsh.c, src/dpasswd.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/Makefile.am, man/limits.5, man/pwconv.8, man/shadowconfig.8, man/vipw.8, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, libmisc/strtoday.c, libmisc/suauth.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setup.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/failure.h, libmisc/fields.c, libmisc/getdate.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/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chkname.h, libmisc/chkshell.c, lib/strdup.c, lib/strerror.c, lib/strstr.c, lib/utent.c, libmisc/Makefile.am, libmisc/addgrps.c, lib/sgroupio.c, lib/shadow.c, lib/shadowio.c, lib/spdbm.c, lib/sppack.c, lib/rename.c, lib/rmdir.c, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/rad64.c, lib/pwauth.c, lib/pwdbm.c, lib/pwent.c, lib/pwio.c, lib/pwpack.c, lib/mkdir.c, lib/port.c, lib/prototypes.h, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/gsdbm.c, lib/gshadow.c, lib/gspack.c, lib/lockpw.c, lib/md5.c, lib/md5crypt.c, lib/grdbm.c, lib/grent.c, lib/groupio.c, lib/grpack.c, lib/getpass.c, lib/dialup.c, lib/encrypt.c, lib/fputsx.c, lib/getdef.c, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/dialchk.c, lib/dialchk.h, doc/Attic/automake-1.0.diff, etc/limits, etc/login.defs.linux, lib/Makefile.am, doc/Attic/CHANGES, doc/README.linux, doc/README.mirrors, 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, Attic/aclocal.m4, Attic/shadow-utils.spec, acconfig.h, configure.in, Makefile.am:
+ *** empty log message ***
+
+1997-10-01 Marek Micha³kiewicz <marekm@linux.org.pl>
+
+ * debian/changelog, src/chpasswd.c, libmisc/login_access.c, lib/commonio.h, lib/sgroupio.c, lib/shadowio.c, etc/login.defs.linux, doc/Attic/CHANGES, doc/LSM, doc/README.mirrors, doc/WISHLIST, Attic/shadow-utils.spec:
+ *** empty log message ***
+
+1997-09-30 Marek Micha³kiewicz <marekm@linux.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/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/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/isexpired.c, libmisc/login_access.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/sgroupio.c, lib/sgroupio.h, lib/shadowio.c, lib/shadowio.h, lib/snprintf.c, lib/snprintf.h, lib/putgrent.c, lib/pwauth.c, lib/pwent.c, lib/getpass.c, lib/grent.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.linux, doc/README.mirrors, doc/WISHLIST, doc/Attic/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@linux.org.pl>
+
+ * man/chpasswd.8, man/pwconv.8, man/pwunconv.8, man/su.1, man/Makefile.am:
+ *** empty log message ***
+
+1997-06-16 Marek Micha³kiewicz <marekm@linux.org.pl>
+
+ * doc/Attic/console.c.spec, doc/Makefile.am, doc/WISHLIST, doc/console.c.spec.txt, doc/Attic/CHANGES, debian/changelog, src/shadowconfig.sh, redhat/Attic/Makefile.am, redhat/Attic/README, redhat/Attic/shadow-970502-config.patch, redhat/Attic/shadow-utils.spec, doc/README.mirrors, doc/README.shadow-paper, doc/README.linux, debian/login.copyright, debian/passwd.copyright, debian/secure-su.copyright, Attic/shadow-utils.spec, Makefile.am, configure.in:
+ *** empty log message ***
+
+1997-06-01 Marek Micha³kiewicz <marekm@linux.org.pl>
+
+ * 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/Attic/Makefile.am, redhat/Attic/README, redhat/Attic/shadow-970502-config.patch, redhat/Attic/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/Attic/CHANGES, doc/INSTALL, Attic/install-sh, Attic/mkinstalldirs, Makefile.am, acconfig.h, configure.in:
+ *** empty log message ***
+
+1997-05-02 Marek Micha³kiewicz <marekm@linux.org.pl>
+
+ * 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/Attic/CHANGES, debian/Attic/shadowconfig, debian/Makefile.am, debian/changelog, debian/control, debian/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/pw_auth.3, man/pwauth.8, 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/login.defs.5, man/logoutd.8, man/mkpasswd.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/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/dpasswd.8, 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/pwauth.h, lib/pwdbm.c, lib/pwent.c, lib/port.h, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/pwauth.c, lib/lastlog_.h, lib/lockpw.c, lib/mkdir.c, lib/port.c, lib/grpack.c, lib/gsdbm.c, lib/gshadow.c, lib/gshadow_.h, lib/gspack.c, lib/getdef.c, lib/getpass.c, lib/grdbm.c, lib/grent.c, lib/dialup.h, lib/encrypt.c, lib/faillog.h, lib/fputsx.c, lib/commonio.c, lib/defines.h, lib/dialchk.c, lib/dialup.c, etc/login.defs, etc/login.defs.linux, 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/Attic/logoutd, debian/login.conffiles, debian/login.copyright, debian/login.postinst, debian/login.postrm, debian/login.preinst, debian/login.prerm, Attic/config.h.in, acconfig.h, Makefile.am, old/Attic/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/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/newusers.c, src/passwd.c, src/patchlevel.h, src/logoutd.c, src/mkpasswd.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/chsh.c, src/dpasswd.c, src/expiry.c, src/chfn.c, src/chpasswd.c, src/chage.c:
+ *** empty log message ***
+
+1997-02-11 Marek Micha³kiewicz <marekm@linux.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:
+ *** empty log message ***
+
+1997-01-08 Marek Micha³kiewicz <marekm@linux.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/strtoday.c, libmisc/suauth.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/groupio.c, lib/groupio.h, lib/gshadow.c, lib/prototypes.h, lib/putgrent.c, 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, acconfig.h, configure.in:
+ *** empty log message ***
+
+1996-10-27 Marek Micha³kiewicz <marekm@linux.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:
+ *** empty log message ***
+
+1996-09-25 Marek Micha³kiewicz <marekm@linux.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/getdef.c, lib/prototypes.h, lib/rad64.c, lib/defines.h, etc/login.defs.linux, doc/README.linux, doc/WISHLIST, doc/Attic/CHANGES, Attic/configure, configure.in, Attic/config.h.in:
+ *** empty log message ***
+
+1996-09-20 Marek Micha³kiewicz <marekm@linux.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/chsh.c, src/dpasswd.c, src/gpasswd.c, src/groupadd.c, src/Attic/Makefile.in, src/chage.c, src/chfn.c, src/Makefile.am, libmisc/shell.c, libmisc/suauth.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:
+ *** empty log message ***
+
+1996-09-10 Marek Micha³kiewicz <marekm@linux.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/pw_auth.3, man/pwauth.8, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/login.defs.5, man/logoutd.8, man/mkpasswd.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/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/dpasswd.8, 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:
+ *** empty log message ***
+
+1996-08-10 Marek Micha³kiewicz <marekm@linux.org.pl>
+
+ * old/Attic/install-sh, 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/pwd.h.m4, shlib/Attic/Makefile.in, shlib/Makefile.am, shlib/Makefile.in.saved:
+ 960810 - first version under cvs
+
+ * old/Attic/install-sh, 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/pwd.h.m4, shlib/Attic/Makefile.in, shlib/Makefile.am, shlib/Makefile.in.saved:
+ New file.
+
+ * contrib/Attic/Makefile.in, contrib/Makefile.am, contrib/README, contrib/adduser-old.c, contrib/adduser.c, contrib/adduser.sh, contrib/adduser2.sh, contrib/atudel, contrib/pwdauth.c, doc/ANNOUNCE, doc/Attic/CHANGES, doc/Attic/Makefile.in, 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/README.sun4, 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/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/patchlevel.h, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c:
+ 960810 - first version under cvs
+
+ * contrib/Attic/Makefile.in, contrib/Makefile.am, contrib/README, contrib/adduser-old.c, contrib/adduser.c, contrib/adduser.sh, contrib/adduser2.sh, contrib/atudel, contrib/pwdauth.c, doc/ANNOUNCE, doc/Attic/CHANGES, doc/Attic/Makefile.in, 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/README.sun4, 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/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/patchlevel.h, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c:
+ New file.
+
+ * lib/defines.h, lib/dialup.h, lib/faillog.h, lib/getdef.h, lib/grdbm.c, lib/grent.c, lib/groupio.h, lib/grpack.c, lib/gsdbm.c, lib/gshadow_.h, lib/gspack.c, lib/lastlog_.h, lib/md5.c, lib/md5.h, lib/md5crypt.c, lib/mkdir.c, lib/port.h, lib/prototypes.h, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/pwauth.h, lib/pwdbm.c, lib/pwent.c, lib/pwio.h, lib/pwpack.c, lib/rcsid.h, lib/rename.c, lib/rmdir.c, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/sgroupio.h, lib/shadow.c, lib/shadow_.h, lib/shadowio.c, lib/shadowio.h, lib/spdbm.c, lib/sppack.c, lib/strdup.c, lib/strstr.c, lib/utent.c, src/Attic/Makefile.in, src/Makefile.am, src/chpasswd.c, src/dpasswd.c, src/faillog.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/grpck.c, src/lastlog.c, src/logoutd.c, src/mkpasswd.c, src/newusers.c, src/pwck.c, src/useradd.c, src/userdel.c, src/usermod.c:
+ 960810 - first version under cvs
+
+ * lib/defines.h, lib/dialup.h, lib/faillog.h, lib/getdef.h, lib/grdbm.c, lib/grent.c, lib/groupio.h, lib/grpack.c, lib/gsdbm.c, lib/gshadow_.h, lib/gspack.c, lib/lastlog_.h, lib/md5.c, lib/md5.h, lib/md5crypt.c, lib/mkdir.c, lib/port.h, lib/prototypes.h, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/pwauth.h, lib/pwdbm.c, lib/pwent.c, lib/pwio.h, lib/pwpack.c, lib/rcsid.h, lib/rename.c, lib/rmdir.c, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/sgroupio.h, lib/shadow.c, lib/shadow_.h, lib/shadowio.c, lib/shadowio.h, lib/spdbm.c, lib/sppack.c, lib/strdup.c, lib/strstr.c, lib/utent.c, src/Attic/Makefile.in, src/Makefile.am, src/chpasswd.c, src/dpasswd.c, src/faillog.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/grpck.c, src/lastlog.c, src/logoutd.c, src/mkpasswd.c, src/newusers.c, src/pwck.c, src/useradd.c, src/userdel.c, src/usermod.c:
+ New file.
+
+ * lib/Attic/Makefile.in, lib/Makefile.am, lib/commonio.c, lib/dialchk.c, lib/dialup.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/rad64.c, lib/sgroupio.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/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.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/setup.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/suauth.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/Makefile.am, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/dpasswd.8, 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/mkpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwauth.8, 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:
+ 960810 - first version under cvs
+
+ * lib/Attic/Makefile.in, lib/Makefile.am, lib/commonio.c, lib/dialchk.c, lib/dialup.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/rad64.c, lib/sgroupio.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/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.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/setup.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/suauth.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/Makefile.am, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/dpasswd.8, 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/mkpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwauth.8, 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:
+ New file.
+
+ * Attic/Makefile.in, Attic/aclocal.m4, Attic/config.h.in, Attic/configure, Attic/install-sh, Attic/mkinstalldirs, Attic/stamp-h.in, Makefile.am, README, acconfig.h, configure.in, libmisc/Attic/Makefile.in, libmisc/Makefile.am, libmisc/addgrps.c:
+ 960810 - first version under cvs
+
+ * Attic/Makefile.in, Attic/aclocal.m4, Attic/config.h.in, Attic/configure, Attic/install-sh, Attic/mkinstalldirs, Attic/stamp-h.in, Makefile.am, README, acconfig.h, configure.in, libmisc/Attic/Makefile.in, libmisc/Makefile.am, libmisc/addgrps.c:
+ New file.
+
## Process this file with automake to produce Makefile.in
+EXTRA_DIST = NEWS README TODO shadow-utils.spec.in
+
AUTOMAKE_OPTIONS = 1.0 foreign
SUBDIRS = intl po man lib libmisc src \
- contrib debian doc etc redhat # old
+ contrib debian doc etc
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
+# Makefile.in generated automatically by automake 1.4a from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_FLAG =
transform = @program_transform_name@
NORMAL_INSTALL = :
INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
-LD = @LD@
LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@
LIBMD = @LIBMD@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
-NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
YACC = @YACC@
l = @l@
+EXTRA_DIST = NEWS README TODO shadow-utils.spec.in
+
AUTOMAKE_OPTIONS = 1.0 foreign
-SUBDIRS = intl po man lib libmisc src contrib debian doc etc redhat # old
+SUBDIRS = intl po man lib libmisc src contrib debian doc etc
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES =
-DIST_COMMON = ./stamp-h.in ABOUT-NLS Makefile.am Makefile.in acconfig.h \
-aclocal.m4 config.guess config.h.in config.sub configure configure.in \
-install-sh ltconfig ltmain.sh missing mkinstalldirs
+CONFIG_CLEAN_FILES = shadow-utils.spec
+DIST_COMMON = README ./stamp-h.in ABOUT-NLS ChangeLog Makefile.am \
+Makefile.in NEWS TODO acconfig.h aclocal.m4 config.guess config.h.in \
+config.sub configure configure.in install-sh ltconfig ltmain.sh missing \
+mkinstalldirs shadow-utils.spec.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = tar
+TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
-rm -f config.h
maintainer-clean-hdr:
+shadow-utils.spec: $(top_builddir)/config.status shadow-utils.spec.in
+ cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$/$$file $(distdir)/$$file; \
+ cp -pr $$d/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
all-am: Makefile config.h
all-redirect: all-recursive-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
installdirs: installdirs-recursive
installdirs-am:
-$Id: CHANGES,v 1.30 2000/09/02 18:40:42 marekm Exp $
+$Id: NEWS,v 1.2 2000/10/12 03:19:03 kloczek Exp $
+
+shadow-20000902 => shadow-20001012
+
+- removed /redhat directory with obsoleted files (partialy rewrited spec
+ file is now in root directory),
+- aplayed shadow-19990827-group.patch patch from RH wich prevents adduser
+ overwrite previously existing groups in adduser,
+- added PAM support for chage (bind to "chage" PAM config file) also
+ added PAM support for all other small tools like chpasswd, groupadd,
+ groupdel, groupmod, newusers, useradd, userdel, usermod (bind to common
+ "shadow" PAM config file) - this modificaytions mainly based on
+ modifications prepared by Janek Rêkojarski <baggins@pld.org.pl>,
+- many small fixes and improvments in automake (mow "make dist"
+ works correctly),
+- added cs translation (Jiri Pavlovsky <Jiri.Pavlovsky@ff.cuni.cz>).
shadow-20000826 => shadow-20000902
shadow-3.3.2
Original version, received directly from the author.
-
--- /dev/null
+Shadow SITES
+============
+
+FTP site
+ ftp://ftp.pld.org.pl/software/shadow
+
+CVS repository
+ anonymous read only access :pserver:cvs@anoncvs.pld.org.pl:/cvsroot
+ module: shadow
+ password: cvs
+
+CVS web interface
+ http://cvsweb.pld.org.pl/index.cgi/shadow/
+ http://cvs.pld.org.pl/shadow/
+
+Mailing lists
+ for general discuss: shadow@pld.org.pl
+ subscribe by send empty mail to shadow-subscribe@pld.org.pl
+ cvs commit list: shadow-commit@pld.org.pl
+
+Mailing lists archives:
+ shadow@pld.org.pl - http://lists.pld.org.pl/archive/index.htm?10
+ shadow-commit@pld.org.pl - http://lists.pld.org.pl/archive/index.htm?11
+
+Maintainer contact
+==================
+
+Tomasz K³oczko <kloczek@pld.org.pl>
--- /dev/null
+- fix nscd flushing databases on change (I'm still not shure where it will
+ be bether add this on shadow or on PAM level),
+
+- add more translations (maintainners for man pages and gettext files
+ welcome),
+
+- move all doc to docbook (maybe also man pages).
-dnl aclocal.m4 generated automatically by aclocal 1.4
+dnl aclocal.m4 generated automatically by aclocal 1.4a
dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
AC_DEFUN(AM_INIT_AUTOMAKE,
[AC_REQUIRE([AC_PROG_INSTALL])
+dnl We require 2.13 because we rely on SHELL being computed by configure.
+AC_PREREQ([2.13])
PACKAGE=[$1]
AC_SUBST(PACKAGE)
VERSION=[$2]
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
-$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
+$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $lt_target \
|| AC_MSG_ERROR([libtool configure failed])
# Reload cache, that may have been modified by ltconfig
AC_REQUIRE([AC_PROG_LN_S])dnl
dnl
+case "$target" in
+NONE) lt_target="$host" ;;
+*) lt_target="$target" ;;
+esac
+
# Check for any special flags to pass to ltconfig.
-libtool_flags="--cache-file=$cache_file"
+#
+# the following will cause an existing older ltconfig to fail, so
+# we ignore this at the expense of the cache file... Checking this
+# will just take longer ... bummer!
+#libtool_flags="--cache-file=$cache_file"
+#
test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
# Some flags need to be propagated to the compiler or linker for good
# libtool support.
-case "$host" in
+case "$lt_target" in
*-*-irix6*)
# Find out which ABI we are using.
echo '[#]line __oline__ "configure"' > conftest.$ac_ext
AC_MSG_RESULT(no)
fi
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_SUBST(LD)
AC_PROG_LD_GNU
])
fi])
NM="$ac_cv_path_NM"
AC_MSG_RESULT([$NM])
-AC_SUBST(NM)
])
# AC_CHECK_LIBM - check for math library
AC_DEFUN(AC_CHECK_LIBM,
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
LIBM=
-case "$host" in
+case "$lt_target" in
*-*-beos* | *-*-cygwin*)
# These system don't have libm
;;
])
# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
-# the libltdl convenience library, adds --enable-ltdl-convenience to
-# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
-# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
-# to be `${top_builddir}/libltdl'. Make sure you start DIR with
-# '${top_builddir}/' (note the single quotes!) if your package is not
-# flat, and, if you're not using automake, define top_builddir as
-# appropriate in the Makefiles.
+# the libltdl convenience library and INCLTDL to the include flags for
+# the libltdl header and adds --enable-ltdl-convenience to the
+# configure arguments. Note that LIBLTDL and INCLTDL are not
+# AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If DIR is not
+# provided, it is assumed to be `libltdl'. LIBLTDL will be prefixed
+# with '${top_builddir}/' and INCLTDL 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
no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
"") enable_ltdl_convenience=yes
ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
esac
- LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la
- INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
+ LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
+ INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
])
# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
-# the libltdl installable library, and adds --enable-ltdl-install to
-# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
-# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
-# to be `${top_builddir}/libltdl'. Make sure you start DIR with
-# '${top_builddir}/' (note the single quotes!) if your package is not
-# flat, and, if you're not using automake, define top_builddir as
-# appropriate in the Makefiles.
+# the libltdl installable library and INCLTDL to the include flags for
+# the libltdl header and adds --enable-ltdl-install to the configure
+# arguments. Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is
+# AC_CONFIG_SUBDIRS called. If DIR is not provided and an installed
+# libltdl is not found, it is assumed to be `libltdl'. LIBLTDL will
+# be prefixed with '${top_builddir}/' and INCLTDL 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.
# 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
AC_CHECK_LIB(ltdl, main,
])
if test x"$enable_ltdl_install" = x"yes"; then
ac_configure_args="$ac_configure_args --enable-ltdl-install"
- LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la
- INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
+ LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
+ INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
else
ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
LIBLTDL="-lltdl"
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
# Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# the same distribution terms that you use for the rest of that program.
# Written by Per Bothner <bothner@cygnus.com>.
-# The master version of this file is at the FSF in /home/gd/gnu/lib.
-# Please send patches to the Autoconf mailing list <autoconf@gnu.org>.
+# Please send patches to <config-patches@gnu.org>.
#
# This script attempts to guess a canonical system name similar to
# config.sub. If it succeeds, it prints the system name on stdout, and
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:NetBSD:*:*)
+ # Netbsd (nbsd) targets should (where applicable) match one or
+ # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ # Determine the machine/vendor (is the vendor relevant).
+ case "${UNAME_MACHINE}" in
+ amiga) machine=m68k-cbm ;;
+ arm32) machine=arm-unknown ;;
+ atari*) machine=m68k-atari ;;
+ sun3*) machine=m68k-sun ;;
+ mac68k) machine=m68k-apple ;;
+ macppc) machine=powerpc-apple ;;
+ hp3[0-9][05]) machine=m68k-hp ;;
+ ibmrt|romp-ibm) machine=romp-ibm ;;
+ *) machine=${UNAME_MACHINE}-unknown ;;
+ esac
+ # The Operating System including object format.
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep __ELF__ >/dev/null
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+ os=netbsd
+ else
+ os=netbsdelf
+ fi
+ # The OS release
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+ exit 0 ;;
alpha:OSF1:*:*)
if test $UNAME_RELEASE = "V4.0"; then
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
cat <<EOF >$dummy.s
+ .data
+\$Lformat:
+ .byte 37,100,45,37,120,10,0 # "%d-%x\n"
+
+ .text
.globl main
+ .align 4
.ent main
main:
- .frame \$30,0,\$26,0
- .prologue 0
- .long 0x47e03d80 # implver $0
- lda \$2,259
- .long 0x47e20c21 # amask $2,$1
- srl \$1,8,\$2
- sll \$2,2,\$2
- sll \$0,3,\$0
- addl \$1,\$0,\$0
- addl \$2,\$0,\$0
- ret \$31,(\$26),1
+ .frame \$30,16,\$26,0
+ ldgp \$29,0(\$27)
+ .prologue 1
+ .long 0x47e03d80 # implver \$0
+ lda \$2,-1
+ .long 0x47e20c21 # amask \$2,\$1
+ lda \$16,\$Lformat
+ mov \$0,\$17
+ not \$1,\$18
+ jsr \$26,printf
+ ldgp \$29,0(\$26)
+ mov 0,\$16
+ jsr \$26,exit
.end main
EOF
$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
if test "$?" = 0 ; then
- ./$dummy
- case "$?" in
- 7)
+ case `./$dummy` in
+ 0-0)
UNAME_MACHINE="alpha"
;;
- 15)
+ 1-0)
UNAME_MACHINE="alphaev5"
;;
- 14)
+ 1-1)
UNAME_MACHINE="alphaev56"
;;
- 10)
+ 1-101)
UNAME_MACHINE="alphapca56"
;;
- 16)
+ 2-303)
UNAME_MACHINE="alphaev6"
;;
+ 2-307)
+ UNAME_MACHINE="alphaev67"
+ ;;
esac
fi
rm -f $dummy.s $dummy
Amiga*:UNIX_System_V:4.0:*)
echo m68k-cbm-sysv4
exit 0;;
- amiga:NetBSD:*:*)
- echo m68k-cbm-netbsd${UNAME_RELEASE}
- exit 0 ;;
amiga:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
wgrisc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit 0 ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit 0;;
- arm32:NetBSD:*:*)
- echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- exit 0 ;;
SR2?01:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
exit 0;;
aushp:SunOS:*:*)
echo sparc-auspex-sunos${UNAME_RELEASE}
exit 0 ;;
- atari*:NetBSD:*:*)
- echo m68k-atari-netbsd${UNAME_RELEASE}
- exit 0 ;;
atari*:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
- # "atarist" or "atariste" at least should have a processor
+ # "atarist" or "atariste" at least should have a processor
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
# to the lowercase version "mint" (or "freemint"). Finally
# the system name "TOS" denotes a system which is actually not
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
echo m68k-unknown-mint${UNAME_RELEASE}
exit 0 ;;
- sun3*:NetBSD:*:*)
- echo m68k-sun-netbsd${UNAME_RELEASE}
- exit 0 ;;
sun3*:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
- mac68k:NetBSD:*:*)
- echo m68k-apple-netbsd${UNAME_RELEASE}
- exit 0 ;;
mac68k:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE}
exit 0 ;;
- macppc:NetBSD:*:*)
- echo powerpc-apple-netbsd${UNAME_RELEASE}
- exit 0 ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
exit 0 ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
sed 's/^ //' << EOF >$dummy.c
#ifdef __cplusplus
+#include <stdio.h> /* for printf() prototype */
int main (int argc, char *argv[]) {
#else
int main (argc, argv) int argc; char *argv[]; {
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
- -o ${TARGET_BINARY_INTERFACE}x = x ] ; then
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+ [ ${TARGET_BINARY_INTERFACE}x = x ]
+ then
echo m88k-dg-dgux${UNAME_RELEASE}
- else
+ else
echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ fi
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
fi
- else echo i586-dg-dgux${UNAME_RELEASE}
- fi
exit 0 ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
echo romp-ibm-bsd4.4
exit 0 ;;
- ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
exit 0 ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
9000/[34]?? ) HP_ARCH=m68k ;;
9000/[678][0-9][0-9])
sed 's/^ //' << EOF >$dummy.c
+
+ #define _HPUX_SOURCE
#include <stdlib.h>
#include <unistd.h>
exit (0);
}
EOF
- ($CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
+ (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
rm -f $dummy.c $dummy
esac
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
exit 0 ;;
CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE}
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
CRAY*T3E:*:*:*)
- echo t3e-cray-unicosmk${UNAME_RELEASE}
+ echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
CRAY-2:*:*:*)
echo cray2-cray-unicos
F301:UNIX_System_V:*:*)
echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
exit 0 ;;
- hp3[0-9][05]:NetBSD:*:*)
- echo m68k-hp-netbsd${UNAME_RELEASE}
- exit 0 ;;
hp300:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
- i?86:BSD/386:*:* | i?86:BSD/OS:*:*)
+ i?86:BSD/386:*:* | i?86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
exit 0 ;;
sparc*:BSD/OS:*:*)
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit 0 ;;
*:FreeBSD:*:*)
- if test -x /usr/bin/objformat; then
- if test "elf" = "`/usr/bin/objformat`"; then
- echo ${UNAME_MACHINE}-unknown-freebsdelf`echo ${UNAME_RELEASE}|sed -e 's/[-_].*//'`
- exit 0
- fi
- fi
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit 0 ;;
- *:NetBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- exit 0 ;;
*:OpenBSD:*:*)
echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
exit 0 ;;
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit 0 ;;
*:Linux:*:*)
- # uname on the ARM produces all sorts of strangeness, and we need to
- # filter it out.
- case "$UNAME_MACHINE" in
- armv*) UNAME_MACHINE=$UNAME_MACHINE ;;
- arm* | sa110*) UNAME_MACHINE="arm" ;;
- esac
# The BFD linker knows what the default object file format is, so
# first see if it will tell us. cd to the root directory to prevent
s/ .*//
p'`
case "$ld_supported_emulations" in
- i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;;
- i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;;
- sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
- armlinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
- m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
- elf32ppc)
+ *ia64)
+ echo "${UNAME_MACHINE}-unknown-linux"
+ exit 0
+ ;;
+ i?86linux)
+ echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+ exit 0
+ ;;
+ elf_i?86)
+ echo "${UNAME_MACHINE}-pc-linux"
+ exit 0
+ ;;
+ i?86coff)
+ echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+ exit 0
+ ;;
+ sparclinux)
+ echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
+ exit 0
+ ;;
+ armlinux)
+ echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
+ exit 0
+ ;;
+ elf32arm*)
+ echo "${UNAME_MACHINE}-unknown-linux-gnuoldld"
+ exit 0
+ ;;
+ armelf_linux*)
+ echo "${UNAME_MACHINE}-unknown-linux-gnu"
+ exit 0
+ ;;
+ m68klinux)
+ echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
+ exit 0
+ ;;
+ elf32ppc | elf32ppclinux)
# Determine Lib Version
cat >$dummy.c <<EOF
#include <features.h>
if test "$?" = 0 ; then
LIBC="libc1"
fi
- fi
+ fi
rm -f $dummy.c $dummy
- echo powerpc-unknown-linux-gnu${LIBC} ; exit 0 ;;
+ echo powerpc-unknown-linux-gnu${LIBC}
+ exit 0
+ ;;
esac
if test "${UNAME_MACHINE}" = "alpha" ; then
- sed 's/^ //' <<EOF >$dummy.s
- .globl main
- .ent main
- main:
- .frame \$30,0,\$26,0
- .prologue 0
- .long 0x47e03d80 # implver $0
- lda \$2,259
- .long 0x47e20c21 # amask $2,$1
- srl \$1,8,\$2
- sll \$2,2,\$2
- sll \$0,3,\$0
- addl \$1,\$0,\$0
- addl \$2,\$0,\$0
- ret \$31,(\$26),1
- .end main
+ cat <<EOF >$dummy.s
+ .data
+ \$Lformat:
+ .byte 37,100,45,37,120,10,0 # "%d-%x\n"
+
+ .text
+ .globl main
+ .align 4
+ .ent main
+ main:
+ .frame \$30,16,\$26,0
+ ldgp \$29,0(\$27)
+ .prologue 1
+ .long 0x47e03d80 # implver \$0
+ lda \$2,-1
+ .long 0x47e20c21 # amask \$2,\$1
+ lda \$16,\$Lformat
+ mov \$0,\$17
+ not \$1,\$18
+ jsr \$26,printf
+ ldgp \$29,0(\$26)
+ mov 0,\$16
+ jsr \$26,exit
+ .end main
EOF
LIBC=""
$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
if test "$?" = 0 ; then
- ./$dummy
- case "$?" in
- 7)
+ case `./$dummy` in
+ 0-0)
UNAME_MACHINE="alpha"
;;
- 15)
+ 1-0)
UNAME_MACHINE="alphaev5"
;;
- 14)
+ 1-1)
UNAME_MACHINE="alphaev56"
;;
- 10)
+ 1-101)
UNAME_MACHINE="alphapca56"
;;
- 16)
+ 2-303)
UNAME_MACHINE="alphaev6"
;;
+ 2-307)
+ UNAME_MACHINE="alphaev67"
+ ;;
esac
objdump --private-headers $dummy | \
elif test "${UNAME_MACHINE}" = "mips" ; then
cat >$dummy.c <<EOF
#ifdef __cplusplus
+#include <stdio.h> /* for printf() prototype */
int main (int argc, char *argv[]) {
#else
int main (argc, argv) int argc; char *argv[]; {
EOF
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
+ elif test "${UNAME_MACHINE}" = "s390"; then
+ echo s390-ibm-linux && exit 0
else
# Either a pre-BFD a.out linker (linux-gnuoldld)
# or one that does not give us useful --help.
cat >$dummy.c <<EOF
#include <features.h>
#ifdef __cplusplus
+#include <stdio.h> /* for printf() prototype */
int main (int argc, char *argv[]) {
#else
int main (argc, argv) int argc; char *argv[]; {
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
exit 0 ;;
i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
fi
exit 0 ;;
i?86:*:5:7*)
- UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
- (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
- (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) && UNAME_MACHINE=i586
- (/bin/uname -X|egrep '^Machine.*Pent.*II' >/dev/null) && UNAME_MACHINE=i686
- (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) && UNAME_MACHINE=i585
- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}${UNAME_VERSION}-sysv${UNAME_RELEASE}
+ # Fixed at (any) Pentium or better
+ UNAME_MACHINE=i586
+ if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then
+ echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION}
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
+ fi
exit 0 ;;
i?86:*:3.2:*)
if test -f /usr/options/cb.name; then
echo ${UNAME_MACHINE}-pc-sysv32
fi
exit 0 ;;
+ i?86:*DOS:*:*)
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ exit 0 ;;
pc:*:*:*)
+ # Left here for compatibility:
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i386.
echo i386-pc-msdosdjgpp
*:Rhapsody:*:*)
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
exit 0 ;;
+ *:Darwin:*:*)
+ echo `uname -p`-apple-darwin${UNAME_RELEASE}
+ exit 0 ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ if test "${UNAME_MACHINE}" = "x86pc"; then
+ UNAME_MACHINE=pc
+ fi
+ echo `uname -p`-${UNAME_MACHINE}-nto-qnx
+ exit 0 ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit 0 ;;
+ NSR-W:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+ exit 0 ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+ exit 0 ;;
+ DS/*:UNIX_System_V:*:*)
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ exit 0 ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
#! /bin/sh
# Configuration validation subroutine script, version 1.1.
-# Copyright (C) 1991, 92-97, 1998, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+# Free Software Foundation, Inc.
+#
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# can handle that machine. It does not imply ALL GNU software can.
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
+# Written by Per Bothner <bothner@cygnus.com>.
+# Please send patches to <config-patches@gnu.org>.
+#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1.
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- linux-gnu*)
+ nto-qnx* | linux-gnu*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
-scout)
;;
-wrs)
- os=vxworks
+ os=-vxworks
basic_machine=$1
;;
-hiux*)
-psos*)
os=-psos
;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
esac
# Decode aliases for certain CPU-COMPANY combinations.
case $basic_machine in
# Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below.
- tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
+ tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
| arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
| 580 | i960 | h8300 \
+ | x86 | ppcbe | mipsbe | mipsle | shbe | shle | armbe | armle \
| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
- | alpha | alphaev[4-7] | alphaev56 | alphapca5[67] \
+ | hppa64 \
+ | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
+ | alphaev6[78] \
| we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
| 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
| mips64orion | mips64orionel | mipstx39 | mipstx39el \
| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
- | mips64vr5000 | miprs64vr5000el \
+ | mips64vr5000 | miprs64vr5000el | mcore \
| sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
- | thumb | d10v)
+ | thumb | d10v | fr30 | avr)
basic_machine=$basic_machine-unknown
;;
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65)
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
;;
# We use `pc' rather than `unknown'
exit 1
;;
# Recognize the basic CPU types with company name.
- vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \
+ # FIXME: clean up the formatting here.
+ vax-* | tahoe-* | i[34567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
| power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
| xmp-* | ymp-* \
- | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \
- | alpha-* | alphaev[4-7]-* | alphaev56-* | alphapca5[67]-* \
+ | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* | armbe-* | armle-* \
+ | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
+ | hppa2.0n-* | hppa64-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
+ | alphaev6[78]-* \
| we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
| clipper-* | orion-* \
| sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
| sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
| mips64el-* | mips64orion-* | mips64orionel-* \
| mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
- | mipstx39-* | mipstx39el-* \
- | f301-* | armv*-* | t3e-* \
+ | mipstx39-* | mipstx39el-* | mcore-* \
+ | f301-* | armv*-* | s390-* | sv1-* | t3e-* \
| m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
- | thumb-* | v850-* | d30v-* | tic30-* | c30-* )
+ | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* \
+ | bs2000-*)
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
;;
i370-ibm* | ibm*)
basic_machine=i370-ibm
- os=-mvs
;;
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
i[34567]86v32)
miniframe)
basic_machine=m68000-convergent
;;
- *mint | *MiNT)
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
basic_machine=m68k-atari
os=-mint
;;
mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
;;
+ mmix*)
+ basic_machine=mmix-knuth
+ os=-mmixware
+ ;;
monitor)
basic_machine=m68k-rom68k
os=-coff
basic_machine=i386-unknown
os=-msdos
;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
ncr3000)
basic_machine=i486-ncr
os=-sysv4
os=-netbsd
;;
netwinder)
- basic_machine=armv4l-corel
+ basic_machine=armv4l-rebel
os=-linux
;;
news | news700 | news800 | news900)
np1)
basic_machine=np1-gould
;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
op50n-* | op60c-*)
basic_machine=hppa1.1-oki
os=-proelf
sun386 | sun386i | roadrunner)
basic_machine=i386-sun
;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
symmetry)
basic_machine=i386-sequent
os=-dynix
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
- | -interix* | -uwin* | -rhapsody* | -openstep* | -oskit*)
+ | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i[34567]86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto*)
+ os=-nto-qnx
+ ;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
| -windows* | -osx | -abug | -netware* | -os9* | -beos* \
- | -macos* | -mpw* | -magic* | -mon960* | -lnews*)
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;;
-mac*)
os=`echo $os | sed -e 's|mac|macos|'`
-sunos6*)
os=`echo $os | sed -e 's|sunos6|solaris3|'`
;;
+ -opened*)
+ os=-openedition
+ ;;
+ -wince*)
+ os=-wince
+ ;;
-osfrose*)
os=-osfrose
;;
-ns2 )
os=-nextstep2
;;
+ -nsk)
+ os=-nsk
+ ;;
# Preserve the version number of sinix5.
-sinix5.*)
os=`echo $os | sed -e 's|sinix|sysv|'`
*-acorn)
os=-riscix1.2
;;
- arm*-corel)
+ arm*-rebel)
os=-linux
;;
arm*-semi)
-genix*)
vendor=ns
;;
- -mvs*)
+ -mvs* | -opened*)
vendor=ibm
;;
-ptx*)
datadir='${prefix}/share'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
+localstatedir='/var/lib'
libdir='${exec_prefix}/lib'
includedir='${prefix}/include'
oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
+infodir='${prefix}/share/info'
+mandir='${prefix}/share/man'
# Initialize some other variables.
subdirs=
*)
if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
+ echo "configure: WARNING: $ac_option: invalid host type" 1>&2
fi
if test "x$nonopt" != xNONE; then
{ echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
esac
done
+# Support of DJGPP port of bash.
+if test -n "$COMSPEC$ComSpec"; then ac_x=-x; else ac_x=-f; fi
+
# NLS nuisances.
# Only set these to C if already set. These must not be set unconditionally
# because not all systems understand e.g. LANG=C (notably SCO).
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:588: checking for a BSD compatible install" >&5
+echo "configure:591: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
# Don't use installbsd from OSF since it installs stuff as root
# by default.
for ac_prog in ginstall scoinst install; do
- if test -f $ac_dir/$ac_prog; then
+ if test $ac_x $ac_dir/$ac_prog; then
if test $ac_prog = install &&
grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:641: checking whether build environment is sane" >&5
+echo "configure:644: checking whether build environment is sane" >&5
# Just in case
sleep 1
echo timestamp > conftestfile
test "$program_transform_name" = "" && program_transform_name="s,x,x,"
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:698: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:701: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
fi
+
PACKAGE=shadow
-VERSION=20000902
+VERSION=20001012
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
{ echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
missing_dir=`cd $ac_aux_dir && pwd`
echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
-echo "configure:744: checking for working aclocal" >&5
+echo "configure:748: checking for working aclocal" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
fi
echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
-echo "configure:757: checking for working autoconf" >&5
+echo "configure:761: checking for working autoconf" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
fi
echo $ac_n "checking for working automake""... $ac_c" 1>&6
-echo "configure:770: checking for working automake" >&5
+echo "configure:774: checking for working automake" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
fi
echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
-echo "configure:783: checking for working autoheader" >&5
+echo "configure:787: checking for working autoheader" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
fi
echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
-echo "configure:796: checking for working makeinfo" >&5
+echo "configure:800: checking for working makeinfo" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
test "$CFLAGS" = "" && CFLAGS="-O2 -Wall"
test "$LDFLAGS" = "" && LDFLAGS="-s"
-ALL_LINGUAS="el fr pl sv"
-
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:823: checking for $ac_word" >&5
+echo "configure:825: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
+ if test $ac_x $ac_dir/$ac_word; then
ac_cv_prog_CC="gcc"
break
fi
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:853: checking for $ac_word" >&5
+echo "configure:855: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
+ if test $ac_x $ac_dir/$ac_word; then
if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:904: checking for $ac_word" >&5
+echo "configure:906: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
+ if test $ac_x $ac_dir/$ac_word; then
ac_cv_prog_CC="cl"
break
fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:936: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:938: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
cat > conftest.$ac_ext << EOF
-#line 947 "configure"
+#line 949 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:952: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:954: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:978: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:980: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:983: checking whether we are using GNU C" >&5
+echo "configure:985: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:992: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:994: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1011: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1013: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
fi
echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
-echo "configure:1043: checking for POSIXized ISC" >&5
+echo "configure:1045: checking for POSIXized ISC" >&5
if test -d /etc/conf/kconfig.d &&
grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
then
fi
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:1064: checking whether ln -s works" >&5
+echo "configure:1066: checking whether ln -s works" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1089: checking for $ac_word" >&5
+echo "configure:1091: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
+ if test $ac_x $ac_dir/$ac_word; then
ac_cv_prog_YACC="$ac_prog"
break
fi
echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6
-echo "configure:1123: checking for ${CC-cc} option to accept ANSI C" >&5
+echo "configure:1125: checking for ${CC-cc} option to accept ANSI C" >&5
if eval "test \"`echo '$''{'am_cv_prog_cc_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
do
CC="$ac_save_CC $ac_arg"
cat > conftest.$ac_ext <<EOF
-#line 1139 "configure"
+#line 1141 "configure"
#include "confdefs.h"
#include <stdarg.h>
#include <stdio.h>
; return 0; }
EOF
-if { (eval echo configure:1176: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1178: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
am_cv_prog_cc_stdc="$ac_arg"; break
else
esac
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1200: checking how to run the C preprocessor" >&5
+echo "configure:1202: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 1215 "configure"
+#line 1217 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1221: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1223: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 1232 "configure"
+#line 1234 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1238: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1240: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 1249 "configure"
+#line 1251 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1255: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1257: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
echo $ac_n "checking for function prototypes""... $ac_c" 1>&6
-echo "configure:1282: checking for function prototypes" >&5
+echo "configure:1284: checking for function prototypes" >&5
if test "$am_cv_prog_cc_stdc" != no; then
echo "$ac_t""yes" 1>&6
cat >> confdefs.h <<\EOF
U=_ ANSI2KNR=./ansi2knr
# Ensure some checks needed by ansi2knr itself.
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1295: checking for ANSI C header files" >&5
+echo "configure:1297: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1300 "configure"
+#line 1302 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1308: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1310: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 1325 "configure"
+#line 1327 "configure"
#include "confdefs.h"
#include <string.h>
EOF
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 1343 "configure"
+#line 1345 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
:
else
cat > conftest.$ac_ext <<EOF
-#line 1364 "configure"
+#line 1366 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
exit (0); }
EOF
-if { (eval echo configure:1375: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1377: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1402: checking for $ac_hdr" >&5
+echo "configure:1404: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1407 "configure"
+#line 1409 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1412: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1414: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:1516: checking host system type" >&5
+echo "configure:1518: checking host system type" >&5
host_alias=$host
case "$host_alias" in
echo "$ac_t""$host" 1>&6
echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:1537: checking build system type" >&5
+echo "configure:1539: checking build system type" >&5
build_alias=$build
case "$build_alias" in
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1557: checking for $ac_word" >&5
+echo "configure:1559: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
+ if test $ac_x $ac_dir/$ac_word; then
ac_cv_prog_RANLIB="ranlib"
break
fi
if test "$ac_cv_prog_gcc" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:1596: checking for ld used by GCC" >&5
+echo "configure:1598: checking for ld used by GCC" >&5
ac_prog=`($CC -print-prog-name=ld) 2>&5`
case "$ac_prog" in
# Accept absolute paths.
esac
elif test "$with_gnu_ld" = yes; then
echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:1620: checking for GNU ld" >&5
+echo "configure:1622: checking for GNU ld" >&5
else
echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:1623: checking for non-GNU ld" >&5
+echo "configure:1625: checking for non-GNU ld" >&5
fi
if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
echo "$ac_t""no" 1>&6
fi
test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
-
echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:1659: checking if the linker ($LD) is GNU ld" >&5
+echo "configure:1660: checking if the linker ($LD) is GNU ld" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
-echo "configure:1675: checking for BSD-compatible nm" >&5
+echo "configure:1676: checking for BSD-compatible nm" >&5
if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
echo "$ac_t""$NM" 1>&6
+case "$target" in
+NONE) lt_target="$host" ;;
+*) lt_target="$target" ;;
+esac
# Check for any special flags to pass to ltconfig.
-libtool_flags="--cache-file=$cache_file"
+#
+# the following will cause an existing older ltconfig to fail, so
+# we ignore this at the expense of the cache file... Checking this
+# will just take longer ... bummer!
+#libtool_flags="--cache-file=$cache_file"
+#
test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
# Some flags need to be propagated to the compiler or linker for good
# libtool support.
-case "$host" in
+case "$lt_target" in
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 1735 "configure"' > conftest.$ac_ext
- if { (eval echo configure:1736: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ echo '#line 1745 "configure"' > conftest.$ac_ext
+ if { (eval echo configure:1746: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
case "`/usr/bin/file conftest.o`" in
*32-bit*)
LD="${LD-ld} -32"
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
-echo "configure:1757: checking whether the C compiler needs -belf" >&5
+echo "configure:1767: checking whether the C compiler needs -belf" >&5
if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1762 "configure"
+#line 1772 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:1769: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1779: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
lt_cv_cc_needs_belf=yes
else
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
-$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
+$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $lt_target \
|| { echo "configure: error: libtool configure failed" 1>&2; exit 1; }
# Reload cache, that may have been modified by ltconfig
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
-echo "configure:1877: checking for $ac_hdr that defines DIR" >&5
+echo "configure:1887: checking for $ac_hdr that defines DIR" >&5
if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1882 "configure"
+#line 1892 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <$ac_hdr>
DIR *dirp = 0;
; return 0; }
EOF
-if { (eval echo configure:1890: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1900: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
eval "ac_cv_header_dirent_$ac_safe=yes"
else
done
# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
if test $ac_header_dirent = dirent.h; then
-echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
-echo "configure:1915: checking for opendir in -ldir" >&5
+echo $ac_n "checking for opendir""... $ac_c" 1>&6
+echo "configure:1925: checking for opendir" >&5
+if eval "test \"`echo '$''{'ac_cv_func_opendir'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1930 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char opendir(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char opendir();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_opendir) || defined (__stub___opendir)
+choke me
+#else
+opendir();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:1953: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_opendir=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_opendir=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'opendir`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ :
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test $ac_cv_func_opendir = no; then
+ echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
+echo "configure:1974: checking for opendir in -ldir" >&5
ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-ldir $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1923 "configure"
+#line 1982 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
opendir()
; return 0; }
EOF
-if { (eval echo configure:1934: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1993: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "$ac_t""no" 1>&6
fi
+fi
else
echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:1956: checking for opendir in -lx" >&5
+echo "configure:2016: checking for opendir in -lx" >&5
ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lx $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1964 "configure"
+#line 2024 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
opendir()
; return 0; }
EOF
-if { (eval echo configure:1975: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2035: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1998: checking for ANSI C header files" >&5
+echo "configure:2058: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2003 "configure"
+#line 2063 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2011: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2071: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 2028 "configure"
+#line 2088 "configure"
#include "confdefs.h"
#include <string.h>
EOF
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 2046 "configure"
+#line 2106 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
:
else
cat > conftest.$ac_ext <<EOF
-#line 2067 "configure"
+#line 2127 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
exit (0); }
EOF
-if { (eval echo configure:2078: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2138: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
fi
echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:2102: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:2162: checking for sys/wait.h that is POSIX.1 compatible" >&5
if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2107 "configure"
+#line 2167 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/wait.h>
s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
; return 0; }
EOF
-if { (eval echo configure:2123: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2183: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_sys_wait_h=yes
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2147: checking for $ac_hdr" >&5
+echo "configure:2207: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2152 "configure"
+#line 2212 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2157: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2217: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2187: checking for $ac_hdr" >&5
+echo "configure:2247: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2192 "configure"
+#line 2252 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2197: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2257: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2227: checking for $ac_hdr" >&5
+echo "configure:2287: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2232 "configure"
+#line 2292 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2237: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2297: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2267: checking for $ac_hdr" >&5
+echo "configure:2327: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2272 "configure"
+#line 2332 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2277: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2337: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:2305: checking for working const" >&5
+echo "configure:2365: checking for working const" >&5
if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2310 "configure"
+#line 2370 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:2359: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2419: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
fi
echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
-echo "configure:2380: checking for uid_t in sys/types.h" >&5
+echo "configure:2440: checking for uid_t in sys/types.h" >&5
if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2385 "configure"
+#line 2445 "configure"
#include "confdefs.h"
#include <sys/types.h>
EOF
fi
echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:2414: checking for off_t" >&5
+echo "configure:2474: checking for off_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2419 "configure"
+#line 2479 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:2447: checking for pid_t" >&5
+echo "configure:2507: checking for pid_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2452 "configure"
+#line 2512 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for mode_t""... $ac_c" 1>&6
-echo "configure:2480: checking for mode_t" >&5
+echo "configure:2540: checking for mode_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2485 "configure"
+#line 2545 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for st_rdev in struct stat""... $ac_c" 1>&6
-echo "configure:2513: checking for st_rdev in struct stat" >&5
+echo "configure:2573: checking for st_rdev in struct stat" >&5
if eval "test \"`echo '$''{'ac_cv_struct_st_rdev'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2518 "configure"
+#line 2578 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/stat.h>
struct stat s; s.st_rdev;
; return 0; }
EOF
-if { (eval echo configure:2526: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2586: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_st_rdev=yes
else
fi
echo $ac_n "checking whether stat file-mode macros are broken""... $ac_c" 1>&6
-echo "configure:2547: checking whether stat file-mode macros are broken" >&5
+echo "configure:2607: checking whether stat file-mode macros are broken" >&5
if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2552 "configure"
+#line 2612 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/stat.h>
fi
echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:2603: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:2663: checking whether time.h and sys/time.h may both be included" >&5
if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2608 "configure"
+#line 2668 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/time.h>
struct tm *tp;
; return 0; }
EOF
-if { (eval echo configure:2617: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2677: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_time=yes
else
fi
echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
-echo "configure:2638: checking whether struct tm is in sys/time.h or time.h" >&5
+echo "configure:2698: checking whether struct tm is in sys/time.h or time.h" >&5
if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2643 "configure"
+#line 2703 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <time.h>
struct tm *tp; tp->tm_sec;
; return 0; }
EOF
-if { (eval echo configure:2651: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2711: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_tm=time.h
else
echo $ac_n "checking for pw_age in struct passwd""... $ac_c" 1>&6
-echo "configure:2673: checking for pw_age in struct passwd" >&5
+echo "configure:2733: checking for pw_age in struct passwd" >&5
if eval "test \"`echo '$''{'ac_cv_struct_passwd_pw_age'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2678 "configure"
+#line 2738 "configure"
#include "confdefs.h"
#include <pwd.h>
int main() {
struct passwd pw; pw.pw_age = "";
; return 0; }
EOF
-if { (eval echo configure:2685: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2745: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_passwd_pw_age=yes
else
fi
echo $ac_n "checking for pw_comment in struct passwd""... $ac_c" 1>&6
-echo "configure:2707: checking for pw_comment in struct passwd" >&5
+echo "configure:2767: checking for pw_comment in struct passwd" >&5
if eval "test \"`echo '$''{'ac_cv_struct_passwd_pw_comment'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2712 "configure"
+#line 2772 "configure"
#include "confdefs.h"
#include <pwd.h>
int main() {
struct passwd pw; pw.pw_comment = "";
; return 0; }
EOF
-if { (eval echo configure:2719: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2779: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_passwd_pw_comment=yes
else
fi
echo $ac_n "checking for pw_quota in struct passwd""... $ac_c" 1>&6
-echo "configure:2741: checking for pw_quota in struct passwd" >&5
+echo "configure:2801: checking for pw_quota in struct passwd" >&5
if eval "test \"`echo '$''{'ac_cv_struct_passwd_pw_quota'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2746 "configure"
+#line 2806 "configure"
#include "confdefs.h"
#include <pwd.h>
int main() {
struct passwd pw; pw.pw_quota = 0;
; return 0; }
EOF
-if { (eval echo configure:2753: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2813: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_passwd_pw_quota=yes
else
if test "$ac_cv_header_utmp_h" = "yes"; then
echo $ac_n "checking for ut_host in struct utmp""... $ac_c" 1>&6
-echo "configure:2776: checking for ut_host in struct utmp" >&5
+echo "configure:2836: checking for ut_host in struct utmp" >&5
if eval "test \"`echo '$''{'ac_cv_struct_utmp_ut_host'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2781 "configure"
+#line 2841 "configure"
#include "confdefs.h"
#include <utmp.h>
int main() {
struct utmp ut; char *cp = ut.ut_host;
; return 0; }
EOF
-if { (eval echo configure:2788: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2848: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_utmp_ut_host=yes
else
fi
echo $ac_n "checking for ut_user in struct utmp""... $ac_c" 1>&6
-echo "configure:2810: checking for ut_user in struct utmp" >&5
+echo "configure:2870: checking for ut_user in struct utmp" >&5
if eval "test \"`echo '$''{'ac_cv_struct_utmp_ut_user'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2815 "configure"
+#line 2875 "configure"
#include "confdefs.h"
#include <utmp.h>
int main() {
struct utmp ut; char *cp = ut.ut_user;
; return 0; }
EOF
-if { (eval echo configure:2822: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2882: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_utmp_ut_user=yes
else
if test "$ac_cv_header_lastlog_h" = "yes"; then
echo $ac_n "checking for ll_host in struct lastlog""... $ac_c" 1>&6
-echo "configure:2846: checking for ll_host in struct lastlog" >&5
+echo "configure:2906: checking for ll_host in struct lastlog" >&5
if eval "test \"`echo '$''{'ac_cv_struct_lastlog_ll_host'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2851 "configure"
+#line 2911 "configure"
#include "confdefs.h"
#include <lastlog.h>
int main() {
struct lastlog ll; char *cp = ll.ll_host;
; return 0; }
EOF
-if { (eval echo configure:2858: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2918: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_lastlog_ll_host=yes
else
fi
echo $ac_n "checking type of array argument to getgroups""... $ac_c" 1>&6
-echo "configure:2881: checking type of array argument to getgroups" >&5
+echo "configure:2941: checking type of array argument to getgroups" >&5
if eval "test \"`echo '$''{'ac_cv_type_getgroups'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_type_getgroups=cross
else
cat > conftest.$ac_ext <<EOF
-#line 2889 "configure"
+#line 2949 "configure"
#include "confdefs.h"
/* Thanks to Mike Rendell for this test. */
}
EOF
-if { (eval echo configure:2914: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2974: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_type_getgroups=gid_t
else
if test $ac_cv_type_getgroups = cross; then
cat > conftest.$ac_ext <<EOF
-#line 2928 "configure"
+#line 2988 "configure"
#include "confdefs.h"
#include <unistd.h>
EOF
if test $ac_cv_prog_gcc = yes; then
echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
-echo "configure:2953: checking whether ${CC-cc} needs -traditional" >&5
+echo "configure:3013: checking whether ${CC-cc} needs -traditional" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_pattern="Autoconf.*'x'"
cat > conftest.$ac_ext <<EOF
-#line 2959 "configure"
+#line 3019 "configure"
#include "confdefs.h"
#include <sgtty.h>
Autoconf TIOCGETP
if test $ac_cv_prog_gcc_traditional = no; then
cat > conftest.$ac_ext <<EOF
-#line 2977 "configure"
+#line 3037 "configure"
#include "confdefs.h"
#include <termio.h>
Autoconf TCGETA
fi
echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:2999: checking return type of signal handlers" >&5
+echo "configure:3059: checking return type of signal handlers" >&5
if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3004 "configure"
+#line 3064 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
int i;
; return 0; }
EOF
-if { (eval echo configure:3021: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3081: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_type_signal=void
else
echo $ac_n "checking whether utime accepts a null argument""... $ac_c" 1>&6
-echo "configure:3040: checking whether utime accepts a null argument" >&5
+echo "configure:3100: checking whether utime accepts a null argument" >&5
if eval "test \"`echo '$''{'ac_cv_func_utime_null'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_func_utime_null=no
else
cat > conftest.$ac_ext <<EOF
-#line 3050 "configure"
+#line 3110 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/stat.h>
&& t.st_mtime - s.st_mtime < 120));
}
EOF
-if { (eval echo configure:3061: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3121: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_utime_null=yes
else
fi
echo $ac_n "checking for strftime""... $ac_c" 1>&6
-echo "configure:3085: checking for strftime" >&5
+echo "configure:3145: checking for strftime" >&5
if eval "test \"`echo '$''{'ac_cv_func_strftime'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3090 "configure"
+#line 3150 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char strftime(); below. */
; return 0; }
EOF
-if { (eval echo configure:3113: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3173: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_strftime=yes"
else
echo "$ac_t""no" 1>&6
# strftime is in -lintl on SCO UNIX.
echo $ac_n "checking for strftime in -lintl""... $ac_c" 1>&6
-echo "configure:3135: checking for strftime in -lintl" >&5
+echo "configure:3195: checking for strftime in -lintl" >&5
ac_lib_var=`echo intl'_'strftime | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lintl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3143 "configure"
+#line 3203 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
strftime()
; return 0; }
EOF
-if { (eval echo configure:3154: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3214: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
for ac_func in a64l fchmod fchown fsync getgroups gethostname getspnam
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3183: checking for $ac_func" >&5
+echo "configure:3243: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3188 "configure"
+#line 3248 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:3211: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3271: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
for ac_func in gettimeofday getusershell getutent initgroups lchown lckpwdf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3238: checking for $ac_func" >&5
+echo "configure:3298: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3243 "configure"
+#line 3303 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:3266: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3326: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
for ac_func in lstat memcpy memset setgroups sigaction strchr updwtmp updwtmpx
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3293: checking for $ac_func" >&5
+echo "configure:3353: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3298 "configure"
+#line 3358 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:3321: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3381: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
for ac_func in mkdir putgrent putpwent putspent rename rmdir
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3349: checking for $ac_func" >&5
+echo "configure:3409: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3354 "configure"
+#line 3414 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:3377: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3437: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
for ac_func in sgetgrent sgetpwent sgetspent
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3406: checking for $ac_func" >&5
+echo "configure:3466: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3411 "configure"
+#line 3471 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:3434: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3494: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
for ac_func in snprintf strcasecmp strdup strerror strstr
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3463: checking for $ac_func" >&5
+echo "configure:3523: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3468 "configure"
+#line 3528 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:3491: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3551: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
echo $ac_n "checking for setpgrp""... $ac_c" 1>&6
-echo "configure:3519: checking for setpgrp" >&5
+echo "configure:3579: checking for setpgrp" >&5
if eval "test \"`echo '$''{'ac_cv_func_setpgrp'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3524 "configure"
+#line 3584 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char setpgrp(); below. */
; return 0; }
EOF
-if { (eval echo configure:3547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_setpgrp=yes"
else
fi
echo $ac_n "checking whether setpgrp takes no argument""... $ac_c" 1>&6
-echo "configure:3567: checking whether setpgrp takes no argument" >&5
+echo "configure:3627: checking whether setpgrp takes no argument" >&5
if eval "test \"`echo '$''{'ac_cv_func_setpgrp_void'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
{ echo "configure: error: cannot check setpgrp if cross compiling" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 3575 "configure"
+#line 3635 "configure"
#include "confdefs.h"
#ifdef HAVE_UNISTD_H
}
EOF
-if { (eval echo configure:3595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3655: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_setpgrp_void=no
else
if test "$ac_cv_header_shadow_h" = "yes"; then
echo $ac_n "checking for working shadow group support""... $ac_c" 1>&6
-echo "configure:3621: checking for working shadow group support" >&5
+echo "configure:3681: checking for working shadow group support" >&5
if eval "test \"`echo '$''{'ac_cv_libc_shadowgrp'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_libc_shadowgrp=no
else
cat > conftest.$ac_ext <<EOF
-#line 3629 "configure"
+#line 3689 "configure"
#include "confdefs.h"
#include <shadow.h>
}
EOF
-if { (eval echo configure:3641: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3701: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_libc_shadowgrp=yes
else
fi
echo $ac_n "checking location of shared mail directory""... $ac_c" 1>&6
-echo "configure:3666: checking location of shared mail directory" >&5
+echo "configure:3726: checking location of shared mail directory" >&5
for maildir in /var/spool/mail /var/mail /usr/spool/mail /usr/mail NONE; do
if test "$maildir" = "NONE"; then
echo "$ac_t""None" 1>&6
done
echo $ac_n "checking location of user mail file""... $ac_c" 1>&6
-echo "configure:3681: checking location of user mail file" >&5
+echo "configure:3741: checking location of user mail file" >&5
for mailfile in Mailbox mailbox Mail mail .mail NONE; do
if test "$mailfile" = "NONE"; then
echo "$ac_t""None" 1>&6
done
echo $ac_n "checking location of utmp""... $ac_c" 1>&6
-echo "configure:3696: checking location of utmp" >&5
+echo "configure:3756: checking location of utmp" >&5
for utmpdir in /var/run /var/adm /usr/adm /etc NONE; do
if test "$utmpdir" = "NONE"; then
- echo "configure: warning: utmp file not found" 1>&2
+ echo "configure: WARNING: utmp file not found" 1>&2
elif test -f $utmpdir/utmp; then
cat >> confdefs.h <<EOF
#define _UTMP_FILE "$utmpdir/utmp"
done
echo $ac_n "checking location of faillog/lastlog/wtmp""... $ac_c" 1>&6
-echo "configure:3711: checking location of faillog/lastlog/wtmp" >&5
+echo "configure:3771: checking location of faillog/lastlog/wtmp" >&5
for logdir in /var/log /var/adm /usr/adm /etc; do
if test -d $logdir; then
cat >> confdefs.h <<EOF
done
echo $ac_n "checking location of the passwd program""... $ac_c" 1>&6
-echo "configure:3732: checking location of the passwd program" >&5
+echo "configure:3792: checking location of the passwd program" >&5
if test -f /usr/bin/passwd; then
passwd_dir=/usr/bin
else
echo $ac_n "checking for inet_ntoa""... $ac_c" 1>&6
-echo "configure:3834: checking for inet_ntoa" >&5
+echo "configure:3894: checking for inet_ntoa" >&5
if eval "test \"`echo '$''{'ac_cv_func_inet_ntoa'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3839 "configure"
+#line 3899 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char inet_ntoa(); below. */
; return 0; }
EOF
-if { (eval echo configure:3862: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3922: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_inet_ntoa=yes"
else
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for inet_ntoa in -linet""... $ac_c" 1>&6
-echo "configure:3880: checking for inet_ntoa in -linet" >&5
+echo "configure:3940: checking for inet_ntoa in -linet" >&5
ac_lib_var=`echo inet'_'inet_ntoa | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-linet $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3888 "configure"
+#line 3948 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
inet_ntoa()
; return 0; }
EOF
-if { (eval echo configure:3899: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
fi
echo $ac_n "checking for socket""... $ac_c" 1>&6
-echo "configure:3929: checking for socket" >&5
+echo "configure:3989: checking for socket" >&5
if eval "test \"`echo '$''{'ac_cv_func_socket'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3934 "configure"
+#line 3994 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char socket(); below. */
; return 0; }
EOF
-if { (eval echo configure:3957: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4017: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_socket=yes"
else
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
-echo "configure:3975: checking for socket in -lsocket" >&5
+echo "configure:4035: checking for socket in -lsocket" >&5
ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lsocket $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3983 "configure"
+#line 4043 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
socket()
; return 0; }
EOF
-if { (eval echo configure:3994: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4054: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
fi
echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
-echo "configure:4024: checking for gethostbyname" >&5
+echo "configure:4084: checking for gethostbyname" >&5
if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4029 "configure"
+#line 4089 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char gethostbyname(); below. */
; return 0; }
EOF
-if { (eval echo configure:4052: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4112: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_gethostbyname=yes"
else
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:4070: checking for gethostbyname in -lnsl" >&5
+echo "configure:4130: checking for gethostbyname in -lnsl" >&5
ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lnsl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4078 "configure"
+#line 4138 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
gethostbyname()
; return 0; }
EOF
-if { (eval echo configure:4089: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4149: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$enable_desrpc" != "no" -a "$ac_cv_header_rpc_key_prot_h" = "yes" ; then
echo $ac_n "checking for getsecretkey""... $ac_c" 1>&6
-echo "configure:4122: checking for getsecretkey" >&5
+echo "configure:4182: checking for getsecretkey" >&5
if eval "test \"`echo '$''{'ac_cv_func_getsecretkey'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4127 "configure"
+#line 4187 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getsecretkey(); below. */
; return 0; }
EOF
-if { (eval echo configure:4150: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4210: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_getsecretkey=yes"
else
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for getsecretkey in -lrpcsvc""... $ac_c" 1>&6
-echo "configure:4171: checking for getsecretkey in -lrpcsvc" >&5
+echo "configure:4231: checking for getsecretkey in -lrpcsvc" >&5
ac_lib_var=`echo rpcsvc'_'getsecretkey | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lrpcsvc $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4179 "configure"
+#line 4239 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
getsecretkey()
; return 0; }
EOF
-if { (eval echo configure:4190: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_libcrypt" != "no"; then
echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6
-echo "configure:4227: checking for crypt in -lcrypt" >&5
+echo "configure:4287: checking for crypt in -lcrypt" >&5
ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lcrypt $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4235 "configure"
+#line 4295 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
crypt()
; return 0; }
EOF
-if { (eval echo configure:4246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4306: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_libcrack" != "no"; then
echo "checking cracklib flavour, don't be surprised by the results"
echo $ac_n "checking for FascistCheck in -lcrack""... $ac_c" 1>&6
-echo "configure:4283: checking for FascistCheck in -lcrack" >&5
+echo "configure:4343: checking for FascistCheck in -lcrack" >&5
ac_lib_var=`echo crack'_'FascistCheck | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lcrack $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4291 "configure"
+#line 4351 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
FascistCheck()
; return 0; }
EOF
-if { (eval echo configure:4302: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4362: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
fi
echo $ac_n "checking for FascistHistory in -lcrack""... $ac_c" 1>&6
-echo "configure:4326: checking for FascistHistory in -lcrack" >&5
+echo "configure:4386: checking for FascistHistory in -lcrack" >&5
ac_lib_var=`echo crack'_'FascistHistory | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lcrack $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4334 "configure"
+#line 4394 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
FascistHistory()
; return 0; }
EOF
-if { (eval echo configure:4345: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4405: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
fi
echo $ac_n "checking for FascistHistoryPw in -lcrack""... $ac_c" 1>&6
-echo "configure:4369: checking for FascistHistoryPw in -lcrack" >&5
+echo "configure:4429: checking for FascistHistoryPw in -lcrack" >&5
ac_lib_var=`echo crack'_'FascistHistoryPw | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lcrack $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4377 "configure"
+#line 4437 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
FascistHistoryPw()
; return 0; }
EOF
-if { (eval echo configure:4388: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_libskey" = "yes"; then
echo $ac_n "checking for MD5Init in -lmd""... $ac_c" 1>&6
-echo "configure:4417: checking for MD5Init in -lmd" >&5
+echo "configure:4477: checking for MD5Init in -lmd" >&5
ac_lib_var=`echo md'_'MD5Init | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lmd $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4425 "configure"
+#line 4485 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
MD5Init()
; return 0; }
EOF
-if { (eval echo configure:4436: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4496: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
fi
echo $ac_n "checking for skeychallenge in -lskey""... $ac_c" 1>&6
-echo "configure:4457: checking for skeychallenge in -lskey" >&5
+echo "configure:4517: checking for skeychallenge in -lskey" >&5
ac_lib_var=`echo skey'_'skeychallenge | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lskey $LIBMD $LIBCRYPT $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4465 "configure"
+#line 4525 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
skeychallenge()
; return 0; }
EOF
-if { (eval echo configure:4476: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4536: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
elif test "$with_libopie" = "yes"; then
echo $ac_n "checking for opiechallenge in -lopie""... $ac_c" 1>&6
-echo "configure:4501: checking for opiechallenge in -lopie" >&5
+echo "configure:4561: checking for opiechallenge in -lopie" >&5
ac_lib_var=`echo opie'_'opiechallenge | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lopie $LIBCRYPT $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4509 "configure"
+#line 4569 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
opiechallenge()
; return 0; }
EOF
-if { (eval echo configure:4520: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_libtcfs" = "yes"; then
echo $ac_n "checking for tcfs_encrypt_key in -ltcfs""... $ac_c" 1>&6
-echo "configure:4548: checking for tcfs_encrypt_key in -ltcfs" >&5
+echo "configure:4608: checking for tcfs_encrypt_key in -ltcfs" >&5
ac_lib_var=`echo tcfs'_'tcfs_encrypt_key | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-ltcfs -lgdbm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4556 "configure"
+#line 4616 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
tcfs_encrypt_key()
; return 0; }
EOF
-if { (eval echo configure:4567: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4627: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
EOF
echo $ac_n "checking whether pam_strerror needs two arguments""... $ac_c" 1>&6
-echo "configure:4603: checking whether pam_strerror needs two arguments" >&5
+echo "configure:4663: checking whether pam_strerror needs two arguments" >&5
if eval "test \"`echo '$''{'ac_cv_pam_strerror_needs_two_args'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4608 "configure"
+#line 4668 "configure"
#include "confdefs.h"
#include <security/pam_appl.h>
int main() {
pam_handle_t *pamh; pam_strerror(pamh, PAM_SUCCESS);
; return 0; }
EOF
-if { (eval echo configure:4615: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4675: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_pam_strerror_needs_two_args=yes
else
LTLIBOBJS=`echo "$LIBOBJS" | sed 's/\.o/.lo/g'`
+ALL_LINGUAS="cs el fr pl sv"
echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:4642: checking for inline" >&5
+echo "configure:4703: checking for inline" >&5
if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
cat > conftest.$ac_ext <<EOF
-#line 4649 "configure"
+#line 4710 "configure"
#include "confdefs.h"
int main() {
} $ac_kw foo() {
; return 0; }
EOF
-if { (eval echo configure:4656: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4717: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_inline=$ac_kw; break
else
esac
echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:4682: checking for size_t" >&5
+echo "configure:4743: checking for size_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4687 "configure"
+#line 4748 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:4717: checking for working alloca.h" >&5
+echo "configure:4778: checking for working alloca.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4722 "configure"
+#line 4783 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:4729: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4790: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_header_alloca_h=yes
else
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:4750: checking for alloca" >&5
+echo "configure:4811: checking for alloca" >&5
if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4755 "configure"
+#line 4816 "configure"
#include "confdefs.h"
#ifdef __GNUC__
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:4783: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4844: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_func_alloca_works=yes
else
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:4815: checking whether alloca needs Cray hooks" >&5
+echo "configure:4876: checking whether alloca needs Cray hooks" >&5
if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4820 "configure"
+#line 4881 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4845: checking for $ac_func" >&5
+echo "configure:4906: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4850 "configure"
+#line 4911 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:4873: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4934: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
fi
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:4900: checking stack direction for C alloca" >&5
+echo "configure:4961: checking stack direction for C alloca" >&5
if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_c_stack_direction=0
else
cat > conftest.$ac_ext <<EOF
-#line 4908 "configure"
+#line 4969 "configure"
#include "confdefs.h"
find_stack_direction ()
{
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:4927: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4988: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_c_stack_direction=1
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4952: checking for $ac_hdr" >&5
+echo "configure:5013: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4957 "configure"
+#line 5018 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4962: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5023: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
for ac_func in getpagesize
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4991: checking for $ac_func" >&5
+echo "configure:5052: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4996 "configure"
+#line 5057 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:5019: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5080: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
done
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:5044: checking for working mmap" >&5
+echo "configure:5105: checking for working mmap" >&5
if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_func_mmap_fixed_mapped=no
else
cat > conftest.$ac_ext <<EOF
-#line 5052 "configure"
+#line 5113 "configure"
#include "confdefs.h"
/* Thanks to Mike Haertel and Jim Avera for this test.
}
EOF
-if { (eval echo configure:5192: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5253: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_mmap_fixed_mapped=yes
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5220: checking for $ac_hdr" >&5
+echo "configure:5281: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5225 "configure"
+#line 5286 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5230: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5291: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
strdup __argz_count __argz_stringify __argz_next
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5260: checking for $ac_func" >&5
+echo "configure:5321: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5265 "configure"
+#line 5326 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:5288: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5349: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
for ac_func in stpcpy
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5317: checking for $ac_func" >&5
+echo "configure:5378: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5322 "configure"
+#line 5383 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:5345: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5406: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
if test $ac_cv_header_locale_h = yes; then
echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:5379: checking for LC_MESSAGES" >&5
+echo "configure:5440: checking for LC_MESSAGES" >&5
if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5384 "configure"
+#line 5445 "configure"
#include "confdefs.h"
#include <locale.h>
int main() {
return LC_MESSAGES
; return 0; }
EOF
-if { (eval echo configure:5391: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5452: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
am_cv_val_LC_MESSAGES=yes
else
fi
fi
echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
-echo "configure:5412: checking whether NLS is requested" >&5
+echo "configure:5473: checking whether NLS is requested" >&5
# Check whether --enable-nls or --disable-nls was given.
if test "${enable_nls+set}" = set; then
enableval="$enable_nls"
EOF
echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
-echo "configure:5432: checking whether included gettext is requested" >&5
+echo "configure:5493: checking whether included gettext is requested" >&5
# Check whether --with-included-gettext or --without-included-gettext was given.
if test "${with_included_gettext+set}" = set; then
withval="$with_included_gettext"
ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
-echo "configure:5451: checking for libintl.h" >&5
+echo "configure:5512: checking for libintl.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5456 "configure"
+#line 5517 "configure"
#include "confdefs.h"
#include <libintl.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5461: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5522: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6
-echo "configure:5478: checking for gettext in libc" >&5
+echo "configure:5539: checking for gettext in libc" >&5
if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5483 "configure"
+#line 5544 "configure"
#include "confdefs.h"
#include <libintl.h>
int main() {
return (int) gettext ("")
; return 0; }
EOF
-if { (eval echo configure:5490: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5551: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
gt_cv_func_gettext_libc=yes
else
if test "$gt_cv_func_gettext_libc" != "yes"; then
echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6
-echo "configure:5506: checking for bindtextdomain in -lintl" >&5
+echo "configure:5567: checking for bindtextdomain in -lintl" >&5
ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lintl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5514 "configure"
+#line 5575 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
bindtextdomain()
; return 0; }
EOF
-if { (eval echo configure:5525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5586: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6
-echo "configure:5541: checking for gettext in libintl" >&5
+echo "configure:5602: checking for gettext in libintl" >&5
if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6
-echo "configure:5546: checking for gettext in -lintl" >&5
+echo "configure:5607: checking for gettext in -lintl" >&5
ac_lib_var=`echo intl'_'gettext | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lintl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5554 "configure"
+#line 5615 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
gettext()
; return 0; }
EOF
-if { (eval echo configure:5565: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5626: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5604: checking for $ac_word" >&5
+echo "configure:5665: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
for ac_func in dcgettext
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5638: checking for $ac_func" >&5
+echo "configure:5699: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5643 "configure"
+#line 5704 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:5666: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5727: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
# Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5693: checking for $ac_word" >&5
+echo "configure:5754: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
case "$GMSGFMT" in
- /*)
+ /*|[A-z]:/*)
ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
;;
?:/*)
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
+ if test $ac_x $ac_dir/$ac_word; then
ac_cv_path_GMSGFMT="$ac_dir/$ac_word"
break
fi
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5729: checking for $ac_word" >&5
+echo "configure:5790: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
fi
cat > conftest.$ac_ext <<EOF
-#line 5761 "configure"
+#line 5822 "configure"
#include "confdefs.h"
int main() {
return _nl_msg_cat_cntr
; return 0; }
EOF
-if { (eval echo configure:5769: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5830: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
CATOBJEXT=.gmo
DATADIRNAME=share
if test "$CATOBJEXT" = "NONE"; then
echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6
-echo "configure:5792: checking whether catgets can be used" >&5
+echo "configure:5853: checking whether catgets can be used" >&5
# Check whether --with-catgets or --without-catgets was given.
if test "${with_catgets+set}" = set; then
withval="$with_catgets"
if test "$nls_cv_use_catgets" = "yes"; then
echo $ac_n "checking for main in -li""... $ac_c" 1>&6
-echo "configure:5805: checking for main in -li" >&5
+echo "configure:5866: checking for main in -li" >&5
ac_lib_var=`echo i'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-li $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5813 "configure"
+#line 5874 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5820: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5881: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
fi
echo $ac_n "checking for catgets""... $ac_c" 1>&6
-echo "configure:5848: checking for catgets" >&5
+echo "configure:5909: checking for catgets" >&5
if eval "test \"`echo '$''{'ac_cv_func_catgets'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5853 "configure"
+#line 5914 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char catgets(); below. */
; return 0; }
EOF
-if { (eval echo configure:5876: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5937: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_catgets=yes"
else
# Extract the first word of "gencat", so it can be a program name with args.
set dummy gencat; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5898: checking for $ac_word" >&5
+echo "configure:5959: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GENCAT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
case "$GENCAT" in
- /*)
+ /*|[A-z]:/*)
ac_cv_path_GENCAT="$GENCAT" # Let the user override the test with a path.
;;
?:/*)
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
+ if test $ac_x $ac_dir/$ac_word; then
ac_cv_path_GENCAT="$ac_dir/$ac_word"
break
fi
# Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5934: checking for $ac_word" >&5
+echo "configure:5995: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
case "$GMSGFMT" in
- /*)
+ /*|[A-z]:/*)
ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
;;
?:/*)
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
+ if test $ac_x $ac_dir/$ac_word; then
ac_cv_path_GMSGFMT="$ac_dir/$ac_word"
break
fi
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5971: checking for $ac_word" >&5
+echo "configure:6032: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:6006: checking for $ac_word" >&5
+echo "configure:6067: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:6064: checking for $ac_word" >&5
+echo "configure:6125: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:6098: checking for $ac_word" >&5
+echo "configure:6159: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
case "$GMSGFMT" in
- /*)
+ /*|[A-z]:/*)
ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
;;
?:/*)
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
+ if test $ac_x $ac_dir/$ac_word; then
ac_cv_path_GMSGFMT="$ac_dir/$ac_word"
break
fi
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:6134: checking for $ac_word" >&5
+echo "configure:6195: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
LINGUAS=
else
echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
-echo "configure:6227: checking for catalogs to be installed" >&5
+echo "configure:6288: checking for catalogs to be installed" >&5
NEW_LINGUAS=
for lang in ${LINGUAS=$ALL_LINGUAS}; do
case "$ALL_LINGUAS" in
if test "$CATOBJEXT" = ".cat"; then
ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6
-echo "configure:6255: checking for linux/version.h" >&5
+echo "configure:6316: checking for linux/version.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6260 "configure"
+#line 6321 "configure"
#include "confdefs.h"
#include <linux/version.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6265: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6326: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
contrib/Makefile debian/Makefile doc/Makefile etc/Makefile
intl/Makefile intl/po2tbl.sed po/Makefile.in
etc/pam.d/Makefile old/Makefile
- redhat/Makefile redhat/shadow-utils.spec config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+ shadow-utils.spec config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
EOF
cat >> $CONFIG_STATUS <<EOF
s%@build_vendor@%$build_vendor%g
s%@build_os@%$build_os%g
s%@RANLIB@%$RANLIB%g
-s%@LD@%$LD%g
-s%@NM@%$NM%g
s%@LIBTOOL@%$LIBTOOL%g
s%@LIBOBJS@%$LIBOBJS%g
s%@LIBCRYPT@%$LIBCRYPT%g
contrib/Makefile debian/Makefile doc/Makefile etc/Makefile
intl/Makefile intl/po2tbl.sed po/Makefile.in
etc/pam.d/Makefile old/Makefile
- redhat/Makefile redhat/shadow-utils.spec"}
+ shadow-utils.spec"}
EOF
cat >> $CONFIG_STATUS <<\EOF
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
.) srcdir=.
if test -z "$ac_dots"; then top_srcdir=.
else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ /*|[A-z]:/*)
+ srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
*) # Relative path.
srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
top_srcdir="$ac_dots$ac_given_srcdir" ;;
esac
case "$ac_given_INSTALL" in
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ [/$]*|[A-z]:/*) INSTALL="$ac_given_INSTALL" ;;
*) INSTALL="$ac_dots$ac_given_INSTALL" ;;
esac
*) ac_comsub= ;;
esac
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%:% $ac_given_srcdir/%g" -e "s%^%$ac_given_srcdir/%"`
sed -e "$ac_comsub
s%@configure_input@%$configure_input%g
s%@srcdir@%$srcdir%g
echo creating $ac_file
rm -f conftest.frag conftest.in conftest.out
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%:% $ac_given_srcdir/%g" -e "s%^%$ac_given_srcdir/%"`
cat $ac_file_inputs > conftest.in
EOF
fi
case "$srcdir" in
- [/$]*) ac_rel_source="$srcdir/$ac_source" ;;
+ [/$]*|[A-z]:/*) ac_rel_source="$srcdir/$ac_source" ;;
*) ac_rel_source="$ac_dots$srcdir/$ac_source" ;;
esac
rm -fr confdefs* $ac_clean_files
test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
dnl Process this file with autoconf to produce a configure script.
AC_INIT(lib/dialchk.c)
-AM_INIT_AUTOMAKE(shadow, 20000902)
+AM_INIT_AUTOMAKE(shadow, 20001012)
AM_CONFIG_HEADER(config.h)
dnl Some hacks...
test "$CFLAGS" = "" && CFLAGS="-O2 -Wall"
test "$LDFLAGS" = "" && LDFLAGS="-s"
-ALL_LINGUAS="el fr pl sv"
-
dnl Checks for programs.
AC_PROG_CC
AC_ISC_POSIX
dnl LTALLOCA=`echo "$ALLOCA" | sed 's/\.o/.lo/g'`
dnl AC_SUBST(LTALLOCA)
+ALL_LINGUAS="cs el fr pl sv"
AM_GNU_GETTEXT
-dnl AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
AC_OUTPUT(libmisc/Makefile man/Makefile man/pl/Makefile
lib/Makefile src/Makefile Makefile
contrib/Makefile debian/Makefile doc/Makefile etc/Makefile
intl/Makefile intl/po2tbl.sed po/Makefile.in
etc/pam.d/Makefile old/Makefile
- redhat/Makefile redhat/shadow-utils.spec,
+ shadow-utils.spec,
echo timestamp > stamp-h)
-
# and also cooperate to make a distribution for `make dist'
EXTRA_DIST = README adduser.c adduser-old.c adduser.sh adduser2.sh \
- atudel groupmems.shar pwdauth.c rpasswd.c shadow-anonftp.patch \
- udbachk.v012.tgz
+ atudel groupmems.shar pwdauth.c shadow-anonftp.patch \
+ udbachk.tgz
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
+# Makefile.in generated automatically by automake 1.4a from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_FLAG =
transform = @program_transform_name@
NORMAL_INSTALL = :
INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
-LD = @LD@
LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@
LIBMD = @LIBMD@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
-NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
YACC = @YACC@
l = @l@
-EXTRA_DIST = README adduser.c adduser-old.c adduser.sh adduser2.sh atudel groupmems.shar pwdauth.c rpasswd.c shadow-anonftp.patch udbachk.v012.tgz
+EXTRA_DIST = README adduser.c adduser-old.c adduser.sh adduser2.sh atudel groupmems.shar pwdauth.c shadow-anonftp.patch udbachk.tgz
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = tar
+TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$/$$file $(distdir)/$$file; \
+ cp -pr $$d/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
all-am: Makefile
all-redirect: all-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
installdirs:
+++ /dev/null
-/* rpasswd.c -- restricted `passwd' wrapper.
- Copyright (C) 1996 Adam Solesby, Joshua Cowan
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* This program is meant to be a wrapper for use with `sudo' and your
- system's `passwd' program. It is *probably* secure, but there is no
- warranty (see above). If you find errors or security holes, please
- email me; please include a complete description of the problem in
- your message in addition to any patches. */
-
-/* This program currently assumes that the arguments given on the
- command line are user names to pass to the `passwd' program; it loops
- through the arguments calling `passwd' on each one. It might be
- better to pass all remaining arguments after `--' to `passwd' (to
- e.g., change the user's shell instead of the password by giving it
- the `-s' option). */
-
-/* Written by Adam Solesby <adam@shack.com>. */
-/* Rewritten by Joshua Cowan <jcowan@hermit.reslife.okstate.edu>. */
-
-/* Usage: rpasswd USERNAME...
- Enforce password-changing guidelines.
-
- --check[=file] check configuration information; if FILE is given,
- use that instead of the standard configuration
- file `./rpasswd.conf'
- --help display this help and exit
- --version output version information and exit
-
- You may never change a superuser's password with this command.
- Changing certain other users' passwords may also be forbidden; for
- details of who's passwords may not be changed, try `rpasswd --check'. */
-
-/* TODO:
-
- - Make this more portable. It currently depends on several
- GNU/Linux-specific features. */
-
-#include <stdio.h>
-#include <getopt.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <syslog.h>
-#include <ctype.h>
-#include <pwd.h>
-#include <stdarg.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-
-/* This is the absolute path to the `passwd' program on your system. */
-#define _PATH_PASSWD "/usr/bin/passwd"
-
-/* This is the absolute path to the configuration file. */
-#define _PATH_RPASSWD_CONF "/etc/rpasswd.conf"
-
-/* Don't change the password of any user with a uid equal to or below
- this number--no matter what the configuration file says. */
-#define UID_PWD_CHANGE_FLOOR 100
-
-/* Everything past this point should probably be left alone. */
-
-/* These are the facility and priority (respectively) used by the syslog
- functions. */
-#define LOG_FACILITY LOG_AUTH
-#define LOG_PRIORITY LOG_WARNING
-
-/* The name this program was run with. */
-char *program_name;
-
-/* The version information for this program. */
-char *version_string = "1.2";
-
-/* If nonzero, display usage information and exit. */
-static int show_help;
-
-/* If nonzero, print the version on standard output then exit. */
-static int show_version;
-
-/* If nonzero, check the configuration file for errors and print the
- list of restrictions on the standard output, then exit. */
-static int check_only;
-
-struct user_list
-{
- char *name;
- struct user_list *next;
-};
-
-struct config_info
-{
- /* Don't change the password for any user with a uid less than or
- equal to this number. */
- uid_t minimum_uid;
-
- /* Don't change the password for any user matching this list of user
- names. */
- struct user_list *inviolate_user_names;
-};
-
-static const struct option long_options[] =
-{
- {"check", optional_argument, 0, 10},
- {"version", no_argument, &show_version, 1},
- {"help", no_argument, &show_help, 1},
- {0, 0, 0, 0}
-};
-
-static struct config_info *get_config_info ();
-static int dump_config_info ();
-static void *xmalloc ();
-static void *xrealloc ();
-static void xsyslog (int, const char *, ...);
-static void dal_error (int, int, const char *, ...);
-
-static void
-usage (status)
- int status;
-{
- if (status != 0)
- fprintf (stderr, "Try `%s --help' for more information.\n",
- program_name);
- else
- {
- printf ("Usage: %s USERNAME...\n", program_name);
- fputs ("\
-Enforce password-changing guidelines.\n\
-\n\
- --check[=file] check configuration information; if FILE is given,\n\
- use that instead of the standard configuration file\n\
- `"_PATH_RPASSWD_CONF"'\n\
- --help display this help and exit\n\
- --version output version information and exit\n",
- stdout);
-
- printf ("\n\
-You may never change a superuser's password with this command. Changing\n\
-certain other users' passwords may also be forbidden; for details of\n\
-who's passwords may not be changed, try `%s --check'.\n",
- program_name);
- }
-
- exit (status);
-}
-
-int
-main (argc, argv)
- int argc;
- char **argv;
-{
- char *executing_user_name;
- char *config_file_name = _PATH_RPASSWD_CONF;
- int opt;
- struct config_info *config;
-
- /* Setting values of global variables. */
- program_name = argv[0];
-
- while ((opt = getopt_long (argc, argv, "", long_options, 0))
- != EOF)
- switch (opt)
- {
- case 0:
- break;
-
- case 10:
- check_only = 1;
- if (optarg)
- config_file_name = optarg;
- break;
-
- default:
- usage (1);
- }
-
- if (show_version)
- {
- printf ("rpasswd %s\n", version_string);
- return 0;
- }
-
- if (show_help)
- {
- usage (0);
- }
-
- if (check_only)
- {
- dump_config_info (config_file_name);
- exit (0);
- }
-
- if (optind >= argc)
- {
- fprintf (stderr, "%s: missing argument\n", program_name);
- usage (1);
- }
-
- /* FIXME: does `sudo' set the real user id to the effective user id?
- If so, this won't work as intended: We want to get the name of the
- user who ran `sudo'. I am reluctant to use `getlogin' for obvious
- reasons, but it may be better than nothing. Maybe someone who
- actually has `sudo' installed can tell me if this works, or how to
- fix it if it doesn't. --JC */
- do
- {
- struct passwd *pwd;
- uid_t uid = getuid ();
-
- pwd = getpwuid (uid);
-
- if (!pwd || !pwd->pw_name)
- {
- xsyslog (LOG_PRIORITY,
- "Unknown user (uid #%d) attempted to change password for `%s'.",
- uid, argv[optind]);
- fprintf (stderr, "%s: you do not exist, go away\n",
- program_name);
- exit (1);
- }
- else
- executing_user_name = pwd->pw_name;
- }
- while (0);
-
- config = get_config_info (config_file_name);
-
- for (; optind < argc; optind++)
- {
- int immutable_p = 0;
- struct user_list *user_names = config->inviolate_user_names;
-
- /* Make sure we weren't given an illegal user name. */
- for (; user_names; user_names = user_names->next)
- {
- if (strcmp (argv[optind], user_names->name)
- == 0)
- {
- immutable_p = 1;
- break;
- }
- }
-
- if (!immutable_p)
- {
- struct passwd *pwd;
-
- pwd = getpwnam (argv[optind]);
-
- if (!pwd)
- {
- fprintf (stderr, "%s: invalid user `%s'\n",
- program_name, argv[optind]);
-
- continue;
- }
- else if (pwd->pw_uid <= config->minimum_uid)
- immutable_p = 1;
- }
-
- if (immutable_p)
- {
- xsyslog (LOG_PRIORITY,
- "`%s' attempted to change password for `%s'.",
- executing_user_name, argv[optind]);
- fprintf (stderr,
- "You are not allowed to change the password for `%s'.\n",
- argv[optind]);
- }
- else
- {
- int pid, status;
-
- pid = fork ();
- switch (pid)
- {
- case -1:
- dal_error (1, errno, "cannot fork");
-
- case 0:
- execl (_PATH_PASSWD, _PATH_PASSWD, "--", argv[optind], 0);
- _exit (1);
-
- default:
- while (wait (&status) != pid)
- ;
-
- if (status & 0xFFFF)
- dal_error (1, EIO, "%s", _PATH_PASSWD);
-
- break;
- }
- }
- }
-
- exit (0);
-}
-
-/* Get configuration information from FILE and return a pointer to a
- `config_info' structure containing that information. It currently
- does minimal checking of the validity of the information.
-
- This function never returns NULL, even when the configuration file is
- empty. If the configuration file doesn't exist, it just exits with a
- failed exit status. */
-
-static struct config_info *
-get_config_info (file)
- const char *const file;
-{
- FILE *config_file;
- struct config_info *config;
- char linebuf[BUFSIZ];
- unsigned int lineno = 0;
-
- config = (struct config_info *) xmalloc (sizeof (struct config_info));
- config->minimum_uid = (uid_t) 0;
- config->inviolate_user_names = 0;
-
- config_file = fopen (file, "r");
- if (!config_file)
- dal_error (1, errno, "%s", file);
-
- if (fseek (config_file, 0L, SEEK_SET))
- dal_error (1, errno, "%s", file);
-
- while (fgets (linebuf, BUFSIZ, config_file))
- {
- int len, i, uid_found = 0;
-
- lineno++;
-
- len = strlen (linebuf);
-
- /* Chomp any whitespace off the end of the line. */
- while (isspace (linebuf[len - 1]))
- linebuf[--len] = '\0';
-
- /* If this line is empty or a comment, skip it and go to the next. */
- if (len == 0 || *linebuf == '#')
- continue;
-
- for (i = 0; i < len; i++)
- if (!isalnum (linebuf[i])
- && linebuf[i] != '.'
- && linebuf[i] != '-'
- && linebuf[i] != '_')
- {
- dal_error (1, 0, "%s:%u: invalid user name `%s'",
- file, lineno, linebuf);
- }
-
- /* Only accept positive integers as candidates for `minimum_uid'. */
- for (i = 0; i < len; i++)
- if (!isdigit (linebuf[i]))
- break;
-
- if (!uid_found && i == len)
- {
- unsigned long num;
-
- errno = 0;
- num = strtoul (linebuf, 0, 10);
- config->minimum_uid = (uid_t) num;
-
- if (errno || config->minimum_uid != num)
- dal_error (1, 0, "%s:%u: `%s' out of range",
- file, lineno, linebuf);
-
- uid_found = 1;
- }
- else
- {
- struct user_list *tail = config->inviolate_user_names;
- struct user_list *user_names = 0;
-
- /* This could be more efficient, but makes the list of users
- printed out with the `--check' switch easier to read. */
-
- for (; tail; tail = tail->next)
- {
- if (strcmp (linebuf, tail->name) == 0)
- break;
-
- user_names = tail;
- }
-
- if (!tail)
- {
- tail = user_names;
-
- user_names = xmalloc (sizeof (struct user_list));
- user_names->name = strcpy (xmalloc (len + 1), linebuf);
- user_names->next = 0;
-
- if (!config->inviolate_user_names)
- config->inviolate_user_names = user_names;
- else
- tail->next = user_names;
- }
- }
- }
-
- fclose (config_file);
-
- if (config->minimum_uid < UID_PWD_CHANGE_FLOOR)
- config->minimum_uid = UID_PWD_CHANGE_FLOOR;
-
- return config;
-}
-
-/* Dump the configuration info contained in FILE to the standard output. */
-
-static int
-dump_config_info (file)
- char *file;
-{
- struct config_info *config;
-
- config = get_config_info (file);
-
- printf ("\
-The lowest uid who's password may be changed is number %d. Changing
-the following users' passwords is also forbidden:\n",
- config->minimum_uid + 1);
-
- if (!config->inviolate_user_names)
- {
- printf ("\n (no users listed in configuration file `%s')\n",
- file);
- }
- else
- {
- int column;
- struct user_list *user_names = config->inviolate_user_names;
-
- for (column = 73; user_names; user_names = user_names->next)
- {
- int name_len = strlen (user_names->name);
-
- if (user_names->next)
- name_len++;
-
- column += name_len;
-
- if (column > 72)
- {
- fputs ("\n ", stdout);
- column = name_len + 2;
- }
- else if (column - name_len > 0)
- {
- fputc (' ', stdout);
- column++;
- }
-
- fputs (user_names->name, stdout);
-
- if (user_names->next)
- fputc (',', stdout);
- }
-
- fputc ('\n', stdout);
- }
-
- return 0;
-}
-
-static void *
-xmalloc (n)
- size_t n;
-{
- void *ptr;
-
- ptr = malloc (n);
-
- if (!ptr)
- {
- fprintf (stderr, "%s: Memory exhausted\n", program_name);
- exit (1);
- }
-
- return ptr;
-}
-
-static void *
-xrealloc (ptr, n)
- void *ptr;
- size_t n;
-{
- ptr = realloc (ptr, n);
-
- if (!ptr)
- {
- fprintf (stderr, "%s: Memory exhausted\n", program_name);
- exit (1);
- }
-
- return ptr;
-}
-
-static void
-xsyslog (int priority, const char *format, ...)
-{
- va_list args;
- static int logfd_opened = 0;
-
- if (!logfd_opened)
- {
- openlog (program_name, LOG_PID, LOG_FACILITY);
- logfd_opened = 1;
- }
-
- va_start (args, format);
- vsyslog (priority, format, args);
- va_end (args);
-}
-
-/* Format and display MESSAGE on the standard error and send it to the
- system logger. If ERRNUM is not 0, append the system error message
- corresponding to ERRNUM to the output. If STATUS is not 0, exit with
- an exit status of STATUS. */
-
-static void
-dal_error (int status, int errnum, const char *message, ...)
-{
- va_list args;
- size_t bufsize;
- char *formatted_message;
-
- fflush (stdout);
-
- bufsize = strlen (message) * 2;
- formatted_message = (char *) xmalloc (bufsize);
-
- va_start (args, message);
-
- while (1)
- {
- int printed;
- printed = vsnprintf (formatted_message, bufsize, message, args);
-
- if ((size_t) printed < bufsize)
- break;
-
- bufsize *= 2;
- formatted_message = xrealloc (formatted_message, bufsize);
- }
-
- va_end (args);
-
- if (errnum)
- {
- char *error_message = strerror (errnum);
-
- formatted_message
- = xrealloc (formatted_message,
- (strlen (formatted_message)
- + strlen (error_message)
- + 3));
-
- strcat (formatted_message, ": ");
- strcat (formatted_message, error_message);
- }
-
- fprintf (stderr, "%s: %s\n", program_name, formatted_message);
-
- xsyslog (LOG_PRIORITY, "%s", formatted_message);
-
- free (formatted_message);
- fflush (stderr);
-
- if (status)
- {
- closelog ();
- exit (status);
- }
-}
+++ /dev/null
- groups
- groups.1
- id
- id.1
- pw_auth.3
- scologin
- shadow.3
- sulogin
- sulogin.8
-login faillog
-login faillog.5
-login faillog.8
-login lastlog
-login lastlog.8
-login login
-login login.1
-login login.access.5
-login login.defs.5
-login logoutd
-login logoutd.8
-login newgrp
-login newgrp.1
-login porttime.5
-passwd chage
-passwd chage.1
-passwd chfn
-passwd chfn.1
-passwd chpasswd
-passwd chpasswd.8
-passwd chsh
-passwd chsh.1
-passwd dpasswd
-passwd dpasswd.8
-passwd expiry
-passwd gpasswd
-passwd gpasswd.1
-passwd groupadd
-passwd groupadd.8
-passwd groupdel
-passwd groupdel.8
-passwd groupmod
-passwd groupmod.8
-passwd grpck
-passwd grpck.8
-passwd grpconv
-passwd grpunconv
-passwd mkpasswd
-passwd mkpasswd.8
-passwd newusers
-passwd newusers.8
-passwd passwd
-passwd passwd.1
-passwd passwd.5
-passwd pwauth.8
-passwd pwck
-passwd pwck.8
-passwd pwconv
-passwd pwconv.8
-passwd pwunconv
-passwd pwunconv.8
-passwd shadow.5
-passwd useradd
-passwd useradd.8
-passwd userdel
-passwd userdel.8
-passwd usermod
-passwd usermod.8
-secure-su su
-secure-su su.1
-secure-su suauth.5
# This is a dummy Makefile.am to get automake work flawlessly,
# and also cooperate to make a distribution for `make dist'
-EXTRA_DIST = FILES changelog checksums control control.gnu control.linux \
+EXTRA_DIST = changelog checksums control control.gnu control.linux \
login.conffiles login.copyright login.postinst login.postrm login.preinst \
login.prerm logoutd.init passwd.conffiles passwd.copyright \
passwd.cron passwd.init passwd.postinst passwd.postrm porttime rules \
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
+# Makefile.in generated automatically by automake 1.4a from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_FLAG =
transform = @program_transform_name@
NORMAL_INSTALL = :
INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
-LD = @LD@
LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@
LIBMD = @LIBMD@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
-NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
YACC = @YACC@
l = @l@
-EXTRA_DIST = FILES changelog checksums control control.gnu control.linux login.conffiles login.copyright login.postinst login.postrm login.preinst login.prerm logoutd.init passwd.conffiles passwd.copyright passwd.cron passwd.init passwd.postinst passwd.postrm porttime rules secure-su.README secure-su.conffiles secure-su.copyright secure-su.postrm secure-su.preinst securetty tar.c
+EXTRA_DIST = changelog checksums control control.gnu control.linux login.conffiles login.copyright login.postinst login.postrm login.preinst login.prerm logoutd.init passwd.conffiles passwd.copyright passwd.cron passwd.init passwd.postinst passwd.postrm porttime rules secure-su.README secure-su.conffiles secure-su.copyright secure-su.postrm secure-su.preinst securetty tar.c
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = tar
+TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$/$$file $(distdir)/$$file; \
+ cp -pr $$d/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
all-am: Makefile
all-redirect: all-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
installdirs:
Author: jfh@austin.ibm.com (Julianne F. Haugh)
Maintained-by: kloczek@rudy.mif.pg.gda.pl (Tomasz Kloczko)
marekm@linux.org.pl (Marek Michalkiewicz) - previous maintainer
-Primary-site: piast.t19.ds.pwr.wroc.pl /pub/linux/shadow/
+Primary-site: ftp://ftp.pld.org.pl/software/shadow/
718K shadow-20000902.tar.gz
-Alternate-site: ftp.ists.pwr.wroc.pl /pub/linux/shadow/
+Alternate-site: ftp://ftp.pld.org.pl/software/shadow/
Original-site: ftp.uu.net ?
Platforms: Linux, SunOS, ...
Copying-policy: FRS
# This is a dummy Makefile.am to get automake work flawlessly,
# and also cooperate to make a distribution for `make dist'
-EXTRA_DIST = ANNOUNCE CHANGES HOWTO LICENSE LSM README README.debian \
+EXTRA_DIST = ANNOUNCE HOWTO LICENSE LSM README \
README.limits README.linux README.mirrors README.nls README.pam \
README.platforms README.shadow-paper README.sun4 \
WISHLIST console.c.spec.txt cracklib26.diff
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
+# Makefile.in generated automatically by automake 1.4a from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_FLAG =
transform = @program_transform_name@
NORMAL_INSTALL = :
INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
-LD = @LD@
LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@
LIBMD = @LIBMD@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
-NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
YACC = @YACC@
l = @l@
-EXTRA_DIST = ANNOUNCE CHANGES HOWTO LICENSE LSM README README.debian README.limits README.linux README.mirrors README.nls README.pam README.platforms README.shadow-paper README.sun4 WISHLIST console.c.spec.txt cracklib26.diff
+EXTRA_DIST = ANNOUNCE HOWTO LICENSE LSM README README.limits README.linux README.mirrors README.nls README.pam README.platforms README.shadow-paper README.sun4 WISHLIST console.c.spec.txt cracklib26.diff
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = tar
+TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$/$$file $(distdir)/$$file; \
+ cp -pr $$d/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
all-am: Makefile
all-redirect: all-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
installdirs:
+++ /dev/null
-Read this file first for a brief overview of the new versions of login
-and passwd.
-
-
----Shadow passwords
-
-The command `shadowconfig on' will turn on shadow password support.
-`shadowconfig off' will turn it back off. If you turn on shadow
-password support, you'll gain the ability to set password ages and
-expirations with chage(1).
-
-You may want to install the secure-su package which allows more
-restrictions on su, for example a wheel group.
-
-
----General configuration
-
-Most of the configuration for the shadow utilities is in
-/etc/login.defs. See login.defs(5). The defaults are quite
-reasonable.
-
-
----MD5 Encryption
-
-If you set MD5_CRYPT_ENAB=yes in /etc/login.defs, passwords will be
-encrypted with an MD5-based algorithm. It also supports of passwords
-of unlimited length and longer salt strings.
-
-
----Login and resource control
-
-/etc/login.access and /etc/porttime control who may login to which
-ports and when they may login. To enforce time restrictions, you'll
-need to run logoutd. /etc/init.d/logoutd will start it on bootup if
-there are non-comment lines in /etc/portttime.
-
-The lastlog and faillog commands will report the last time a user had
-a successful and failed login, respectively.
-
-You may set per-user resource limits by editing /etc/limits. See
-limits(5).
-
-
----Adding users and groups
-
-Though you may add users and groups with the SysV type commands,
-useradd and groupadd, I recommend you add them with Debian adduser
-version 3+. adduser gives you more configuration and conforms to the
-Debian UID and GID allocation.
-
-Editing user and group parameters can be done with usermod and
-groupmod. Removing users and groups can be done with userdel and
-groupdel.
-
-
---- Group administration
-
-Local group allocation is much easier. With gpasswd(1) you can
-designate users to administer groups. They can then securely add or
-remove users from the group.
-
-
---- What to read next?
-
-Read the manpages, the other files in this directory, and the Shadow
-Password HOWTO (included in the doc-linux package). A large portion
-of these files deals with getting shadow installed. You can, of
-course, ignore those parts.
# This is a dummy Makefile.am to get automake work flawlessly,
# and also cooperate to make a distribution for `make dist'
-EXTRA_DIST = limits login.access login.defs login.defs.hurd login.defs.linux \
- shells suauth
+EXTRA_DIST = limits login.access login.defs login.defs.hurd login.defs.linux
SUBDIRS = pam.d
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
+# Makefile.in generated automatically by automake 1.4a from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_FLAG =
transform = @program_transform_name@
NORMAL_INSTALL = :
INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
-LD = @LD@
LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@
LIBMD = @LIBMD@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
-NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
YACC = @YACC@
l = @l@
-EXTRA_DIST = limits login.access login.defs login.defs.hurd login.defs.linux shells suauth
-
+EXTRA_DIST = limits login.access login.defs login.defs.hurd login.defs.linux
SUBDIRS = pam.d
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = tar
+TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$/$$file $(distdir)/$$file; \
+ cp -pr $$d/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
all-am: Makefile
all-redirect: all-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
installdirs: installdirs-recursive
installdirs-am:
# This is a dummy Makefile.am to get automake work flawlessly,
# and also cooperate to make a distribution for `make dist'
-EXTRA_DIST = passwd su
+EXTRA_DIST = passwd su shadow
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
+# Makefile.in generated automatically by automake 1.4a from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_FLAG =
transform = @program_transform_name@
NORMAL_INSTALL = :
INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
-LD = @LD@
LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@
LIBMD = @LIBMD@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
-NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
YACC = @YACC@
l = @l@
-EXTRA_DIST = passwd su
+EXTRA_DIST = passwd su shadow
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../../config.h
CONFIG_CLEAN_FILES =
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = tar
+TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$/$$file $(distdir)/$$file; \
+ cp -pr $$d/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
all-am: Makefile
all-redirect: all-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
installdirs:
#%PAM-1.0
-#[For version 1.0 syntax, the above header is optional]
-# $Id: passwd,v 1.1 1998/07/23 22:13:15 marekm Exp $
# /etc/pam.d/passwd - sample PAM config file for the `passwd' service
password required pam_unix_passwd.so
--- /dev/null
+#%PAM-1.0
+# /etc/pam.d/shadow - sample PAM config file for all shadow utils like:
+# chpasswd, groupadd, groupdel, groupmod, newusers, useradd, userdel, usermod.
+auth sufficient /lib/security/pam_rootok.so
+account required /lib/security/pam_permit.so
+password required /lib/security/pam_make.so /var/db
#%PAM-1.0
-#[For version 1.0 syntax, the above header is optional]
-# $Id: su,v 1.1 1998/07/23 22:13:15 marekm Exp $
# /etc/pam.d/su - sample PAM config file for the `su' service
auth sufficient pam_rootok.so
auth required pam_unix_auth.so
+++ /dev/null
-# /etc/shells: valid login shells
-/bin/ash
-/bin/bash
-/bin/csh
-/bin/sh
-/usr/bin/es
-/usr/bin/ksh
-/usr/bin/rc
-/usr/bin/tcsh
-/usr/bin/zsh
+++ /dev/null
-# /etc/suauth - secure-su control file. See suauth(5) for full documentation.
-
-# Uncommenting this line will only allow members of group root to su to root.
-# root:ALL EXCEPT GROUP root:DENY
if test "$(PACKAGE)" = "gettext" \
&& test '@INTLOBJS@' = '$(GETTOBJS)'; then \
if test -r $(MKINSTALLDIRS); then \
- $(MKINSTALLDIRS) $(libdir) $(includedir); \
+ $(MKINSTALLDIRS) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
else \
- $(top_srcdir)/mkinstalldirs $(libdir) $(includedir); \
+ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
fi; \
- $(INSTALL_DATA) intlh.inst $(includedir)/libintl.h; \
- $(INSTALL_DATA) libintl.a $(libdir)/libintl.a; \
+ $(INSTALL_DATA) intlh.inst $(DESTDIR)$(includedir)/libintl.h; \
+ $(INSTALL_DATA) libintl.a $(DESTDIR)$(libdir)/libintl.a; \
else \
: ; \
fi
install-data: all
if test "$(PACKAGE)" = "gettext"; then \
if test -r $(MKINSTALLDIRS); then \
- $(MKINSTALLDIRS) $(gettextsrcdir); \
+ $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \
else \
- $(top_srcdir)/mkinstalldirs $(gettextsrcdir); \
+ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \
fi; \
- $(INSTALL_DATA) VERSION $(gettextsrcdir)/VERSION; \
+ $(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \
dists="$(DISTFILES.common)"; \
for file in $$dists; do \
- $(INSTALL_DATA) $(srcdir)/$$file $(gettextsrcdir)/$$file; \
+ $(INSTALL_DATA) $(srcdir)/$$file $(DESTDIR)$(gettextsrcdir)/$$file; \
done; \
else \
: ; \
uninstall:
dists="$(DISTFILES.common)"; \
for file in $$dists; do \
- rm -f $(gettextsrcdir)/$$file; \
+ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
done
info dvi:
#include <sys/types.h>
-#if defined __GNUC__ && !defined C_ALLOCA
+#ifdef __GNUC__
# define alloca __builtin_alloca
# define HAVE_ALLOCA 1
#else
-# if (defined HAVE_ALLOCA_H || defined _LIBC) && !defined C_ALLOCA
+# if defined HAVE_ALLOCA_H || defined _LIBC
# include <alloca.h>
# else
# ifdef _AIX
# define DCGETTEXT dcgettext__
#endif
-/* Checking whether the binaries runs SUID must be done and glibc provides
- easier methods therefore we make a difference here. */
-#ifdef _LIBC
-# define ENABLE_SECURE __libc_enable_secure
-# define DETERMINE_SECURE
-#else
-static int enable_secure;
-# define ENABLE_SECURE (enable_secure == 1)
-# define DETERMINE_SECURE \
- if (enable_secure == 0) \
- { \
- if (getuid () != geteuid () || getgid () != getegid ()) \
- enable_secure = 1; \
- else \
- enable_secure = -1; \
- }
-#endif
-
/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
locale. */
char *
if (msgid == NULL)
return NULL;
- /* See whether this is a SUID binary or not. */
- DETERMINE_SECURE;
-
/* If DOMAINNAME is NULL, we are interested in the default domain. If
CATEGORY is not LC_MESSAGES this might not make much sense but the
- definition left this undefined. */
+ defintion left this undefined. */
if (domainname == NULL)
domainname = _nl_current_default_domain;
size_t path_max;
char *ret;
- path_max = (unsigned int) PATH_MAX;
+ path_max = (unsigned) PATH_MAX;
path_max += 2; /* The getcwd docs say to do this. */
dirname = (char *) alloca (path_max + dirname_len);
/* Search for the given string. This is a loop because we perhaps
- got an ordered list of languages to consider for the translation. */
+ got an ordered list of languages to consider for th translation. */
while (1)
{
/* Make CATEGORYVALUE point to the next element of the list. */
while (categoryvalue[0] != '\0' && categoryvalue[0] != ':')
*cp++ = *categoryvalue++;
*cp = '\0';
-
- /* When this is a SUID binary we must not allow accessing files
- outside the dedicated directories. */
- if (ENABLE_SECURE
- && (memchr (single_locale, '/',
- _nl_find_language (single_locale) - single_locale)
- != NULL))
- /* Ingore this entry. */
- continue;
}
/* If the current locale value is C (or POSIX) we don't load a
struct loaded_l10nfile *domain_file;
const char *msgid;
{
- size_t act = 0;
- size_t top, bottom;
+ size_t top, act, bottom;
struct loaded_domain *domain;
if (domain_file->decided == 0)
/* @@ end of prolog @@ */
-char *
-_nl_find_language (const char *name)
-{
- while (name[0] != '\0' && name[0] != '_' && name[0] != '@'
- && name[0] != '+' && name[0] != ',')
- ++name;
-
- return (char *) name;
-}
-
-
int
_nl_explode_name (name, language, modifier, territory, codeset,
normalized_codeset, special, sponsor, revision)
mask = 0;
syntax = undecided;
*language = cp = name;
- cp = _nl_find_language (*language);
+ while (cp[0] != '\0' && cp[0] != '_' && cp[0] != '@'
+ && cp[0] != '+' && cp[0] != ',')
+ ++cp;
if (*language == cp)
/* This does not make sense: language has to be specified. Use
/* Defines the so called `hashpjw' function by P.J. Weinberger
[see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools,
1986, 1987 Bell Telephone Laboratories, Inc.] */
-static unsigned long int hash_string PARAMS ((const char *__str_param));
+static unsigned long hash_string PARAMS ((const char *__str_param));
-static inline unsigned long int
+static inline unsigned long
hash_string (str_param)
const char *str_param;
{
while (*str != '\0')
{
hval <<= 4;
- hval += (unsigned long int) *str++;
- g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4));
+ hval += (unsigned long) *str++;
+ g = hval & ((unsigned long) 0xf << (HASHWORDBITS - 4));
if (g != 0)
{
hval ^= g >> (HASHWORDBITS - 8);
names. */
const char *
_nl_normalize_codeset (codeset, name_len)
- const char *codeset;
+ const unsigned char *codeset;
size_t name_len;
{
int len = 0;
};
-extern const char *_nl_normalize_codeset PARAMS ((const char *codeset,
+extern const char *_nl_normalize_codeset PARAMS ((const unsigned char *codeset,
size_t name_len));
extern struct loaded_l10nfile *
const char **special,
const char **sponsor,
const char **revision));
-
-extern char *_nl_find_language PARAMS ((const char *name));
# include <unistd.h>
#endif
-#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
- || (defined _LIBC && defined _POSIX_MAPPED_FILES)
+#if (defined HAVE_MMAP && defined HAVE_MUNMAP) || defined _LIBC
# include <sys/mman.h>
-# undef HAVE_MMAP
-# define HAVE_MMAP 1
-#else
-# undef HAVE_MMAP
#endif
#include "gettext.h"
size_t size;
struct stat st;
struct mo_file_header *data = (struct mo_file_header *) -1;
+#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
+ || defined _LIBC
int use_mmap = 0;
+#endif
struct loaded_domain *domain;
domain_file->decided = 1;
return;
}
-#ifdef HAVE_MMAP
+#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
+ || defined _LIBC
/* Now we are ready to load the file. If mmap() is available we try
this first. If not available or it failed we try to load it. */
data = (struct mo_file_header *) mmap (NULL, size, PROT_READ,
if (data->magic != _MAGIC && data->magic != _MAGIC_SWAPPED)
{
/* The magic number is wrong: not a message catalog file. */
-#ifdef HAVE_MMAP
+#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
+ || defined _LIBC
if (use_mmap)
munmap ((caddr_t) data, size);
else
domain = (struct loaded_domain *) domain_file->data;
domain->data = (char *) data;
+#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
+ || defined _LIBC
domain->use_mmap = use_mmap;
+#endif
domain->mmap_size = size;
domain->must_swap = data->magic != _MAGIC;
((char *) data + W (domain->must_swap, data->hash_tab_offset));
break;
default:
- /* This is an invalid revision. */
-#ifdef HAVE_MMAP
+ /* This is an illegal revision. */
+#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
+ || defined _LIBC
if (use_mmap)
munmap ((caddr_t) data, size);
else
_nl_unload_domain (domain)
struct loaded_domain *domain;
{
-#ifdef _POSIX_MAPPED_FILES
if (domain->use_mmap)
munmap ((caddr_t) domain->data, domain->mmap_size);
else
-#endif /* _POSIX_MAPPED_FILES */
free ((void *) domain->data);
free (domain);
file and the name space must not be polluted. */
# define strcasecmp __strcasecmp
-# ifndef mempcpy
-# define mempcpy __mempcpy
-# endif
+# define mempcpy __mempcpy
# define HAVE_MEMPCPY 1
/* We need locking here since we can be called from different places. */
__libc_lock_define_initialized (static, lock);
#endif
-#ifndef internal_function
-# define internal_function
-#endif
/* For those loosing systems which don't have `alloca' we have to add
some additional code emulating it. */
# define alloca(size) (malloc (size))
#endif /* have alloca */
-#if defined _LIBC_REENTRANT || defined HAVE_FGETS_UNLOCKED
-# undef fgets
-# define fgets(buf, len, s) fgets_unlocked (buf, len, s)
-#endif
-#if defined _LIBC_REENTRANT || defined HAVE_FEOF_UNLOCKED
-# undef feof
-# define feof(s) feof_unlocked (s)
-#endif
-
struct alias_map
{
b) these fields must be usable as file names and so must not
be that long
*/
- char buf[BUFSIZ];
- char *alias;
- char *value;
- char *cp;
+ unsigned char buf[BUFSIZ];
+ unsigned char *alias;
+ unsigned char *value;
+ unsigned char *cp;
if (fgets (buf, sizeof buf, fp) == NULL)
/* EOF reached. */
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
+# Makefile.in generated automatically by automake 1.4a from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_FLAG =
transform = @program_transform_name@
NORMAL_INSTALL = :
INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
-LD = @LD@
LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@
LIBMD = @LIBMD@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
-NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = tar
+TAR = gtar
GZIP_ENV = --best
SOURCES = $(libshadow_a_SOURCES) $(libshadow_la_SOURCES)
OBJECTS = $(libshadow_a_OBJECTS) $(libshadow_la_OBJECTS)
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$/$$file $(distdir)/$$file; \
+ cp -pr $$d/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
-commonio.lo commonio.o : commonio.c ../config.h rcsid.h defines.h \
- gshadow_.h commonio.h
-dialchk.lo dialchk.o : dialchk.c ../config.h rcsid.h defines.h \
- gshadow_.h prototypes.h dialup.h dialchk.h
-dialup.lo dialup.o : dialup.c ../config.h rcsid.h prototypes.h defines.h \
- gshadow_.h dialup.h
-encrypt.lo encrypt.o : encrypt.c ../config.h rcsid.h prototypes.h \
- defines.h gshadow_.h
-fputsx.lo fputsx.o : fputsx.c ../config.h defines.h gshadow_.h rcsid.h
-getdef.lo getdef.o : getdef.c ../config.h rcsid.h prototypes.h defines.h \
- gshadow_.h getdef.h
-getpass.lo getpass.o : getpass.c ../config.h rcsid.h defines.h \
- gshadow_.h getdef.h
-groupio.lo groupio.o : groupio.c ../config.h rcsid.h prototypes.h \
- defines.h gshadow_.h commonio.h groupio.h
-gshadow.lo gshadow.o : gshadow.c ../config.h rcsid.h prototypes.h \
- defines.h gshadow_.h
-lockpw.lo lockpw.o : lockpw.c ../config.h
-port.lo port.o : port.c ../config.h rcsid.h defines.h gshadow_.h port.h
-putgrent.lo putgrent.o : putgrent.c ../config.h prototypes.h defines.h \
- gshadow_.h
-pwauth.lo pwauth.o : pwauth.c ../config.h rcsid.h prototypes.h defines.h \
- gshadow_.h pwauth.h getdef.h
-pwio.lo pwio.o : pwio.c ../config.h rcsid.h prototypes.h defines.h \
- gshadow_.h commonio.h pwio.h
-rad64.lo rad64.o : rad64.c ../config.h rcsid.h
-sgetgrent.lo sgetgrent.o : sgetgrent.c ../config.h rcsid.h defines.h \
- gshadow_.h
-sgetpwent.lo sgetpwent.o : sgetpwent.c ../config.h rcsid.h defines.h \
- gshadow_.h
-sgroupio.lo sgroupio.o : sgroupio.c ../config.h rcsid.h prototypes.h \
- defines.h gshadow_.h commonio.h sgroupio.h
-shadowio.lo shadowio.o : shadowio.c ../config.h rcsid.h prototypes.h \
- defines.h gshadow_.h commonio.h shadowio.h
-shadow.lo shadow.o : shadow.c ../config.h
-tcfsio.lo tcfsio.o : tcfsio.c ../config.h
-utent.lo utent.o : utent.c ../config.h
info-am:
info: info-am
all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS)
all-redirect: all-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
installdirs:
$(mkinstalldirs) $(DESTDIR)$(libdir)
INCLUDES = -I$(top_srcdir)/libmisc -I$(top_srcdir)/lib
DEFS = -DLOCALEDIR=\"$(localedir)\" -I. -I$(srcdir) -I.. @DEFS@
-libmisc_a_SOURCES = addgrps.c age.c basename.c chkname.c chkshell.c \
- chowndir.c chowntty.c console.c copydir.c entry.c env.c failure.c \
- fields.c getdate.y hushed.c isexpired.c limits.c list.c log.c \
- login_access.c login_desrpc.c login_krb.c loginprompt.c mail.c motd.c \
- myname.c obscure.c pam_pass.c pwd2spwd.c pwdcheck.c pwd_init.c rlogin.c \
- salt.c setugid.c setup.c setupenv.c shell.c strtoday.c suauth.c sub.c \
- sulog.c ttytype.c tz.c ulimit.c utmp.c valid.c xmalloc.c
+libmisc_a_SOURCES = \
+ addgrps.c \
+ age.c \
+ basename.c \
+ chkname.c \
+ chkshell.c \
+ chowndir.c \
+ chowntty.c \
+ console.c \
+ copydir.c \
+ entry.c \
+ env.c \
+ failure.c \
+ fields.c \
+ getdate.y \
+ hushed.c \
+ isexpired.c \
+ limits.c \
+ list.c log.c \
+ login_access.c \
+ login_desrpc.c \
+ login_krb.c \
+ loginprompt.c \
+ mail.c \
+ motd.c \
+ myname.c \
+ obscure.c \
+ pam_pass.c \
+ pwd2spwd.c \
+ pwd_init.c \
+ rlogin.c \
+ salt.c \
+ setugid.c \
+ setup.c \
+ setupenv.c \
+ shell.c \
+ strtoday.c \
+ suauth.c \
+ sub.c \
+ sulog.c \
+ ttytype.c \
+ tz.c \
+ ulimit.c \
+ utmp.c \
+ valid.c \
+ xmalloc.c
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
+# Makefile.in generated automatically by automake 1.4a from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_FLAG =
transform = @program_transform_name@
NORMAL_INSTALL = :
INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
-LD = @LD@
LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@
LIBMD = @LIBMD@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
-NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
INCLUDES = -I$(top_srcdir)/libmisc -I$(top_srcdir)/lib
DEFS = -DLOCALEDIR=\"$(localedir)\" -I. -I$(srcdir) -I.. @DEFS@
-libmisc_a_SOURCES = addgrps.c age.c basename.c chkname.c chkshell.c chowndir.c chowntty.c console.c copydir.c entry.c env.c failure.c fields.c getdate.y hushed.c isexpired.c limits.c list.c log.c login_access.c login_desrpc.c login_krb.c loginprompt.c mail.c motd.c myname.c obscure.c pam_pass.c pwd2spwd.c pwdcheck.c pwd_init.c rlogin.c salt.c setugid.c setup.c setupenv.c shell.c strtoday.c suauth.c sub.c sulog.c ttytype.c tz.c ulimit.c utmp.c valid.c xmalloc.c
+libmisc_a_SOURCES = addgrps.c age.c basename.c chkname.c chkshell.c chowndir.c chowntty.c console.c copydir.c entry.c env.c failure.c fields.c getdate.y hushed.c isexpired.c limits.c list.c log.c login_access.c login_desrpc.c login_krb.c loginprompt.c mail.c motd.c myname.c obscure.c pam_pass.c pwd2spwd.c pwd_init.c rlogin.c salt.c setugid.c setup.c setupenv.c shell.c strtoday.c suauth.c sub.c sulog.c ttytype.c tz.c ulimit.c utmp.c valid.c xmalloc.c
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
chowndir.o chowntty.o console.o copydir.o entry.o env.o failure.o \
fields.o getdate.o hushed.o isexpired.o limits.o list.o log.o \
login_access.o login_desrpc.o login_krb.o loginprompt.o mail.o motd.o \
-myname.o obscure.o pam_pass.o pwd2spwd.o pwdcheck.o pwd_init.o rlogin.o \
-salt.o setugid.o setup.o setupenv.o shell.o strtoday.o suauth.o sub.o \
-sulog.o ttytype.o tz.o ulimit.o utmp.o valid.o xmalloc.o
+myname.o obscure.o pam_pass.o pwd2spwd.o pwd_init.o rlogin.o salt.o \
+setugid.o setup.o setupenv.o shell.o strtoday.o suauth.o sub.o sulog.o \
+ttytype.o tz.o ulimit.o utmp.o valid.o xmalloc.o
AR = ar
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = tar
+TAR = gtar
GZIP_ENV = --best
SOURCES = $(libmisc_a_SOURCES)
OBJECTS = $(libmisc_a_OBJECTS)
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$/$$file $(distdir)/$$file; \
+ cp -pr $$d/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
-addgrps.o: addgrps.c ../config.h ../lib/prototypes.h ../lib/defines.h \
- ../lib/gshadow_.h ../lib/rcsid.h
-age.o: age.c ../config.h ../lib/prototypes.h ../lib/defines.h \
- ../lib/gshadow_.h ../lib/rcsid.h
-basename.o: basename.c ../config.h ../lib/rcsid.h ../lib/defines.h \
- ../lib/gshadow_.h ../lib/prototypes.h
-chkname.o: chkname.c ../config.h ../lib/rcsid.h ../lib/defines.h \
- ../lib/gshadow_.h chkname.h
-chkshell.o: chkshell.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h
-chowndir.o: chowndir.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h
-chowntty.o: chowntty.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/getdef.h
-console.o: console.c ../config.h ../lib/defines.h ../lib/gshadow_.h \
- ../lib/getdef.h ../lib/rcsid.h
-copydir.o: copydir.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h
-entry.o: entry.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h
-env.o: env.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h
-failure.o: failure.c ../config.h ../lib/rcsid.h ../lib/defines.h \
- ../lib/gshadow_.h ../lib/faillog.h ../lib/getdef.h failure.h
-fields.o: fields.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h
-getdate.o: getdate.c ../config.h getdate.h ../lib/defines.h \
- ../lib/gshadow_.h
-hushed.o: hushed.c ../config.h ../lib/rcsid.h ../lib/defines.h \
- ../lib/gshadow_.h ../lib/prototypes.h ../lib/getdef.h
-isexpired.o: isexpired.c ../config.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/rcsid.h
-limits.o: limits.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/getdef.h
-list.o: list.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h
-login_access.o: login_access.c ../config.h ../lib/rcsid.h \
- ../lib/prototypes.h ../lib/defines.h ../lib/gshadow_.h
-login_desrpc.o: login_desrpc.c ../config.h
-login_krb.o: login_krb.c ../config.h
-loginprompt.o: loginprompt.c ../config.h ../lib/rcsid.h \
- ../lib/prototypes.h ../lib/defines.h ../lib/gshadow_.h \
- ../lib/getdef.h
-log.o: log.c ../config.h ../lib/rcsid.h ../lib/defines.h \
- ../lib/gshadow_.h
-mail.o: mail.c ../config.h ../lib/prototypes.h ../lib/defines.h \
- ../lib/gshadow_.h ../lib/getdef.h ../lib/rcsid.h
-motd.o: motd.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/getdef.h
-myname.o: myname.c ../config.h ../lib/rcsid.h ../lib/defines.h \
- ../lib/gshadow_.h ../lib/prototypes.h
-obscure.o: obscure.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/getdef.h
-pam_pass.o: pam_pass.c ../config.h
-pwd2spwd.o: pwd2spwd.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h
-pwdcheck.o: pwdcheck.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/pwauth.h
-pwd_init.o: pwd_init.c ../config.h ../lib/rcsid.h ../lib/defines.h \
- ../lib/gshadow_.h
-rlogin.o: rlogin.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h
-salt.o: salt.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/getdef.h
-setugid.o: setugid.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/getdef.h
-setupenv.o: setupenv.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/getdef.h
-setup.o: setup.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h
-shell.o: shell.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h
-strtoday.o: strtoday.c ../config.h ../lib/rcsid.h ../lib/defines.h \
- ../lib/gshadow_.h getdate.h
-suauth.o: suauth.c ../config.h ../lib/prototypes.h ../lib/defines.h \
- ../lib/gshadow_.h
-sub.o: sub.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h
-sulog.o: sulog.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/getdef.h
-ttytype.o: ttytype.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/getdef.h
-tz.o: tz.c ../config.h ../lib/rcsid.h ../lib/defines.h ../lib/gshadow_.h \
- ../lib/getdef.h
-ulimit.o: ulimit.c ../config.h ../lib/rcsid.h
-utmp.o: utmp.c ../config.h ../lib/defines.h ../lib/gshadow_.h \
- ../lib/rcsid.h
-valid.o: valid.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h
-xmalloc.o: xmalloc.c ../config.h ../lib/rcsid.h ../lib/defines.h \
- ../lib/gshadow_.h
info-am:
info: info-am
all-am: Makefile $(LIBRARIES) $(HEADERS)
all-redirect: all-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
installdirs:
+++ /dev/null
-#include <config.h>
-
-#include "rcsid.h"
-RCSID("$Id$")
-
-#include "prototypes.h"
-#include "defines.h"
-
-#include <pwd.h>
-#include "pwauth.h"
-
-#ifdef HAVE_SHADOW_H
-#include <shadow.h>
-#endif
-
-#ifdef USE_PAM
-#include "pam_defs.h"
-#endif
-
-#define WRONGPWD2 "incorrect password for `%s'"
-
-void
-passwd_check(const char *user, const char *passwd, const char *progname)
-{
-#ifdef USE_PAM
- pam_handle_t *pamh = NULL;
- int retcode;
- struct pam_conv conv = { misc_conv, NULL };
-
- if (pam_start(progname, user, &conv, &pamh)) {
-bailout:
- SYSLOG((LOG_WARN, WRONGPWD2, user));
- sleep(1);
- fprintf(stderr, _("Incorrect password for %s.\n"), user);
- exit(1);
- }
- if (pam_authenticate(pamh, 0))
- goto bailout;
-
- retcode = pam_acct_mgmt(pamh, 0);
- if (retcode == PAM_NEW_AUTHTOK_REQD) {
- retcode = pam_chauthtok(pamh, PAM_CHANGE_EXPIRED_AUTHTOK);
- } else if (retcode)
- goto bailout;
-
- if (pam_setcred(pamh, 0))
- goto bailout;
-
- /* no need to establish a session; this isn't a session-oriented
- * activity... */
-
-#else /* !USE_PAM */
-
-#ifdef SHADOWPWD
- struct spwd *sp;
-
- if ((sp = getspnam(user)))
- passwd = sp->sp_pwdp;
- endspent();
-#endif
- if (pw_auth(passwd, user, PW_LOGIN, (char *) 0) != 0) {
- SYSLOG((LOG_WARN, WRONGPWD2, user));
- sleep(1);
- fprintf(stderr, _("Incorrect password for %s.\n"), user);
- exit(1);
- }
-#endif /* !USE_PAM */
-}
-
# Find the correct PATH separator. Usually this is `:', but
# DJGPP uses `;' like DOS.
-if test "X${PATH_SEPARATOR+set}" != "Xset"; then
+if test "X${PATH_SEPARATOR+set}" != Xset; then
UNAME=${UNAME-`uname 2>/dev/null`}
case X$UNAME in
*-DOS) PATH_SEPARATOR=';' ;;
# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
-if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
+if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
-if test "X${echo_test_string+set}" != "Xset"; then
+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, ...
# Constants:
PROGRAM=ltconfig
PACKAGE=libtool
-VERSION=1.3.3
-TIMESTAMP=" (1.385.2.181 1999/07/02 15:49:11)"
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5'
+VERSION=1.3.5
+TIMESTAMP=" (1.385.2.206 2000/05/27 11:12:27)"
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
rm="rm -f"
help="Try \`$progname --help' for more information."
# Only set LANG and LC_ALL to C if already set.
# These must not be set unconditionally because not all systems understand
# e.g. LANG=C (notably SCO).
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "X${LC_ALL+set}" = Xset; then LC_ALL=C; export LC_ALL; fi
+if test "X${LANG+set}" = Xset; then LANG=C; export LANG; fi
if test -n "$cache_file" && test -r "$cache_file"; then
echo "loading cache $cache_file within ltconfig"
# AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke.
- if test "${COLLECT_NAMES+set}" != set; then
+ if test "X${COLLECT_NAMES+set}" != Xset; then
COLLECT_NAMES=
export COLLECT_NAMES
fi
link_static_flag='-static'
case "$host_os" in
- beos* | irix5* | irix6* | osf3* | osf4*)
+ beos* | irix5* | irix6* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
aix*)
# We can build DLLs from non-PIC.
;;
- osf3* | osf4*)
+ osf3* | osf4* | osf5*)
# All OSF/1 code is PIC.
wl='-Wl,'
link_static_flag='-non_shared'
# Extract the symbol export list from an `--export-all' def file,
# then regenerate the def file from the symbol export list, so that
# the compiled dll only exports the symbol export list.
+ # Be careful not to strip the DATA tag left by newer dlltools.
export_symbols_cmds='test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~
$DLLTOOL --export-all --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --output-def $objdir/$soname-def $objdir/$soname-ltdll.$objext $libobjs $convenience~
- sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]* ; *//" < $objdir/$soname-def > $export_symbols'
+ sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $objdir/$soname-def > $export_symbols'
+ # If DATA tags from a recent dlltool are present, honour them!
archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~
_lt_hint=1;
- for symbol in `cat $export_symbols`; do
- echo " \$symbol @ \$_lt_hint ; " >> $objdir/$soname-def;
+ cat $export_symbols | while read symbol; do
+ set dummy \$symbol;
+ case \$# in
+ 2) echo " \$2 @ \$_lt_hint ; " >> $objdir/$soname-def;;
+ *) echo " \$2 @ \$_lt_hint \$3 ; " >> $objdir/$soname-def;;
+ esac;
_lt_hint=`expr 1 + \$_lt_hint`;
done~
test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
;;
netbsd*)
- if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
else
fi
;;
- solaris*)
+ solaris* | sysv5*)
if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
ld_shlibs=no
cat <<EOF 1>&2
whole_archive_flag_spec=
;;
*)
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec=
+ fi
;;
esac
fi
old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def'
;;
- osf3* | osf4*)
+ osf3*)
if test "$with_gcc" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
hardcode_libdir_separator=:
;;
+ osf4* | osf5*) # As osf3* with the addition of the -msym flag
+ if test "$with_gcc" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+ fi
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ rhapsody*)
+ archive_cmds='$CC -bundle -undefined suppress -o $lib $libobjs $deplibs $linkopts'
+ hardcode_libdir_flags_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
sco3.2v5*)
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
hardcode_shlibpath_var=no
;;
sysv4)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $linkopts'
+ else
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
+ fi
runpath_var='LD_RUN_PATH'
hardcode_shlibpath_var=no
hardcode_direct=no #Motorola manual says yes, but my tests say they lie
export_dynamic_flag_spec='-Bexport'
;;
+ sysv5*)
+ no_undefined_flag=' -z text'
+ # $CC -shared without GNU ld will not create a library from C++
+ # object files and a static libstdc++, better avoid it by now
+ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linkopts'
+ archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp'
+ hardcode_libdir_flag_spec=
+ hardcode_shlibpath_var=no
+ runpath_var='LD_RUN_PATH'
+ ;;
+
uts4*)
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
hardcode_libdir_flag_spec='-L$libdir'
;;
sysv4*MP*)
- if test -d /usr/nec ;then
- # archive_cmds='$LD -G -z text -h $soname -o $lib$libobjs$deplibs'
- archive_cmds='$LD -G -h $soname -o $lib$libobjs$deplibs'
+ if test -d /usr/nec; then
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
+ hardcode_shlibpath_var=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ld_shlibs=yes
+ fi
+ ;;
+
+ sysv4.2uw2*)
+ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linkopts'
+ hardcode_direct=yes
+ hardcode_minus_L=no
hardcode_shlibpath_var=no
- runpath_var=LD_RUN_PATH
hardcode_runpath_var=yes
- ld_shlibs=yes
- fi
+ runpath_var=LD_RUN_PATH
+ ;;
+
+ unixware7*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var=no
;;
*)
main(){nm_test_var='a';nm_test_func();return(0);}
EOF
- echo "$progname:1592: checking if global_symbol_pipe works" >&5
- if { (eval echo $progname:1593: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then
+ echo "$progname:1653: checking if global_symbol_pipe works" >&5
+ if { (eval echo $progname:1654: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then
# Now try to grab the symbols.
nlist=conftest.nm
- if { echo "$progname:1596: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
+ if { echo "$progname:1657: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
# Try sorting and uniquifying the output.
if sort "$nlist" | uniq > "$nlist"T; then
save_CFLAGS="$CFLAGS"
LIBS="conftstm.$objext"
CFLAGS="$CFLAGS$no_builtin_flag"
- if { (eval echo $progname:1648: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+ if { (eval echo $progname:1709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
pipe_works=yes
else
echo "$progname: failed program was:" >&5
bsdi4*)
version_type=linux
- library_names_spec='${libname}.so$major ${libname}.so'
- soname_spec='${libname}.so'
+ need_version=no
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
file_magic_test_file=/shlib/libc.so
sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ export_dynamic_flag_spec=-rdynamic
# the default ld.so.conf also contains /usr/contrib/lib and
# /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
# libtool to hard-code these into programs
need_version=yes
;;
esac
- finish_cmds='PATH="\$PATH:/sbin" OBJFORMAT="'"$objformat"'" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
case "$host_os" in
- freebsd2* | freebsd3.[01]*)
+ freebsd2* | freebsd3.[01]* | freebsdelf3.[01]*)
shlibpath_overrides_runpath=yes
;;
*) # from 3.2 on
soname_spec='${libname}${release}.sl$major'
# HP-UX runs *really* slowly unless shared libraries are mode 555.
postinstall_cmds='chmod 555 $lib'
+ case "$host_os" in
+ hpux10.20*)
+ # TODO: Does this work for hpux-11 too?
+ deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
+ file_magic_cmd=/usr/bin/file
+ file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
;;
irix5* | irix6*)
*-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
*) libsuff= shlibsuff= libmagic=never-match;;
esac
- # this will be overridden with pass_all, but let us keep it just in case
- deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
;;
esac
shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
- deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
- file_magic_cmd=/usr/bin/file
- file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+ deplibs_check_method=pass_all
if test -f /lib/ld.so.1; then
dynamic_linker='GNU ld.so'
shlibpath_var=LIBPATH
;;
-osf3* | osf4*)
+osf3* | osf4* | osf5*)
version_type=osf
need_version=no
soname_spec='${libname}${release}.so'
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
;;
+rhapsody*)
+ version_type=sunos
+ library_names_spec='${libname}.so'
+ soname_spec='${libname}.so'
+ shlibpath_var=DYLD_LIBRARY_PATH
+ deplibs_check_method=pass_all
+ ;;
+
sco3.2v5*)
version_type=osf
soname_spec='${libname}${release}.so$major'
soname_spec='${libname}${release}.so$major'
shlibpath_var=LD_LIBRARY_PATH
case "$host_vendor" in
+ sequent)
+ file_magic_cmd='/bin/file'
+ deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+ ;;
ncr)
deplibs_check_method='pass_all'
;;
if eval "test \"`echo '$''{'lt_cv_dlopen'+set}'`\" != set"; then
lt_cv_dlopen=no lt_cv_dlopen_libs=
echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "$progname:2170: checking for dlopen in -ldl" >&5
+echo "$progname:2248: checking for dlopen in -ldl" >&5
ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-ldl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2178 "ltconfig"
+#line 2256 "ltconfig"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
char dlopen();
int main() {
dlopen()
; return 0; }
EOF
-if { (eval echo $progname:2188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo $progname:2269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for dlopen""... $ac_c" 1>&6
-echo "$progname:2207: checking for dlopen" >&5
+echo "$progname:2288: checking for dlopen" >&5
if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2212 "ltconfig"
+#line 2293 "ltconfig"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char dlopen(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
char dlopen();
int main() {
; return 0; }
EOF
-if { (eval echo $progname:2234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo $progname:2318: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_dlopen=yes"
else
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6
-echo "$progname:2251: checking for dld_link in -ldld" >&5
+echo "$progname:2335: checking for dld_link in -ldld" >&5
ac_lib_var=`echo dld'_'dld_link | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-ldld $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2259 "ltconfig"
+#line 2343 "ltconfig"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
char dld_link();
int main() {
dld_link()
; return 0; }
EOF
-if { (eval echo $progname:2269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo $progname:2356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for shl_load""... $ac_c" 1>&6
-echo "$progname:2288: checking for shl_load" >&5
+echo "$progname:2375: checking for shl_load" >&5
if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2293 "ltconfig"
+#line 2380 "ltconfig"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char shl_load(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
char shl_load();
int main() {
; return 0; }
EOF
-if { (eval echo $progname:2315: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo $progname:2405: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_shl_load=yes"
else
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
-echo "$progname:2333: checking for shl_load in -ldld" >&5
+echo "$progname:2423: checking for shl_load in -ldld" >&5
ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-ldld $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2341 "ltconfig"
+#line 2431 "ltconfig"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
char shl_load();
int main() {
shl_load()
; return 0; }
EOF
-if { (eval echo $progname:2352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo $progname:2445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
for ac_hdr in dlfcn.h; do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "$progname:2395: checking for $ac_hdr" >&5
+echo "$progname:2488: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2400 "ltconfig"
+#line 2493 "ltconfig"
#include <$ac_hdr>
int fnord = 0;
EOF
-ac_try="$ac_compile conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo $progname:2405: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_try="$ac_compile >/dev/null 2>conftest.out"
+{ (eval echo $progname:2498: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
LIBS="$lt_cv_dlopen_libs $LIBS"
echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6
-echo "$progname:2433: checking whether a program can dlopen itself" >&5
+echo "$progname:2526: checking whether a program can dlopen itself" >&5
if test "${lt_cv_dlopen_self+set}" = set; then
echo $ac_n "(cached) $ac_c" 1>&6
else
lt_cv_dlopen_self=cross
else
cat > conftest.c <<EOF
-#line 2441 "ltconfig"
+#line 2534 "ltconfig"
#if HAVE_DLFCN_H
#include <dlfcn.h>
if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
EOF
-if { (eval echo $progname:2487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo $progname:2580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
lt_cv_dlopen_self=yes
else
if test "$lt_cv_dlopen_self" = yes; then
LDFLAGS="$LDFLAGS $link_static_flag"
echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6
-echo "$progname:2506: checking whether a statically linked program can dlopen itself" >&5
+echo "$progname:2599: checking whether a statically linked program can dlopen itself" >&5
if test "${lt_cv_dlopen_self_static+set}" = set; then
echo $ac_n "(cached) $ac_c" 1>&6
else
lt_cv_dlopen_self_static=cross
else
cat > conftest.c <<EOF
-#line 2514 "ltconfig"
+#line 2607 "ltconfig"
#if HAVE_DLFCN_H
#include <dlfcn.h>
if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
EOF
-if { (eval echo $progname:2560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo $progname:2653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
lt_cv_dlopen_self_static=yes
else
# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
#
# Copyright (C) 1996-1999 Free Software Foundation, Inc.
-# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
-if test "\${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
+if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
### BEGIN LIBTOOL CONFIG
EOF
# AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke.
-if test "${COLLECT_NAMES+set}" != set; then
+if test "X${COLLECT_NAMES+set}" != Xset; then
COLLECT_NAMES=
export COLLECT_NAMES
fi
# Append the ltmain.sh script.
sed '$q' "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1)
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
chmod +x "$ofile"
;;
# Constants.
PROGRAM=ltmain.sh
PACKAGE=libtool
-VERSION=1.3.3
-TIMESTAMP=" (1.385.2.181 1999/07/02 15:49:11)"
+VERSION=1.3.5
+TIMESTAMP=" (1.385.2.206 2000/05/27 11:12:27)"
default_mode=
help="Try \`$progname --help' for more information."
fbsd_hideous_sh_bug=$base_compile
# All platforms use -DPIC, to notify preprocessed assembler code.
- command="$base_compile $pic_flag -DPIC $srcfile"
+ command="$base_compile $srcfile $pic_flag -DPIC"
if test "$build_old_libs" = yes; then
lo_libobj="$libobj"
dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
exit $error
fi
+ xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$xdir" = "X$obj"; then
+ xdir="."
+ else
+ xdir="$xdir"
+ fi
+ baseobj=`$echo "X$obj" | $Xsed -e "s%.*/%%"`
+ libobj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`
# Now arrange that obj and lo_libobj become the same file
- $show "$LN_S $obj $lo_libobj"
- if $run $LN_S $obj $lo_libobj; then
+ $show "(cd $xdir && $LN_S $baseobj $libobj)"
+ if $run eval '(cd $xdir && $LN_S $baseobj $libobj)'; then
exit 0
else
error=$?
# libtool link mode
link)
modename="$modename: link"
- C_compiler="$CC" # save it, to compile generated C sources
- CC="$nonopt"
case "$host" in
*-*-cygwin* | *-*-mingw* | *-*-os2*)
# It is impossible to link a dll without this setting, and
allow_undefined=yes
;;
esac
- compile_command="$CC"
- finalize_command="$CC"
+ compile_command="$nonopt"
+ finalize_command="$nonopt"
compile_rpath=
finalize_rpath=
# Check that each of the things are valid numbers.
case "$current" in
- 0 | [1-9] | [1-9][0-9]*) ;;
+ [0-9]*) ;;
*)
$echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
$echo "$modename: \`$vinfo' is not valid version information" 1>&2
esac
case "$revision" in
- 0 | [1-9] | [1-9][0-9]*) ;;
+ [0-9]*) ;;
*)
$echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
$echo "$modename: \`$vinfo' is not valid version information" 1>&2
esac
case "$age" in
- 0 | [1-9] | [1-9][0-9]*) ;;
+ [0-9]*) ;;
*)
$echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
$echo "$modename: \`$vinfo' is not valid version information" 1>&2
*-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*)
# these systems don't actually have a c library (as such)!
;;
+ *-*-rhapsody*)
+ # rhapsody is a little odd...
+ deplibs="$deplibs -framework System"
+ ;;
*)
# Add libc to deplibs on all other systems.
deplibs="$deplibs -lc"
int main() { return 0; }
EOF
$rm conftest
- $C_compiler -o conftest conftest.c $deplibs
+ $CC -o conftest conftest.c $deplibs
if test $? -eq 0 ; then
ldd_output=`ldd conftest`
for i in $deplibs; do
# If $name is empty we are operating on a -L argument.
if test "$name" != "" ; then
$rm conftest
- $C_compiler -o conftest conftest.c $i
+ $CC -o conftest conftest.c $i
# Did it work?
if test $? -eq 0 ; then
ldd_output=`ldd conftest`
done
# Ensure that we have .o objects for linkers which dislike .lo
- # (e.g. aix) incase we are running --disable-static
+ # (e.g. aix) in case we are running --disable-static
for obj in $libobjs; do
- oldobj=`$echo "X$obj" | $Xsed -e "$lo2o"`
- if test ! -f $oldobj; then
- $show "${LN_S} $obj $oldobj"
- $run ${LN_S} $obj $oldobj || exit $?
+ xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$xdir" = "X$obj"; then
+ xdir="."
+ else
+ xdir="$xdir"
+ fi
+ baseobj=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+ oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`
+ if test ! -f $xdir/$oldobj; then
+ $show "(cd $xdir && ${LN_S} $baseobj $oldobj)"
+ $run eval '(cd $xdir && ${LN_S} $baseobj $oldobj)' || exit $?
fi
done
# Just create a symlink.
$show $rm $libobj
$run $rm $libobj
- $show "$LN_S $obj $libobj"
- $run $LN_S $obj $libobj || exit $?
+ xdir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$xdir" = "X$libobj"; then
+ xdir="."
+ else
+ xdir="$xdir"
+ fi
+ baseobj=`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
+ oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`
+ $show "(cd $xdir && $LN_S $oldobj $baseobj)"
+ $run eval '(cd $xdir && $LN_S $oldobj $baseobj)' || exit $?
fi
if test -n "$gentop"; then
# linked before any other PIC object. But we must not use
# pic_flag when linking with -static. The problem exists in
# FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
- *-*-freebsd2*|*-*-freebsd3.0*)
+ *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)\r
case "$compile_command " in
*" -static "*) ;;
*) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";;
+ esac;;
+ *-*-hpux*)
+ case "$compile_command " in
+ *" -static "*) ;;
+ *) pic_flag_for_symtable=" $pic_flag -DPIC";;
esac
esac
# Now compile the dynamic symbol file.
- $show "(cd $output_objdir && $C_compiler -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
- $run eval '(cd $output_objdir && $C_compiler -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
+ $show "(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
+ $run eval '(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
# Clean up the generated files.
$show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
-if test \"\${CDPATH+set}\" = set; then CDPATH=; export CDPATH; fi
+if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi
relink_command=\"$relink_command\"
fi"
else
echo >> $output "\
- program='$outputname$exeext'
+ program='$outputname'
progdir=\"\$thisdir/$objdir\"
"
fi
# Run the actual program with our arguments.
"
case $host in
- *-*-cygwin* | *-*-mingw | *-*-os2*)
# win32 systems need to use the prog path for dll
# lookup to work
+ *-*-cygwin*)
+ $echo >> $output "\
+ exec \$progdir/\$program \${1+\"\$@\"}
+"
+ ;;
+
+ # Backslashes separate directories on plain windows
+ *-*-mingw | *-*-os2*)
$echo >> $output "\
exec \$progdir\\\\\$program \${1+\"\$@\"}
"
;;
+
*)
$echo >> $output "\
# Export the path to the program.
if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
eval cmds=\"$old_archive_from_new_cmds\"
else
- # Ensure that we have .o objects in place incase we decided
+ # Ensure that we have .o objects in place in case we decided
# not to build a shared library, and have fallen back to building
# static libs even though --disable-static was passed!
for oldobj in $oldobjs; do
if test ! -f $oldobj; then
- obj=`$echo "X$oldobj" | $Xsed -e "$o2lo"`
- $show "${LN_S} $obj $oldobj"
- $run ${LN_S} $obj $oldobj || exit $?
+ xdir=`$echo "X$oldobj" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$xdir" = "X$oldobj"; then
+ xdir="."
+ else
+ xdir="$xdir"
+ fi
+ baseobj=`$echo "X$oldobj" | $Xsed -e 's%^.*/%%'`
+ obj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`
+ $show "(cd $xdir && ${LN_S} $obj $baseobj)"
+ $run eval '(cd $xdir && ${LN_S} $obj $baseobj)' || exit $?
fi
done
if test "$finalize" = yes && test -z "$run"; then
tmpdir="/tmp"
test -n "$TMPDIR" && tmpdir="$TMPDIR"
- tmpdir="$tmpdir/libtool-$$"
+ tmpdir=`mktemp -d $tmpdir/libtool-XXXXXX 2> /dev/null`
+ if test $? = 0 ; then :
+ else
+ tmpdir="$tmpdir/libtool-$$"
+ fi
if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then :
else
$echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2
done
if test -z "$run"; then
- # Export the shlibpath_var.
- eval "export $shlibpath_var"
+ if test -n "$shlibpath_var"; then
+ # Export the shlibpath_var.
+ eval "export $shlibpath_var"
+ fi
# Restore saved enviroment variables
if test "${save_LC_ALL+set}" = set; then
exit 1
else
# Display what would be done.
- eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
- $echo "export $shlibpath_var"
+ if test -n "$shlibpath_var"; then
+ eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
+ $echo "export $shlibpath_var"
+ fi
$echo "$cmd$args"
exit 0
fi
SUBDIRS = pl
-man_MANS = chage.1 chfn.1 chsh.1 gpasswd.1 \
- login.1 newgrp.1 passwd.1 su.1 \
- shadow.3 \
- dialups.5 faillog.5 limits.5 login.access.5 login.defs.5 \
- passwd.5 porttime.5 shadow.5 suauth.5 \
- chpasswd.8 dpasswd.8 faillog.8 \
- groupadd.8 groupdel.8 groupmod.8 \
- grpck.8 lastlog.8 logoutd.8 mkpasswd.8 newusers.8 \
- pwck.8 pwconv.8 shadowconfig.8 \
- useradd.8 userdel.8 usermod.8 vipw.8
+man_MANS = \
+ chage.1 \
+ chfn.1 \
+ chsh.1 \
+ gpasswd.1 \
+ login.1 \
+ newgrp.1 \
+ passwd.1 \
+ su.1 \
+ shadow.3 \
+ dialups.5 \
+ faillog.5 \
+ limits.5 \
+ login.access.5 \
+ login.defs.5 \
+ passwd.5 \
+ porttime.5 \
+ shadow.5 \
+ suauth.5 \
+ adduser.8 \
+ chpasswd.8 \
+ dpasswd.8 \
+ faillog.8 \
+ groupadd.8 \
+ groupdel.8 \
+ groupmod.8 \
+ grpconv.8 \
+ grpunconv.8 \
+ grpck.8 \
+ lastlog.8 \
+ logoutd.8 \
+ mkpasswd.8 \
+ newusers.8 \
+ pwck.8 \
+ pwunconv.8
+ pwconv.8 \
+ shadowconfig.8 \
+ useradd.8 \
+ userdel.8 \
+ usermod.8 \
+ vipw.8
-EXTRA_DIST = groups.1 id.1 pw_auth.3 pwauth.8 sulogin.8 ${man_MANS}
+EXTRA_DIST = groups.1 id.1 pw_auth.3 pwauth.8 sulogin.8
# subdirectories for translated manual pages
SUBDIRS = pl
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
+# Makefile.in generated automatically by automake 1.4a from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_FLAG =
transform = @program_transform_name@
NORMAL_INSTALL = :
INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
-LD = @LD@
LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@
LIBMD = @LIBMD@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
-NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
# subdirectories for translated manual pages
SUBDIRS = pl
-man_MANS = chage.1 chfn.1 chsh.1 gpasswd.1 login.1 newgrp.1 passwd.1 su.1 shadow.3 dialups.5 faillog.5 limits.5 login.access.5 login.defs.5 passwd.5 porttime.5 shadow.5 suauth.5 chpasswd.8 dpasswd.8 faillog.8 groupadd.8 groupdel.8 groupmod.8 grpck.8 lastlog.8 logoutd.8 mkpasswd.8 newusers.8 pwck.8 pwconv.8 shadowconfig.8 useradd.8 userdel.8 usermod.8 vipw.8
+man_MANS = chage.1 chfn.1 chsh.1 gpasswd.1 login.1 newgrp.1 passwd.1 su.1 shadow.3 dialups.5 faillog.5 limits.5 login.access.5 login.defs.5 passwd.5 porttime.5 shadow.5 suauth.5 adduser.8 chpasswd.8 dpasswd.8 faillog.8 groupadd.8 groupdel.8 groupmod.8 grpconv.8 grpunconv.8 grpck.8 lastlog.8 logoutd.8 mkpasswd.8 newusers.8 pwck.8 pwunconv.8
-EXTRA_DIST = groups.1 id.1 pw_auth.3 pwauth.8 sulogin.8 ${man_MANS}
+EXTRA_DIST = groups.1 id.1 pw_auth.3 pwauth.8 sulogin.8
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = tar
+TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$/$$file $(distdir)/$$file; \
+ cp -pr $$d/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
all-am: Makefile $(MANS)
all-redirect: all-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
installdirs: installdirs-recursive
installdirs-am:
$(mkinstalldirs) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man3 \
installdirs mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+ pwconv.8 \
+ shadowconfig.8 \
+ useradd.8 \
+ userdel.8 \
+ usermod.8 \
+ vipw.8
# 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.
+++ /dev/null
-.\" Copyright 1990 - 1994 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.
-.\"
-.\" $Id: chage.1,v 1.6 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH CHAGE 1
-.SH NAME
-chage \- change user password expiry information
-.SH SYNOPSIS
-.TP 6
-\fBchage\fR
-[\fB-m \fImindays\fR] [\fB-M \fImaxdays\fR]
-[\fB-d \fIlastday\fR] [\fB-I \fIinactive\fR]
-.br
-[\fB-E \fIexpiredate\fR] [\fB-W \fIwarndays\fR] \fIuser\fR
-.TP 6
-\fBchage\fR
-\fB-l\fR \fIuser\fR
-.SH DESCRIPTION
-\fBchage\fR 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.
-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.
-.PP
-With the \fB-m\fR option, the value of \fImindays\fR is 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.
-.PP
-With the \fB-M\fR option, the value of \fImaxdays\fR is the maximum number
-of days during which a password is valid.
-When \fImaxdays\fR plus \fIlastday\fR is less than the current day,
-the user will be required to change her password before being
-able to use her account.
-This occurance can be planned for in advance by use of the \fB-W\fR option,
-which provides the user with advance warning.
-.PP
-With the \fB-d\fR option, the value of \fIlastday\fR is 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).
-.PP
-The \fB-E\fR option is used to set a date on which the user's account will
-no longer be accessible.
-The \fIexpiredate\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.
-.PP
-The \fB-I\fR option is used to set the number of days of inactivity after
-a password has expired before the account is locked.
-A user whose account is locked must contact the system administrator before
-being able to use the system again.
-The \fIinactive\fR option is the number of days of inactivity. A value of
-0 disables this feature.
-.PP
-The \fB-W\fR option is used to set the number of days of warning before a
-password change is required.
-The \fIwarndays\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
-All of the above values are stored exactly as days when the shadow
-password file is used, but are converted to and from weeks when the
-standard password file is used.
-Because of this conversion, rounding errors may result.
-.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 \fB[ ]\fR marks.
-.SH FILES
-/etc/passwd \- user account information
-.br
-/etc/shadow \- shadow user account information
-.SH SEE ALSO
-.BR passwd (5),
-.BR shadow (5)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" Copyright 1990 - 1994 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.
-.\"
-.\" $Id: chfn.1,v 1.5 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH CHFN 1
-.SH NAME
-chfn \- change user name and information
-.SH SYNOPSIS
-.TP 5
-\fBchfn\fR
-[\fB-f \fIfull_name\fR] [\fB-r \fIroom_no\fR]
-.br
-[\fB-w \fIwork_ph\fR] [\fB-h \fIhome_ph\fR] [\fB-o \fIother\fR]
-[\fIuser\fR]
-.SH DESCRIPTION
-\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 similiar
-programs.
-A normal user may only change the fields for their own account,
-the super user may change the fields for any account.
-Also, only the super user may use the \fB-o\fR option to change the
-undefined portions of the GCOS field.
-.PP
-The only restrictions 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 \fB[ ]\fR marks.
-Without options, chfn prompts for the current user account.
-.SH FILES
-/etc/passwd \- user account information
-.SH SEE ALSO
-.BR passwd (5)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" 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.
-.\"
-.\" $Id: chpasswd.8,v 1.6 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH CHPASSWD 8
-.SH NAME
-\fBchpasswd\fR - update password file in batch
-.SH SYNOPSIS
-\fBchpasswd [-e]\fR
-.SH DESCRIPTION
-\fBchpasswd\fR reads a file of user name and password pairs
-from standard input and uses this information
-to update a group of existing users. Without the -e switch, the
-passwords are expected to be cleartext. With the -e switch, the
-passwords are expected to be in encrypted form.
-Each line is of the format
-.sp 1
- \fIuser_name\fR:\fIpassword\fR
-.sp 1
-The named user must exist.
-The supplied password will be encrypted as necessary, and the password age
-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 CAVEATS
-.\" The \fBmkpasswd\fR command must be executed afterwards to update the
-.\" DBM password files.
-The input file must be protected if it contains unencrypted passwords.
-.\" This command may be discarded in favor of the newusers(8) command.
-.SH SEE ALSO
-.\" mkpasswd(8), passwd(1), useradd(1)
-.BR passwd (1),
-.BR useradd (8),
-.BR newusers (8)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" Copyright 1990, 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.
-.\"
-.\" $Id: chsh.1,v 1.5 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH CHSH 1
-.SH NAME
-chsh \- change login shell
-.SH SYNOPSIS
-.TP 5
-\fBchsh\fR
-[\fB-s \fIlogin_shell\fR] [\fIuser\fR]
-.SH DESCRIPTION
-\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 their 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
-their login shell.
-For this reason, placing \fB/bin/rsh\fR in \fI/etc/shells\fR
-is discouraged since accidentally changing to a restricted
-shell would prevent the user from every changing their login
-shell back to its original value.
-.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 field, or leave the line blank to use
-the current value.
-The current value is displayed between a pair of \fB[ ]\fR marks.
-.SH FILES
-/etc/passwd \- user account information
-.br
-/etc/shells \- list of valid login shells
-.SH SEE ALSO
-.BR chfn (1),
-.BR passwd (5)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.TH DIALUPS 5 "03 Oct 1999"
-.SH NAME
-d_passwd \- The dialup shell password file
-.br
-dialups \- List of dialup lines
-.SH DESCRIPTION
-The \fBd_passwd\fR file contains the names of login shells which require
-dialup passwords. Each line contains the fully qualified path name
-for the shell, followed by an optional password. Each field is separated
-by a '\fB:\fR'.
-.PP
-The \fBdialups\fR file contains the names of ports which may be dialup
-lines. Each line consists of the last component of the path name. The
-leading "\fB/dev/\fR" string is removed.
-.SH FILES
-/etc/d_passwd \- dialup shell password file
-.br
-/etc/dialups \- dialup line list
-.SH SEE ALSO
-.BR login (1),
-.SH AUTHOR
-Ben Collins <bcollins@debian.org>
+++ /dev/null
-.\" 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.
-.\"
-.\" $Id: dpasswd.8,v 1.5 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH DPASSWD 8
-.SH NAME
-\fBdpasswd\fR - change dialup password
-.SH SYNOPSIS
-\fBdpasswd\fR
-.RB [ - ( a | d )]
-\fIshell\fR
-.SH DESCRIPTION
-\fBdpasswd\fR adds, deletes, and updates dialup passwords for user
-login shells.
-The dialup password is prompted for after a user's password has been
-authenticated whenever the user logs in over a dialup line.
-\fBdpasswd\fR will prompt for the new password twice to insure it
-has been entered correctly.
-.PP
-The \fIshell\fR argument must be the complete pathname of the login
-program.
-.SH FILES
-.br
-/etc/d_passwd
-.br
-/etc/dialups
-.SH SEE ALSO
-.BR login (1)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" Copyright 1989 - 1994, 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.
-.\"
-.\" $Id: faillog.5,v 1.5 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH FAILLOG 5
-.SH NAME
-faillog \- Login failure logging file
-.SH DESCRIPTION
-.I faillog
-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
-.DS
-
- struct faillog {
- short fail_cnt;
- short fail_max;
- char fail_line[12];
- time_t fail_time;
- };
-
-.DE
-.SH FILES
-/var/log/faillog \- login failure log
-.SH SEE ALSO
-.BR faillog (8)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" Copyright 1989 - 1994, 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.
-.\"
-.\" $Id: faillog.8,v 1.7 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH FAILLOG 8
-.SH NAME
-faillog \- examine faillog and set login failure limits
-.SH SYNOPSIS
-.TP 8
-.B faillog
-.RB [ -u
-.IR login-name ]
-.RB [ -a ]
-.RB [ -t
-.IR days ]
-.RB [ -m
-.IR max ]
-.RB [ -pr ]
-.SH DESCRIPTION
-\fBfaillog\fR formats the contents of the failure log,
-\fI/var/log/faillog\fR, and maintains failure counts and
-limits.
-The order of the arguments to \fBfaillog\fR is significant.
-Each argument is processed immediately in the order given.
-.PP
-The \fB-p\fR flag causes failure entries to be printed in UID
-order.
-Entering \fB-u \fIlogin-name\fR flag will
-cause the failure record for \fIlogin-name\fR only to be printed.
-Entering \fB-t \fIdays\fR will cause only the
-failures more recent than \fIdays\fR to be printed.
-The \fB-t\fR flag overrides the use of \fB-u\fR.
-The \fB-a\fR flag causes all users to be selected.
-When used with the \fB-p\fR flag, this option selects all users
-who have ever had a login failure.
-It is meaningless with the \fB-r\fR flag.
-.PP
-The \fB-r\fR flag is used to reset the count of login failures.
-Write access to \fI/var/log/faillog\fR is required for
-this option.
-Entering \fB-u \fIlogin-name\fR will cause only the failure count
-for \fIlogin-name\fR to be reset.
-.PP
-The \fB-m\fR flag is used to set the maximum number of login
-failures before the account is disabled.
-Write access to \fI/var/log/faillog\fR is required for this
-option.
-Entering \fB-m \fImax\fR will cause all accounts to be disabled
-after \fImax\fR failed logins occur.
-This may be modified with \fB-u \fIlogin-name\fR to limit this
-function to \fIlogin-name\fR only.
-Selecting a \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 \fBroot\fR to prevent
-a denial of services attack against the system.
-.PP
-Options may be combined in virtually any fashion.
-Each \fB-p\fR, \fB-r\fR, and \fB-m\fR option will cause
-immediate execution using any \fB-u\fR or \fB-t\fR modifier.
-.SH CAVEATS
-\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.
-.PP
-Some systems may replace /var/log with /var/adm or /usr/adm.
-.SH FILES
-/var/log/faillog \- failure logging file
-.SH SEE ALSO
-.BR login (1),
-.BR faillog (5)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" Copyright 1996, Rafal Maszkowski, rzm@pdi.net
-.\" All rights reserved. You can redistribute this man page and/or
-.\" modify it under the terms of the GNU General Public License as
-.\" published by the Free Software Foundation; either version 2 of the
-.\" License, or (at your option) any later version.
-.\"
-.\" $Id: gpasswd.1,v 1.2 1996/09/10 02:45:18 marekm Exp $
-.\"
-.TH GPASSWD 1
-.SH NAME
-gpasswd \- administer the /etc/group file
-.br
-.SH SYNOPSIS
-.B gpasswd \fIgroup\fR
-.br
-.B gpasswd
-.B -a
-\fIuser\fR \fIgroup\fR
-.br
-.B gpasswd
-.B -d
-\fIuser\fR \fIgroup\fR
-.br
-.B gpasswd
-.B -R
-\fIgroup\fR
-.br
-.B gpasswd
-.B -r
-\fIgroup\fR
-.br
-.B gpasswd
-.RB [ -A
-\fIuser\fR,...]
-.RB [ -M
-\fIuser\fR,...]
-\fIgroup\fR
-.br
-.SH DESCRIPTION
-.B gpasswd
-is used to administer the /etc/group file (and /etc/gshadow
-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.
-.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
-.BR newgrp (1)
-to join the group. Option \fB-R\fR disables
-access to the group through
-.BR newgrp (1)
-command.
-.PP
-.B gpasswd
-called by a group administrator with group name only prompts
-for the group password. If password is set the members can still
-.BR newgrp (1)
-without a password, non-members must supply the password.
-
-.SH FILES
-/etc/group \- group information
-.br
-/etc/gshadow \- shadow group information
-.SH SEE ALSO
-.BR newgrp (1),
-.BR groupadd (8),
-.BR groupdel (8),
-.BR groupmod (8),
-.BR grpck (8)
+++ /dev/null
-.\" 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.
-.\"
-.\" $Id: groupadd.8,v 1.5 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH GROUPADD 8
-.SH NAME
-groupadd \- Create a new group
-.SH SYNOPSIS
-.B groupadd
-[\fB-g\fI gid \fR[\fB-o\fR]]
-.I group
-.SH DESCRIPTION
-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.
-The options which apply to the \fBgroupadd\fR command are
-.IP "\fB-g \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 99 and
-greater than every other group.
-Values between 0 and 99 are typically reserved for system accounts.
-.SH FILES
-/etc/group \- group account information
-.br
-/etc/gshadow \- secure group account information
-.SH SEE ALSO
-.BR chfn (1),
-.BR chsh (1),
-.BR useradd (8),
-.BR userdel (8),
-.BR usermod (8),
-.BR passwd (1),
-.BR groupdel (8),
-.BR groupmod (8)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" Copyright 1991 - 1993, 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.
-.\"
-.\" $Id: groupdel.8,v 1.5 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH GROUPDEL 8
-.SH NAME
-groupdel \- Delete a group
-.SH SYNOPSIS
-.B groupdel
-.I group
-.SH DESCRIPTION
-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 filesystems to insure that no files remain
-with the named group as the file group ID.
-.SH CAVEATS
-You may not remove the primary group of any existing user.
-You must remove the user before you remove the group.
-.SH FILES
-/etc/group \- group information
-.br
-/etc/gshadow \- secure group information
-.SH SEE ALSO
-.BR chfn (1),
-.BR chsh (1),
-.BR useradd (8),
-.BR userdel (8),
-.BR usermod (8),
-.BR passwd (1),
-.BR groupadd (8),
-.BR groupmod (8)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" 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.
-.\"
-.\" $Id: groupmod.8,v 1.5 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH GROUPMOD 8
-.SH NAME
-groupmod \- Modify a group
-.SH SYNOPSIS
-.B groupmod
-[\fB-g\fI gid \fR[\fB-o\fR]]
-[\fB-n\fI group_name \fR]
-.I group
-.SH DESCRIPTION
-The \fBgroupmod\fR command modifies the system account files to reflect
-the changes that are specified on the command line.
-The options which apply to the \fIgroupmod\fR command are
-.IP "\fB-g \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.
-Values between 0 and 99 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.
-.IP "\fB-n \fIgroup_name\fR"
-The name of the group will be changed from \fIgroup\fR to
-\fIgroup_name\fR.
-.SH FILES
-/etc/group \- group information
-.br
-/etc/gshadow \- secure group information
-.SH SEE ALSO
-.BR chfn (1),
-.BR chsh (1),
-.BR useradd (8),
-.BR userdel (8),
-.BR usermod (8),
-.BR passwd (1),
-.BR groupadd (8),
-.BR groupdel (8)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" Copyright 1992 - 1993, 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.
-.\"
-.\" $Id: grpck.8,v 1.5 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH GRPCK 1
-.SH NAME
-grpck \- verify integrity of group files
-.SH SYNOPSIS
-\fBgrpck\fR [\fB-r\fR] [\fIgroup\fR \fIshadow\fR]
-.SH DESCRIPTION
-\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 incorrectable errors.
-.P
-Checks are made to verify that each entry has
-.sp
-.in +.5i
-- the correct number of fields
-.br
-- a unique group name
-.br
-- a valid list of members and administrators
-.in -.5i
-.sp
-.P
-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.
-.P
-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
-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 \fBno\fR
-without user intervention.
-.SH FILES
-/etc/group \- group account information
-.br
-/etc/gshadow \- encrypted passwords and group administrator information
-.br
-/etc/passwd \- user information
-.SH SEE ALSO
-.BR groupmod (8),
-.BR group (5),
-.BR passwd (5),
-.BR shadow (5)
-.SH DIAGNOSTICS
-The \fBgrpck\fR command exits with the following values:
-.IP 0 5
-Success
-.IP 1 5
-Syntax Error
-.IP 2 5
-One or more bad group entries
-.IP 3 5
-Cannot open group files
-.IP 4 5
-Cannot lock group files
-.IP 5 5
-Cannot update group files
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" Copyright 1992, Phillip Street and 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.
-.\"
-.\" @(#)lastlog.8 3.3 08:24:58 29 Sep 1993 (National Guard Release)
-.\" $Id: lastlog.8,v 1.6 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH LASTLOG 8
-.SH NAME
-lastlog \- examine lastlog file
-.SH SYNOPSIS
-.B lastlog
-.RB [ -u
-.IR login-name ]
-.RB [ -t
-.IR days ]
-.SH DESCRIPTION
-\fBlastlog\fR formats and prints the contents of the last login log,
-\fI/var/log/lastlog\fR. The \fBlogin-name\fR, \fBport\fR, and \fBlast login
-time\fR will be printed.
-The default (no flags) causes lastlog entries to be printed, sorted
-by the numerical UID.
-Entering \fB-u \fIlogin-name\fR flag will
-cause the lastlog record for \fIlogin-name\fR only to be printed.
-Entering \fB-t \fIdays\fR will cause only the
-lastlogins more recent than \fIdays\fR to be printed.
-The \fB-t\fR flag overrides the use of \fB-u\fR.
-.PP
-If the user has never logged in the message \fB"**Never logged in**"\fR will
-be displayed instead of the port and time.
-.SH FILES
-/var/log/lastlog \- lastlog logging file
-.SH CAVEATS
-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).
-.SH AUTHORS
-Julianne Frances Haugh (jfh@austin.ibm.com)
-.br
-Phillip Street
+++ /dev/null
-.TH LIMITS 5
-.SH NAME
-limits \- Resource limits definition
-.SH DESCRIPTION
-The
-.I limits
-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 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).
-.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.
-.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
-.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.
-.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.
-.PP
-To completely disable limits for a user, a single dash "\fB-\fP" 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
-/etc/limits
-.SH SEE ALSO
-.BR login (1),
-.BR setpriority (2),
-.BR setrlimit (2)
-.SH AUTHOR
-Cristian Gafton (gafton@sorosis.ro)
+++ /dev/null
-.\" Copyright 1989 - 1994, 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.
-.\"
-.\" $Id: login.1,v 1.7 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH LOGIN 1
-.SH NAME
-login \- Begin session on the system
-.SH SYNOPSIS
-\fBlogin\fR [\fB-p\fR] [\fIusername\fR] [\fIENV=VAR ...\fR]
-.br
-\fBlogin\fR [\fB-p\fR] [\fB-h\fR \fIhost\fR] [\fB-f\fR \fIusername\fR]
-.br
-\fBlogin\fR [\fB-p\fR] \fB-r\fR \fIhost\fR
-.SH DESCRIPTION
-.B login
-is used to establish a new session with the system.
-It is normally invoked automatically by responding to the
-.I login:
-prompt on the user\'s terminal.
-.B login
-may be special to the shell and may not be invoked as a sub-process.
-Typically,
-.B login
-is treated by the shell as \fBexec 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
-When invoked from the \fIlogin:\fR prompt, the user may enter
-environmental variables after the username.
-These variables are entered in the form \fBNAME=VALUE\fR.
-Not all variables may be set in the fashion, notably \fBPATH\fR,
-\fBHOME\fR and \fBSHELL\fR.
-Additionally, \fBIFS\fR may be inhibited if the user\'s login
-shell is \fB/bin/sh\fR.
-.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 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) 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 \fI.hushlogin\fR
-in your login directory.
-The mail message will be one of "\fBYou have new mail.\fR",
-"\fBYou have mail.\fR", or "\fBNo 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 \fB$HOME\fR, \fB$SHELL\fR, \fB$PATH\fR, \fB$LOGNAME\fR,
-and \fB$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 \fB$TERM\fR will be
-initialize 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 presense of a "*" as the first
-character of the login shell. The given home directory will be used as
-the root of a new filesystem which the user is actually logged into.
-.SH OPTIONS
-.TP
-.B -p
-Preserve environment.
-.TP
-.B -f
-Do not perform authentication, user is preauthenticated.
-.TP
-.B -h
-Name of the remote host for this login.
-.TP
-.B -r
-Perform autologin protocol for rlogin.
-.PP
-The \fB-r -h\fP and \fB-f\fP options are only used when \fBlogin\fP is invoked by root.
-.SH CAVEATS
-.PP
-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.
-.SH FILES
-/etc/utmp \- list of current login sessions
-.br
-/etc/wtmp \- list of previous login sessions
-.br
-/etc/passwd \- user account information
-.br
-/etc/shadow \- encrypted passwords and age information
-.br
-/etc/motd \- system message file
-.br
-/etc/nologin \- prevent non-root users from logging in
-.br
-/etc/ttytype \- list of terminal types
-.br
-$HOME/.profile \- initialization script for default shell
-.br
-$HOME/.hushlogin \- suppress printing of system messages
-.br
-.SH SEE ALSO
-.PP
-.BR getty (8),
-.BR mail (1),
-.BR passwd (1),
-.BR sh (1),
-.BR su (1),
-.BR login.defs (5),
-.\" .BR d_passwd (5),
-.BR passwd (5),
-.BR nologin (5)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" this is comment
-.TH LOGIN.ACCESS 5
-.\" .Dt SKEY.ACCESS 5
-.\" .Os FreeBSD 1.2
-.SH NAME
-login.access \- Login access control table
-.SH DESCRIPTION
-The
-.I login.access
-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
-.I login.access
-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:
-.sp 1
-.IR permission : users : origins
-.sp 1
-The first field should be a "\fB+\fR" (access granted) or "\fB-\fR"
-(access denied) character. The second field should be a list of one or
-more login names, group names, or
-.B ALL
-(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 "\fB.\fR"), host addresses, internet network numbers
-(end with "\fB.\fR"),
-.B ALL
-(always matches) or
-.B LOCAL
-(matches any string that does not contain a "\fB.\fR" character).
-If you run NIS you can use @netgroupname in host or user patterns.
-.PP
-The
-.B EXCEPT
-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
-/etc/login.access
-.SH SEE ALSO
-.BR login (1)
-.SH AUTHOR
-Guido van Rooij
+++ /dev/null
-.\" Copyright 1991 - 1993, Julianne Frances Haugh and Chip Rosenthal
-.\" 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.
-.\"
-.\" $Id: login.defs.5,v 1.7 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH LOGIN 5
-.SH NAME
-/etc/login.defs \- Login configuration
-.SH DESCRIPTION
-The
-.I /etc/login.defs
-file defines the site-specific configuration for the shadow login
-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, seperated 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.
-.PP
-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 ``yes'' or ``no''. An undefined
-boolean parameter or one with a value other than these will be given
-a ``no'' value. Numbers (both regular and long) may be either decimal
-values, octal values (precede the value with ``0'') or hexadecimal
-values (precede the value with ``0x''). The maximum value of the
-regular and long numeric parameters is machine-dependant.
-.PP
-The following configuration items are provided:
-.\"
-.IP "CHFN_AUTH (boolean)"
-If
-.IR yes ,
-the
-.B chfn
-and
-.B chsh
-programs will ask for password before making any changes, unless
-run by the superuser.
-.\"
-.IP "CHFN_RESTRICT (string)"
-This parameter specifies which values in the
-.I gecos
-field of the
-.I passwd
-file may be changed by regular users using the
-.B chfn
-program. It can be any combination of letters
-.IR f ,
-.IR r ,
-.IR w ,
-.IR h ,
-for Full name, Room number, Work phone, and Home phone, respectively.
-If not specified, only the superuser can make any changes.
-.\"
-.IP "CLOSE_SESSIONS (boolean)"
-Enable pam_close_session() calling. When using normal (pam_unix.so)
-session handling modules, this is not needed. However with modules
-(such as kerberos or other persistent session models),
-.B login
-needs to fork and wait for the shell to exit, so that sessions can be
-cleaned up.
-.\"
-.IP "CONSOLE (string)"
-If specified, this definition provides for a restricted set of lines
-on which root logins will be allowed. An attempted root login which
-does not meet the criteria established here will be rejected. The
-value of this field may be one of two forms, either a fully-rooted
-pathname such as
-.sp
-.ft I
- CONSOLE /etc/consoles
-.ft R
-.sp
-or a colon-delimited list of terminal lines such as:
-.sp
-.ft I
- CONSOLE console:tty01:tty02:tty03:tty04
-.ft R
-.sp
-If a pathname is given, each line of the file should specify one
-terminal line. If this parameter is not defined or the specified file
-does not exist, then root logins will be allowed from any terminal
-line. Because the removal of this file, or its truncation, could
-result in unauthorized root logins, this file must be protected.
-Where security is critical, the colon-separated form should be used
-to prevent this potential method of attack.
-.\"
-.IP "CONSOLE_GROUPS (string)"
-XXX needs to be documented.
-.\"
-.IP "CRACKLIB_DICTPATH (string)"
-XXX needs to be documented.
-.\"
-.IP "DEFAULT_HOME (boolean)"
-XXX needs to be documented.
-.\"
-.IP "DIALUPS_CHECK_ENAB (boolean)"
-If
-.I yes
-and an
-.I /etc/dialups
-file exists, then secondary passwords are enabled upon the dialup
-lines specified in this file. This file should contain a list of
-dialups, one per line, for example:
-.nf
-.sp
-.ft I
- ttyfm01
- ttyfm02
- \0\0.
- \0\0.
- \0\0.
-.ft R
-.sp
-.fi
-.\"
-.IP "ENVIRON_FILE (string)"
-File containing a list of environment variables (one per line) to set
-when logging in or su'ing.
-.\"
-.IP "ENV_HZ (string)"
-This parameter specifies a value for an HZ environment parameter.
-Example usage is:
-.sp
- \fIENV_HZ HZ=50\fR
-.sp
-If this parameter is not defined then no HZ value will be established.
-.\"
-.IP "ENV_PATH (string)"
-This parameter must be defined as the search path for regular users.
-When a login with UID other than zero occurs, the PATH environment
-parameter is initialized to this value. This parameter is required;
-if undefined a possibly incorrect default value will be provided.
-.\"
-.IP "ENV_SUPATH (string)"
-This parameter must be defined as the search path for the superuser.
-When a login with UID zero occurs, the PATH environment parameter is
-initialized to this value. This parameter is required; if undefined
-a possibly incorrect default value will be provided.
-.\"
-.IP "ENV_TZ (string)"
-This parameter specifies information for generating a TZ environment
-parameter. The value must either be the desired contents of TZ, or
-the full pathname of a file which contains this information. Example
-usage is:
-.sp
- \fIENV_TZ\0\0\0\0TZ=CST6CDT\fP
-.sp
-or
-.sp
- \fIENV_TZ\0\0\0\0/etc/tzname\fP
-.sp
-If a nonexistent file is named, then TZ will be initialized to some
-default value. If this parameter is not defined then no TZ value will
-be established.
-.\"
-.IP "ERASECHAR (number)"
-The terminal
-.I erase
-character is initialized to this value. This is supported only on
-systems with the
-.I termio
-interface, e.g. System V. If not specified, the erase character will
-be initialized to a backspace. See KILLCHAR for related information.
-.\"
-.IP "FAILLOG_ENAB (boolean)"
-If
-.I yes
-then login failures will be accumulated in
-.I /var/log/faillog
-in a
-.BR faillog (8)
-format.
-.\"
-.IP "FAIL_DELAY (number)"
-Delay time in seconds after each failed login attempt.
-.\"
-.IP "FAKE_SHELL (string)"
-Instead of the real user shell, the program specified by this
-parameter will be launched, although its visible name (argv[0]) will
-be the shell's. The program may do whatever it wants (logging,
-additional authentification, banner, ...) before running the actual
-shell.
-.\"
-.IP "FTMP_FILE (string)"
-This parameter specifies the full pathname to a file to which login
-failures are recorded. When a login failure occurs, a
-.I utmp
-format record will be appended to this file. Note that this differs
-from the
-.I /var/log/faillog
-failure logging in that this facility logs every failure whereas the
-``faillog'' facility accumulates failure information per user. If
-this parameter is not specified then logging will be inhibited. See
-FAILLOG_ENAB and LOG_UNKFAIL_ENAB for related information.
-.\"
-.IP "GID_MAX (number)"
-.IP "GID_MIN (number)"
-Range of group IDs to choose from for the
-.B groupadd
-program.
-.\"
-.IP "HUSHLOGIN_FILE (string)"
-This parameter is used to establish ``hushlogin'' conditions. There
-are two possible ways to establish these conditions. First, if the
-value of this parameter is a filename and that file exists in the
-user's home directory then ``hushlogin'' conditions will be in effect.
-The contents of this file are ignored; its mere presence triggers
-``hushlogin'' conditions. Second, if the value of this parameter is
-a full pathname and either the user's login name or the user's shell
-is found in this file, then ``hushlogin'' conditions will be in effect.
-In this case, the file should be in a format similar to:
-.nf
-.sp
-.ft I
- demo
- /usr/lib/uucp/uucico
- \0\0.
- \0\0.
- \0\0.
-.ft R
-.sp
-.fi
-If this parameter is not defined, then ``hushlogin'' conditions will
-never occur. When ``hushlogin'' conditions are established, the
-message of the day, last successful and unsuccessful login display,
-mail status display, and password aging checks are suppressed. Note
-that allowing hushlogin files in user home directories allows the user
-to disable password aging checks. See MOTD_FILE, FAILLOG_ENAB,
-LASTLOG_ENAB, and MAIL_CHECK_ENAB for related information.
-.\"
-.IP "ISSUE_FILE (string)"
-Full pathname of the file to display before each login prompt.
-.\"
-.IP "KILLCHAR (number)"
-The terminal
-.I kill
-character is initialized to this value. This is supported only on
-systems with the
-.I termio
-interface, e.g. System V. If not specified, the kill character will
-be initialized to a \s-2CTRL/U\s0.
-See ERASECHAR for related information.
-.\"
-.IP "LASTLOG_ENAB (boolean)"
-If
-.IR yes ,
-and if the
-.I /var/log/lastlog
-file exists, then a successful user login will be recorded to this
-file. Furthermore, if this option is enabled then the times of the
-most recent successful and unsuccessful logins will be displayed to
-the user upon login. The unsuccessful login display will be suppressed
-if FAILLOG_ENAB is not enabled. If ``hushlogin'' conditions are in
-effect, then both the successful and unsuccessful login information
-will be suppressed.
-.\"
-.IP "LOGIN_RETRIES (number)"
-Number of login attempts allowed before the
-.B login
-program exits.
-.\"
-.IP "LOGIN_STRING (string)"
-XXX needs to be documented.
-.IP "LOGIN_TIMEOUT (number)"
-XXX needs to be documented.
-.IP "LOG_OK_LOGINS (boolean)"
-XXX needs to be documented.
-.IP "LOG_UNKFAIL_ENAB (boolean)"
-If
-.I yes
-then unknown usernames will be included when a login failure is
-recorded. Note that this is a potential security risk; a common login
-failure mode is transposition of the user name and password, thus this
-mode will often cause passwords to accumulate in the failure logs.
-If this option is disabled then unknown usernames will be suppressed
-in login failure messages.
-.\"
-.IP "MAIL_CHECK_ENAB (boolean)"
-If
-.IR yes ,
-the user will be notified of his or her mailbox status upon login.
-See MAIL_DIR for related information.
-.\"
-.IP "MAIL_DIR (string)"
-This parameter specifies the full pathname to the directory which
-contains the user mailbox files. The user's login name is appended
-to this path to form the MAIL environment parameter \- the path to
-the user's mailbox. Either this parameter or MAIL_FILE must be defined;
-if undefined some possibly incorrect default value will be assumed.
-See MAIL_CHECK_ENAB for related information.
-.\"
-.IP "MAIL_FILE (string)"
-This parameter specifies the name of the user's mailbox file. This
-name is appended to the name of the user's home directory to form the
-MAIL environment parameter \- the path to the user's mailbox. Either
-this parameter or MAIL_DIR must be defined; if undefined some possibly
-incorrect default value will be assumed. See MAIL_CHECK_ENAB for
-related information.
-.\"
-.IP "MD5_CRYPT_ENAB (boolean)"
-If
-.IR yes ,
-the
-.B passwd
-program will encrypt newly changed passwords using a new MD5-based
-.BR crypt (3)
-password hashing algorithm, which originally appeared in FreeBSD, and
-is also supported by libc-5.4.38 and glibc-2.0 (or higher) on Linux.
-This algorithm allows passwords longer than 8 characters (limited by
-.BR getpass (3)
-to 127 characters), but is incompatible with traditional
-.BR crypt (3)
-implementations.
-.\"
-.IP "MOTD_FILE (string)"
-This parameter specifies a colon-delimited list of pathnames to ``message
-of the day'' files.
-If a specified file exists, then its contents are displayed to the user
-upon login.
-If this parameter is not defined or ``hushlogin'' login conditions are
-in effect, this information will be suppressed.
-.\"
-.IP "NOLOGINS_FILE (string)"
-This parameter specifies the full pathname to a file which inhibits
-non-root logins. If this file exists and a user other than root
-attempts to log in, the contents of the file will be displayed and
-the user will be disconnected. If this parameter is not specified
-then this feature will be inhibited.
-.\"
-.IP "NOLOGIN_STR (string)"
-XXX needs to be documented.
-.\"
-.IP "OBSCURE_CHECKS_ENAB (boolean)"
-If
-.IR yes ,
-the
-.B passwd
-program will perform additional checks before accepting a password change.
-The checks performed are fairly simple, and their use is recommended.
-These obscurity checks are bypassed if
-.B passwd
-is run by
-.IR root .
-See PASS_MIN_LEN for related information.
-.\"
-.IP "PASS_ALWAYS_WARN (boolean)"
-XXX needs to be documented.
-.\"
-.IP "PASS_CHANGE_TRIES (number)"
-XXX needs to be documented.
-.\"
-.IP "PASS_MIN_DAYS (number)"
-The minimum number of days allowed between password changes. Any password
-changes attempted sooner than this will be rejected. If not specified, a
-zero value will be assumed.
-.\"
-.IP "PASS_MIN_LEN (number)"
-The minimum number of characters in an acceptable password. An attempt to
-assign a password with fewer characters will be rejected. A zero value
-suppresses this check. If not specified, a zero value will be assumed.
-.\"
-.IP "PASS_MAX_DAYS (number)"
-The maximum number of days a password may be used. If the password is
-older than this, then the account will be locked. If not specified,
-a large value will be assumed.
-.\"
-.IP "PASS_MAX_LEN (number)"
-XXX needs to be documented.
-.\"
-.IP "PASS_WARN_AGE (number)"
-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.
-.\"
-.IP "PORTTIME_CHECKS_ENAB (boolean)"
-If
-.I yes
-and an
-.I /etc/porttime
-file exists, that file will be consulted to ensure the user may login
-at this time on the given line.
-c.f.
-.BR porttime (5)
-.\"
-.IP "QMAIL_DIR (string)"
-For Qmail users, this parameter specifies a directory where a Maildir
-hierarchy is stored.
-See MAIL_CHECK_ENAB for related information.
-.\"
-.IP "QUOTAS_ENAB (boolean)"
-If
-.I yes ,
-then the user's ``ulimit,'' ``umask,'' and ``niceness'' will be
-initialized to the values if specified in the
-.I gecos
-field of the
-.I passwd
-file.
-c.f.
-.BR passwd (5).
-.\"
-.IP "SU_NAME (string)"
-This parameter assigns a command name when ``su -'' is run. For
-example, if the parameter is defined as ``su'', then a
-.BR ps (1)
-listing would show the command running as ``-su''. If this parameter
-is undefined, then a
-.BR ps (1)
-listing would show the name of the actual shell being run, e.g.
-something like ``-sh''.
-.\"
-.IP "SULOG_FILE (string)"
-This parameter specifies a full pathname of a file in which
-.B su
-activity is logged.
-If this parameter is not specified, the logging is suppressed.
-Because the
-.B su
-command may be used when attempting to authenticate a password,
-either this option, or
-.I syslog
-should be used to note
-.B su
-activity. See the SYSLOG_SU_ENAB option for related information.
-.\"
-.IP "SU_WHEEL_ONLY (boolean)"
-XXX needs to be documented.
-.\"
-.IP "SYSLOG_SG_ENAB (boolean)"
-XXX needs to be documented.
-.\"
-.IP "SYSLOG_SU_ENAB (boolean)"
-If
-.I yes
-and
-.B login
-was compiled with
-.I syslog
-support, then all
-.B su
-activity will be noted through the
-.I syslog
-facility.
-See SULOG_FILE for related information.
-.\"
-.IP "TTYGROUP (string or number)"
-The group ownership of the terminal is initialized to this group
-name or number. One well-known security attack involves forcing terminal
-control sequences upon another user's terminal line. This problem
-can be averted by disabling permissions which allow other users to
-access the terminal line, but this unfortunately prevents programs
-such as
-.B write
-from operating. Another solution is to use a version of the
-.B write
-program which filters out potentially dangerous character sequences,
-make this program ``setgid'' to a special group, assign group ownership
-of the terminal line to this special group, and assign permissions of
-\fI0620\fR to the terminal line. The TTYGROUP definition has been
-provided for just this situation. If this item is not defined, then
-the group ownership of the terminal is initialized to the user's group
-number. See TTYPERMS for related information.
-.\"
-.IP "TTYPERM (number)"
-The login terminal permissions are initialized to this value. Typical
-values will be \fI0622\fR to permit others write access to the line
-or \fI0600\fR to secure the line from other users. If not specified,
-the terminal permissions will be initialized to \fI0622\fR. See
-TTYGROUP for related information.
-.\"
-.IP "TTYTYPE_FILE (string)"
-This parameter specifies the full pathname to a file which maps terminal
-lines to terminal types. Each line of the file contains a terminal
-type and a terminal line, seperated by whitespace, for example:
-.nf
-.sp
-.ft I
- vt100\0 tty01
- wyse60 tty02
- \0\0.\0\0\0 \0\0.
- \0\0.\0\0\0 \0\0.
- \0\0.\0\0\0 \0\0.
-.ft R
-.sp
-.fi
-This information is only used to initialize the TERM environment parameter
-when it does not already exist.
-A line starting with a ``#'' pound sign will be treated as a comment.
-If this paramter is not specified, the file does not exist, or the terminal
-line is not found in the file, then the TERM environment parameter will not
-be set.
-.\"
-.IP "UID_MAX (number)"
-XXX needs to be documented.
-.IP "UID_MIN (number)"
-XXX needs to be documented.
-.\"
-.IP "ULIMIT (long number)"
-The file size limit is initialized to this value. This is supported
-only on systems with a
-.IR ulimit ,
-e.g. System V. If not specified, the file size limit will be initialized
-to some large value.
-.\"
-.IP "UMASK (number)"
-The permission mask is initialized to this value. If not specified,
-the permission mask will be initialized to zero.
-.\"
-.IP "USERDEL_CMD (string)"
-XXX needs to be documented.
-.\"
-.SH CROSS REFERENCE
-The following cross reference shows which programs in the shadow login
-suite use which parameters.
-.na
-.IP login 12
-CONSOLE DIALUPS_CHECK_ENAB ENV_HZ ENV_SUPATH ENV_TZ ERASECHAR FAILLOG_ENAB
-FTMP_FILE HUSHLOGIN_FILE KILLCHAR LASTLOG_ENAB LOG_UNKFAIL_ENAB
-MAIL_CHECK_ENAB MAIL_DIR MOTD_FILE NOLOGINS_FILE PORTTIME_CHECKS_ENAB
-QUOTAS_ENAB TTYPERM TTYTYPE_FILE ULIMIT UMASK
-.IP newusers 12
-PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UMASK
-.IP passwd 12
-OBSCURE_CHECKS_ENAB PASS_MIN_LEN
-.IP pwconv 12
-PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE
-.IP su 12
-ENV_HZ ENV_SUPATH ENV_TZ HUSHLOGIN_FILE MAIL_CHECK_ENAB MAIL_DIR
-MOTD_FILE NOLOGIN_STR QUOTAS_ENAB SULOG_FILE SYSLOG_SU_ENAB
-.IP sulogin 12
-ENV_HZ ENV_SUPATH ENV_TZ MAIL_DIR QUOTAS_ENAB TTYPERM
-.ad
-.SH BUGS
-Some of the supported configuration parameters are not documented in this
-manual page.
-.SH SEE ALSO
-.BR login (1),
-.BR passwd (5),
-.BR faillog (5),
-.BR porttime (5),
-.BR faillog (8)
-.SH AUTHORS
-Julianne Frances Haugh (jfh@austin.ibm.com)
-.br
-Chip Rosenthal (chip@unicom.com)
+++ /dev/null
-.\" 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.
-.\"
-.\" $Id: logoutd.8,v 1.5 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH LOGOUTD 8
-.SH NAME
-logoutd \- Enforce login time restrictions
-.SH SYNOPSIS
-.B logoutd
-.SH DESCRIPTION
-.B logoutd
-enforces the login time and port restrictions specified in
-.IR /etc/porttime .
-.B logoutd
-should be started from \fI/etc/rc\fR.
-The \fI/etc/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
-/etc/porttime \- login and port permissions
-.br
-/etc/utmp \- current login sessions
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" 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.
-.\"
-.\" $Id: mkpasswd.8,v 1.5 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH MKPASSWD 1
-.SH NAME
-mkpasswd \- Update passwd and group database files
-.SH SYNOPSIS
-\fBmkpasswd\fR [\fB-fvgps\fR] \fIfile\fR
-.SH DESCRIPTION
-.B mkpasswd
-reads the file in the format given by the flags and converts it to the
-corresponding database file format.
-These database files are used to improve access performance on systems
-with large numbers of users.
-The output files will be named \fIfile\fR.dir and \fIfile\fR.pag.
-.PP
-The \fB-f\fR option causes \fBmkpasswd\fR to ignore any existing output
-files and overwrite them.
-Normally \fBmkpasswd\fR complains about existing output files and quits.
-.PP
-The \fB-v\fR option causes \fBmkpasswd\fR to output information about
-each record as it is converted, with a final message at the very end.
-.PP
-The \fB-g\fR option treats the input file as though it were in
-\fI/etc/group\fR file format.
-When combined with the \fB-s\fR option, the \fI/etc/gshadow\fR file
-format is used instead.
-.PP
-The \fB-p\fR option treats the input file as though it were in
-\fI/etc/passwd\fR file format.
-This is the default.
-When combined with the \fB-s\fR option, the \fI/etc/shadow\fR file
-format is used instead.
-.SH CAVEATS
-The use of more than one database file is limited to systems which
-include the NDBM database library and therefore may not be available
-on every system.
-.SH NOTE
-Since most commands are capable of updating the database files as
-changes are made, this command need only be used when re-creating a
-deleted or corrupted database file.
-.SH FILES
-/etc/passwd \- user account information
-.br
-/etc/shadow \- shadow user information
-.br
-/etc/group \- group information
-.br
-/etc/gshadow \- shadow group information
-.SH SEE ALSO
-.BR passwd (5),
-.BR group (5),
-.BR shadow (5)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" 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.
-.\"
-.\" $Id: newgrp.1,v 1.6 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH NEWGRP 1
-.SH NAME
-newgrp \- Change group ID
-.br
-sg \- Execute command as different group ID
-.SH SYNOPSIS
-.BR newgrp " [" - ]
-[\fIgroup\fR]
-.br
-.BR sg " [" - ]
-[\fIgroup\fR [[\fB-c\fR] \fIcommand\fR]]
-.SH DESCRIPTION
-.B newgrp
-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
-.B newgrp
-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.
-The user will be prompted for a password if they 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.
-.PP
-The
-.B sg
-command works similiar to \fBnewgrp\fR but does not replace the
-user's shell, so upon exit from a \fBsg\fR command, you are
-returned to your previous group ID.
-.B sg
-also accepts a command.
-The command will be executed with the Bourne shell and must be
-enclosed in quotes.
-.SH CAVEATS
-This version of \fBnewgrp\fR has many compilation options,
-only some of which may be in use at any particular site.
-.SH FILES
-/etc/passwd \- user account information
-.br
-/etc/group \- group information
-.SH SEE ALSO
-.BR login (1),
-.BR id (1),
-.BR su (1)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" Copyright 1991 - 1994, 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.
-.\"
-.\" $Id: newusers.8,v 1.5 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH NEWUSERS 8
-.SH NAME
-\fBnewusers\fR - update and create new users in batch
-.SH SYNOPSIS
-\fBnewusers\fR [\fI new_users \fR]
-.SH DESCRIPTION
-\fBnewusers\fR reads a file of user name and cleartext 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.
-.IP "\fIpw_passwd\fR" 10
-This field will be encrypted and used as the new value
-of the encrpted password.
-.IP "\fIpw_age\fR"
-This field will be ignored for shadow passwords if the user already
-exists.
-.IP "\fIpw_gid\fR"
-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.
-.IP "\fIpw_dir\fR"
-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.
-.PP
-This command is intended to be used in a large system environment where
-many accounts are updated at a single time.
-.SH CAVEATS
-.\" The \fImkpasswd\fR command must be executed afterwards to update the
-.\" DBM password files.
-The input file must be protected since it contains unencrypted passwords.
-.SH SEE ALSO
-.\" mkpasswd(8), passwd(1), useradd(1)
-.BR passwd (1),
-.BR useradd (8)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" Copyright 1989 - 1994, 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.
-.\"
-.\" $Id: passwd.1,v 1.5 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH PASSWD 1
-.SH NAME
-passwd \- change user password
-.SH SYNOPSIS
-\fBpasswd\fR [\fB-f\fR|\fB-s\fR] [\fIname\fR]
-.br
-\fBpasswd\fR [\fB-g\fR] [\fB-r\fR|\fBR\fR] \fIgroup\fR
-.br
-\fBpasswd\fR [\fB-x\fR \fImax\fR] [\fB-n\fR \fImin\fR]
-[\fB-w\fR \fIwarn\fR] [\fB-i\fR \fIinact\fR] \fIname\fR
-.br
-\fBpasswd\fR {\fB-l\fR|\fB-u\fR|\fB-d\fR|\fB-S\fR} \fIname\fR
-.SH DESCRIPTION
-\fBpasswd\fR changes passwords for user and group accounts.
-A normal user may only change the password for their 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, their login shell, or password expiry dates and intervals.
-.SS Password Changes
-The user is first prompted for their 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 their 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:
-.IP "" .5i
-Lower case alphabetics
-.IP "" .5i
-Upper case alphabetics
-.IP "" .5i
-Digits 0 thru 9
-.IP "" .5i
-Punctuation marks
-.PP
-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 will prompt again and compare the second entry
-against the first.
-Both entries are require to match in order for the password
-to be changed.
-.SS Group passwords
-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
-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 their password will expire.
-The warning occurs \fIwarn\fR days before the expiration, telling
-the user how many days 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.
-.SS Account maintenance
-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 given with the \fB-S\fR option.
-The status information consists of 6 parts.
-The first part indicates if the user account is locked (L), has no
-password (NP), or has a usable password (P).
-The second part gives the date of the last password change.
-The next four parts are the minimum age, maximum age, warning period,
-and inactivity period for the password.
-.SS Hints for user passwords
-The security of a password depends upon the strength of the
-encryption algorithm and the size of the key space.
-The \fB\s-2UNIX\s+2\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 select a password which does not
-appear 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.
-.PP
-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.
-.PP
-Other methods of construction involve selecting an easily
-remembered phrase from literature and selecting the first
-or last letter from each.
-An example of this is
-.IP "" .5i
-Ask not for whom the bell tolls.
-.PP
-which produces
-.IP "" .5i
-An4wtbt.
-.PP
-You may be reasonably sure few crackers will have
-included this in their dictionary.
-You should, however, select your own methods for constructing
-passwords and not rely exclusively on the methods given here.
-.SS Notes about group passwords
-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 CAVEATS
-Not all options may be supported.
-Password complexity checking may vary from site to site.
-The user is urged to select as complex a password as they
-feel comfortable with.
-User's may not be able to change their password on a system if NIS
-is enabled and they are not logged into the NIS server.
-.SH FILES
-/etc/passwd \- user account information
-.br
-/etc/shadow \- encrypted user passwords
-.SH SEE ALSO
-.BR passwd (3),
-.\" .BR shadow (3),
-.BR group (5),
-.BR passwd (5)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" Copyright 1989 - 1990, 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.
-.\"
-.\" $Id: passwd.5,v 1.5 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH PASSWD 5
-.SH NAME
-passwd \- The password file
-.SH DESCRIPTION
-.I passwd
-contains various pieces of information for each user account.
-Included is
-.IP "" .5i
-Login name
-.IP "" .5i
-Optional encrypted password
-.IP "" .5i
-Numerical user ID
-.IP "" .5i
-Numerical group ID
-.IP "" .5i
-User name or comment field
-.IP "" .5i
-User home directory
-.IP "" .5i
-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 encryped 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.
-.PP
-An optional password age string may follow the encrypted
-password, separated by a comma, from the same alphabet
-as the password itself.
-The first character gives the number of weeks during which the
-password is valid.
-The second character gives the number of weeks which must pass
-before the user is permitted to change the password.
-The last two characters give the week since Jan 1970 when the
-password was last changed.
-When the number of weeks during which the password is valid
-have passed, the user will be required to provide a new
-password.
-.PP
-The comment field is used by various system utilities, such as
-\fBfinger\fR(1).
-Three additional values may be present in the comment field.
-They are
-.IP "" .5i
-pri= \- set initial value of nice
-.IP "" .5i
-umask= \- set initial value of umask
-.IP "" .5i
-ulimit= \- set initial value of ulimit
-.PP
-These fields are separated from each other and from any other
-comment field by a comma.
-.PP
-The home directory field provides the name of the initial
-working directory.
-\fBLogin\fR uses this information to set the value of
-the \fBHOME\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.
-\fBLogin\fR uses this information to set the value of the
-\fBSHELL\fR environmental variable.
-If this field is empty, it defaults to the value \fB/bin/sh\fR.
-.SH FILES
-/etc/passwd \- user account information
-.SH SEE ALSO
-.BR login (1),
-.BR passwd (1),
-.BR su (1),
-.BR sulogin (8),
-.BR shadow (5),
-.BR pwconv (8),
-.BR pwunconv (8)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
-AUTOMAKE_OPTIONS = 1.0 foreign
-manpldir = $(mandir)/pl
-manpl1dir = $(manpldir)/man1
-manpl3dir = $(manpldir)/man3
-manpl5dir = $(manpldir)/man5
-manpl8dir = $(manpldir)/man8
+mandir = @mandir@/pl
-
-manpl1_DATA = \
+man_MANS = \
chage.1 \
chfn.1 \
chsh.1 \
login.1 \
newgrp.1 \
passwd.1 \
- su.1
-
-manpl3_DATA = \
+ su.1 \
pw_auth.3 \
- shadow.3
-
-manpl5_DATA = \
+ shadow.3 \
d_passwd.5 \
dialups.5 \
faillog.5 \
passwd.5 \
porttime.5 \
shadow.5 \
- suauth.5
-
-manpl8_DATA = \
+ suauth.5 \
+ adduser.8 \
chpasswd.8 \
dpasswd.8 \
faillog.8 \
groupadd.8 \
groupdel.8 \
groupmod.8 \
+ grpconv.8 \
+ grpunconv.8 \
grpck.8 \
lastlog.8 \
logoutd.8 \
pwauth.8 \
pwck.8 \
pwconv.8 \
+ pwunconv.8 \
shadowconfig.8 \
- sulogin.8
+ sulogin.8 \
useradd.8 \
userdel.8 \
usermod.8 \
vipw.8
-
-EXTRA_DIST = $(manpl1_DATA) $(manpl3_DATA) $(manpl5_DATA) $(manpl8_DATA)
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
+# Makefile.in generated automatically by automake 1.4a from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
-mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_FLAG =
transform = @program_transform_name@
NORMAL_INSTALL = :
INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
-LD = @LD@
LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@
LIBMD = @LIBMD@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
-NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
YACC = @YACC@
l = @l@
-AUTOMAKE_OPTIONS = 1.0 foreign
+mandir = @mandir@/pl
-manpldir = $(mandir)/pl
-manpl1dir = $(manpldir)/man1
-manpl3dir = $(manpldir)/man3
-manpl5dir = $(manpldir)/man5
-manpl8dir = $(manpldir)/man8
+man_MANS = chage.1 chfn.1 chsh.1 groups.1 gpasswd.1 id.1 login.1 newgrp.1 passwd.1 su.1 pw_auth.3 shadow.3 d_passwd.5 dialups.5 faillog.5 limits.5 login.access.5 login.defs.5 passwd.5 porttime.5 shadow.5 suauth.5 adduser.8 chpasswd.8 dpasswd.8 faillog.8 groupadd.8 groupdel.8 groupmod.8 grpconv.8 grpunconv.8 grpck.8 lastlog.8 logoutd.8 mkpasswd.8 newusers.8 pwauth.8 pwck.8 pwconv.8 pwunconv.8 shadowconfig.8 sulogin.8 useradd.8 userdel.8 usermod.8 vipw.8
-manpl1_DATA = chage.1 chfn.1 chsh.1 groups.1 gpasswd.1 id.1 login.1 newgrp.1 passwd.1 su.1
-
-
-manpl3_DATA = pw_auth.3 shadow.3
-
-
-manpl5_DATA = d_passwd.5 dialups.5 faillog.5 limits.5 login.access.5 login.defs.5 passwd.5 porttime.5 shadow.5 suauth.5
-
-
-manpl8_DATA = chpasswd.8 dpasswd.8 faillog.8 groupadd.8 groupdel.8 groupmod.8 grpck.8 lastlog.8 logoutd.8 mkpasswd.8 newusers.8 pwauth.8 pwck.8 pwconv.8 shadowconfig.8 sulogin.8
-
-
-EXTRA_DIST = $(manpl1_DATA) $(manpl3_DATA) $(manpl5_DATA) $(manpl8_DATA)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../../config.h
CONFIG_CLEAN_FILES =
-DATA = $(manpl1_DATA) $(manpl3_DATA) $(manpl5_DATA) $(manpl8_DATA)
+man1dir = $(mandir)/man1
+man3dir = $(mandir)/man3
+man5dir = $(mandir)/man5
+man8dir = $(mandir)/man8
+MANS = $(man_MANS)
+NROFF = nroff
DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = tar
+TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps man/pl/Makefile
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps man/pl/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-install-manpl1DATA: $(manpl1_DATA)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(manpl1dir)
- @list='$(manpl1_DATA)'; for p in $$list; do \
- if test -f $(srcdir)/$$p; then \
- echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(manpl1dir)/$$p"; \
- $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(manpl1dir)/$$p; \
- else if test -f $$p; then \
- echo " $(INSTALL_DATA) $$p $(DESTDIR)$(manpl1dir)/$$p"; \
- $(INSTALL_DATA) $$p $(DESTDIR)$(manpl1dir)/$$p; \
- fi; fi; \
+install-man1:
+ $(mkinstalldirs) $(DESTDIR)$(man1dir)
+ @list='$(man1_MANS)'; \
+ l2='$(man_MANS)'; for i in $$l2; do \
+ case "$$i" in \
+ *.1*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+ else file=$$i; fi; \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+ echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \
+ $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \
done
-uninstall-manpl1DATA:
- @$(NORMAL_UNINSTALL)
- list='$(manpl1_DATA)'; for p in $$list; do \
- rm -f $(DESTDIR)$(manpl1dir)/$$p; \
+uninstall-man1:
+ @list='$(man1_MANS)'; \
+ l2='$(man_MANS)'; for i in $$l2; do \
+ case "$$i" in \
+ *.1*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+ echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \
+ rm -f $(DESTDIR)$(man1dir)/$$inst; \
done
-install-manpl3DATA: $(manpl3_DATA)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(manpl3dir)
- @list='$(manpl3_DATA)'; for p in $$list; do \
- if test -f $(srcdir)/$$p; then \
- echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(manpl3dir)/$$p"; \
- $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(manpl3dir)/$$p; \
- else if test -f $$p; then \
- echo " $(INSTALL_DATA) $$p $(DESTDIR)$(manpl3dir)/$$p"; \
- $(INSTALL_DATA) $$p $(DESTDIR)$(manpl3dir)/$$p; \
- fi; fi; \
+install-man3:
+ $(mkinstalldirs) $(DESTDIR)$(man3dir)
+ @list='$(man3_MANS)'; \
+ l2='$(man_MANS)'; for i in $$l2; do \
+ case "$$i" in \
+ *.3*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+ else file=$$i; fi; \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+ echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man3dir)/$$inst"; \
+ $(INSTALL_DATA) $$file $(DESTDIR)$(man3dir)/$$inst; \
done
-uninstall-manpl3DATA:
- @$(NORMAL_UNINSTALL)
- list='$(manpl3_DATA)'; for p in $$list; do \
- rm -f $(DESTDIR)$(manpl3dir)/$$p; \
+uninstall-man3:
+ @list='$(man3_MANS)'; \
+ l2='$(man_MANS)'; for i in $$l2; do \
+ case "$$i" in \
+ *.3*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+ echo " rm -f $(DESTDIR)$(man3dir)/$$inst"; \
+ rm -f $(DESTDIR)$(man3dir)/$$inst; \
done
-install-manpl5DATA: $(manpl5_DATA)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(manpl5dir)
- @list='$(manpl5_DATA)'; for p in $$list; do \
- if test -f $(srcdir)/$$p; then \
- echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(manpl5dir)/$$p"; \
- $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(manpl5dir)/$$p; \
- else if test -f $$p; then \
- echo " $(INSTALL_DATA) $$p $(DESTDIR)$(manpl5dir)/$$p"; \
- $(INSTALL_DATA) $$p $(DESTDIR)$(manpl5dir)/$$p; \
- fi; fi; \
+install-man5:
+ $(mkinstalldirs) $(DESTDIR)$(man5dir)
+ @list='$(man5_MANS)'; \
+ l2='$(man_MANS)'; for i in $$l2; do \
+ case "$$i" in \
+ *.5*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+ else file=$$i; fi; \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+ echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man5dir)/$$inst"; \
+ $(INSTALL_DATA) $$file $(DESTDIR)$(man5dir)/$$inst; \
done
-uninstall-manpl5DATA:
- @$(NORMAL_UNINSTALL)
- list='$(manpl5_DATA)'; for p in $$list; do \
- rm -f $(DESTDIR)$(manpl5dir)/$$p; \
+uninstall-man5:
+ @list='$(man5_MANS)'; \
+ l2='$(man_MANS)'; for i in $$l2; do \
+ case "$$i" in \
+ *.5*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+ echo " rm -f $(DESTDIR)$(man5dir)/$$inst"; \
+ rm -f $(DESTDIR)$(man5dir)/$$inst; \
done
-install-manpl8DATA: $(manpl8_DATA)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(manpl8dir)
- @list='$(manpl8_DATA)'; for p in $$list; do \
- if test -f $(srcdir)/$$p; then \
- echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(manpl8dir)/$$p"; \
- $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(manpl8dir)/$$p; \
- else if test -f $$p; then \
- echo " $(INSTALL_DATA) $$p $(DESTDIR)$(manpl8dir)/$$p"; \
- $(INSTALL_DATA) $$p $(DESTDIR)$(manpl8dir)/$$p; \
- fi; fi; \
+install-man8:
+ $(mkinstalldirs) $(DESTDIR)$(man8dir)
+ @list='$(man8_MANS)'; \
+ l2='$(man_MANS)'; for i in $$l2; do \
+ case "$$i" in \
+ *.8*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+ else file=$$i; fi; \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+ echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst"; \
+ $(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst; \
done
-uninstall-manpl8DATA:
- @$(NORMAL_UNINSTALL)
- list='$(manpl8_DATA)'; for p in $$list; do \
- rm -f $(DESTDIR)$(manpl8dir)/$$p; \
+uninstall-man8:
+ @list='$(man8_MANS)'; \
+ l2='$(man_MANS)'; for i in $$l2; do \
+ case "$$i" in \
+ *.8*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+ echo " rm -f $(DESTDIR)$(man8dir)/$$inst"; \
+ rm -f $(DESTDIR)$(man8dir)/$$inst; \
done
+install-man: $(MANS)
+ @$(NORMAL_INSTALL)
+ $(MAKE) $(AM_MAKEFLAGS) install-man1 install-man3 install-man5 \
+ install-man8
+uninstall-man:
+ @$(NORMAL_UNINSTALL)
+ $(MAKE) $(AM_MAKEFLAGS) uninstall-man1 uninstall-man3 uninstall-man5 \
+ uninstall-man8
tags: TAGS
TAGS:
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$/$$file $(distdir)/$$file; \
+ cp -pr $$d/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
install-exec-am:
install-exec: install-exec-am
-install-data-am: install-manpl1DATA install-manpl3DATA \
- install-manpl5DATA install-manpl8DATA
+install-data-am: install-man
install-data: install-data-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
-uninstall-am: uninstall-manpl1DATA uninstall-manpl3DATA \
- uninstall-manpl5DATA uninstall-manpl8DATA
+uninstall-am: uninstall-man
uninstall: uninstall-am
-all-am: Makefile $(DATA)
+all-am: Makefile $(MANS)
all-redirect: all-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
installdirs:
- $(mkinstalldirs) $(DESTDIR)$(manpl1dir) $(DESTDIR)$(manpl3dir) \
- $(DESTDIR)$(manpl5dir) $(DESTDIR)$(manpl8dir)
+ $(mkinstalldirs) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man3 \
+ $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man8
mostlyclean-generic:
maintainer-clean: maintainer-clean-am
-.PHONY: uninstall-manpl1DATA install-manpl1DATA uninstall-manpl3DATA \
-install-manpl3DATA uninstall-manpl5DATA install-manpl5DATA \
-uninstall-manpl8DATA install-manpl8DATA tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
- useradd.8 \
- userdel.8 \
- usermod.8 \
- vipw.8
+.PHONY: install-man1 uninstall-man1 install-man3 uninstall-man3 \
+install-man5 uninstall-man5 install-man8 uninstall-man8 install-man \
+uninstall-man tags distdir info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-exec-am install-exec \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-redirect all-am all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
# 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.
+++ /dev/null
-.\" {PTM/WK/1999-09-16}
-.\" Copyright 1990 - 1994 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 CHAGE 1
-.SH NAZWA
-chage \- zmieñ informacjê o terminie wa¿no¶ci has³a u¿ytkownika
-.SH SK£ADNIA
-.TP 6
-.B chage
-.RB [ -m
-.IR mindni ]
-.RB [ -M
-.IR maxdni ]
-.RB [ -d
-.IR ostatni ]
-.RB [ -I
-.IR nieaktywne ]
-.br
-.RB [ -E
-.IR data_wa¿no¶ci ]
-.RB [ -W
-.IR dni_ostrzegania ]
-.I u¿ytkownik
-.TP 6
-.B chage -l \fIu¿ytkownik\fR
-.SH OPIS
-\fBchage\fR zmienia liczbê dni pomiêdzy zmianami has³a i datê ostatniej
-zmiany has³a. Informacjê tê system wykorzystuje do ustalenia, kiedy
-u¿ytkownik musi zmieniæ has³o.
-Polecenia \fBchage\fR mo¿e u¿yæ tylko u¿ytkownik root, za wyj±tkiem
-opcji \fB-l\fR. Mo¿e siê ni± pos³u¿yæ siê u¿ytkownik nieuprzywilejowany
-do stwierdzenia, kiedy wygasa jego w³asne has³o lub konto.
-.PP
-Opcja \fB-m\fR ustawia minimaln± liczbê dni pomiêdzy zmianami has³a
-na warto¶æ \fImindni\fR. Warto¶æ zerowa oznacza, ¿e u¿ytkownik mo¿e je zmieniaæ
-w dowolnym czasie.
-.PP
-Opcja \fB-M\fR ustawia maksymaln± liczbê dni, przez jakie has³o jest wa¿ne
-na warto¶æ \fImaxdni\fR.
-Gdy \fImaxdni\fR plus \fIostatni\fR jest mniejsze ni¿ bie¿±cy dzieñ,
-od u¿ytkownika wymagana jest zmiana has³a przed skorzystaniem z konta.
-Zdarzenie to mo¿e byæ zaplanowane z wyprzedzeniem przez wykorzystanie
-opcji \fB-W\fR, ostrzegaj±cej zawczasu u¿ytkownika o zbli¿aj±cym siê terminie
-zmiany.
-.PP
-Opcja \fB-d\fR ustawia liczbê dni od 1 stycznia 1970 do dnia kiedy ostatnio
-zmieniono has³o na \fIostatni\fR. Data mo¿e równie¿ zostaæ podana w postaci
-RRRR-MM-DD (lub postaci powszechniej u¿ywanej w twoim regionie).
-.PP
-Opcja \fB-E\fR s³u¿y do ustawiania daty, od której konto u¿ytkownika
-nie bêdzie ju¿ dostêpne.
-\fIdata_wa¿no¶ci\fR jest liczb± dni od 1 stycznia 1970, od której konto jest
-blokowane. Data mo¿e byæ te¿ wyra¿ona w postaci RRRR-MM-DD (lub innej,
-powszechniej u¿ywanej w twoim regionie).
-U¿ytkownik, którego konto jest zablokowane musi skontaktowaæ siê
-z administratorem systemu zanim bêdzie móg³ z niego ponownie skorzystaæ.
-.PP
-Opcja \fB-I\fR s³u¿y do ustawiania czasu nieaktywno¶ci po wyga¶niêciu
-has³a, po którym konto jest blokowane. Parametr \fInieaktywne\fR podaje
-liczbê dni nieaktywno¶ci. Warto¶æ 0 wy³±cza tê funkcjê.
-U¿ytkownik, którego konto jest zablokowane musi skontaktowaæ siê
-z administratorem systemu zanim bêdzie móg³ z niego ponownie skorzystaæ.
-.PP
-Opcja \fB-W\fR s³u¿y do ustawiania ostrzegania przed wymagan± zmian± has³a.
-Parametr \fIdni_ostrzegania\fR jest liczb± dni przed up³ywem wa¿no¶ci has³a;
-od tego dnia u¿ytkownik bêdzie ostrzegany o nadchodz±cym terminie.
-.PP
-Wszystkie powy¿sze warto¶ci przechowywane s± jako liczba dni, je¿eli u¿ywany
-jest dodatkowy, przes³aniany plik hase³ (shadow). Jednak je¿eli u¿ywany jest
-standardowy plik hase³, to s± one zamieniane (w obie strony) na liczbê tygodni.
-Z powodu powy¿szej konwersji mog± pojawiæ siê b³êdy zaokr±gleñ.
-.PP
-Je¶li nie podano ¿adnej opcji, to \fBchage\fR dzia³a w trybie interaktywnym,
-proponuj±c u¿ytkownikowi warto¶ci bie¿±ce dla ka¿dego z pól. Wprowad¼ now±
-warto¶æ by zmieniæ pole, lub pozostaw pust± by u¿yæ warto¶ci bie¿±cej.
-Bie¿±ca warto¶æ pola wy¶wietlana jest miêdzy par± znaczników \fB[ ]\fR.
-.SH PLIKI
-.IR /etc/passwd " - informacje o kontach u¿ytkowników"
-.br
-.IR /etc/shadow " - chronione informacje o kontach u¿ytkowników"
-.SH ZOBACZ TAK¯E
-.BR passwd (5),
-.BR shadow (5)
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" {PTM/WK/1999-09-25}
-.\" Copyright 1990 - 1994 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 CHFN 1
-.SH NAZWA
-chfn \- zmieñ nazwê u¿ytkownika i informacjê o nim
-.SH SK£ADNIA
-.TP 5
-.B chfn
-.RB [ -f
-.IR pe³na_nazwa ]
-.RB [ -r
-.IR nr_pokoju ]
-.br
-.RB [ -w
-.IR tel_s³u¿b ]
-.RB [ -h
-.IR tel_dom ]
-.RB [ -o
-.IR inne ]
-.RI [ u¿ytkownik ]
-.SH OPIS
-\fBchfn\fR zmienia pe³n± nazwê (imiê i nazwisko), telefon s³u¿bowy i domowy
-dla danego konta u¿ytkownika. Informacja ta jest zwykle drukowana przez
-\fBfinger\fR(1) i podobne mu programy.
-Zwyk³y u¿ytkownik mo¿e zmieniaæ wy³±cznie pola opisuj±ce w³asne konto.
-Tylko superu¿ytkownik mo¿e zmieniaæ pola dowolnego konta.
-Równie¿ tylko on mo¿e pos³u¿yæ siê opcj± \fB-o\fR by zmieniæ niezdefiniowane
-czê¶ci pola GECOS.
-.PP
-Jedynym ograniczeniem nak³adanym na zawarto¶æ pól jest zakaz u¿ywania w nich
-znaków kontrolnych oraz przecinka, dwukropka i znaku równo¶ci.
-Pola \fIinne\fR (other) nie obowi±zuje to ograniczenie. Pole to s³u¿y do
-przechowywania informacji rozliczeniowej u¿ywanej przez inne aplikacje.
-.PP
-Je¶li nie wybrano ¿adnej z opcji, to \fBchfn\fR dzia³a w trybie interaktywnym,
-proponuj±c u¿ytkownikowi warto¶ci bie¿±ce dla ka¿dego z pól. Wprowad¼ now±
-warto¶æ by zmieniæ pole, lub pozostaw pust± by u¿yæ warto¶ci bie¿±cej.
-Bie¿±ca warto¶æ pola wy¶wietlana jest miêdzy par± znaczników \fB[ ]\fR.
-Bez podania opcji \fBchfn\fR pyta o konto u¿ytkownika, które ma podlegaæ
-zmianie.
-.SH PLIKI
-.IR /etc/passwd " - informacja o kontach u¿ytkowników"
-.SH ZOBACZ TAK¯E
-.BR passwd (5)
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
-.SH OD T£UMACZA
-Niniejsza dokumentacja opisuje polecenie wchodz±ce w sk³ad pakietu
-shadow-password.
-Z uwagi na powtarzaj±ce siê nazwy poleceñ, upewnij siê, ¿e korzystasz
-z w³a¶ciwej dokumentacji.
+++ /dev/null
-.\" {PTM/WK/1999-09-16}
-.\" 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 CHPASSWD 8
-.SH NAZWA
-chpasswd - wsadowa aktualizacja pliku hase³
-.SH SK£ADNIA
-.B chpasswd
-.RB [ -e ]
-.SH OPIS
-\fBchpasswd\fR odczytuje ze standardowego wej¶cia plik zawieraj±cy pary:
-nazwa u¿ytkownika i has³o. Odczytan± informacje wykorzystuje do aktualizacji
-grupy istniej±cych u¿ytkowników.
-Bez prze³±cznika -e, has³a traktowane s± jako podane jawnie. Z prze³±cznikiem
--e has³a powinny byæ dostarczone w postaci zakodowanej (encrypted).
-Ka¿dy wiersz ma postaæ
-.sp 1
- \fInazwa_U¿ytkownika\fR:\fIhas³o\fR
-.sp 1
-Dany u¿ytkownik musi istnieæ.
-Je¿eli bêdzie to konieczne, podane has³o zostanie zakodowane a wiek has³a,
-je¶li wystêpuje, zaktualizowany.
-.PP
-Polecenie to przeznaczone jest do u¿ytku w du¿ych systemach, gdzie aktualizuje
-siê wiele kont naraz.
-.SH PRZESTROGI
-.\" Po u¿yciu \fBchpasswd\fR musi zostaæ wykonane polecenie \fImkpasswd\fR,
-.\" aktualizuj±ce pliki DBM hase³ (DBM password files).
-Plik ¼ród³owy, je¶li zawiera niezakodowane has³a, musi byæ chroniony.
-.\" Polecenie to mo¿e byæ zaniechane na rzecz polecenia newusers(8).
-.SH ZOBACZ TAK¯E
-.\" mkpasswd(8), passwd(1), useradd(1)
-.BR passwd (1),
-.BR useradd (8),
-.BR newusers (8)
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" {PTM/WK/1999-09-25}
-.\" Copyright 1990, 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 CHSH 1
-.SH NAZWA
-chsh \- zmieñ pow³okê zg³oszeniow±
-.SH SK£ADNIA
-.TP 5
-.B chsh
-.RB [ -s
-.IR pow³oka ]
-.RI [ u¿ytkownik ]
-.SH OPIS
-\fBchsh\fR zmienia pow³okê zg³oszeniow± u¿ytkownika.
-Okre¶la nazwê pocz±tkowego polecenia zg³oszeniowego u¿ytkownika.
-Zwyk³y u¿ytkownik mo¿e zmieniæ wy³±cznie pow³okê zg³oszeniow± w³asnego konta,
-superu¿ytkownik mo¿e zmieniæ pow³okê zg³oszeniow± dla dowolnego konta.
-.PP
-Jedynym ograniczeniem na³o¿onym na pow³okê zg³oszeniow± jest to, ¿e jej nazwa
-musi byæ ujêta w \fI/etc/shells\fR, chyba ¿e polecenie \fBchsh\fR wywo³ywane
-jest przez superu¿ytkownika, wówczas mo¿e byæ podana nazwa dowolnego polecenia.
-U¿ytkownicy kont z ograniczon± pow³ok± logowania nie mog± jej zmieniaæ.
-Odradza siê z tego powodu umieszczanie \fB/bin/rsh\fR w pliku \fI/etc/shells\fR,
-gdy¿ przypadkowa zmiana na pow³okê ograniczon± uniemo¿liwi u¿ytkownikowi
-jak±kolwiek zmianê pow³oki logowania, nawet z powrotem na dotychczasow±.
-.PP
-je¿eli nie podano opcji \fB-s\fR, to \fBchsh\fR dzia³a w trybie interaktywnym,
-proponuj±c u¿ytkownikowi bie¿±c± pow³okê logowania. Wprowad¼ now± warto¶æ
-do pola lub pozostaw je puste, by pozostawiæ aktualn± warto¶æ.
-Bie¿±ca warto¶æ wy¶wietlana jest pomiêdzy par± znaczników \fB[ ]\fR.
-.SH PLIKI
-.IR /etc/passwd " - informacja o kontach u¿ytkowników"
-.br
-.IR /etc/shells " - lista dozwolonych pow³ok zg³oszeniowych"
-.SH ZOBACZ TAK¯E
-.BR chfn (1),
-.BR passwd (5)
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
-.SH OD T£UMACZA
-Niniejsza dokumentacja opisuje polecenie wchodz±ce w sk³ad pakietu
-shadow-password.
-Istnieje wiele programów i skryptów do zarz±dzania kontami
-u¿ytkowników czy grup. Z uwagi na powtarzaj±ce siê nazwy poleceñ, upewnij
-siê, ¿e korzystasz z w³a¶ciwej dokumentacji.
+++ /dev/null
-.\"
-.\" {PTM/WK/1999-09-22}
-.\"
-.TH D_PASSWD 5
-.SH NAZWA
-d_passwd - plik hase³ telefonicznych
-.SH OPIS
-Z dostêpem do systemu przez liniê telefoniczn± zwi±zane s± dwa pliki
-konfiguracyjne: \fI/etc/d_passwd\fR, zawieraj±cy has³a i \fI/etc/dialups\fR,
-zawieraj±cy linie.
-Ka¿dorazowo, zanim u¿ytkownik ³±cz±cy siê za po¶rednictwem modemu otrzyma
-dostêp do systemu, musi podaæ has³o telefoniczne. Has³a te s± niezale¿ne
-od hase³ u¿ytkowników i przypisane nie do u¿ytkownika, ani linii terminalowej,
-lecz do pow³oki zg³oszeniowej u¿ytkownika.
-Do rozpoczêcia sesji wymagane jest zarówno has³o u¿ytkownika jak
-i telefoniczne. Zauwa¿ jednak, ¿e has³a telefoniczne nie posiadaj± kontroli
-terminu wa¿no¶ci. Nale¿y, po uzgodnieniu, okresowo zmieniaæ je rêcznie.
-W pliku \fId_passwd\fR kolejne wiersze definiuj± has³a dla rozmaitych pow³ok:
-.br
-.sp 1
- pow³oka:zakodowane_has³o:
-.br
-.sp 1
-Zauwa¿, ¿e po polu has³a wystêpuje dwukropek. Pow³oka powinna byæ
-okre¶lona przez bezwzglêdn± nazwê ¶cie¿kow± pliku interpretatora poleceñ.
-Do zarz±dzania has³ami telefonicznymi s³u¿y polecenie \fBdpasswd\fR (1).
-.SH ZOBACZ TAK¯E
-.BR dpasswd (1),
-.BR login (1),
-.BR dialups (5).
+++ /dev/null
-.\"
-.\" {PTM/WK/1999-09-22}
-.\"
-.TH DIALUPS
-.SH NAZWA
-dialups - plik terminalowych linii telefonicznych
-.SH OPIS
-Z dostêpem do systemu przez liniê telefoniczn± zwi±zane s± dwa pliki
-konfiguracyjne: \fI/etc/d_passwd\fR, zawieraj±cy has³a i \fI/etc/dialups\fR,
-zawieraj±cy linie. W ka¿dym wierszu pliku \fIdialups\fR zawarta jest nazwa
-pliku specjalnego linii terminalowej, do której pod³±czony jest modem:
-.br
-.sp 1
- /dev/tty12
- /dev/tty13
-.br
-.sp 1
-Warto jest uj±æ w nim \fBwszystkie\fR linie z dostêpem modemowym.
-Po³±czenie z linii pominiêtej nie bêdzie dodatkowo weryfikowane - u¿ytkownicy
-³±cz±cy siê ni± nie bêd± musieli podawaæ has³a telefonicznego.
-.SH ZOBACZ TAK¯E
-.BR dpasswd (1),
-.BR login (1),
-.BR d_passwd (5).
+++ /dev/null
-.\" {PTM/WK/1999-09-17}
-.\" 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 DPASSWD 8
-.SH NAZWA
-\fBdpasswd\fR - zmieñ has³o telefoniczne
-.SH SK£ADNIA
-.B dpasswd
-.RB [ - ( a | d )]
-.I pow³oka
-.SH OPIS
-\fBdpasswd\fR dodaje, usuwa i aktualizuje has³a telefoniczne (dialup
-passwords) dla pow³ok logowania u¿ytkowników.
-Ka¿dorazowo, gdy u¿ytkownik loguje siê przez liniê telefoniczn±,
-¿±dane jest od niego has³o telefoniczne (po poprawnym uwierzytelnieniu
-jego w³asnego has³a).
-.PP
-\fBdpasswd\fR bêdzie prosiæ o podanie nowego has³a dwukrotnie, by upewniæ
-siê, ¿e zosta³o ono poprawnie wprowadzone.
-.PP
-Argument \fIpow³oka\fR musi byæ pe³n±, ¶cie¿kow± nazw± programu zg³oszenia
-(logowania).
-.SH PLIKI
-.br
-.I /etc/d_passwd
-.br
-.I /etc/dialups
-.SH ZOBACZ TAK¯E
-.BR login (1)
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" Copyright 1989 - 1994, 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.
-.\"
-.\" Translation (c) 1998 "Gwidon S. Naskrent" <naskrent@hoth.amu.edu.pl>
-.\" $Id: faillog.5,v 1.3 1999/09/20 20:56:42 wojtek2 Exp $
-.\"
-.TH faillog 5
-.SH NAZWA
-faillog \- plik rejestruj±cy nieudane zalogowania
-.SH OPIS
-.I faillog
-prowadzi licznik nieudanych zalogowañ i limity dla ka¿dego konta.
-Plik ten sk³ada siê z rekordów o sta³ej d³ugo¶ci, indeksowanych
-liczbowym UID. Ka¿dy rekord zawiera licznik nieudanych zalogowañ
-od ostatniego pomy¶lnego logowania, maksymaln± liczbê pomy³ek
-przed zablokowaniem konta, konsolê na której nast±pi³o ostatnie
-nieudane logowanie, oraz datê tego¿.
-.PP
-Struktura tego pliku to
-.DS
-
- struct faillog {
- short fail_cnt;
- short fail_max;
- char fail_line[12];
- time_t fail_time;
- };
-
-.DE
-.SH PLIKI
-.IR /var/log/faillog " - rejestr nieudanych zalogowañ"
-.SH ZOBACZ TAK¯E
-.BR faillog (8)
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" {PTM/WK/1999-09-18}
-.\" Copyright 1989 - 1994, 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 FAILLOG 8
-.SH NAZWA
-faillog \- sprawd¼ faillog i ustaw limity b³êdnych logowañ
-.SH SK£ADNIA
-.TP 8
-.B faillog
-.RB [ -u
-.IR nazwa ]
-.RB [ -a ]
-.RB [ -t
-.IR dni ]
-.RB [ -m
-.IR max ]
-.RB [ -pr ]
-.SH OPIS
-\fBfaillog\fR formatuje zawarto¶æ rejestru nieudanych prób rozpoczêcia sesji,
-\fI/var/log/faillog\fR, oraz obs³uguje ograniczenia i liczniki b³êdnych prób.
-Kolejno¶æ argumentów \fBfaillog\fR jest znacz±ca. Ka¿dy z argumentów jest
-natychmiast przetwarzany w zadanej kolejno¶ci.
-.PP
-Flaga \fB-p\fR powoduje, ¿e zapisy o nieudanych logowaniach wy¶wietlane bêd±
-w kolejno¶ci rosn±cych identyfikatorów u¿ytkowników (UID).
-Pos³u¿enie siê flag± \fB-u \fInazwa\fR spowoduje, ¿e zostanie wy¶wietlony
-wy³±cznie zapis dotycz±cy u¿ytkownika o tej \fInazwie\fR.
-U¿ycie \fB-t \fIdni\fR powoduje wy¶wietlanie wy³±cznie nieudanych prób
-logowania ¶wie¿szych ni¿ sprzed zadanej liczby \fIdni\fR.
-Flaga \fB-t\fR uniewa¿nia u¿ycie \fB-u\fR.
-Flaga \fB-a\fR powoduje wybranie wszystkich u¿ytkowników.
-W po³±czeniu z flag± \fB-p\fR flag, opcja ta wybiera wszystkich u¿ytkowników,
-dla których kiedykolwiek odnotowano niepomy¶ln± próbê logowania.
-Opcja ta nie ma znaczenia w po³±czeniu z flag± \fB-r\fR.
-.PP
-\fB-r\fR s³u¿y do zerowania licznika b³êdnych logowañ. Do poprawnego dzia³ania
-tej opcji wymagane jest prawo zapisu do \fI/var/log/faillog\fR.
-W po³±czeniu z \fB-u \fInazwa\fR s³u¿y do zerowania licznika b³êdów u¿ytkownika
-o podanej \fInazwie\fR.
-.PP
-Flaga \fB-m\fR ustawia maksymaln± liczbê b³êdów logowania, po której konto
-zostanie wy³±czone. Dla tej opcji wymagane jest prawo zapisu do
-\fI/var/log/faillog\fR.
-Argumenty \fB-m \fImax\fR powoduj±, ¿e wszystkie konta bêd± wy³±czane po
-\fImax\fR nieudanych próbach logowania.
-U¿ycie dodatkowo \fB-u \fInazwa\fR, ogranicza dzia³anie tej funkcji do
-u¿ytkownika o podanej \fInazwie\fR.
-Pos³u¿enie siê zerow± warto¶ci± \fImax\fR powoduje, ¿e liczba nieudanych prób
-rozpoczêcia sesji jest nieograniczona.
-Dla u¿ytkownika \fBroot\fR maksymalna liczba niepowodzeñ powinna byæ zawsze
-ustawiona na 0, by zapobiec atakom typu denial of service (odmowa obs³ugi).
-.PP
-Opcje mog± byæ ³±czone w praktycznie dowolny sposób. Ka¿da z opcji \fB-p\fR,
-\fB-r\fR i \fB-m\fR powoduje natychmiastowe wykonanie przy u¿yciu modyfikatora
-\fB-u\fR lub \fB-t\fR.
-.SH PRZESTROGI
-\fBfaillog\fR wy¶wietla wy³±cznie u¿ytkowników, którzy od ostatniej nieudanej
-próby nie mieli poprawnych logowañ.
-Chc±c wy¶wietliæ u¿ytkownika, który po ostatniej pora¿ce logowa³ siê ju¿
-pomy¶lnie, musisz jawnie za¿±daæ o nim informacji przy pomocy flagi \fB-u\fR.
-Mo¿esz tak¿e wy¶wietliæ wszystkich u¿ytkowników pos³uguj±c siê flag± \fB-a\fR.
-.PP
-W niektórych systemach zamiast /var/log wystêpuje /var/adm lub /usr/adm.
-.SH PLIKI
-.IR /var/log/faillog " - plik rejestracji b³êdów logowania"
-.SH ZOBACZ TAK¯E
-.BR login (1),
-.BR faillog (5)
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" {PTM/WK/1999-09-16}
-.\" Copyright 1996, Rafal Maszkowski, rzm@pdi.net
-.\" All rights reserved. You can redistribute this man page and/or
-.\" modify it under the terms of the GNU General Public License as
-.\" published by the Free Software Foundation; either version 2 of the
-.\" License, or (at your option) any later version.
-.\"
-.TH GPASSWD 1
-.SH NAZWA
-gpasswd \- administracja plikiem /etc/group
-.br
-.SH SK£ADNIA
-.B gpasswd \fIgrupa\fR
-.br
-.B gpasswd -a
-.I u¿ytkownik grupa
-.br
-.B gpasswd -d
-.I u¿ytkownik grupa
-.br
-.B gpasswd -R
-.I grupa
-.br
-.B gpasswd -r
-.I grupa
-.br
-.B gpasswd
-.RB [ -A
-.IR u¿ytkownik ,...]
-.RB [ -M
-.IR u¿ytkownik ,...]
-.I grupa
-.SH OPIS
-.B gpasswd
-s³u¿y do administrowania plikiem \fI/etc/group\fR (oraz \fI/etc/gshadow\fR
-je¶li zosta³a wykonana kompilacja ze zdefiniowanym SHADOWGRP). Ka¿da z grup
-mo¿e posiadaæ administratorów, cz³onków i has³o. Administrator systemu mo¿e
-pos³u¿yæ siê opcj± \fB-A\fR do zdefiniowania administratora(ów) grupy oraz
-opcj± \fB-M\fR do zdefiniowania jej cz³onków. Posiada on wszystkie prawa
-administratorów i cz³onków grup.
-.PP
-Administrator grupy mo¿e dodawaæ i usuwaæ u¿ytkowników przy pomocy,
-odpowiednio, opcji \fB-a\fR i \fB-d\fR. Administratorzy mog± te¿ u¿ywaæ opcji
-\fB-r\fR w celu usuniêcia has³a grupy. Je¿eli grupa nie posiada has³a,
-to polecenia
-.BR newgrp (1)
-do przy³±czenia siê do grupy mog± u¿ywaæ tylko jej cz³onkowie.
-Opcja \fB-R\fR wy³±cza dostêp do grupy za pomoc± polecenia
-.BR newgrp (1).
-.PP
-.B gpasswd
-wywo³ane przez administratora grupy tylko z nazw± grupy pyta o jej has³o.
-Je¿eli has³o jest ustawione, to cz³onkowie grupy mog± nadal wykonywaæ
-.BR newgrp (1)
-bez has³a, inni musz± natomiast podaæ has³o.
-.SH PLIKI
-.IR /etc/group " - informacja o grupach"
-.br
-.IR /etc/gshadow " - chroniona informacja o grupach"
-.SH ZOBACZ TAK¯E
-.BR newgrp (1),
-.BR groupadd (8),
-.BR groupdel (8),
-.BR groupmod (8),
-.BR grpck (8)
+++ /dev/null
-.\" {PTM/WK/0.1/VIII-1999}
-.\" 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.
-.\"
-.\" $Id: groupadd.8,v 1.1 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH GROUPADD 8
-.SH NAZWA
-groupadd - twórz now± grupê
-.SH SK£ADNIA
-.B groupadd
-.RB [ -g
-.I gid
-.RB [ -o ]]
-.I grupa
-.SH OPIS
-Polecenie \fBgroupadd\fR tworzy nowe konto grupy pos³uguj±c siê
-warto¶ciami podanymi w wierszu poleceñ i domy¶lnymi warto¶ciami z systemu.
-W razie potrzeby zostanie wprowadzona do systemu nowa grupa.
-Polecenie \fBgroupadd\fR posiada opcje:
-.TP
-.BI -g " gid"
-Numeryczna warto¶æ identyfikatora grupy. Warto¶æ ta musi byæ niepowtarzalna,
-chyba ¿e u¿yto opcji \fB-o\fR. Warto¶æ ID grupy nie mo¿e byæ ujemna. Domy¶lnie
-u¿ywana jest najmniejsza warto¶æ identyfikatora wiêksza ni¿ 99 a wiêksza ni¿
-jakiejkolwiek innej grupy.
-Warto¶ci miêdzy 0 a 99 s± zwykle zarezerwowane dla kont systemowych.
-.SH PLIKI
-.IR /etc/group " - informacja o kontach grup"
-.br
-.IR /etc/gshadow " - bezpieczna informacja o kontach grup"
-.SH ZOBACZ TAK¯E
-.BR chfn (1),
-.BR chsh (1),
-.BR useradd (8),
-.BR userdel (8),
-.BR usermod (8),
-.BR passwd (1),
-.BR groupdel (8),
-.BR groupmod (8).
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
-.SH OD T£UMACZA
-Niniejsza dokumentacja opisuje polecenie wchodz±ce w sk³ad pakietu
-shadow-password.
-Istnieje wiele programów i skryptów do zarz±dzania kontami
-u¿ytkowników czy grup. Z uwagi na powtarzaj±ce siê nazwy poleceñ, upewnij
-siê, ¿e korzystasz z w³a¶ciwej dokumentacji.
+++ /dev/null
-.\" {PTM/WK/0.1/VIII-1999}
-.\" Copyright 1991 - 1993, 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.
-.\"
-.\" $Id: groupdel.8,v 1.1 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH GROUPDEL 8
-.SH NAZWA
-groupdel - usuñ grupê
-.SH SK£ADNIA
-.B groupdel
-.I grupa
-.SH OPIS
-Polecenie \fBgroupdel\fR zmienia systemowe pliki kont, usuwaj±c
-wszystkie zapisy odnosz±ce siê do \fIgrupy\fR.
-Wymieniona grupa musi istnieæ.
-.PP
-Musisz rêcznie sprawdziæ wszystkie systemy plików, by upewniæ siê, ¿e
-nie pozosta³y ¿adne pliki, dla których wymieniona grupa jest grup± w³a¶cicieli.
-.SH PRZESTROGI
-Nie mo¿esz usun±æ podstawowej grupy ¿adnego z istniej±cych u¿ytkowników.
-Musisz usun±æ u¿ytkownika przed usuniêciem takiej grupy.
-.SH PLIKI
-.IR /etc/group " - informacja o grupach"
-.br
-.IR /etc/gshadow " - bezpieczna informacja o grupach"
-.\" secure group information
-.SH ZOBACZ TAK¯E
-.BR chfn (1),
-.BR chsh (1),
-.BR useradd (8),
-.BR userdel (8),
-.BR usermod (8),
-.BR passwd (1),
-.BR groupadd (8),
-.BR groupmod (8).
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
-.SH OD T£UMACZA
-Niniejsza dokumentacja opisuje polecenie wchodz±ce w sk³ad pakietu
-shadow-password.
-Istnieje wiele programów i skryptów do zarz±dzania kontami
-u¿ytkowników czy grup. Z uwagi na powtarzaj±ce siê nazwy poleceñ, upewnij
-siê, ¿e korzystasz z w³a¶ciwej dokumentacji.
+++ /dev/null
-.\" {PTM/WK/0.1/VIII-1999}
-.\" 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.
-.\"
-.\" $Id: groupmod.8,v 1.1 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH GROUPMOD 8
-.SH NAZWA
-groupmod - zmieñ dane grupy
-.SH SK£ADNIA
-.B groupmod
-.RB [ -g
-.I gid
-.RB [ -o ]]
-.RB [ -n
-.IR nazwa_grupy ]
-.I grupa
-.SH OPIS
-Polecenie \fBgroupmod\fR modyfikuje systemowe pliki kont tak, by
-odzwierciedliæ w nich zmiany grup podane w wierszu poleceñ. Obs³uguje ono
-nastêpuj±ce opcje:
-.TP
-.BI -g " gid"
-Numeryczna warto¶æ identyfikatora grupy (group ID).
-Warto¶æ ta musi byæ niepowtarzalna, chyba ¿e u¿yto opcji \fB-o\fR.
-Nie mo¿e byæ ujemna. Warto¶ci pomiêdzy 0 a 99 s± zwykle zarezerwowane
-dla grup systemowych.
-Pliki, dla których stary identyfikator jest identyfikatorem
-grupy pliku, wymagaj± rêcznej zmiany ID grupy.
-.TP
-.BI -n " nazwa_grupy"
-Nazwa grupy zostanie zmieniona z \fIgrupa\fR na \fInazwa_grupy\fR.
-.SH PLIKI
-.IR /etc/group " - informacja o grupach"
-.br
-.IR /etc/gshadow " - bezpieczna informacja o grupach"
-.SH ZOBACZ TAK¯E
-.BR chfn (1),
-.BR chsh (1),
-.BR useradd (8),
-.BR userdel (8),
-.BR usermod (8),
-.BR passwd (1),
-.BR groupadd (8),
-.BR groupdel (8).
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
-.SH OD T£UMACZA
-Niniejsza dokumentacja opisuje polecenie wchodz±ce w sk³ad pakietu
-shadow-password.
-Istnieje wiele programów i skryptów do zarz±dzania kontami
-u¿ytkowników czy grup. Z uwagi na powtarzaj±ce siê nazwy poleceñ, upewnij
-siê, ¿e korzystasz z w³a¶ciwej dokumentacji.
+++ /dev/null
-.\" {PRM/WK/1999-09-25}
-.\" Copyright 1991 - 1994, 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 GROUPS 1
-.SH NAZWA
-groups \- wy¶wietl nazwy bie¿±cych grup
-.SH SK£ADNIA
-.B groups
-.RI [ u¿ytkownik ]
-.SH OPIS
-.B groups
-wy¶wietla nazwy lub warto¶ci bie¿±cych identyfikatorów grup.
-Je¿eli warto¶æ nie posiada odpowiedniego wpisu w \fI/etc/group\fR, to zostanie
-wy¶wietlona jako numeryczny identyfikator grupy.
-Opcjonalny parametr \fIu¿ytkownik\fR powoduje wy¶wietlenie grup dla danego
-\fIu¿ytkownika\fR.
-.SH UWAGA
-Systemy nie obs³uguj±ce równoczesnych grup (tj.takie, w których u¿ytkownik mo¿e
-w danej byæ cz³onkiem tylko jednej grupy, grupy aktywnej) bêd± wy¶wietlaæ
-informacjê z \fI/etc/group\fR.
-Do zmiany bie¿±cego rzeczywistego i efektywnego identyfikatora grupy u¿ytkownik
-musi u¿yæ polecenia \fBnewgrp\fR lub \fBsg\fR.
-.SH PLIKI
-.IR /etc/group " - informacja o grupach"
-.SH ZOBACZ TAK¯E
-.BR newgrp (1),
-.BR getuid (2),
-.BR getgid (2),
-.BR getgroups (2)
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
-.SH OD T£UMACZA
-Niniejsza dokumentacja opisuje polecenie wchodz±ce w sk³ad pakietu
-shadow-password.
-Z uwagi na powtarzaj±ce siê nazwy poleceñ, upewnij siê, ¿e korzystasz
-z w³a¶ciwej dokumentacji.
+++ /dev/null
-.\" {PTM/WK/1999-09-17}
-.\" Copyright 1992 - 1993, 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 GRPCK 1
-.SH NAZWA
-grpck \- weryfikacja spójno¶ci plików grup
-.SH SK£ADNIA
-.B grpck
-.RB [ -r ]
-.RI [ group
-.IR shadow ]
-.SH OPIS
-\fBgrpck\fR weryfikuje integralno¶æ informacji autentykacji systemowej.
-Sprawdzane s± wszystkie pozycje w plikach \fI/etc/group\fR
-i \fI/etc/gshadow\fR, by upewniæ siê, ¿e ka¿da z nich posiada w³a¶ciwy format
-i poprawne dane w ka¿dym z pól. U¿ytkownik monitowany jest o usuniêcie
-pozycji, które s± sformatowane niepoprawnie lub posiadaj± inne nie daj±ce
-siê skorygowaæ b³êdy.
-.P
-Kontrolowane jest czy ka¿da pozycja posiada
-.sp
-.in +.5i
-- w³a¶ciw± liczbê pól
-.br
-- unikaln± nazwê grupy
-.br
-- poprawn± listê cz³onków i administratorów
-.in -.5i
-.sp
-.P
-Kontrola w³a¶ciwej liczby pól i niepowtarzalnej nazwy grupy jest
-decyduj±ca. Je¿eli pozycja posiada b³êdn± liczbê pól, to u¿ytkownik jest
-proszony o usuniêcie ca³ej pozycji (wiersza).
-Je¿eli u¿ytkownik nie potwierdzi decyzji o usuniêciu, to pomijane s± wszelkie
-dalsze sprawdzenia.
-Pozycja z powtórzon± nazw± grupy powoduje monit o usuniêcie, ale nadal
-bêd± wykonywane pozosta³e sprawdzenia.
-Wszystkie inne b³êdy daj± ostrze¿enia a u¿ytkownik jest zachêcany
-do uruchomienia polecenia \fBgroupmod\fR, by je poprawiæ.
-.P
-Polecenia dzia³aj±ce na pliku \fI/etc/group\fR nie potrafi± zmieniaæ
-uszkodzonych lub powielonych pozycji. W takich okoliczno¶ciach powinien byæ
-u¿ywany \fBgrpck\fR, by usun±æ nieprawid³ow± pozycjê.
-.SH OPCJE
-Domy¶lnie \fBgrpck\fR dzia³a na plikach \fI/etc/group\fR oraz \fI/etc/gshadow\fR.
-Przy pomocy parametrów \fIgroup\fR i \fIshadow\fR u¿ytkownik mo¿e wybraæ inne
-pliki.
-Dodatkowo, u¿ytkownik mo¿e wykonaæ polecenie w trybie tylko-do-odczytu, poprzez
-podanie flagi \fB-r\fR.
-Powoduje to, ¿e na wszystkie pytania dotycz±ce zmian zostanie, bez ingerencji
-u¿ytkownika, u¿yta odpowied¼ \fBnie\fR.
-.SH PLIKI
-.IR /etc/group " - informacja o kontach grup"
-.br
-.IR /etc/gshadow " - zakodowana informacja o has³ach i administratorach grup"
-.br
-.IR /etc/passwd " -informacja o u¿ytkownikach"
-.SH ZOBACZ TAK¯E
-.BR groupmod (8),
-.BR group (5),
-.BR passwd (5),
-.BR shadow (5)
-.SH DIAGNOSTYKA
-Polecenie \fBgrpck\fR koñczy pracê z nastêpuj±cymi warto¶ciami kodów:
-.IP 0 5
-Powodzenie
-.IP 1 5
-B³±d sk³adni
-.IP 2 5
-Jedna lub wiêcej z³ych pozycji pliku grup
-.IP 3 5
-Niemo¿liwe otwarcie plików grup
-.IP 4 5
-Niemo¿liwa blokada plików grup
-.IP 5 5
-Niemo¿liwa aktualizacja plików grup
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" {PTM/WK/1999-09-25}
-.\" 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 ID 1
-.SH NAZWA
-id - wy¶wietl nazwy bie¿±cych ID u¿ytkownika i grupy
-.SH SK£ADNIA
-.B id
-.RB [ -a ]
-.SH OPIS
-.B id
-wy¶wietla bie¿±ce nazwy (lub warto¶ci) rzeczywistych i efektywnych
-identyfikatorów u¿ytkownika i grupy.
-Je¿eli dana warto¶æ nie posiada odpowiedniego wpisu w \fI/etc/passwd\fR
-lub \fI/etc/group\fR, to zostanie wy¶wietlona bez odpowiedniej nazwy.
-Opcjonalna flaga \fB-a\fR wy¶wietla zestaw grup w systemach, które obs³uguj±
-równoczesne cz³onkostwo w wielu grupach.
-.SH PLIKI
-.IR /etc/passwd " - informacja o kontach u¿ytkowników"
-.br
-.IR /etc/group " - informacja o grupach"
-.SH ZOBACZ TAK¯E
-.BR getuid (2),
-.BR getgid (2),
-.BR getgroups (2)
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
-.SH OD T£UMACZA
-Niniejsza dokumentacja opisuje polecenie wchodz±ce w sk³ad pakietu
-shadow-password.
-Z uwagi na powtarzaj±ce siê nazwy poleceñ, upewnij siê, ¿e korzystasz
-z w³a¶ciwej dokumentacji.
+++ /dev/null
-.\" {PTM/WK/1999-09-18}
-.\" Copyright 1992, Phillip Street and 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.
-.\"
-.\" @(#)lastlog.8 3.3 08:24:58 29 Sep 1993 (National Guard Release)
-.\"
-.TH LASTLOG 8
-.SH NAZWA
-lastlog \- sprawd¼ plik ostatnich logowañ (lastlog)
-.SH SK£ADNIA
-.B lastlog
-.RB [ -u
-.IR uid ]
-.RB [ -t
-.IR dni
-.SH OPIS
-\fBlastlog\fR formatuje i wy¶wietla zawarto¶æ dziennika ostatnich logowañ,
-\fI/var/log/lastlog\fR. Wy¶wietlone zostan± \fBnazwa u¿ytkownika\fR,
-\fBport\fR i \fBczas ostatniego logowania\fR.
-Domy¶lnie (bez flag) pozycje pliku wy¶wietlane s± w kolejno¶ci identyfikatorów
-u¿ytkowników (UID).
-Wprowadzenie opcji \fB-u \fInazwa_u¿ytkownika\fR spowoduje wy¶wietlenie
-pozycji opisuj±cej ostatnie rozpoczêcie sesji tylko dla tego u¿ytkownika.
-U¿ycie \fB-t \fIdni\fR powoduje, ¿e bêd± wy¶wietlone ostatnie logowania
-u¿ytkowników nowsze ni¿ sprzed zadanej liczby \fIdni\fR.
-Opcja \fB-t\fR przes³ania u¿ycie opcji \fB-u\fR.
-.PP
-Je¿eli u¿ytkownik nigdy siê nie logowa³ to zamiast portu i czasu logowania
-zostanie wy¶wietlony komunikat \fB"**Never logged in**"\fR (nigdy siê nie
-logowa³).
-.SH PLIKI
-.IR /var/log/lastlog " - dziennik ostatnich logowañ"
-.SH PRZESTROGI
-Du¿e luki w numeracji UID powoduj±, ¿e program bêdzie pracowa³ d³u¿ej, nie
-wy¶wietlaj±c wyników (np. je¶li mmdf=800, za¶ ostatni uid=170, to program
-bêdzie sprawia³ wra¿enie zawieszonego w trakcie przetwarzania uid 171-799).
-.SH AUTORZY
-Julianne Frances Haugh (jfh@austin.ibm.com)
-.br
-Phillip Street
+++ /dev/null
-.\" {PTM/WK/1999-09-18}
-.TH LIMITS 5
-.SH NAZWA
-limits \- definicja ograniczeñ zasobów
-.SH OPIS
-Plik
-.I limits
-(domy¶lnie /etc/limits lub LIMITS_FILE zdefiniowane w config.h)
-opisuje ograniczenia zasobów, jakie chcia³by¶ narzuciæ u¿ytkownikom.
-W³a¶cicielem tego pliku powinien byæ u¿ytkownik root i wy³±cznie dla niego
-plik ten powinien byæ dostêpny do odczytu.
-.PP
-Domy¶lnie u¿ytkownikowi 'root' nie s± narzucane ¿adne ograniczenia.
-W rzeczywisto¶ci, przy u¿yciu tego sposobu nie jest mo¿liwe narzucenie limitów
-dla kont równowa¿nych root (kont z UID równym 0).
-.PP
-Ka¿dy wiersz definiuje ograniczenie dla u¿ytkownika w postaci:
-.sp
-.I u¿ytkownik £AÑCUCH_OGRANICZEÑ
-.PP
-\fB£AÑCUCH OGRANICZEÑ\fP sk³ada siê z po³±czonych definicji ograniczeñ zasobów.
-Ka¿de ograniczenie opisywane jest liter± z nastêpuj±c± po niej warto¶ci±
-numeryczn± limitu.
-.PP
-Dozwolone s± nastêpuj±ce identyfikatory:
-.sp
-A: max. przestrzeñ adresowa (KB)
-.br
-C: max. rozmiar pliku core (KB)
-.br
-D: max. rozmiar danych (KB)
-.br
-F: maksymalny rozmiar pliku (KB)
-.br
-M: max. locked-in-memory address space (KB)
-.br
-N: max. liczba otwartych plików
-.br
-R: max. resident set size (KB)
-.br
-S: max. rozmiar stosu (KB)
-.br
-T: max. czas procesora (CPU) (MIN)
-.br
-U: max. liczba procesów
-.br
-L: max. liczba sesji pracy dla tego u¿ytkownika
-.br
-P: priorytet procesu, ustawiany przez \fBsetpriority\fR(2).
-.PP
-Na przyk³ad, \fIL2D2048N5\fP jest poprawnym \fB£AÑCUCHEM OGRANICZEÑ\fP.
-Z uwagi na lepsz± czytelno¶ci przyjêto, ¿e poni¿sze zapisy s± równowa¿ne:
-.sp
-nazwa_u¿ytkownika L2D2048N5
-.br
-nazwa_u¿ytkownika L2 D2048 N5
-.PP
-Nale¿y podkre¶liæ, ¿e reszta wiersza po \fInazwie_u¿ytkownika\fP traktowana
-jest jako ³añcuch ograniczeñ, zatem komentarze nie s± dozwolone. Nieprawid³owy
-³añcuch ograniczeñ zostanie odrzucony (nie bêdzie brany pod uwagê) przez
-program login.
-.PP
-Nazwa u¿ytkownika równa "\fB*\fP" oznacza wpis domy¶lny.
-Je¿eli w pliku \fBLIMITS_FILE\fP posiadasz wiele takich wpisów, to jako
-domy¶lny zostanie u¿yty ostatni z nich.
-.PP
-Pojedyncza kreska "\fB-\fP" ca³kowicie wy³±cza ograniczenia dla u¿ytkownika.
-.PP
-Zauwa¿ te¿, proszê, ¿e wszystkie te ograniczenia definiowane s± w odniesieniu
-do pojedynczej sesji (per login). Nie s± one globalne ani sta³e. Byæ mo¿e bêd±
-kiedy¶ ograniczenia globalne, ale na razie tyle musi wystarczyæ ;)
-.SH PLIKI
-.I /etc/limits
-.SH ZOBACZ TAK¯E
-.BR login (1),
-.BR setpriority (2),
-.BR setrlimit (2)
-.SH AUTOR
-Cristian Gafton (gafton@sorosis.ro)
+++ /dev/null
-.\" {PTM/WK/1999-09-25}
-.\" Copyright 1989 - 1994, 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 LOGIN 1
-.SH NAZWA
-login \- rozpocznij sesjê pracy w systemie
-.SH SK£ADNIA
-.B login
-.RI [ u¿ytkownik " [" zmienne_¶rodowiska ]]
-.\" XXX - udokumentowaæ opcje -f -h -p -r
-.SH OPIS
-.B login
-s³u¿y do utworzenia nowej sesji pracy z systemem. Zwykle wywo³ywane jest
-automatycznie w odpowiedzi na zachêtê
-.I login:
-na terminalu u¿ytkownika.
-.B login
-mo¿e byæ specyficzne dla pow³oki i mo¿e zostaæ wywo³ane jako podproces.
-Najczê¶ciej,
-.B login
-traktowane jest przez pow³okê jako \fBexec login\fR, co powoduje opuszczenie
-przez u¿ytkownika bie¿±cej pow³oki.
-Próba wykonania \fBlogin\fR z pow³oki innej ni¿ zg³oszeniowa powoduje komunikat
-o b³êdzie.
-.PP
-Przy wywo³aniu polecenia z zachêty \fIlogin:\fR, u¿ytkownik mo¿e po swojej
-nazwie wprowadziæ zmienne ¶rodowiska. Zmienne te wprowadzane s± w postaci:
-\fBNAZWA=WARTO¦Æ\fR. Nie wszystkie zmienne mog± jednak byæ ustawione w ten
-sposób, szczególnie \fBPATH\fR, \fBHOME\fR i \fBSHELL\fR.
-Dodatkowo, zakazane mo¿e byæ \fBIFS\fR (input field separator: separator pól
-wej¶ciowych), je¿eli pow³ok± zg³oszeniow± u¿ytkownika \fB/bin/sh\fR.
-.PP
-U¿ytkownik pytany jest o has³o, je¶li takowe istnieje.
-Dla zapobie¿enia ujawnieniu has³a wy¶wietlanie wprowadzanych znaków jest
-wy³±czone. Dozwolona jest jedynie niewielka liczba nieudanych prób podania
-has³a. Po wyczerpaniu limitu prób \fBlogin\fR koñczy pracê za¶ po³±czenie
-komunikacyjne jest zrywane.
-.PP
-Je¿eli dla twego konta w³±czona jest kontrola wa¿no¶ci has³a, mo¿esz byæ
-proszony o podanie nowego has³a przed kontynuacj±. Bêdziesz wówczas musia³
-podaæ stare i nowe has³o. Wiêcej informacji na ten temat znajdziesz
-w \fBpasswd \fR(1).
-.PP
-Po poprawnym rozpoczêciu sesji (zalogowaniu siê), zostanie wy¶wietlona
-wiadomo¶æ dnia (je¶li jest) i informacja o stanie skrzynki pocztowej.
-Mo¿esz wy³±czyæ wy¶wietlanie zawarto¶ci pliku wiadomo¶ci dnia,
-\fI/etc/motd\fR, tworz±c zerowej wielko¶ci plik \fI.hushlogin\fR
-w swoim katalogu domowym.
-Informacja o stanie skrzynki pocztowej jest jedn± z:
-"\fBYou have new mail.\fR" (masz now± pocztê),
-"\fBYou have mail.\fR" (masz pocztê), lub "\fBNo Mail.\fR" (brak poczty) -
-stosownie do stanu skrzynki.
-.PP
-Identyfikator u¿ytkownika i grupy (UID i GID) zostan± ustawione wed³ug warto¶ci
-w pliku \fI/etc/passwd\fR.
-Warto¶ci \fB$HOME\fR, \fB$SHELL\fR, \fB$PATH\fR, \fB$LOGNAME\fR
-i \fB$MAIL\fR ustawiane s± stosownie do odpowiednich pól danego wpisu pliku
-hase³.
-Mog± byæ ustalane równie¿ warto¶ci ulimit, umask oraz nice wed³ug wpisów w polu
-GECOS.
-.PP
-W niektórych systemach zostanie ustawiona zmienna ¶rodowiskowa \fB$TERM\fR,
-wskazuj±ca na typ terminala na linii tty, jak podano w \fI/etc/ttytype\fR.
-.PP
-Mo¿e tak¿e zostaæ wykonany skrypt startowy (inicjacyjny) twojego interpretatora
-poleceñ.
-Przegl±dnij, proszê, odpowiedni± sekcjê dokumentacji opisuj±c± bardziej
-szczegó³owo tê funkcjê.
-.SH PRZESTROGI
-Niniejsza wersja \fBlogin\fR posiada wiele opcji kompilacji, z których tylko
-czê¶æ bêdzie mieæ zastosowanie w danej instalacji.
-.PP
-Po³o¿enie plików mo¿e byæ ró¿ne w zale¿no¶ci od konfiguracji systemu.
-.SH PLIKI
-.IR /etc/utmp " - lista bie¿±cych sesji pracy"
-.br
-.IR /etc/wtmp " - lista poprzednich sesji pracy"
-.br
-.IR /etc/passwd " - informacja o kontach u¿ytkowników"
-.br
-.IR /etc/shadow " - zakodowane has³a i informacja o ich wa¿no¶ci"
-.br
-.IR /etc/motd " - plik 'wiadomo¶ci dnia'"
-.br
-.IR /etc/nologin " - zapobiega logowaniu innych ni¿ root"
-.br
-.IR /etc/ttytype " - lista typów terminali"
-.br
-.IR $HOME/.profile " - skrypt startowy domy¶lnej pow³oki"
-.br
-.IR $HOME/.hushlogin " - zapobiega m.in. wy¶wietlaniu wiadomo¶ci dnia"
-.br
-.SH ZOBACZ TAK¯E
-.BR getty (8),
-.BR mail (1),
-.BR passwd (1),
-.BR sh (1),
-.BR su (1),
-.BR login.defs (5),
-.\" .BR d_passwd (5),
-.BR passwd (5),
-.BR nologin (5)
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
-.SH OD T£UMACZA
-Niniejsza dokumentacja opisuje polecenie wchodz±ce w sk³ad pakietu
-shadow-password.
-Z uwagi na powtarzaj±ce siê nazwy poleceñ, upewnij siê, ¿e korzystasz
-z w³a¶ciwej dokumentacji.
+++ /dev/null
-.\" {PTM/WK/1999-09-17}
-.TH LOGIN.ACCESS 5
-.\" .Dt SKEY.ACCESS 5
-.\" .Os FreeBSD 1.2
-.SH NAZWA
-login.access \- tabela kontroli dostêpu logowania
-.SH OPIS
-Plik
-.I login.access
-okre¶la kombinacje (u¿ytkownik, host) i/lub (u¿ytkownik, tty)
-dla których logowanie bêdzie albo przyjête albo odrzucone.
-.PP
-Gdy kto¶ siê loguje, plik
-.I login.access
-przeszukiwany jest do znalezienia pierwszej pozycji pasuj±cej do danej
-kombinacji (u¿ytkownik, host), lub, w przypadku logowañ nie-sieciowych
-kombinacji (u¿ytkownik, tty). Pole zezwolenia w tej tablicy pozycji okre¶la
-czy logowanie bêdzie przyjête czy odrzucone.
-.PP
-Ka¿dy wiersz tabeli kontroli dostêpu logowania posiada trzy, oddzielone
-znakiem dwukropka, pola:
-.sp 1
-.IR zezwolenie : u¿ytkownicy : pochodzenie
-.sp 1
-Pierwsze pole powinno zawieraæ znak "\fB+\fR" (dostêp zapewniony) lub "\fB-\fR"
-(zakaz dostêpu). Drugie z pól powinno zawieraæ listê jednego lub wiêcej nazw
-u¿ytkowników, grup lub s³owo
-.B ALL
-(zawsze pasuje do wszystkich). Trzecie pole powinno byæ list± jednej lub wiêcej
-nazw tty (dla logowañ nie-sieciowych), nazw hostów, domen (rozpoczynaj±cych siê
-od kropki), adresów hostów, internetowych numerów sieci (koñcz±cych siê
-kropk±), s³owem
-.B ALL
-(wszystkie - zawsze pasuje) lub
-.B LOCAL
-(dopasowuje dowolny ³añcuch nie zawieraj±cy kropki).
-Je¿eli uruchomisz NIS mo¿esz u¿yæ @nazwagrupysieciowej we wzorcu hosta
-lub u¿ytkownika.
-.\" @netgroupname
-.PP
-Operator
-.B EXCEPT
-(oprócz) umo¿liwia pisanie z³o¿onych regu³.
-.PP
-Plik grup przeszukiwany jest wy³±cznie wtedy, gdy nazwa nie pasuje do
-loguj±cego siê u¿ytkownika. Dopasowywane s± tylko te grupy, w których
-u¿ytkownik jest jawnie wymieniony: program nie sprawdza warto¶ci
-identyfikatora grupy g³ównej u¿ytkownika.
-.SH PLIKI
-.I /etc/login.access
-.SH ZOBACZ TAK¯E
-.BR login (1)
-.SH AUTOR
-Guido van Rooij
+++ /dev/null
-.\" {PTM/WK/1999-09-18}
-.\" Copyright 1991 - 1993, Julianne Frances Haugh and Chip Rosenthal
-.\" 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 LOGIN 5
-.SH NAZWA
-/etc/login.defs \- konfiguracja logowania
-.SH OPIS
-Plik
-.I /etc/login.defs
-definiuje specyficzn± dla naszej maszyny konfiguracjê pakietu shadow login.
-Plik ten jest wymagany. Jego nieobecno¶æ nie wstrzyma dzia³ania systemu,
-ale prawdopodobnie spowoduje nieprzewidywalne dzia³anie.
-.PP
-Plik ten jest czytelnym plikiem tekstowym. Ka¿dy z jego wierszy opisuje jeden
-parametr konfiguracji. Wiersze sk³adaj± siê z nazwy parametru i jego warto¶ci,
-oddzielonych bia³ym znakiem. Ignorowane s± puste wiersze i wiersze komentarzy.
-Komentarze rozpoczynaj± siê od znaku '#', który musi byæ pierwszym znakiem
-wiersza (pomijaj±c bia³e znaki).
-.PP
-Istniej± cztery typy warto¶ci parametrów: napisy, logiczne (boolean),
-liczby i d³ugie liczby (long numbers). Napis jest z³o¿ony
-z dowolnych znaków drukowalnych. Parametr logiczny mo¿e mieæ albo warto¶æ
-"yes" albo "no". Niezdefiniowanemu parametrowi logicznemu lub parametrowi,
-któremu przypisano warto¶æ inn± od powy¿szych przypisane zostanie "no".
-Liczby (zarówno zwyk³e jak i d³ugie) mog± byæ warto¶ciami dziesiêtnymi,
-ósemkowymi (poprzed¼ warto¶æ cyfr± "0") albo szesnastkowymi (poprzed¼ warto¶æ
-sekwencj± "0x"). Maksymalne warto¶ci zwyk³ych i d³ugich parametrów
-numerycznych zale¿± od maszyny.
-.PP
-Obs³ugiwane s± nastêpuj±ce opcje konfiguracyjne:
-.\"
-.IP "CHFN_AUTH (logiczna)"
-Je¿eli ma warto¶æ
-.IR yes ,
-to programy
-.B chfn
-i
-.B chsh
-bêd± pytaæ o has³o przed dokonaniem zmian, chyba ¿e uruchamiane s± przez
-superu¿ytkownika.
-.\"
-.IP "CHFN_RESTRICT (napis)"
-Ten parametr okre¶la, jakie warto¶ci w polu
-.I gecos
-pliku
-.I passwd
-mog± byæ zmieniane przez zwyk³ych u¿ytkowników za pomoc± programu
-.B chfn
-Mo¿e on byæ dowoln± kombinacj± liter
-.IR f ,
-.IR r ,
-.IR w ,
-.IR h ,
-oznaczaj±cych odpowiednio: Full name (pe³na nazwa), Room number (numer pokoju),
-Work phone (telefon s³u¿bowy) i Home phone (telefon domowy).
-Je¶li parametr nie jest podany, to zmian mo¿e dokonywaæ wy³±cznie
-superu¿ytkownik.
-.\"
-.IP "CONSOLE (napis)"
-Je¶li podana, definicja ta okre¶la ograniczony zestaw linii, na których
-dozwolone jest rozpoczynanie sesji u¿ytkownika root. Próby logowania
-u¿ytkownika root niespe³niaj±ce ustalonych tu kryteriów zostan± odrzucone.
-Warto¶æ tego pola mo¿e wyst±piæ w jednej z dwu postaci: albo pe³nej nazwy
-¶cie¿kowej pliku, jak na przyk³ad
-.sp
-.ft I
- CONSOLE /etc/consoles
-.ft R
-.sp
-albo listy linii terminalowych rozdzielonych dwukropkami, jak poni¿ej:
-.sp
-.ft I
- CONSOLE console:tty01:tty02:tty03:tty04
-.ft R
-.sp
-(Zauwa¿, ¿e wymienione tu nazwy nie zawieraj± ¶cie¿ki /dev/).
-Je¿eli podano ¶cie¿kow± nazwê pliku, to ka¿dy jego wiersz powinien okre¶laæ
-jedn± liniê terminalow±. Je¶li parametr ten nie jest zdefiniowany albo podany
-plik nie istnieje, to u¿ytkownik root bêdzie móg³ siê logowaæ z dowolnej linii
-terminalowej. Poniewa¿ usuniêcie lub obciêcie pliku definiuj±cego
-dozwolone linie mo¿e spowodowaæ nieautoryzowane logowania roota, plik ten musi
-byæ chroniony. Tam, gdzie bezpieczeñstwo jest spraw± kluczow±, powinna byæ
-u¿ywana postaæ listy separowanej dwukropkami, co chroni przed potencjaln±
-prób± ataku w opisany sposób.
-.\"
-.IP "CONSOLE_GROUPS (napis)"
-XXX powinno zostaæ udokumentowane.
-.\"
-.IP "CRACKLIB_DICTPATH (napis)"
-XXX powinno zostaæ udokumentowane.
-.\"
-.IP "DEFAULT_HOME (logiczna)"
-XXX powinno zostaæ udokumentowane.
-.\"
-.IP "DIALUPS_CHECK_ENAB (logiczna)"
-Je¿eli ma warto¶æ
-.I yes
-a plik
-.I /etc/dialups
-istnieje, to na liniach telefonicznych wyszczególnionych w tym pliku s±
-w³±czane wtórne has³a (has³a telefoniczne). Plik ten powinien zawieraæ listê
-linii telefonicznych (dialups), po jednej w wierszu, na przyk³ad:
-.nf
-.sp
-.ft I
- ttyfm01
- ttyfm02
- \0\0.
- \0\0.
- \0\0.
-.ft R
-.sp
-.fi
-.\"
-.IP "ENVIRON_FILE (napis)"
-XXX powinno zostaæ udokumentowane.
-.\"
-.IP "ENV_HZ (napis)"
-Parametr ten okre¶la warto¶æ parametru ¶rodowiska HZ. Przyk³ad u¿ycia:
-.sp
- \fIENV_HZ HZ=50\fR
-.sp
-Je¿eli jest on zdefiniowany, to nie zostanie ustanowiona ¿adna warto¶æ HZ.
-.\"
-.IP "ENV_PATH (napis)"
-Parametr ten musi byæ zdefiniowany jako ¶cie¿ka przeszukiwania dla zwyk³ych
-u¿ytkowników. Przy logowaniu z UID innym ni¿ zero, zmienna ¶rodowiskowa PATH
-jest inicjowana t± w³a¶nie warto¶ci±. Jest to parametr wymagany; je¿eli nie
-zostanie zdefiniowany, to zostanie nadana, byæ mo¿e niepoprawna, warto¶æ
-domy¶lna.
-.\"
-.IP "ENV_SUPATH (napis)"
-Parametr ten musi byæ zdefiniowany jako ¶cie¿ka przeszukiwania dla
-superu¿ytkownika. Przy rozpoczynaniu sesji z UID równym zero, zmienna
-¶rodowiskowa PATH jest inicjowana t± w³a¶nie warto¶ci±. Jest to parametr
-wymagany; je¿eli nie zostanie zdefiniowany, to zostanie nadana, byæ mo¿e
-niepoprawna, warto¶æ domy¶lna.
-.\"
-.IP "ENV_TZ (napis)"
-Parametr ten zawiera informacjê s³u¿±c± do utworzenia zmiennej ¶rodowiskowej TZ.
-Jego warto¶æ musi byæ albo wprost wymagan± zawarto¶ci± TZ, albo
-pe³n± nazw± ¶cie¿kow± pliku zawieraj±cego tê informacjê. Przyk³ad u¿ycia:
-.sp
- \fIENV_TZ\0\0\0\0TZ=CST6CDT\fP
-.sp
-lub
-.sp
- \fIENV_TZ\0\0\0\0/etc/tzname\fP
-.sp
-Je¿eli podano nieistniej±cy plik, to TZ zostanie zainicjowane pewn± warto¶ci±
-domy¶ln±. Je¿eli nie zdefiniowano tego parametru to nie bêdzie ustawiona
-¿adna warto¶æ TZ.
-.\"
-.IP "ERASECHAR (liczba)"
-T± warto¶ci± jest inicjowany terminalowy znak
-.I erase
-(kasowania). Jest to obs³ugiwane tylko w systemach z interfejsem
-.IR termio,
-np. System V. Je¿eli nie podano parametru, to znak kasowania zostanie
-zainicjowany na backspace. Informacjê powi±zan± znajdziesz w opisie KILLCHAR.
-.\"
-.IP "FAILLOG_ENAB (logiczna)"
-Je¿eli ustawiona na
-.I yes
-to nieudane logowania bêd± odnotowywane w pliku
-.I /var/log/faillog
-w formacie
-.BR faillog (8).
-.\"
-.IP "FAIL_DELAY (liczba)"
-Czas opó¼nienia, wyra¿ony w sekundach, po ka¿dej nieudanej próbie logowania.
-.\"
-.IP "FAKE_SHELL (napis)"
-Zamiast rzeczywistej pow³oki u¿ytkownika zostanie uruchomiony program okre¶lony
-warto¶ci± tego parametru. Nazwa widoczna (argv[0]) programu bêdzie jednak
-nazw± pow³oki. Program przed uruchomieniem faktycznej pow³oki mo¿e wykonywaæ
-dowoln± akcjê (logowanie, dodatkowe uwierzytelnianie, banner itp.).
-.\"
-.IP "FTMP_FILE (napis)"
-Okre¶la pe³n± ¶cie¿kow± nazwê pliku, w którym rejestrowane s± nieudane próby
-rozpoczynania sesji pracy. W przypadku nieudanej próby logowania do pliku
-dopisywana jest pozycja o formacie
-.IR utmp .
-Zauwa¿, ¿e ró¿ni siê to od rejestracji niepomy¶lnych logowañ do
-.IR /var/log/faillog ,
-gdy¿ opisywana funkcja odnotowuje wszystkie nieudane próby, podczas gdy
-"faillog" kumuluje informacjê o pora¿kach danego u¿ytkownika. Je¶li nie
-podano tego parametru, to rejestracja bêdzie wy³±czona. Powi±zane informacje
-znajdziesz w opisie FAILLOG_ENAB i LOG_UNKFAIL_ENAB.
-.\"
-.IP "GID_MAX (liczba)"
-.IP "GID_MIN (liczba)"
-Zakres identyfikatorów grup, w obrêbie którego mo¿e wybieraæ program
-.BR groupadd .
-.\"
-.IP "HUSHLOGIN_FILE (nazwa)"
-Parametr u¿ywany do ustalenia okoliczno¶ci cichego logowania ("hushlogin").
-Okoliczno¶ci te mog± byæ ustalone na dwa sposoby. Po pierwsze, je¿eli warto¶ci±
-parametru jest nazwa pliku, a plik ten istnieje w katalogu domowym u¿ytkownika,
-to wprowadzane s± warunki cichego logowania. Zawarto¶æ pliku jest ignorowana;
-sama jego obecno¶æ powoduje ciche logowanie. Po drugie, je¿eli warto¶ci±
-parametru jest pe³na nazwa ¶cie¿kowa pliku a w pliku tym znaleziona zostanie
-nazwa u¿ytkownika lub nazwa jego pow³oki, to wprowadzone zostan± warunki
-cichego logowania. W tym przypadku, plik powinien mieæ format podobny do:
-.nf
-.sp
-.ft I
- demo
- /usr/lib/uucp/uucico
- \0\0.
- \0\0.
- \0\0.
-.ft R
-.sp
-.fi
-Je¿eli nie zdefiniowano tego parametru, to warunki cichego logowania nigdy
-nie wyst±pi±. W trakcie cichego logowanie wstrzymane jest wy¶wietlanie
-wiadomo¶ci dnia (message of the day), ostatniego udanego i nieudanego
-rozpoczêcia sesji pracy, wy¶wietlanie stanu skrzynki pocztowej i sprawdzenie
-wieku has³a. Zauwa¿, ¿e zezwolenie na pliki cichego logowania w katalogach
-domowych u¿ytkowników pozwala im na wstrzymanie kontroli wa¿no¶ci
-has³a. Informacje zwi±zane z tym tematem znajdziesz w opisach MOTD_FILE,
-FILELOG_ENAB, LASTLOG_ENAB i MAIL_CHECK_ENAB.
-.\"
-.IP "ISSUE_FILE (napis)"
-Pe³na ¶cie¿kowa nazwa pliku wy¶wietlanego przed ka¿d± zachêt± do logowania.
-.\"
-.IP "KILLCHAR (liczba)"
-T± warto¶ci± inicjowany jest terminalowy znak
-.IR kill .
-Jest to obs³ugiwane tylko w systemach z interfejsem
-.IR termio,
-np. System V. Je¿eli nie podano parametru, to znak kasowania zostanie
-zainicjowany na \s-2CTRL/U\s0. Informacjê powi±zan± znajdziesz w opisie
-ERASECHAR.
-.\"
-.IP "LASTLOG_ENAB (logiczna)"
-Je¶li ma warto¶æ
-.IR yes ,
-i istnieje plik
-.IR /var/log/lastlog ,
-to w tym pliku bêdzie rejestrowane poprawne rozpoczêcie sesji pracy u¿ytkownika
-(zalogowanie siê). Ponadto, je¶li opcja ta jest w³±czona, to podczas logowania
-siê u¿ytkownika bêdzie wy¶wietlana informacja o liczbie ostatnich udanych
-i nieudanych logowañ. Zakoñczone niepowodzeniem logowania nie bêd± wy¶wietlane
-je¶li nie w³±czono FAILLOG_ENAB. W warunkach cichego logowanie nie
-bêd± wy¶wietlane informacje ani o pomy¶lnych ani o niepomy¶lnych logowaniach.
-.\"
-.IP "LOGIN_RETRIES (liczba)"
-Dozwolona liczba prób logowania przed zakoñczeniem pracy programu
-.BR login .
-.\"
-.IP "LOGIN_STRING (napis)"
-XXX powinno zostaæ udokumentowane.
-.IP "LOGIN_TIMEOUT (liczba)"
-XXX powinno zostaæ udokumentowane.
-.IP "LOG_OK_LOGINS (logiczna)"
-XXX powinno zostaæ udokumentowane.
-.IP "LOG_UNKFAIL_ENAB (logiczna)"
-Je¶li posiada warto¶æ
-.I yes
-to nieznane nazwy u¿ytkowników bêd± równie¿ odnotowywane je¶li w³±czone jest
-rejestrowanie nieudanych prób rozpoczêcia sesji. Zauwa¿, ¿e niesie to ze sob±
-potencjalne zagro¿enie bezpieczeñstwa: powszechn± przyczyn± nieudanego
-logowania jest zamiana nazwy u¿ytkownika i has³a, tryb ten zatem spowoduje,
-¿e czêsto w rejestrach nieudanych logowañ bêd± siê odk³adaæ jawne has³a.
-Je¿eli opcja ta jest wy³±czona, to nieznane nazwy u¿ytkowników bêd± pomijane
-w komunikatach o nieudanych próbach logowania.
-.\"
-.IP "MAIL_CHECK_ENAB (logiczna)"
-Je¿eli ma warto¶æ
-.IR yes ,
-to u¿ytkownik po rozpoczêciu sesji pracy bêdzie powiadamiany o stanie swojej
-skrzynki pocztowej. Informacjê zwi±zan± z tym tematem znajdziesz w opisie
-MAIL_DIR.
-.\"
-.IP "MAIL_DIR (napis)"
-Okre¶la pe³n± nazwê ¶cie¿kow± do katalogu zawieraj±cego pliki skrzynki
-pocztowej u¿ytkownika. Do powy¿szej ¶cie¿ki doklejana jest nazwa u¿ytkownika,
-tworz±c w ten sposób zmienn± ¶rodowiskow± MAIL - ¶cie¿kê do skrzynki
-u¿ytkownika. Musi byæ zdefiniowany albo niniejszy parametr albo parametr
-MAIL_FILE; je¶li nie zostan± zdefiniowane, to zostanie nadana, byæ mo¿e
-niepoprawna, warto¶æ domy¶lna. Zobacz tak¿e opis MAIL_CHECK_ENAB.
-.\"
-.IP "MAIL_FILE (napis)"
-Okre¶la nazwê pliku skrzynki pocztowej u¿ytkownika. Nazwa ta doklejana jest
-na koniec nazwy katalogu domowego u¿ytkownika tworz±c zmienn± ¶rodowiskow±
-MAIL - ¶cie¿kê do skrzynki u¿ytkownika. Musi byæ zdefiniowany albo niniejszy
-parametr albo parametr MAIL_DIR; je¶li nie zostan± zdefiniowane, to zostanie
-nadana, byæ mo¿e niepoprawna, warto¶æ domy¶lna. Zobacz tak¿e opis
-MAIL_CHECK_ENAB.
-.\"
-.IP "MD5_CRYPT_ENAB (logiczna)"
-Je¿eli ma warto¶æ
-.IR yes ,
-to program
-.B passwd
-bêdzie kodowaæ nowo zmieniane has³a przy pomocy nowego algorytmu
-.BR crypt (3),
-opartego o MD-5. Algorytm ten pierwotnie pojawi³ siê we FreeBSD i jest te¿
-obs³ugiwany przez libc-5.4.38 oraz glibc-2.0 (lub wy¿sz±) w Linuksie.
-Pozwala on na u¿ywanie hase³ d³u¿szych ni¿ 8 znaków (ograniczone przez
-.BR getpass (3)
-do 127 znaków), ale nie jest zgodny z tradycyjnymi implementacjami polecenia
-.BR crypt (3).
-.\"
-.IP "MOTD_FILE (napis)"
-Okre¶la listê rozdzielonych dwukropkami ¶cie¿ek do plików "wiadomo¶ci dnia"
-(message of the day, MOTD). Je¶li podany plik istnieje, to jego zawarto¶æ jest
-wy¶wietlana u¿ytkownikowi podczas rozpoczynania przez niego sesji pracy.
-Je¿eli parametr ten jest niezdefiniowany lub wykonywane jest ciche logowanie,
-to informacja ta bêdzie pomijana.
-.\"
-.IP "NOLOGINS_FILE (napis)"
-Okre¶la pe³n± nazwê ¶cie¿kow± pliku zabraniaj±cego logowañ dla u¿ytkowników
-innych ni¿ root. Je¿eli plik ten istnieje a u¿ytkownik inny ni¿ root usi³uje
-siê zalogowaæ, to wy¶wietlana zostanie zawarto¶æ pliku a u¿ytkownik bêdzie
-roz³±czony. Je¿eli nie podano tego parametru, to opisana funkcja bêdzie
-wy³±czona.
-.\"
-.IP "NOLOGIN_STR (napis)"
-XXX powinno zostaæ udokumentowane.
-.\"
-.IP "OBSCURE_CHECKS_ENAB (logiczna)"
-Je¿eli ma warto¶æ
-.IR yes ,
-to program
-.B passwd
-przed akceptacj± zmiany has³a bêdzie wykonywa³ dodatkowe sprawdzenia.
-Kontrole te s± do¶æ proste, a ich u¿ycie jest zalecane.
-Te sprawdzenia nieoczywisto¶ci s± pomijane, je¿eli
-.B passwd
-uruchamiane jest przez u¿ytkownika
-.IR root .
-Zobacz tak¿e opis PASS_MIN_LEN.
-.\"
-.IP "PASS_ALWAYS_WARN (logiczna)"
-XXX powinno zostaæ udokumentowane.
-.\"
-.IP "PASS_CHANGE_TRIES (liczba)"
-XXX powinno zostaæ udokumentowane.
-.\"
-.IP "PASS_MIN_DAYS (liczba)"
-Minimalna liczba dni miêdzy dozwolonymi zmianami has³a. Jakiekolwiek próby
-zmiany has³a podejmowane wcze¶niej zostan± odrzucone. Je¿eli nie podano tego
-parametru, to przyjêta zostanie warto¶æ zerowa.
-.\"
-.IP "PASS_MIN_LEN (liczba)"
-Minimalna liczba znaków w akceptowalnym ha¶le. Próba przypisania has³a o
-mniejszej liczbie znaków zostanie odrzucona. Warto¶æ zero wy³±cza tê
-kontrolê. Je¶li nie podano parametru, to przyjêta zostanie warto¶æ zerowa.
-.\"
-.IP "PASS_MAX_DAYS (liczba)"
-Maksymalna liczba dni, przez jak± mo¿e byæ u¿ywane has³o. Je¶li has³o jest
-stanie siê starsze, to rachunek zostanie zablokowany. Je¶li nie podano, to
-zostanie przyjêta bardzo du¿a warto¶æ.
-.\"
-.IP "PASS_MAX_LEN (liczba)"
-XXX powinno zostaæ udokumentowane.
-.\"
-.IP "PASS_WARN_AGE (liczba)"
-Liczba dni ostrzegania przed wyga¶niêciem has³a. Warto¶æ zerowa oznacza,
-¿e ostrze¿enie wyst±pi wy³±cznie w dniu utraty wa¿no¶ci has³a. Warto¶æ
-ujemna oznacza brak ostrze¿eñ. Brak parametru oznacza, ¿e ostrze¿enia nie
-bêd± wy¶wietlane.
-.\"
-.IP "PORTTIME_CHECKS_ENAB (logiczna)"
-Je¶li ma warto¶æ
-.IR yes ,
-za¶ plik
-.I /etc/porttime
-istnieje, to bêdzie on przegl±dany, by upewniæ siê czy u¿ytkownik mo¿e siê
-w danej chwili zalogowaæ na danej linii. Patrz tak¿e podrêcznik
-.BR porttime (5)
-.\"
-.IP "QMAIL_DIR (napis)"
-Dla u¿ytkowników Qmail, parametr ten okre¶la katalog, w którym przechowywana
-jest hierarchia Maildir.
-Zobacz te¿ MAIL_CHECK_ENAB.
-.\"
-.IP "QUOTAS_ENAB (logiczna)"
-Je¶li ma warto¶æ
-.I yes ,
-wówczas dla danego u¿ytkownika "ulimit," "umask" i "niceness" bêd±
-zainicjowane warto¶ciami podanymi (o ile s± podane) w polu
-.I gecos
-pliku
-.IR passwd .
-Patrz tak¿e podrêcznik
-.BR passwd (5).
-.\"
-.IP "SU_NAME (napis)"
-Przypisuje nazwê polecenia do uruchomionego "su -". Na przyk³ad, je¶li
-parametr ten jest zdefiniowany jako "su", to polecenie
-.BR ps (1)
-poka¿e uruchomione polecenie jako "-su". Je¶li parametr ten jest
-niezdefiniowany, to
-.BR ps (1)
-poka¿e nazwê faktycznie wykonywanej pow³oki, np. co¶ w rodzaju "-sh".
-.\"
-.IP "SULOG_FILE (napis)"
-Pokazuje pe³n± nazwê ¶cie¿kow± pliku, w którym rejestrowane jest wykorzystanie
-.BR su .
-Je¶li parametr ten nie jest okre¶lony, to rejestrowanie nie jest wykonywane.
-Poniewa¿ polecenie
-.B su
-mo¿e byæ u¿ywane podczas prób uwierzytelnienia has³a, do odnotowywania
-u¿ycia
-.B su
-powinny byæ u¿ywane albo niniejsza opcja
-albo
-.IR syslog .
-Zobacz te¿ opis SYSLOG_SU_ENAB.
-.\"
-.IP "SU_WHEEL_ONLY (logiczna)"
-XXX powinno zostaæ udokumentowane.
-.\"
-.IP "SYSLOG_SG_ENAB (logiczna)"
-XXX powinno zostaæ udokumentowane.
-.\"
-.IP "SYSLOG_SU_ENAB (logiczna)"
-Je¿eli ma warto¶æ
-.IR yes ,
-za¶ program
-.B login
-zosta³ skompilowany z obs³ug±
-.IR syslog ,
-to wszelkie dzia³ania
-.B su
-bêd± rejestrowane za pomoc±
-.IR syslog .
-Zobacz te¿ opis SULOG_FILE.
-.\"
-.IP "TTYGROUP (napis lub liczba)"
-Grupa (w³a¶cicielska) terminala inicjowana jest na nazwê b±d¼ numer tej grupy.
-Jeden z dobrze znanych ataków polega na wymuszeniu sekwencji kontrolnych
-terminala na linii terminalowej innego u¿ytkownika. Problemu tego mo¿na
-unikn±æ wy³±czaj±c prawa zezwalaj±ce innym u¿ytkownikom na dostêp do linii
-terminalowej, ale niestety zapobiega to równie¿ dzia³aniu programów takich
-jak
-.BR write .
-Innym rozwi±zaniem jest pos³u¿enie siê tak± wersj± programu
-.BR write ,
-która odfiltrowuje potencjalnie niebezpieczne sekwencje znaków. Nastêpnie
-programowi nale¿y przyznaæ rozszerzone prawa dostêpu (SGID) dla specjalnej
-grupy, ustawiæ grupê w³a¶cicieli terminala na tê grupê i nadaæ prawa dostêpu
-\fI0620\fR do linii. Definicja TTYGROUP powsta³a do obs³ugi tej w³a¶nie
-sytuacji.
-Je¶li pozycja ta nie jest zdefiniowana, to grupa terminala inicjowana jest
-na numer grupy u¿ytkownika.
-Zobacz tak¿e TTYPERM.
-.\"
-.IP "TTYPERM (liczba)"
-T± warto¶ci± inicjowane s± prawa terminala logowania. Typowymi warto¶ciami s±
-\fI0622\fR zezwalaj±ce innym na pisanie do linii lub \fI0600\fR zabezpieczaj±ce
-liniê przed innymi u¿ytkownikami. Je¿eli nie podano tego parametru, to prawa
-dostêpu do terminala zostan± zainicjowane warto¶ci± \fI0622\fR. Zobacz te¿
-TTYGROUP.
-.\"
-.IP "TTYTYPE_FILE (napis)"
-Okre¶la pe³n± nazwê ¶cie¿kow± pliku przypisuj±cego typy terminali do linii
-terminalowych. Ka¿dy z wierszy tego pliku zawiera rozdzielone bia³ym znakiem
-typ i liniê terminala. Na przyk³ad:
-.nf
-.sp
-.ft I
- vt100\0 tty01
- wyse60 tty02
- \0\0.\0\0\0 \0\0.
- \0\0.\0\0\0 \0\0.
- \0\0.\0\0\0 \0\0.
-.ft R
-.sp
-.fi
-Informacja ta s³u¿y do inicjowania zmiennej ¶rodowiska TERM. Wiersz
-rozpoczynaj±cy siê znakiem # bêdzie traktowany jak komentarz. Je¿eli nie
-podano tego parametru lub plik nie istnieje albo nie znaleziono w nim
-linii terminala, to zmienna TERM nie zostanie ustawiona.
-.\"
-.IP "UID_MAX (liczba)"
-XXX powinno zostaæ udokumentowane.
-.IP "UID_MIN (liczba)"
-XXX powinno zostaæ udokumentowane.
-.\"
-.IP "ULIMIT (d³uga liczba)"
-Warto¶ci± t± inicjowany jest limit wielko¶ci pliku. Cecha ta obs³ugiwana
-jest wy³±cznie w systemach posiadaj±cych
-.IR ulimit ,
-np. System V. Je¶li nie podano, to limit wielko¶ci pliku zostanie ustalony
-na pewn± wielk± warto¶æ.
-.\"
-.IP "UMASK (liczba)"
-T± warto¶ci± inicjowana jest maska praw dostêpu. Nie podana, ustawia mask±
-praw na zero.
-.\"
-.IP "USERDEL_CMD (napis)"
-XXX powinno zostaæ udokumentowane.
-.\"
-.SH POWI¡ZANIA
-Poni¿sze zestawienie pokazuje, które z programów wchodz±cych w sk³ad pakietu
-shadow wykorzystuj± jakie parametry.
-.na
-.IP login 12
-CONSOLE DIALUPS_CHECK_ENAB ENV_HZ ENV_SUPATH ENV_TZ ERASECHAR FAILLOG_ENAB
-FTMP_FILE HUSHLOGIN_FILE KILLCHAR LASTLOG_ENAB LOG_UNKFAIL_ENAB
-MAIL_CHECK_ENAB MAIL_DIR MOTD_FILE NOLOGINS_FILE PORTTIME_CHECKS_ENAB
-QUOTAS_ENAB TTYPERM TTYTYPE_FILE ULIMIT UMASK
-.IP newusers 12
-PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UMASK
-.IP passwd 12
-OBSCURE_CHECKS_ENAB PASS_MIN_LEN
-.IP pwconv 12
-PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE
-.IP su 12
-ENV_HZ ENV_SUPATH ENV_TZ HUSHLOGIN_FILE MAIL_CHECK_ENAB MAIL_DIR
-MOTD_FILE NOLOGIN_STR QUOTAS_ENAB SULOG_FILE SYSLOG_SU_ENAB
-.IP sulogin 12
-ENV_HZ ENV_SUPATH ENV_TZ MAIL_DIR QUOTAS_ENAB TTYPERM
-.ad
-.SH B£ÊDY
-Niektóre z obs³ugiwanych parametrów konfiguracyjnych pozosta³y
-nieopisane w niniejszym podrêczniku.
-.SH ZOBACZ TAK¯E
-.BR login (1),
-.BR passwd (5),
-.BR faillog (5),
-.BR porttime (5),
-.BR faillog (8)
-.SH AUTORZY
-Julianne Frances Haugh (jfh@austin.ibm.com)
-.br
-Chip Rosenthal (chip@unicom.com)
+++ /dev/null
-.\" {PTM/WK/1999-09-17}
-.\" 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 LOGOUTD 8
-.SH NAZWA
-logoutd \- wymuszenie ograniczeñ czasu logowania
-.SH SK£ADNIA
-.B logoutd
-.SH OPIS
-.B logoutd
-wymusza ograniczenia portów i czasów logowania podane w
-.IR /etc/porttime .
-.B logoutd
-powinno byæ uruchamiane z \fI/etc/rc\fR.
-Okresowo przegl±dany jest plik \fI/etc/utmp\fR. Sprawdzana jest ka¿da nazwa
-u¿ytkownika, by móc stwierdziæ czy posiada on zezwolenie na pracê w bie¿±cym
-czasie na danym porcie.
-Ka¿da sesja pracy (logowania) naruszaj±ca ograniczenia zawarte
-w \fI/etc/porttime\fR jest koñczona.
-.SH PLIKI
-.IR /etc/porttime " - zezwolenia dla logowania na portach"
-.br
-.IR /etc/utmp " - bie¿±ce sesje pracy"
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" {PTM/WK/1999-09-16}
-.\" 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.
-.\"
-.\" $Id: mkpasswd.8,v 1.1 1999/09/16 07:11:24 wojtek2 Exp $
-.\"
-.TH MKPASSWD 1
-.SH NAZWA
-mkpasswd \- aktualizuj pliki baz passwd i group
-.SH SK£ADNIA
-\fBmkpasswd\fR [\fB-fvgps\fR] \fIplik\fR
-.SH OPIS
-.B mkpasswd
-czyta plik w formacie okre¶lonym przez flagi i konwertuje go postaci
-odpowiedniego pliku bazy danych.
-Wymienione pliki baz danych u¿ywane s± do poprawienia wydajno¶ci dostêpu
-w systemach o du¿ej liczbie u¿ytkowników.
-Pliki wynikowe otrzymaj± nazwy \fIplik\fR.dir i \fIplik\fR.pag.
-.PP
-Opcja \fB-f\fR powoduje, ¿e \fBmkpasswd\fR ignoruje istnienie plików
-wynikowych i nadpisuje je.
-Normalnie \fBmkpasswd\fR skar¿y siê na istnienie plików wynikowych
-i koñczy pracê.
-.PP
-Opcja \fB-v\fR powoduje wy¶wietlanie informacji o ka¿dym konwertowanym
-rekordzie oraz komunikatu koñcowego.
-.PP
-Opcja \fB-g\fR traktuje plik ¼ród³owy tak, jak gdyby by³ on w formacie
-pliku \fI/etc/group\fR.
-Przy po³±czeniu z opcj± \fB-s\fR u¿ywany jest format pliku \fI/etc/gshadow\fR.
-.PP
-Opcja \fB-p\fR traktuje plik ¼ród³owy tak, jak gdyby by³ on w formacie
-pliku \fI/etc/passwd\fR.
-Jest to opcja domy¶lna.
-Przy po³±czeniu z opcj± \fB-s\fR u¿ywany jest format pliku \fI/etc/shadow\fR.
-.SH PRZESTROGI
-U¿ycie wiêcej ni¿ jednego pliku bazy ogranicza siê do systemów posiadaj±cych
-bibliotekê baz danych NDBM. Mo¿e zatem nie byæ dostêpne w ka¿dym systemie.
-.SH UWAGA
-Poniewa¿ wiêkszo¶æ poleceñ jest w stanie aktualizowaæ pliki bazy danych
-podczas dokonywania zmian, \fBmkpasswd\fR potrzebne jest jedynie
-do ponownego utworzenia usuniêtego lub zepsutego pliku bazy.
-.SH PLIKI
-.IR /etc/passwd " - informacja o kontach u¿ytkowników"
-.br
-.IR /etc/shadow " - chroniona informacja o u¿ytkownikach"
-.br
-.IR /etc/group " - informacja o grupach"
-.br
-.IR /etc/gshadow " - chroniona informacja o grupach"
-.SH ZOBACZ TAK¯E
-.BR passwd (5),
-.BR group (5),
-.BR shadow (5)
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" {PTM/WK/1999-09-15}
-.\" 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.
-.\"
-.\" $Id: newgrp.1,v 1.2 1999/09/25 20:07:46 wojtek2 Exp $
-.\"
-.TH NEWGRP 1
-.SH NAZWA
-newgrp \- zmieñ identyfikator grupy
-.br
-sg \- wykonaj polecenie przy innym ID grupy
-.SH SK£ADNIA
-.BR newgrp " [" - ]
-.RI [ grupa ]
-.br
-.BR sg " [" - ]
-.RI [ grupa
-.RB [ -c
-.IR polecenie ]]
-.SH OPIS
-.B newgrp
-s³u¿y do zmiany bie¿±cego identyfikatora grupy (GID) podczas sesji logowania.
-Je¿eli podano opcjonaln± flagê \fB\-\fR, to ¶rodowisko u¿ytkownika zostanie
-ponownie zainicjowane, tak jak wówczas, gdy u¿ytkownik siê loguje. Je¿eli nie
-u¿yto flagi \fB\-\fR, to bie¿±ce ¶rodowisko, ³±cznie z bie¿±cym katalogiem
-roboczym, pozostaje bez zmian.
-.PP
-.B newgrp
-zmienia bie¿±cy faktyczny identyfikator grupy na identyfikator danej grupy
-lub, je¶li nie podano nazwy grupy, na identyfikator grupy domy¶lnej, podanej
-w \fI/etc/passwd\fR.
-Je¿eli grupa posiada has³o, za¶ u¿ytkownik nie ma has³a b±d¼ nie jest jej
-cz³onkiem, to zostanie poproszony o podanie has³a.
-Je¿eli has³o grupy jest puste za¶ u¿ytkownik nie jest jej cz³onkiem, to
-efektem bêdzie odmowa dostêpu.
-.PP
-Polecenie
-.B sg
-dzia³a podobnie do \fBnewgrp\fR, lecz nie zastêpuje pow³oki u¿ytkownika,
-wiêc po zakoñczeniu \fBsg\fR powracasz do swego poprzedniego identyfikatora
-grupy.
-.B sg
-przyjmuje tak¿e pojedyncze polecenie. Podane polecenie zostanie wykonane
-w pow³oce Bourne'a i musi byæ umieszczone w cudzys³owach.
-.\" enclosed in quotes.
-.SH PRZESTROGI
-Niniejsza wersja \fBnewgrp\fR posiada wiele opcji kompilacji,
-z których tylko czê¶æ mo¿e byæ u¿yteczna w konkretnej instalacji.
-.SH PLIKI
-.IR /etc/passwd " - informacja o kontach u¿ytkowników"
-.br
-.IR /etc/group " - informacja o grupach"
-.SH ZOBACZ TAK¯E
-.BR login (1),
-.BR id (1),
-.BR su (1)
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
-.SH OD T£UMACZA
-Niniejsza dokumentacja opisuje polecenie wchodz±ce w sk³ad pakietu
-shadow-password.
-Z uwagi na powtarzaj±ce siê nazwy poleceñ, upewnij siê, ¿e korzystasz
-z w³a¶ciwej dokumentacji.
+++ /dev/null
-.\" {PTM/WK/1999-09-15}
-.\" Copyright 1991 - 1994, 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.
-.\"
-.\" $Id: newusers.8,v 1.3 1999/09/25 20:07:47 wojtek2 Exp $
-.\"
-.TH NEWUSERS 8
-.SH NAZWA
-newusers - wsadowa aktualizacja i tworzenie nowych u¿ytkowników
-.SH SK£ADNIA
-.B newusers
-.RI [ nowi_u¿ytkownicy ]
-.SH OPIS
-\fBnewusers\fR odczytuje plik zawieraj±cy pary: nazwa u¿ytkownika i podane
-jawnym tekstem has³o. Odczytan± informacjê wykorzystuje do aktualizacji grupy
-istniej±cych u¿ytkowników lub utworzenia nowych.
-Ka¿dy wiersz pliku posiada taki sam format jak standardowy plik hase³ (patrz
-\fBpasswd\fR(5)), z nastêpuj±cymi wyj±tkami:
-.IP "\fIpw_passwd\fR" 10
-To pole zostanie zakodowane i u¿yte jako nowa warto¶æ zakodowanego has³a.
-.IP "\fIpw_age\fR"
-Dla chronionych hase³ (shadow) pole zostanie zignorowane je¶li u¿ytkownik ju¿
-istnieje.
-.IP "\fIpw_gid\fR"
-Pole to mo¿e zawieraæ nazwê istniej±cej grupy. Dany u¿ytkownik zostanie
-wówczas dodany do jej cz³onków. Je¿eli podano numeryczny identyfikator
-nieistniej±cej grupy, to zostanie za³o¿ona nowa grupa o tym identyfikatorze.
-.IP "\fIpw_dir\fR"
-Zostanie wykonane sprawdzenie czy istnieje katalog o tej nazwie. Je¿eli nie,
-to bêdzie on utworzony. W³a¶cicielem zostanie ustanowiony tworzony
-(lub aktualizowany) u¿ytkownik. Grupa katalogu zostanie ustawiona na grupê
-u¿ytkownika.
-.PP
-Polecenie to przeznaczone jest do u¿ytku w du¿ych systemach, gdzie aktualizuje
-siê wiele kont naraz.
-.SH PRZESTROGI
-.\" Po u¿yciu \fBnewusers\fR musi zostaæ wykonane polecenie \fImkpasswd\fR,
-.\" aktualizuj±ce pliki DBM hase³ (DBM password files).
-Plik ¼ród³owy, zawieraj±cy niezakodowane has³a, musi byæ chroniony.
-.SH ZOBACZ TAK¯E
-.\" mkpasswd(8), passwd(1), useradd(1)
-.BR passwd (1),
-.BR useradd (8)
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" {PTM/WK/1999-09-20}
-.\" Copyright 1989 - 1994, 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 PASSWD 1
-.SH NAZWA
-passwd \- zmieñ has³o u¿ytkownika
-.SH SK£ADNIA
-.B passwd
-.RB [ -f | -s ]
-.RI [ nazwa ]
-.br
-.B passwd
-.RB [ -g ]
-.RB [ -r | R ]
-.I grupa
-.br
-.B passwd
-.RB [ -x
-.IR max ]
-.RB [ -n
-.IR min ]
-.RB [ -w
-.IR ostrze¿ ]
-.RB [ -i
-.IR nieakt ]
-.I nazwa
-.br
-.B passwd
-.RB { -l | -u | -d | -S }
-.I nazwa
-.SH OPIS
-\fBpasswd\fR zmienia has³a kont u¿ytkowników i grup.
-Zwyk³y u¿ytkownik mo¿e zmieniæ wy³±cznie has³o w³asnego konta, superu¿ytkownik
-mo¿e zmieniaæ has³a dowolnych kont.
-Administrator grupy mo¿e zmieniæ has³o tej grupy.
-\fBpasswd\fR zmienia tak¿e informacje o koncie, takie jak pe³na nazwa
-u¿ytkownika, jego pow³oka zg³oszeniowa (logowania) czy daty i interwa³y dotycz±ce
-wa¿no¶ci has³a.
-.SS Zmiany has³a
-Na pocz±tku u¿ytkownik pytany jest o stare, dotychczasowe has³o, je¶li takie
-istnieje. Has³o to jest kodowane i porównywane z przechowywanym has³em.
-U¿ytkownik ma tylko jedn± próbê na wprowadzenie poprawnego has³a.
-Superu¿ytkownikowi zezwala siê na pominiêcie tego kroku, zatem mog± byæ
-zmienione has³a, których zapomniano.
-.PP
-Po wprowadzeniu has³a, sprawdzana jest informacja o jego wieku, by stwierdziæ
-czy u¿ytkownikowi wolno w danym czasie zmieniæ has³o.
-Je¿eli nie, to \fBpasswd\fR odmawia zmiany has³a i koñczy pracê.
-.PP
-Nastêpnie u¿ytkownik proszony jest o nowe, zastêpuj±ce dotychczasowe, has³o
-Has³o podlega sprawdzeniu jego zawi³o¶ci. Jako ogóln± wskazówk± mo¿na podaæ,
-¿e has³a powinny sk³adaæ siê z 6 do 8 znaków, zawieraj±c po jednym lub wiêcej
-znaków z ka¿dej z poni¿szych kategorii:
-.IP "" .5i
-ma³e litery alfabetu
-.IP "" .5i
-du¿e litery alfabetu
-.IP "" .5i
-cyfry od 0 do 9
-.IP "" .5i
-znaki interpunkcyjne
-.PP
-Nale¿y uwa¿aæ, by nie u¿yæ domy¶lnych systemowych znaków akcji erase lub kill.
-\fBpasswd\fR odrzuci ka¿de niedostatecznie skomplikowane has³o.
-.PP
-Je¶li has³o zostanie przyjête, to \fBpasswd\fR prosi o jego powtórzenie
-i porównuje drugi wpis z pierwszym.
-Oba wpisy musz± byæ takie same by has³o zosta³o zmienione.
-.SS Has³a grup
-Je¿eli pos³u¿ono siê opcj± \fB-g\fR, to zmieniane jest has³o podanej grupy.
-U¿ytkownik powinien byæ albo superu¿ytkownikiem albo administratorem tej grupy.
-Nie wystêpuje pytanie o bie¿±ce has³o grupy.
-Do usuwania bie¿±cego has³a danej grupy s³u¿y opcja \fB-g\fR w po³±czeniu
-z \fB-r\fR. Pozwala to na dostêp do grupy tylko jej cz³onkom.
-Opcja \fB-R\fR w po³±czeniu z \fR-g\fR ogranicza dostêp do grupy wszystkim
-u¿ytkownikom.
-.SS Informacja o wa¿no¶ci konta
-Superu¿ytkownik mo¿e zmieniaæ informacjê o wieku konta pos³uguj±c siê opcjami
-\fB-x\fR, \fB-n\fR, \fB-w\fR oraz \fB-i\fR.
-Opcja \fB-x\fR s³u¿y do ustawiania maksymalnej liczby dni, przez jakie has³o
-pozostaje wa¿ne.
-Po up³ywie \fImax\fR dni, has³o musi byæ zmienione.
-Opcja \fB-n\fR ustawia minimaln± liczbê dni, jakie musz± up³yn±æ zanim has³o
-bêdzie mog³o byæ zmienione.
-U¿ytkownik nie otrzyma zezwolenia na zmianê has³a przed up³ywem \fImin\fR dni.
-Opcja \fB-w\fR s³u¿y do ustawienia liczby dni przed up³ywem terminu wa¿no¶ci
-has³a, przez które u¿ytkownik bêdzie otrzymywa³ ostrze¿enie mówi±ce mu, ile dni
-pozosta³o do tej daty. Ostrze¿enia zaczn± pojawiaæ siê \fIostrze¿\fR dni przed
-up³ywem wa¿no¶ci has³a.
-Opcja \fB-i\fR (nieaktywno¶æ) s³u¿y do wy³±czania konta po up³ywie zadanej
-liczby dni po wyga¶niêciu has³a.
-Po up³ywie \fInieakt\fR dni od przeterminowania has³a u¿ytkownik nie mo¿e ju¿
-korzystaæ z konta.
-.SS Utrzymywanie i konserwacja konta
-Konta u¿ytkowników mog± byæ blokowane i odblokowywane przy pomocy flag \fB-l\fR
-i \fB-u\fR.
-Opcja \fB-l\fR wy³±cza konto zmieniaj±c jego has³o na warto¶æ nieodpowiadaj±c±
-¿adnemu mo¿liwemu zakodowanemu has³u.
-Opcja \fB-u\fR ponownie udostêpnia konto przywracaj±c uprzedni± warto¶æ has³a.
-.PP
-Stan konta mo¿na uzyskaæ przy pomocy opcji \fB-S\fR.
-Informacja o stanie sk³ada siê z 6 czê¶ci.
-Pierwsza wskazuje, czy konto u¿ytkownika jest zablokowane (L) (locked),
-nie posiada has³a (NP) (no password) lub ma funkcjonalne has³o (P) (password).
-Druga czê¶æ podaje datê ostatniej zmiany has³a.
-nastêpne cztery to minimalny wiek, maksymalny wiek, okres ostrzegania i okres
-nieaktywno¶ci has³a.
-.SS Podpowiedzi dotycz±ce hase³ u¿ytkownika
-Bezpieczeñstwo has³a zale¿y od si³y algorytmu koduj±cego oraz rozmiaru
-klucza.
-Metoda kodowania u¿ywana w Systemie \fB\s-2UNIX\s+2\fR oparta jest o algorytm
-NBS DES i jest bardzo bezpieczna.
-Rozmiar klucza zale¿y od losowo¶ci wybranego has³a.
-.PP
-Naruszenia bezpieczeñstwa hase³ wynikaj± zwykle z beztroski przy wyborze lub
-przechowywaniu has³a.
-Z tego powodu powiniene¶ wybraæ has³o nie wystêpuj±ce w s³owniku. Has³o nie
-powinno te¿ byæ poprawn± nazw±, imieniem, nazwiskiem, numerem prawa jazdy,
-dat± urodzenia czy elementem adresu.
-Wszystkie z powy¿szych mog± byæ u¿yte do odgadniêcia has³a i naruszenia
-bezpieczeñstwa systemu.
-.PP
-Has³o musi byæ ³atwe do zapamiêtania, tak by nie byæ zmuszonym do jego
-zapisywania na kartce. Mo¿na to osi±gn±æ sklejaj±c ze sob± dwa krótkie s³owa,
-ze wstawionym pomiêdzy nie znakiem specjalnym lub cyfr±.
-Na przyk³ad, Pass%word, Lew7konia.
-.PP
-Inna metoda konstrukcji has³a polega na wyborze ³atwego do zapamiêtania zdania
-(np. z literatury) i wyborze pierwszej b±d¼ ostatniej litery ka¿dego wyrazu.
-Przyk³adem tego jest
-.IP "" .5i
-Ask not for whom the bell tolls.
-.PP
-co daje
-.IP "" .5i
-An4wtbt,
-.PP
-albo te¿
-.IP "" .5i
-A czy znasz Ty, bracie m³ody
-.PP
-co daje
-.IP "" .5i
-A3zTbm.
-.PP
-W zasadzie mo¿esz byæ pewien, ¿e niewielu crackerów bêdzie mieæ takie has³o
-w swoim s³owniku. Powiniene¶ jednak wybraæ w³asn± metodê konstrukcji hase³
-a nie polegaæ wy³±cznie na opisanych tutaj.
-.SS Uwagi o has³ach grup
-Has³a grup s± nieod³±cznym problemem bezpieczeñstwa, gdy¿ do ich znajomo¶ci
-uprawniona jest wiêcej ni¿ jedna osoba.
-Grupy s± jednak u¿ytecznym narzêdziem pozwalaj±cym na wspó³pracê miêdzy
-ró¿nymi u¿ytkownikami.
-.SH PRZESTROGI
-Mog± nie byæ obs³ugiwane wszystkie opcje.
-Sprawdzanie z³o¿ono¶ci has³a mo¿e ró¿niæ siê w ró¿nych instalacjach. Zachêca
-siê u¿ytkownika do wyboru tak skomplikowanego has³a, z jakim bêdzie mu
-wygodnie.
-U¿ytkownicy mog± nie móc zmieniæ has³a w systemie przy w³±czonym NIS, je¶li
-nie s± zalogowani do serwera NIS.
-.SH PLIKI
-.IR /etc/passwd " - informacja o kontach u¿ytkowników"
-.br
-.IR /etc/shadow " - zakodowane has³a u¿ytkowników"
-.SH ZOBACZ TAK¯E
-.BR passwd (3),
-.BR shadow (3),
-.BR group (5),
-.BR passwd (5)
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
-.SH OD T£UMACZA
-Niniejsza dokumentacja opisuje polecenie wchodz±ce w sk³ad pakietu
-shadow-password.
-Z uwagi na powtarzaj±ce siê nazwy poleceñ, upewnij siê, ¿e korzystasz
-z w³a¶ciwej dokumentacji.
+++ /dev/null
-.\" Copyright (c) 1993 Michael Haardt (u31b3hs@pool.informatik.rwth-aachen.de), Fri Apr 2 11:32:09 MET DST 1993
-.\"
-.\" This is free documentation; you can redistribute it and/or
-.\" modify it under the terms of the GNU General Public License as
-.\" published by the Free Software Foundation; either version 2 of
-.\" the License, or (at your option) any later version.
-.\"
-.\" The GNU General Public License's references to "object code"
-.\" and "executables" are to be interpreted as the output of any
-.\" document formatting or typesetting system, including
-.\" intermediate and printed output.
-.\"
-.\" This manual is distributed in the hope that it will be useful,
-.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
-.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-.\" GNU General Public License for more details.
-.\"
-.\" You should have received a copy of the GNU General Public
-.\" License along with this manual; if not, write to the Free
-.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
-.\" USA.
-.\"
-.\" Modified Sun Jul 25 10:46:28 1993 by Rik Faith (faith@cs.unc.edu)
-.\" Modified Sun Aug 21 18:12:27 1994 by Rik Faith (faith@cs.unc.edu)
-.\" Modified Sun Jun 18 01:53:57 1995 by Andries Brouwer (aeb@cwi.nl)
-.\"
-.\" Polish translation nov.1996 piotr.pogorzelski@ippt.gov.pl
-.\"
-.TH PASSWD 5 "24 Czerwiec 1993" "Linux" "Podrêcznik programisty linuxowego"
-.SH NAZWA
-passwd \- plik passwd definiuj±cy u¿ytkowników systemu
-.SH OPIS
-Plik
-.B passwd
-jest plikiem tekstowym ASCII, który zawiera listê u¿ytkowników systemu
-oraz has³a jakich musz± u¿ywaæ aby otrzymaæ dostêp do systemu.
-Ka¿dy powinien móc odczytaæ informacje z pliku passwd (poniewa¿ has³a
-w tym pliku s± zakodowane jest to poprawne) lecz prawo do modyfikacji
-pliku powinien mieæ tylko administrator.
-Dodaj±c nowego u¿ytkownika nale¿y pole przeznaczone na has³o pozostawiæ puste
-i u¿yæ programu \fBpasswd\fP(1). Gwiazdka lub inny pojedynczy znak w polu
-has³a oznacza, ze u¿ytkownik nie mo¿e dostaæ siê do systemu przez \fBlogin\fP(1).
-Je¶li g³ówny system plików jest na ram dysku (/dev/ram) nale¿y
-plik passwd skopiowaæ na dyskietkê przechowuj±c± g³ówny system plików
-przed zamkniêciem systemu. Trzeba równie¿ sprawdziæ prawa dostêpu do.
-Je¶li trzeba utworzyæ grupê u¿ytkowników, ich identyfikatory grupy
-GID musz± byæ równe oraz musi istnieæ odpowiednia pozycja w pliku
-\fI/etc/group\fP, lub grupa nie bêdzie istnia³a.
-.PP
-Ka¿da pozycja zajmuje jeden wiersz w formacie:
-.sp
-login_name:has³o:UID:GID:imie_nazwisko:katalog:pow³oka
-.RS
-.RE
-.sp
-Krótki opis poszczególnych pól:
-.sp
-.RS
-.TP 1.0in
-.I login_name
-nazwa u¿ytkownika w systemie (radzê u¿ywaæ ma³ych liter).
-.TP
-.I has³o
-zakodowane has³o u¿ytkownika.
-.TP
-.I UID
-identyfikator u¿ytkownika (liczbowo).
-.TP
-.I GID
-identyfikator grupy (liczbowo).
-.TP
-.I imiê_nazwisko
-Opisowa nazwa u¿ytkownika, zwykle imiê i nazwisko (wykorzystywane
-przez programy pocztowe).
-.TP
-.I katalog
-katalog macierzysty ($HOME) u¿ytkownika.
-.TP
-.I pow³oka
-program jaki uruchomiæ po wej¶ciu u¿ytkownika do systemu.
-(je¶li pusty u¿yj /bin/sh, je¶li istnieje /etc/shells i
-dana pow³oka nie jest tam wymieniona, u¿ytkownik nie bêdzie móg³
-dostaæ siê do systemu wykorzystuj±c protokó³ ftp).
-.RE
-.SH PLIKI
-.I /etc/passwd
-.SH "ZOBACZ TAK¯E"
-.BR passwd "(1), " login "(1), " group (5)
+++ /dev/null
-.\" {PTM/WK/1999-09-17}
-.\" Copyright 1989 - 1990, 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 PORTTIME 5
-.SH NAZWA
-porttime \- plik czasów dostêpu do portów
-.SH OPIS
-.I porttime
-zawiera listê urz±dzeñ tty, nazw u¿ytkowników i dozwolonych czasów logowania.
-.PP
-Ka¿da pozycja sk³ada siê z trzech, rozdzielonych dwukropkiem, pól.
-Pierwsze pole zawiera listê oddzielonych przecinkami urz±dzeñ tty lub
-gwiazdkê, wskazuj±c±, ¿e pozycja ta pasuje do wszystkich urz±dzeñ tty.
-Drugie pole zawiera listê oddzielonych przecinkami nazw u¿ytkowników lub
-gwiazdkê, wskazuj±c±, ¿e pozycja dotyczy wszystkich u¿ytkowników.
-Trzecie pole jest list± oddzielonych przecinkami dozwolonych czasów dostêpu.
-.PP
-Ka¿da pozycja czasu dostêpu sk³ada siê z zera lub wiêcej dni tygodnia,
-skróconych do \fBSu\fR, \fBMo\fR, \fBTu\fR, \fBWe\fR, \fBTh\fR, \fBFr\fR
-i \fBSa\fR, po których nastêpuje para rozdzielonych my¶lnikiem czasów.
-Do okre¶lenia dni roboczych (od poniedzia³ku do pi±tku) mo¿e byæ u¿yty
-skrót \fBWk\fR. Skrót \fBAl\fR oznacza ka¿dy dzieñ. Je¿eli nie podano dni
-tygodnia przyjmowane jest \fBAl\fR.
-.SH PRZYK£ADY
-Poni¿szy wpis zezwala u¿ytkownikowi \fBjfh\fR na dostêp do ka¿dego portu
-w dni robocze od godziny 9-tej do 17-tej.
-.br
-.sp 1
- *:jfh:Wk0900-1700
-.br
-.sp 1
-Poni¿sze pozycje pozwalaj± na dostêp do konsoli (/dev/console) wy³±cznie
-u¿ytkownikom \fBroot\fR i \fBoper\fR - w dowolnym czasie.
-Przyk³ad ten pokazuje, ¿e plik \fI/etc/porttime\fR stanowi uporz±dkowan±
-listê czasów dostêpu. Ka¿dy inny u¿ytkownik bêdzie pasowa³ do drugiej pozycji
-listy, nie zezwalaj±cej na dostêp w ¿adnym czasie.
-.br
-.sp 1
- console:root,oper:Al0000-2400
-.br
- console:*:
-.br
-.sp 1
-Poni¿szy wpis zezwala na dostêp do dowolnego portu u¿ytkownikowi \fBgames\fR
-poza godzinami pracy.
-.br
-.sp 1
- *:games:Wk1700-0900,SaSu0000-2400
-.br
-.sp 1
-.SH PLIKI
-.IR /etc/porttime " - plik zawieraj±cy czasy dostêpu do portów"
-.SH ZOBACZ TAK¯E
-.BR login (1)
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" {PTM/WK/1999-09-15}
-.\" Copyright 1992 - 1993, 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.
-.\"
-.\" $Id: pw_auth.3,v 1.1 1999/09/16 07:11:23 wojtek2 Exp $
-.\"
-.TH PWAUTH 3
-.SH NAZWA
-pwauth \- procedury uwierzytelniania hase³ zdefiniowane przez administratora
-.SH SK£ADNIA
-.B #include <pwauth.h>
-.PP
-.B int pw_auth (char
-.I *command,
-.B char
-.I *user,
-.B int
-.I reason,
-.B char
-.IB *input) ;
-.SH OPIS
-.B pw_auth
-wywo³uje funkcje zdefiniowane przez administratora dla danego u¿ytkownika.
-.PP
-\fIcommand\fR jest nazw± programu uwierzytelniania (autentykacji).
-Jest ona otrzymywana z informacji zawartej pliku hase³ u¿ytkowników.
-Odpowiedni ³añcuch (z pola has³a) zawiera jedn± lub wiêcej, rozdzielonych
-¶rednikami, nazw plików wykonywalnych.
-Programy zostan± wykonane w zadanej kolejno¶ci.
-Dla ka¿dej z przyczyn (reason) podanych ni¿ej podane s± argumenty wiersza
-poleceñ.
-.PP
-\fIuser\fR jest nazw± sprawdzanego u¿ytkownika, w postaci podanej w pliku
-\fI/etc/passwd\fR.
-Pozycje opisuj±ce u¿ytkowników indeksowane s± nazw± u¿ytkownika.
-Pozwala to na istnienie powtarzaj±cych siê identyfikatorów (UID). Ka¿da
-z ró¿nych nazw u¿ytkownika o tym samym identyfikatorze mo¿e
-posiadaæ inny program i informacjê autentykuj±c±.
-.PP
-Ka¿da z dopuszczalnych przyczyn autentykacji obs³ugiwana jest w potencjalnie
-ró¿ny sposób.
-Do komunikacji z u¿ytkownikiem dostêpne s± standardowe deskryptory plików
-0, 1 i 2, chyba ¿e wspomniano inaczej.
-Do ustalenia to¿samo¶ci u¿ytkownika wykonuj±cego ¿±danie uwierzytelnienia
-mo¿e zostaæ u¿yty rzeczywisty identyfikator.
-Przyczyna (\fIreason\fR) jest jedn± z
-.IP \fBPW_SU\fR 1i
-Wykonaj uwierzytelnienie dla bie¿±cego rzeczywistego identyfikatora u¿ytkownika
-próbuj±c prze³±czyæ rzeczywisty ID na podanego u¿ytkownika.
-Program uwierzytelniaj±cy zostanie wywo³any z opcj± \fB-s\fR poprzedzaj±c±
-nazwê u¿ytkownika.
-.IP \fBPW_LOGIN\fR 1i
-Wykonaj uwierzytelnienie dla danego u¿ytkownika tworz±c now± sesjê pracy
-(loginow±). Program uwierzytelniaj±cy zostanie wywo³any z opcj± \fB-l\fR,
-po której wyst±pi nazwa u¿ytkownika.
-.IP \fBPW_ADD\fR 1i
-Utwórz nowy wpis dla danego u¿ytkownika.
-Pozwala to programowi uwierzytelniania na zainicjowanie miejsca dla nowego
-u¿ytkownika.
-Program zostanie wywo³any z opcj± \fB-a\fR, po której wyst±pi nazwa u¿ytkownika.
-.IP \fBPW_CHANGE\fR 1i
-Zmieñ istniej±cy wpis dla danego u¿ytkownika.
-Pozwala to na programowi uwierzytelniaj±cemu na zmianê informacji autentykuj±cej
-dla istniej±cego u¿ytkownika.
-Program zostanie wywo³any z opcj± \fB-c\fR poprzedzaj±c± nazwê u¿ytkownika.
-.IP \fBPW_DELETE\fR 1i
-Usuñ informacjê autentykuj±c± dla danego u¿ytkownika.
-Pozwala programowi uwierzytelniania na odzyskanie miejsca po u¿ytkowniku, który
-nie bêdzie ju¿ identyfikowany przy u¿yciu tego programu.
-Program uwierzytelniania zostanie wywo³any z opcj± \fB-d\fR,
-po której wyst±pi nazwa u¿ytkownika.
-.IP \fBPW_TELNET\fR 1i
-Wykonaj uwierzytelnianie u¿ytkownika pod³±czaj±cego siê do systemu przy pomocy
-polecenia \fBtelnet\fR.
-Program zostanie wywo³any z opcj± \fB-t\fR, po której wyst±pi nazwa u¿ytkownika.
-.IP \fBPW_RLOGIN\fR 1i
-Wykonaj uwierzytelnienie u¿ytkownika pod³±czaj±cego siê do systemu przy pomocy
-polecenia \fBrlogin\fR.
-Program zostanie wywo³any z opcj± \fB-r\fR, po której wyst±pi nazwa u¿ytkownika.
-.IP \fBPW_FTP\fR 1i
-Wykonaj uwierzytelnienie u¿ytkownika pod³±czaj±cego siê do systemu przy pomocy
-polecenia \fBftp\fR.
-Program uwierzytelniania zostanie wywo³any z opcj± \fB-f\fR,
-po której wyst±pi nazwa u¿ytkownika.
-Do komunikacji z u¿ytkownikiem NIE s± dostêpne standardowe deskryptory plików.
-Deskryptor standardowego wej¶cia zostanie pod³±czony do procesu macierzystego,
-za¶ pozosta³e dwa deskryptory plików dostan± pod³±czone do \fI/dev/null\fR.
-Funkcja \fBpw_auth\fR bêdzie potokowaæ pojedynczy wiersz danych do programu
-uwierzytelniania pos³uguj±c siê deskryptorem 0.
-.IP \fBPW_REXEC\fR 1i
-Wykonaj uwierzytelnienie u¿ytkownika pod³±czaj±cego siê do systemu przy pomocy
-polecenia \fIrexec\fR.
-Program zostanie wywo³any z opcj± \fB-x\fR, po której wyst±pi nazwa u¿ytkownika.
-Do komunikacji ze zdalnym u¿ytkownikiem NIE s± dostêpne standardowe
-deskryptory plików.
-Deskryptor standardowego wej¶cia zostanie pod³±czony do procesu macierzystego,
-za¶ pozosta³e dwa deskryptory plików dostan± pod³±czone do \fI/dev/null\fR.
-Funkcja \fBpw_auth\fR bêdzie potokowaæ pojedynczy wiersz danych do programu
-uwierzytelniania pos³uguj±c siê deskryptorem 0.
-.PP
-Ostatni argument stanowi dane autentykacji, u¿ywane przez
-.B PW_FTP
-oraz
-.B PW_REXEC
-Jest on traktowany jak pojedynczy wiersz tekstu potokowany do programu
-uwierzytelniaj±cego.
-Dla
-.B PW_CHANGE
-warto¶æ \fIinput\fR jest warto¶ci± poprzedniej nazwy u¿ytkownika,
-je¶li zmieniana jest nazwa.
-.SH PRZESTROGI
-Funkcja ta nie tworzy faktycznej sesji.
-Wskazuje jedynie, czy u¿ytkownik powinien otrzymaæ zezwolenie na jej
-utworzenie.
-.PP
-Obecnie opcje sieciowe nie s± jeszcze przetestowane.
-.SH DIAGNOSTYKA
-Funkcja \fBpw_auth\fR zwraca 0 je¶li program uwierzytelniania zakoñczy³
-dzia³anie z zerowym kodem powrotu, w przeciwnym wypadku warto¶æ niezerow±.
-.SH ZOBACZ TAK¯E
-.BR login (1),
-.BR passwd (1),
-.BR su (1),
-.BR useradd (8),
-.BR userdel (8),
-.BR usermod (8)
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" {PTM/WK/1999-09-15}
-.\" Copyright 1992, 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.
-.\"
-.\" $Id: pwauth.8,v 1.2 1999/09/25 20:07:47 wojtek2 Exp $
-.\"
-.TH PWAUTH 8
-.SH NAZWA
-pwauth \- definiowane przez administratora uwierzytelnianie hase³
-.SH OPIS
-Administrator systemu mo¿e zdefiniowaæ listê programów, jakie s± u¿ywane
-do potwierdzenia to¿samo¶ci u¿ytkownika.
-Programy te podawane s± zamiast informacji o zakodowanym ha¶le obecnej
-w pliku \fI/etc/passwd\fR albo \fI/etc/shadow\fR.
-Narzêdzia administruj±ce kontami u¿ytkowników sprawdzaj± pole zakodowanego
-has³a i stwierdzaj± czy u¿ytkownik posiada zdefiniowany przez administratora
-program uwierzytelniaj±cy (autentykuj±cy).
-Funkcja \fBpw_auth\fR zostanie wywo³ana ka¿dorazowo, gdy jeden z tych
-programów administracyjnych stwierdzi, ¿e zmieniany u¿ytkownik posiada
-zdefiniowane programy uwierzytelniania.
-.PP
-Pocz±tkowy wpis tworzony jest przez polecenie \fBuseradd\fR.
-Zmiany, takie jak zmiana informacji autentykuj±cej lub usuniêcie konta
-u¿ytkownika, spowoduj± wywo³anie funkcji \fBpw_auth\fR. Pozwala to
-na utrzymanie aktualno¶ci informacji dla ka¿dego konta.
-.PP
-Programy uwierzytelniaj±ce nie tworz± sesji pracy (loginowych) ani
-sesji sieciowych. Kod zakoñczenia programu uwierzytelniaj±cego jest
-wskazaniem czy akcja bêdzie dozwolona.
-Proces wo³aj±cy musi posiadaæ odpowiednie uprawnienia do samodzielnego
-utworzenia sesji pracy lub sesji sieciowej.
-.SH ZOBACZ TAK¯E
-.BR login (1),
-.BR passwd (1),
-.BR su (1),
-.BR useradd (8),
-.BR userdel (8),
-.BR usermod (8),
-.BR pw_auth (3)
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" {PTM/WK/1999-09-14}
-.\" Copyright 1992, 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.
-.\"
-.\" $Id: pwck.8,v 1.3 1999/09/25 20:07:47 wojtek2 Exp $
-.\"
-.TH PWCK 1
-.SH NAZWA
-pwck - weryfikacja spójno¶ci plików hase³
-.SH OPIS
-\fBpwck\fR [\fB-r\fR] [\fIpasswd\fR \fIshadow\fR]
-.SH OPIS
-\fBpwck\fR weryfikuje integralno¶æ informacji autentykacji systemowej.
-W plikach \fI/etc/passwd\fR i \fI/etc/shadow\fR sprawdzane s± wszystkie
-pozycje, by upewniæ siê, ¿e ka¿da z nich posiada w³a¶ciwy format
-i poprawne dane w ka¿dym z pól. U¿ytkownik monitowany jest o usuniêcie
-pozycji, które s± sformatowane niepoprawnie lub posiadaj± inne nie daj±ce
-siê skorygowaæ b³êdy.
-.P
-Kontrolowane jest czy ka¿da pozycja posiada
-.sp
-.in +.5i
-- w³a¶ciw± liczbê pól
-.br
-- unikaln± nazwê u¿ytkownika
-.br
-- poprawny identyfikator u¿ytkownika i grupy
-.br
-- poprawn± grupê g³ówn±
-.br
-- poprawny katalog domowy
-.br
-- poprawn± pow³okê zg³oszeniow± (startow±)
-.in -.5i
-.sp
-.P
-Kontrola w³a¶ciwej liczby pól i niepowtarzalnej nazwy u¿ytkownika jest
-decyduj±ca. Je¿eli pozycja posiada b³êdn± liczbê pól, to u¿ytkownik jest
-proszony o usuniêcie ca³ej pozycji (wiersza).
-Je¿eli u¿ytkownik nie potwierdzi decyzji o usuniêciu, to pomijane s± wszelkie
-dalsze sprawdzenia.
-Pozycja z powtórzon± nazw± u¿ytkownika powoduje monit o usuniêcie, ale nadal
-bêd± wykonywane pozosta³e sprawdzenia.
-Wszystkie inne b³êdy daj± ostrze¿enia a u¿ytkownik jest zachêcany
-do uruchomienia polecenia \fBusermod\fR, by je poprawiæ.
-.P
-Polecenia dzia³aj±ce na pliku \fI/etc/passwd\fR nie potrafi± zmieniaæ
-uszkodzonych lub powielonych pozycji. W takich okoliczno¶ciach powinien byæ
-u¿ywany \fBpwck\fR, by usun±æ nieprawid³ow± pozycjê.
-.SH OPCJE
-Domy¶lnie \fBpwck\fR dzia³a na plikach \fI/etc/passwd\fR oraz \fI/etc/shadow\fR.
-Przy pomocy parametrów \fIpasswd\fR i \fIshadow\fR u¿ytkownik mo¿e wybraæ inne
-pliki.
-Dodatkowo, u¿ytkownik mo¿e wykonaæ polecenie w trybie tylko-do-odczytu, poprzez
-podanie flagi \fB-r\fR.
-Powoduje to, ¿e na wszystkie pytania dotycz±ce zmian zostanie, bez ingerencji
-u¿ytkownika, u¿yta odpowied¼ \fBnie\fR.
-.SH PLIKI
-.IR /etc/passwd " - informacja o kontach u¿ytkowników"
-.br
-.IR /etc/shadow " - zakodowana informacja o has³ach"
-.br
-.IR /etc/group " - informacja o grupach"
-.SH ZOBACZ TAK¯E
-.BR usermod (8),
-.BR group (5),
-.BR passwd (5),
-.BR shadow (5)
-.SH DIAGNOSTYKA
-Polecenie \fBpwck\fR koñczy pracê z nastêpuj±cymi warto¶ciami kodów
-zakoñczenia:
-.IP 0 5
-Powodzenie
-.IP 1 5
-B³±d sk³adni
-.IP 2 5
-Jedna lub wiêcej z³ych pozycji pliku hase³
-.IP 3 5
-Niemo¿liwe otwarcie plików hase³
-.IP 4 5
-Niemo¿liwa blokada plików hase³
-.IP 5 5
-Niemo¿liwa aktualizacja plików hase³
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" {PTM/WK/1999-09-14}
-.\" $Id: pwconv.8,v 1.1 1999/09/14 18:41:35 wojtek2 Exp $
-.TH PWCONV 8 "26 wrze¶nia 1997"
-.SH NAZWA
-pwconv, pwunconv, grpconv, grpunconv - konwersja dot. chronionych plików hase³ i grup
-.SH SK£ADNIA
-.B pwconv
-.br
-.B pwunconv
-.br
-.B grpconv
-.br
-.B grpunconv
-.SH OPIS
-Wszystkie te cztery programy dzia³aj± na zwyk³ych i dodatkowych (shadow)
-plikach hase³ i grup:
-.IR /etc/passwd ", " /etc/group ", " /etc/shadow " i " /etc/gshadow .
-
-.B pwconv
-.RI "tworzy " shadow " z " passwd " i opcjonalnie istniej±cego " shadow .
-.B pwunconv
-.RI "tworzy " passwd " z " passwd " i " shadow " a nastêpnie usuwa " shadow .
-.B grpconv
-.RI "tworzy " gshadow " z " group " i opcjonalnie istniej±cego " gshadow .
-.B grpunconv
-.RI "tworzy " group " z " group " i " gshadow " a nastêpnie usuwa " gshadow .
-
-Ka¿dy z programów zdobywa niezbêdne blokady przed konwersj±.
-
-.BR pwconv " i " grpconv
-s± podobne. Po pierwsze, z pliku dodatkowego usuwane s± pozycje, które
-nie istniej± w pliku g³ównym. Nastêpnie, w pliku dodatkowym aktualizowane s±
-pozycje nie posiadaj±ce 'x' jako has³a w pliku g³ównym. Dodawane s± pozycje
-brakuj±ce w stosunku do pliku g³ównego. Na koniec, has³a w pliku g³ównym
-zastêpowane s± przez 'x'. Programy te mog± s³u¿yæ zarówno do pocz±tkowej
-konwersji jak i do aktualizacji dodatkowego pliku hase³ je¶li plik g³ówny
-zmieniany by³ rêcznie.
-
-Przy dodawaniu nowych wpisów do
-.IR /etc/shadow
-.B pwconv
-u¿yje warto¶ci
-.BR PASS_MIN_DAYS ", " PASS_MAX_DAYS " i " PASS_WARN_AGE
-z pliku
-.IR /etc/login.defs .
-
-.RB "Podobnie, " pwunconv " oraz " grpunconv
-s± zbli¿one. Has³a w pliku g³ównym aktualizowane s± na podstawie pliku
-dodatkowego (shadow). Wpisy istniej±ce w pliku g³ównym, a nie posiadaj±ce
-odpowiedników w dodatkowym s± pozostawiane bez zmian. Na koniec usuwany
-jest plik dodatkowy.
-
-Czê¶æ informacji o wa¿no¶ci hase³ jest tracona przez
-.BR pwunconv .
-Przeprowadza on konwersjê tego, co potrafi.
-.SH B£ÊDY
-B³êdy w plikach hase³ czy grup (takie jak nieprawid³owe czy powtórzone
-pozycje) mog± spowodowaæ zapêtlenie siê omawianych programów lub ró¿nego
-rodzaju inne b³êdne zachowanie. Przed konwersj± na lub z dodatkowych plików
-hase³ lub grup proszê uruchomiæ \fBpwck\fR i \fBgrpck\fR, by poprawiæ tego
-rodzaju b³êdy.
-.SH ZOBACZ TAK¯E
-.BR login.defs (5),
-.BR pwck (8),
-.BR grpck (8),
-.BR shadowconfig (8)
+++ /dev/null
-.\" {PTM/WK/1999-09-16}
-.\" Copyright 1989 - 1993, 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.
-.\"
-.\" $Id: shadow.3,v 1.2 1999/09/25 20:07:47 wojtek2 Exp $
-.\"
-.TH SHADOW 3
-.SH NAZWA
-shadow \- procedury zakodowanego pliku hase³
-.SH SK£ADNIA
-.B #include <shadow.h>
-.PP
-.B struct spwd *getspent();
-.PP
-.B struct spwd *getspnam(char
-.IB *name );
-.PP
-.B void setspent();
-.PP
-.B void endspent();
-.PP
-.B struct spwd *fgetspent(FILE
-.IB *fp );
-.PP
-.B struct spwd *sgetspent(char
-.IB *cp );
-.PP
-.B int putspent(struct spwd
-.I *p,
-.B FILE
-.IB *fp );
-.PP
-.B int lckpwdf();
-.PP
-.B int ulckpwdf();
-.SH OPIS
-.I shadow
-operuje na zawarto¶ci dodatkowego pliku hase³ (shadow) \fI/etc/shadow\fR.
-Plik \fI#include\fR opisuje strukturê
-.sp
-struct spwd {
-.in +.4i
-.br
-char *sp_namp; /* nazwa u¿ytkownika (login) */
-.br
-char *sp_pwdp; /* zakodowane has³o */
-.br
-long sp_lstchg; /* ostatnia zmiana has³a */
-.br
-int sp_min; /* dni do dozwolonej zmiany */
-.br
-int sp_max; /* dni przed wymagan± zmian± */
-.br
-int sp_warn; /* dni ostrze¿enia o wyga¶niêciu */
-.br
-int sp_inact; /* dni przed wy³±czeniem konta */
-.br
-int sp_expire; /* data wa¿no¶ci konta */
-.br
-int sp_flag; /* zarezerwowane do przysz³ego u¿ytku */
-.br
-.in -.5i
-}
-.PP
-Znaczenie poszczególnych pól:
-.sp
-sp_namp \- wska¼nik do zakoñczonej przez nul nazwy u¿ytkownika.
-.br
-sp_pwdp \- wska¼nik do zakoñczonego nul has³a.
-.br
-sp_lstchg \- dni od 1 stycznia 1970; data ostatniej zmiany has³a.
-.br
-sp_min \- dni, przed up³ywem których has³o nie mo¿e byæ zmienione.
-.br
-sp_max \- dni, po których has³o musi byæ zmienione.
-.br
-sp_warn \- dni przed dat± up³ywu wa¿no¶ci has³a, od których
-u¿ytkownik jest ostrzegany od nadchodz±cym terminie wa¿no¶ci.
-.br
-sp_inact \- dni po up³yniêciu wa¿no¶ci konta, po których konto jest
-uwa¿ane za nieaktywne i wy³±czane.
-.br
-sp_expire \- dni od 1 stycznia 1970, data gdy konto zostanie
-wy³±czone.
-.br
-sp_flag \- zarezerwowane do przysz³ego u¿ytku.
-.SH OPIS
-\fBgetspent\fR, \fBgetspname\fR, \fBfgetspent\fR i \fBsgetspent\fR
-zwracaj± wska¼nik do \fBstruct spwd\fR.
-\fBgetspent\fR zwraca nastêpn± pozycjê w pliku, za¶ \fBfgetspent\fR
-nastêpn± pozycjê z podanego strumienia. Zak³ada siê, ¿e strumieñ
-ten jest plikiem o poprawnym formacie.
-\fBsgetspent\fR zwraca wska¼nik do \fBstruct spwd\fR u¿ywaj±c jako
-wej¶cia dostarczonego ³añcucha.
-\fBgetspnam\fR wyszukuje od bie¿±cej pozycji w pliku pozycji pasuj±cej
-do \fBname\fR.
-.PP
-\fBsetspent\fR i \fBendspent\fR mog± zostaæ u¿yte do odpowiednio,
-rozpoczêcia i zakoñczenia dostêpu do chronionego pliku hase³ (shadow).
-.PP
-Do zapewnienia wy³±cznego dostêpu do pliku \fI/etc/shadow\fR powinny
-byæ u¿ywane procedury \fBlckpwdf\fR i \fBulckpwdf\fR.
-\fBlckpwdf\fR przez 15 sekund usi³uje uzyskaæ blokadê przy pomocy
-\fBpw_lock\fR.
-Kontynuuje próbê uzyskania drugiej blokady przy pomocy \fBspw_lock\fR
-przez czas pozosta³y z pocz±tkowych 15 sekund.
-Je¿eli po up³ywie 15 sekund którakolwiek z tych prób zawiedzie,
-to \fBlckpwdf\fR zwraca -1.
-Je¿eli uzyskano obie blokady, to zwracane jest 0.
-.SH DIAGNOSTYKA
-Je¿eli nie ma dalszych pozycji lub podczas przetwarzania pojawi siê b³±d,
-to procedury zwracaj± NULL.
-Procedury zwracaj±ce warto¶æ typu \fBint\fR zwracaj± 0 w przypadku powodzenia
-a -1 dla pora¿ki.
-.SH PRZESTROGI
-Procedury te mog± byæ u¿ywane wy³±cznie przez superu¿ytkownika, gdy¿ dostêp
-do dodatkowego, chronionego pliku hase³ jest ograniczony.
-.SH PLIKI
-.IR /etc/shadow " - zakodowane has³a u¿ytkowników"
-.SH ZOBACZ TAK¯E
-.BR getpwent (3),
-.BR shadow (5)
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" 1999 PTM Przemek Borys
-.\" Copyright 1989 - 1990, 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.
-.\"
-.\" $Id: shadow.5,v 1.3 1999/09/20 20:56:42 wojtek2 Exp $
-.\"
-.TH SHADOW 5
-.SH NAZWA
-shadow \- zakodowany plik z has³ami
-.SH OPIS
-.I shadow
-zawiera zakodowane dane o has³ach dla kont u¿ytkowników oraz opcjonalne
-informacje o wieku (aging) has³a.
-Zawarte s± w nim
-.IP "" .5i
-Nazwa u¿ytkownika (nazwa logowania)
-.IP "" .5i
-Zakodowane has³o
-.IP "" .5i
-Dni, licz±c od 1 stycznia 1970, kiedy has³o by³o ostatni raz zmienione
-.IP "" .5i
-Dni przed których up³yniêciem niemo¿liwa jest zmiany has³a
-.IP "" .5i
-Dni, po których up³yniêciu konieczna jest zmiana has³a
-.IP "" .5i
-Ilo¶æ dni, jaka musi dzieliæ has³o od przedawnienia, by u¿ytkownik by³
-ostrzegany
-.IP "" .5i
-Ilo¶æ dni po przedawnieniu has³a, po których konto jest wy³±czane
-.IP "" .5i
-Dni od 1 stycznia 1970, okre¶laj±ce datê, kiedy konto jest wy³±czane
-.IP "" .5i
-Pole zarezerwowane
-.PP
-Pole has³a musi byæ wype³nione. Zakodowane has³o sk³ada siê z 13-24 znaków z
-64 znakowego alfabetu a-z, A-Z, 0-9, \. i /.
-Dla szczegó³ów interpretacji tego napisu, odsy³amy do \fIcrypt(3)\fR.
-.PP
-Data ostatniej zmiany has³a jest podawana jako liczba dni od 1 stycznia
-1970. Has³a nie mog± byæ zmieniane przed up³ywem odpowiedniej ilo¶ci dni, a
-musz± byæ zmieniane po up³ywie maksymalnej ilo¶ci dni.
-Je¶li minimalna liczba dni jest wiêksza od maksymalnej, has³o nie mo¿e byæ
-przez u¿ytkownika zmienione.
-.PP
-Je¶li has³o pozostaje niezmienione po up³ywie jego wa¿no¶ci, to konto jest
-uwa¿ane za nieaktywne i zostanie wy³±czone po ustalonej liczbie dni
-nieaktywno¶ci. Konto zostanie równie¿ wy³±czone w zadanym dniu wa¿no¶ci
-konta bez wzglêdu na informacjê o terminie wa¿no¶ci has³a.
-.PP
-Informacja w pliku \fIshadow\fR zastêpuje wszelkie has³a lub dane o ich
-wieku znajduj±ce siê w \fI/etc/passwd\fR.
-.PP
-Je¶li ma byæ utrzymywane bezpieczeñstwo hase³, to plik ten nie mo¿e byæ
-odczytywalny dla zwyk³ych u¿ytkowników.
-.SH Pliki
-.IR /etc/passwd " - informacje o kontach u¿ytkowników"
-.br
-.IR /etc/shadow " - zakodowane has³a u¿ytkowników"
-.SH ZOBACZ TAK¯E
-chage(1),
-login(1),
-passwd(1),
-su(1),
-sulogin(1M),
-shadow(3),
-passwd(5),
-pwconv(8),
-pwunconv(8)
+++ /dev/null
-.\" {PTM/WK/1999-09-14}
-.\" $Id: shadowconfig.8,v 1.1 1999/09/14 18:41:35 wojtek2 Exp $
-.TH SHADOWCONFIG 8 "19 kwietnia 1997" "Debian GNU/Linux"
-.SH NAZWA
-shadowconfig - prze³±cza ochronê hase³ i grup przez pliki shadow
-.SH SK£ADNIA
-.B "shadowconfig"
-.IR on " | " off
-.SH OPIS
-.PP
-.B shadowconfig on
-w³±cza ochronê hase³ i grup przez dodatkowe, przes³aniane pliki (shadow);
-.B shadowconfig off
-wy³±cza dodatkowe pliki hase³ i grup.
-.B shadowconfig
-wy¶wietla komunikat o b³êdzie i koñczy pracê z niezerowym kodem je¶li
-znajdzie co¶ nieprawid³owego. W takim wypadku powiniene¶ poprawiæ b³±d
-.\" if it finds anything awry.
-i uruchomiæ program ponownie.
-
-W³±czenie ochrony hase³, gdy jest ona ju¿ w³±czona lub jej wy³±czenie,
-gdy jest wy³±czona jest nieszkodliwe.
-
-Przeczytaj
-.IR /usr/doc/passwd/README.debian.gz ,
-gdzie znajdziesz krótkie wprowadzenie do ochrony hase³ z u¿yciem dodatkowych
-plików hase³ przes³anianych (shadow passwords) i zwi±zanych tematów.
+++ /dev/null
-.\" {PTM/WK/1999-09-25}
-.\" Copyright 1989 - 1990, 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 SU 1
-.SH NAZWA
-su \- zmieñ ID u¿ytkownika lub stañ siê superu¿ytkownikiem
-.SH SK£ADNIA
-.BR su " [" - ]
-.RI [ nazwa_u¿ytkownika " [" argumenty ]]
-.SH OPIS
-.B su
-s³u¿y do stawania siê innym u¿ytkownikiem w trakcie w³asnej sesji pracy.
-Wywo³anie bez parametru - nazwy u¿ytkownika, domy¶lnie oznacza dla \fBsu\fR
-próbê stania siê superu¿ytkownikiem.
-Opcjonalnym argumentem \fB\-\fR mo¿na pos³u¿yæ siê do zasymulowania
-rzeczywistego rozpoczynania sesji pracy. Pozwala to na utworzenie ¶rodowiska
-u¿ytkownika. podobnego do tego, jakie wystêpuje przy bezpo¶rednim zg³oszeniu
-u¿ytkownika w systemie.
-.PP
-Po nazwie u¿ytkownika mog± wyst±piæ dodatkowe argumenty. Zostan± one
-dostarczone pow³oce zg³oszeniowej u¿ytkownika. W szczególno¶ci, argument
-\fB-c\fR spowoduje, ¿e nastêpny argument zostanie potraktowany jak polecenie
-przez wiêkszo¶æ interpretatorów poleceñ.
-.\" Polecenie zostanie wykonane przez pow³okê podan± w
-.\" \fB$SHELL\fR, albo je¶li jej nie zdefiniowano, przez podan± w
-.\" \fI/etc/passwd\fR.
-.\" XXX - powy¿sze nie by³o ca³kiem poprawne. --marekm
-Polecenie zostanie wykonane przez pow³okê wymienion± w \fI/etc/passwd\fR dla
-docelowego u¿ytkownika.
-.PP
-U¿ytkownik pytany jest o odpowiednie has³o, je¶li takowe istnieje.
-B³êdne has³a powoduj± komunikat o b³êdzie. Wszystkie próby, udane i nieudane,
-s± rejestrowane do celów wykrywania nadu¿yæ systemu.
-.PP
-Do nowej pow³oki przekazywane jest bie¿±ce ¶rodowisko.
-Warto¶æ \fB$PATH\fR dla zwyk³ych u¿ytkowników ustawiana jest jest na
-\fB/bin:/usr/bin\fR, za¶ dla superu¿ytkownika
-na \fB/sbin:/bin:/usr/sbin:/usr/bin\fR.
-Mo¿na to zmieniæ przy pomocy definicji \fBENV_PATH\fR i \fBENV_SUPATH\fR
-w \fI/etc/login.defs\fR.
-.SH PRZESTROGI
-.PP
-Niniejsza wersja \fBsu\fR posiada wiele opcji kompilacji, z których tylko
-czê¶æ bêdzie mieæ zastosowanie w danej instalacji.
-.SH PLIKI
-.IR /etc/passwd " - informacja o kontach u¿ytkowników"
-.br
-.IR /etc/shadow " - zakodowane has³a i informacja o ich wa¿no¶ci"
-.br
-.IR $HOME/.profile " - plik startowy dla domy¶lnej pow³oki"
-.SH ZOBACZ TAK¯E
-.BR login (1),
-.BR sh (1),
-.BR suauth (5),
-.BR login.defs (5)
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
-.SH OD T£UMACZA
-Niniejsza dokumentacja opisuje polecenie wchodz±ce w sk³ad pakietu
-shadow-password.
-Z uwagi na powtarzaj±ce siê nazwy poleceñ, upewnij siê, ¿e korzystasz
-z w³a¶ciwej dokumentacji.
+++ /dev/null
-.\" {PTM/WK/1999-09-14}
-.TH SUAUTH 5 "14 lutego 1996"
-.UC 5
-.SH NAZWA
-suauth - plik szczegó³owej kontroli su
-.\" detailed su control file
-.SH SK£ADNIA
-.B /etc/suauth
-.SH OPIS
-Plik
-.I /etc/suauth
-przeszukiwany jest przy ka¿dym wywo³aniu polecenia su. Mo¿e on zmieniaæ
-zachowanie siê polecenia su, w oparciu o
-.PP
-.RS
-.nf
-1) u¿ytkownika, na którego konto wykonywane jest su
-.fi
-2) u¿ytkownika wykonuj±cego polecenie su (lub dowoln± z grup, której mo¿e
-on byæ cz³onkiem)
-.RE
-.PP
-Plik sformatowany jest jak poni¿ej. Wiersze rozpoczynaj±ce siê od # s±
-traktowane jak wiersze komentarza i ignorowane.
-.PP
-.RS
-na-ID:z-ID:AKCJA
-.RE
-.PP
-Gdzie na-ID jest albo s³owem
-.B ALL
-(wszyscy), albo list± nazw u¿ytkowników rozdzielonych "," albo te¿ s³owami
-.B ALL EXCEPT
-(wszyscy oprócz), po których nastêpuje lista nazw u¿ytkowników
-rozdzielonych przecinkiem.
-.PP
-z-ID jest formatowane w taki sam sposób jak na-ID, z wyj±tkiem tego, ¿e
-rozpoznawane jest dodatkowe s³owo
-.BR GROUP.
-Zapis
-.B ALL EXCEPT GROUP
-(wszyscy za wyj±tkiem grupy) jest równie¿ ca³kowicie poprawny.
-Po s³owie
-.B GROUP
-powinna wyst±piæ jedna lub wiêcej rozdzielonych przecinkiem nazw grup.
-Niewystarczaj±ce jest podanie g³ównego ID danej grupy - niezbêdny jest
-wpis w
-.BR /etc/group (5).
-.PP
-Akcja mo¿e byæ tylko jedn± z obecnie obs³ugiwanych opcji:
-.TP 10
-.B DENY
-(zakaz) Próba wykonania su jest zatrzymywana jeszcze przed pytaniem o has³o.
-.TP 10
-.B NOPASS
-(bez has³a) Próba wykonania su jest automatycznie pomy¶lna; brak pytania
-o has³o.
-.TP 10
-.B OWNPASS
-(w³asne has³o) U¿ytkownik wywo³uj±cy su musi wprowadziæ w³asne has³o, by
-polecenie zosta³o pomy¶lnie wykonane. Jest on powiadamiany o konieczno¶ci
-podania w³asnego has³a.
-.PP
-Zauwa¿, ¿e istniej± trzy odrêbne pola rozdzielone dwukropkiem. Bia³e znaki
-wokó³ dwukropka nie s± dozwolone. Zauwa¿ te¿, ¿e plik analizowany jest
-sekwencyjnie, wiersz po wierszu, i stosowana jest pierwsza pasuj±ca regu³a
-bez analizy reszty pliku. Umo¿liwia to administratorowi systemu precyzyjn±
-kontrolê wed³ug w³asnych upodobañ.
-.SH PRZYK£AD
-.PP
-.nf
-# przyk³adowy plik /etc/suauth
-#
-# para uprzywilejowanych u¿ytkowników
-# mo¿e wykonaæ su na konto root
-# przy pomocy w³asnych hase³
-#
-root:chris,birddog:OWNPASS
-#
-# Nikt inny nie mo¿e wykonaæ su na konto root,
-# chyba ¿e jest cz³onkiem grupy wheel.
-# Tak to robi BSD.
-#
-root:ALL EXCEPT GROUP wheel:DENY
-#
-# Byæ mo¿e terry i birddog s± kontami,
-# których u¿ywa ta sama osoba.
-# Mo¿na zrobiæ wzajemny dostêp
-# pomiêdzy nimi bez hase³.
-#
-terry:birddog:NOPASS
-birddog:terry:NOPASS
-#
-.fi
-.SH PLIKI
-.I /etc/suauth
-.SH B£ÊDY
-Mo¿e byæ sporo ukrytych. Analizator pliku jest szczególnie wra¿liwy
-na b³êdy sk³adniowe. Zak³ada on, ¿e nie bêdzie zbêdnych bia³ych znaków
-(za wyj±tkiem pocz±tków i koñców wierszy), a ró¿ne elementy bêd± separowane
-konkretnym znakiem ogranicznika.
-.SH DIAGNOSTYKA
-B³±d analizy pliku zg³aszany jest przy u¿yciu
-.BR syslogd (8)
-jako zagro¿enie o poziomie ERR (b³±d) w podsystemie AUTH (identyfikacji
-u¿ytkownika przy zg³oszeniu).
-.\" as level ERR on facility AUTH.
-.SH ZOBACZ TAK¯E
-.BR su (1)
-.SH AUTOR
-.nf
-Chris Evans (lady0110@sable.ox.ac.uk)
-Lady Margaret Hall
-Oxford University
-England
+++ /dev/null
-.\" {PTM/WK/1999-09-14}
-.\" Copyright 1989 - 1992, 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.
-.\"
-.\" $Id: sulogin.8,v 1.3 1999/09/25 20:07:47 wojtek2 Exp $
-.\"
-.TH SULOGIN 8
-.SH NAZWA
-sulogin - login w trybie jednou¿ytkownikowym
-.SH SK£ADNIA
-\fBsulogin\fR [\fIurz±dzenie-tty\fR]
-.SH OPIS
-.B sulogin
-wywo³ywane jest przez \fBinit\fR przed zezwoleniem u¿ytkownikowi
-na dostêp do systemu w trybie jednou¿ytkownikowym (single user mode).
-Funkcja ta mo¿e byæ dostêpna tylko w niektórych systemach, w których
-odpowiednio zmieniono \fBinit\fR lub plik \fB/etc/inittab\fR posiada
-pozycjê dla logowania siê w trybie jednou¿ytkownikowym.
-.PP
-Wy¶wietlany jest symbol zachêty
-.IP "" .5i
-Type control-d to proceed with normal startup,
-.br
-(or give root password for system maintenance):
-.br
-Naci¶nij control-d by kontynuowaæ zwyk³y start,
-.br
-(lub podaj has³o u¿ytkownika root do konserwacji systemu):
-.PP
-Wej¶cie i wyj¶cie bêd± obs³ugiwane przy u¿yciu standardowych deskryptorów
-plików, chyba ¿e u¿yto opcjonalnego argumentu - nazwy urz±dzenia.
-.PP
-Je¶li u¿ytkownik wprowadzi poprawne has³o superu¿ytkownika root,
-to rozpoczynana jest sesja pracy na koncie root.
-Je¿eli natomiast naci¶niêto \fBEOF\fR, to system przechodzi
-do wielou¿ytkownikowego trybu pracy.
-.PP
-Po opuszczeniu przez u¿ytkownika pow³oki przypisanej do
-jednou¿ytkownikowego trybu pracy lub po naci¶niêciu \fBEOF\fR, system
-wykonuje proces inicjacji wymagany do przej¶cia w tryb wielou¿ytkownikowy.
-.SH OSTRZE¯ENIA
-.PP
-Polecenie to mo¿e byæ u¿ywane wy³±cznie wtedy, gdy \fBinit\fR zosta³ zmieniony
-tak, by wywo³ywaæ \fBsulogin\fR zamiast \fB/bin/sh\fR,
-albo gdy u¿ytkownik skonfigurowa³ plik \fIinittab\fR tak, by obs³ugiwa³
-logowanie w trybie jednou¿ytkownikowym.
-Na przyk³ad, wiersz
-.br
-.sp 1
-co:s:respawn:/etc/sulogin /dev/console
-.br
-.sp 1
-powinien wykonaæ polecenie sulogin w trybie jednou¿ytkownikowym.
-.PP
-Na ile jest to mo¿liwe, tworzone jest pe³ne ¶rodowisko.
-Jednak¿e w efekcie mog± nie byæ do³±czone czy zainicjowane ró¿ne
-urz±dzenia, za¶ wiele poleceñ u¿ytkownika mo¿e byæ niedostêpnych lub
-nie funkcjonowaæ.
-.SH PLIKI
-.IR /etc/passwd " - informacja o kontach u¿ytkowników"
-.br
-.IR /etc/shadow " - zakodowane has³a i informacja o ich wa¿no¶ci"
-.br
-.IR /.profile " - skrypt startowy dla pow³oki trybu jednou¿ytkownikowego"
-.SH ZOBACZ TAK¯E
-.BR login (1),
-.BR init (8),
-.BR sh (1)
-.SH AUTOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" Copyright 1989 - 1990, 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.
-.\"
-.\" $Id: porttime.5,v 1.5 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH PORTTIME 5
-.SH NAME
-porttime \- port access time file
-.SH DESCRIPTION
-.I porttime
-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 \fBSu\fR, \fBMo\fR, \fBTu\fR, \fBWe\fR, \fBTh\fR,
-\fBFr\fR, and \fBSa\fR, followed by a pair of times separated by
-a hyphen.
-The abbreviation \fBWk\fR may be used to represent Monday thru Friday,
-and \fBAl\fR may be used to indicate every day.
-If no days are given, \fBAl\fR is assumed.
-.SH EXAMPLES
-The following entry allows access to user \fBjfh\fR on every port
-during weekdays from 9am to 5pm.
-.br
-.sp 1
- *:jfh:Wk0900-1700
-.br
-.sp 1
-The following entries allow access only to the users \fBroot\fR and
-\fBoper\fR on /dev/console 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.
-.br
-.sp 1
- console:root,oper:Al0000-2400
-.br
- console:*:
-.br
-.sp 1
-The following entry allows access for the user \fBgames\fR on any
-port during non-working hours.
-.br
-.sp 1
- *:games:Wk1700-0900,SaSu0000-2400
-.br
-.sp 1
-.SH FILES
-/etc/porttime \- file containing port access times
-.SH SEE ALSO
-.BR login (1)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" Copyright 1992, 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.
-.\"
-.\" $Id: pwck.8,v 1.5 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH PWCK 1
-.SH NAME
-pwck \- verify integrity of password files
-.SH SYNOPSIS
-\fBpwck\fR [\fB-r\fR] [\fIpasswd\fR \fIshadow\fR]
-.SH DESCRIPTION
-\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 incorrectable errors.
-.P
-Checks are made to verify that each entry has
-.sp
-.in +.5i
-- the correct number of fields
-.br
-- a unique user name
-.br
-- a valid user and group identifier
-.br
-- a valid primary group
-.br
-- a valid home directory
-.br
-- a valid login shell
-.in -.5i
-.sp
-.P
-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.
-.P
-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
-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.
-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 \fBno\fR
-without user intervention.
-.SH FILES
-/etc/passwd \- user account information
-.br
-/etc/shadow \- encrypted password information
-.br
-/etc/group \- group information
-.SH SEE ALSO
-.BR usermod (8),
-.BR group (5),
-.BR passwd (5),
-.BR shadow (5)
-.SH DIAGNOSTICS
-The \fBpwck\fR command exits with the following values:
-.IP 0 5
-Success
-.IP 1 5
-Syntax Error
-.IP 2 5
-One or more bad password entries
-.IP 3 5
-Cannot open password files
-.IP 4 5
-Cannot lock password files
-.IP 5 5
-Cannot update password files
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" $Id: pwconv.8,v 1.8 1998/06/25 22:10:43 marekm Exp $
-.TH PWCONV 8 "26 Sep 1997"
-.SH NAME
-pwconv, pwunconv, grpconv, grpunconv \- convert to and from shadow passwords and groups.
-.SH SYNOPSIS
-.B pwconv
-.br
-.B pwunconv
-.br
-.B grpconv
-.br
-.B grpunconv
-.SH DESCRIPTION
-These four programs all operate on the normal and shadow password and
-group files:
-.IR /etc/passwd ", " /etc/group ", " /etc/shadow ", and " /etc/gshadow .
-
-.B pwconv
-.RI "creates " shadow " from " passwd " and an optionally existing " shadow .
-.B pwunconv
-.RI "creates " passwd " from " passwd " and " shadow " and then removes " shadow .
-.B grpconv
-.RI "creates " gshadow " from " group " and an optionally existing " gshadow .
-.B grpunconv
-.RI "creates " group " from " group " and " gshadow " and then removes " gshadow .
-
-Each program acquires the necessary locks before conversion.
-
-.BR pwconv " and " grpconv
-are similiar. 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.
-
-.B pwconv
-will use the values of
-.BR PASS_MIN_DAYS ", " PASS_MAX_DAYS ", and " PASS_WARN_AGE
-from
-.I /etc/login.defs
-when adding new entries to
-.IR /etc/shadow .
-
-.RB "Likewise, " pwunconv " and " grpunconv
-are similiar. 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
-.BR pwunconv .
-It will convert what it can.
-.SH "BUGS"
-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 "SEE ALSO"
-.BR login.defs (5),
-.BR pwck (8),
-.BR grpck (8),
-.BR shadowconfig (8)
+++ /dev/null
-.\" Copyright 1989 - 1993, 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.
-.\"
-.\" $Id: shadow.3,v 1.5 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH SHADOW 3
-.SH NAME
-shadow \- encrypted password file routines
-.SH SYNTAX
-.B #include <shadow.h>
-.PP
-.B struct spwd *getspent();
-.PP
-.B struct spwd *getspnam(char
-.IB *name );
-.PP
-.B void setspent();
-.PP
-.B void endspent();
-.PP
-.B struct spwd *fgetspent(FILE
-.IB *fp );
-.PP
-.B struct spwd *sgetspent(char
-.IB *cp );
-.PP
-.B int putspent(struct spwd
-.I *p,
-.B FILE
-.IB *fp );
-.PP
-.B int lckpwdf();
-.PP
-.B int ulckpwdf();
-.SH DESCRIPTION
-.I shadow
-manipulates the contents of the shadow password file,
-\fI/etc/shadow\fR.
-The structure in the \fI#include\fR file is
-.sp
-struct spwd {
-.in +.5i
-.br
- char *sp_namp; /* user login name */
-.br
- char *sp_pwdp; /* encrypted password */
-.br
- long sp_lstchg; /* last password change */
-.br
- int sp_min; /* days until change allowed. */
-.br
- int sp_max; /* days before change required */
-.br
- int sp_warn; /* days warning for expiration */
-.br
- int sp_inact; /* days before account inactive */
-.br
- int sp_expire; /* date when account expires */
-.br
- int sp_flag; /* reserved for future use */
-.br
-.in -.5i
-}
-.PP
-The meanings of each field are
-.sp
-sp_namp \- pointer to null-terminated user name.
-.br
-sp_pwdp \- pointer to null-terminated password.
-.br
-sp_lstchg \- days since Jan 1, 1970 password was last changed.
-.br
-sp_min \- days before which password may not be changed.
-.br
-sp_max \- days after which password must be changed.
-.br
-sp_warn \- days before password is to expire that user is warned
-of pending password expiration.
-.br
-sp_inact \- days after password expires that account is considered
-inactive and disabled.
-.br
-sp_expire \- days since Jan 1, 1970 when account will be disabled.
-.br
-sp_flag \- reserved for future use.
-.SH DESCRIPTION
-\fBgetspent\fR, \fBgetspname\fR, \fBfgetspent\fR, and \fBsgetspent\fR
-each return a pointer to a \fBstruct spwd\fR.
-\fBgetspent\fR returns the
-next entry from the file, and \fBfgetspent\fR returns the next
-entry from the given stream, which is assumed to be a file of
-the proper format.
-\fBsgetspent\fR returns a pointer to a \fBstruct spwd\fR using the
-provided string as input.
-\fBgetspnam\fR searches from the current position in the file for
-an entry matching \fBname\fR.
-.PP
-\fBsetspent\fR and \fBendspent\fR may be used to begin and end,
-respectively, access to the shadow password file.
-.PP
-The \fBlckpwdf\fR and \fBulckpwdf\fR routines should be used to
-insure exclusive access to the \fI/etc/shadow\fR file.
-\fBlckpwdf\fR attempts to acquire a lock using \fBpw_lock\fR for
-up to 15 seconds.
-It continues by attempting to acquire a second lock using \fBspw_lock\fR
-for the remainder of the initial 15 seconds.
-Should either attempt fail after a total of 15 seconds, \fBlckpwdf\fR
-returns -1.
-When both locks are acquired 0 is returned.
-.SH DIAGNOSTICS
-Routines return NULL if no more entries are available or if an
-error occurs during processing.
-Routines which have \fBint\fR as the return value return 0 for
-success and -1 for failure.
-.SH CAVEATS
-These routines may only be used by the super user as access to
-the shadow password file is restricted.
-.SH FILES
-/etc/shadow \- encrypted user passwords
-.SH SEE ALSO
-.BR getpwent (3),
-.BR shadow (5)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" Copyright 1989 - 1990, 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.
-.\"
-.\" $Id: shadow.5,v 1.5 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH SHADOW 5
-.SH NAME
-shadow \- encrypted password file
-.SH DESCRIPTION
-.I shadow
-contains the encrypted password information for user's accounts
-and optional the password aging information.
-Included is
-.IP "" .5i
-Login name
-.IP "" .5i
-Encrypted password
-.IP "" .5i
-Days since Jan 1, 1970 that password was last changed
-.IP "" .5i
-Days before password may be changed
-.IP "" .5i
-Days after which password must be changed
-.IP "" .5i
-Days before password is to expire that user is warned
-.IP "" .5i
-Days after password expires that account is disabled
-.IP "" .5i
-Days since Jan 1, 1970 that account is disabled
-.IP "" .5i
-A reserved field
-.PP
-The password field must be filled.
-The encryped password consists of 13 to 24 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.
-.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 supercedes 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.
-.SH FILES
-/etc/passwd \- user account information
-.br
-/etc/shadow \- encrypted user passwords
-.SH SEE ALSO
-.BR chage (1),
-.BR login (1),
-.BR passwd (1),
-.BR su (1),
-.BR sulogin (8),
-.BR shadow (3),
-.BR passwd (5),
-.BR pwconv (8),
-.BR pwunconv (8)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" $Id: shadowconfig.8,v 1.2 1997/12/14 20:07:22 marekm Exp $
-.TH SHADOWCONFIG 8 "19 Apr 1997" "Debian GNU/Linux"
-.SH NAME
-shadowconfig \- toggle shadow passwords on and off
-.SH SYNOPSIS
-.B "shadowconfig"
-.IR on " | " off
-.SH DESCRIPTION
-.PP
-.B shadowconfig on
-will turn shadow passwords on;
-.B shadowconfig off
-will turn shadow passwords off.
-.B shadowconfig
-will print an error message and exit with a nonzero code if it finds
-anything awry. If that happens, you should correct the error and run
-it again.
-
-Turning shadow passwords on when they are already on, or off when they
-are already off, is harmless.
-
-Read
-.I /usr/doc/passwd/README.debian.gz
-for a brief introduction to shadow passwords and related features.
+++ /dev/null
-.\" Copyright 1989 - 1990, 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.
-.\"
-.\" $Id: su.1,v 1.6 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH SU 1
-.SH NAME
-su \- Change user ID or become super-user
-.SH SYNOPSIS
-.BR su " [" - ]
-.RI [ username " [" args ]]
-.SH DESCRIPTION
-.B su
-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 similiar 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\'s 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 under the shell specified by
-.\" \fB$SHELL\fR, or if undefined, by the one specified in
-.\" \fI/etc/passwd\fR.
-.\" XXX - the above was not quite correct. --marekm
-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
-\fB$PATH\fR is reset to \fB/bin:/usr/bin\fR for normal users, or
-\fB/sbin:/bin:/usr/sbin:/usr/bin\fR for the super user. This may be
-changed with the \fBENV_PATH\fR and \fBENV_SUPATH\fR definitions in
-\fI/etc/login.defs\fR.
-.PP
-A subsystem login is indicated by the presense of a "*" as the first
-character of the login shell. The given home directory will be used as
-the root of a new filesystem which the user is actually logged into.
-.SH CAVEATS
-.PP
-This version of \fBsu\fR has many compilation options, only some of which
-may be in use at any particular site.
-.SH Files
-/etc/passwd \- user account information
-.br
-/etc/shadow \- encrypted passwords and age information
-.br
-$HOME/.profile \- initialization script for default shell
-.SH SEE ALSO
-.BR login (1),
-.BR sh (1),
-.BR suauth (5),
-.BR login.defs (5)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.TH SUAUTH 5 "Feb 14, 1996"
-.UC 5
-.SH NAME
-suauth \- Detailed su control file
-.SH SYNOPSIS
-.B /etc/suauth
-.SH DESCRIPTION
-The file
-.I /etc/suauth
-is referenced whenever the su command is called. It can change the
-behaviour of the su command, based upon
-.PP
-.RS
-.nf
-1) the user su is targetting
-.fi
-2) the user executing the su command (or any groups he might be
-a member of)
-.RE
-.PP
-The file is formatted like this, with lines starting with a #
-being treated as comment lines and ignored;
-.PP
-.RS
-to-id:from-id:ACTION
-.RE
-.PP
-Where to-id is either the word
-.BR ALL ,
-a list of usernames
-delimited by "," or the words
-.B ALL EXCEPT
-followed by a list
-of usernames delimted by ","
-.PP
-from-id is formatted the same as to-id except the extra word
-.B GROUP
-is recognised.
-.B ALL EXCEPT GROUP
-is perfectly valid too.
-Following
-.B GROUP
-appears one or more group names, delimited by
-",". It is not sufficient to have primary group id of the
-relevant group, an entry in
-.BR /etc/group (5)
-is neccessary.
-.PP
-Action can be one only of the following currently supported
-options.
-.TP 20
-.B DENY
-The attempt to su is stopped before a password is even asked for.
-.TP 20
-.B NOPASS
-The attempt to su is automatically successful; no password is
-asked for.
-.TP 20
-.B OWNPASS
-For the su command to be successful, the user must enter
-his or her own password. They are told this.
-.PP
-Note there are three separate fields delimted 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
-.PP
-.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.
-#
-root:ALL EXCEPT GROUP wheel:DENY
-#
-# Perhaps terry and birddog are accounts
-# owned by the same person.
-# Access can be arranged between them
-# with no password.
-#
-terry:birddog:NOPASS
-birddog:terry:NOPASS
-#
-.fi
-.SH FILES
-/etc/suauth
-.SH BUGS
-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
-An error parsing the file is reported using
-.BR syslogd (8)
-as level ERR on
-facility AUTH.
-.SH SEE ALSO
-.BR su (1)
-.SH AUTHOR
-.nf
-Chris Evans (lady0110@sable.ox.ac.uk)
-Lady Margaret Hall
-Oxford University
-England
+++ /dev/null
-.\" Copyright 1991 - 1994, 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.
-.\"
-.\" $Id: useradd.8,v 1.7 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH USERADD 8
-.SH NAME
-useradd \- Create a new user or update default new user information
-.SH SYNOPSIS
-.TP 8
-.B useradd
-.\" .RB [ -A
-.\" .RI { method | \fBDEFAULT\fR "},... ]"
-.RB [ -c
-.IR comment ]
-.RB [ -d
-.IR home_dir ]
-.br
-.RB [ -e
-.IR expire_date ]
-.RB [ -f
-.IR inactive_time ]
-.br
-.RB [ -g
-.IR initial_group ]
-.RB [ -G
-.IR group [,...]]
-.br
-.RB [ -m " [" -k
-.IR skeleton_dir ]]
-.RB [ -p
-.IR passwd ]
-.br
-.RB [ -s
-.IR shell ]
-.RB [ -u
-.IR uid " ["
-.BR -o ]]
-.I login
-.TP 8
-.B useradd
-\fB-D\fR
-[\fB-g\fI default_group\fR]
-[\fB-b\fI default_home\fR]
-.br
-[\fB-f\fI default_inactive\fR]
-[\fB-e\fI default_expire_date\fR]
-.br
-[\fB-s\fI default_shell\fR]
-.SH DESCRIPTION
-.SS Creating New Users
-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.
-The new user account will be entered into the system files as needed,
-the home directory will be created, and initial files copied, depending
-on the command line options.
-The options which apply to the \fBuseradd\fR command are
-.\" .IP "\fB-A {\fImethod\fR|\fBDEFAULT\fR},..."
-.\" The value of the user's authentication method.
-.\" The authentication method is the name of a program which is responsible
-.\" for validating the user's identity.
-.\" The string \fBDEFAULT\fR may be used to change the user's authentication
-.\" method to the standard system password method.
-.\" This is a comma-separated list of program names.
-.\" It may include \fBDEFAULT\fR exactly once.
-.IP "\fB-c \fIcomment\fR"
-The new user's password file comment field.
-.IP "\fB-d \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 \fIdefault_home\fR
-and use that as the login directory name.
-.IP "\fB-e \fIexpire_date\fR"
-The date on which the user account will be disabled.
-The date is specified in the format \fIYYYY-MM-DD\fR.
-.IP "\fB-f \fIinactive_days\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.
-.IP "\fB-g \fIinitial_group\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.
-.IP "\fB-G \fIgroup,[...]\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.
-.IP \fB-m\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 \fIskeleton_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.
-.IP "\fB-p \fIpasswd\fR"
-The encrypted password, as returned by \fBcrypt\fR(3).
-The default is to disable the account.
-.IP "\fB-s \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.
-.IP "\fB-u \fIuid\fR"
-The numerical value of the user's ID.
-This value must be unique, unless the \fI-o\fR option is used.
-The value must be non-negative.
-The default is to use the smallest ID value greater than 99 and
-greater than every other user.
-Values between 0 and 99 are typically reserved for system accounts.
-.SS Changing the default values
-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
-.IP "\fB-b \fIdefault_home\fR"
-The initial path prefix for a new user's home directory.
-The user's name will be affixed to the end of \fIdefault_home\fR
-to create the new directory name if the \fB-d\fI option is not
-used when creating a new account.
-.IP "\fB-e \fIdefault_expire_date\fR"
-The date on which the user account is disabled.
-.IP "\fB-f \fIdefault_inactive\fR"
-The number of days after a password has expired before the
-account will be disabled.
-.IP "\fB-g \fIdefault_group\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 .
-.IP "\fB-s \fIdefault_shell\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 displays the current
-default values.
-.SH NOTES
-The system administrator is responsible for placing the default
-user files in the \fI/etc/skel\fR directory.
-.SH CAVEATS
-You may not add a user to an NIS group.
-This must be performed on the NIS server.
-.SH FILES
-/etc/passwd \- user account information
-.br
-/etc/shadow \- secure user account information
-.br
-/etc/group \- group information
-.br
-/etc/default/useradd \- default information
-.br
-/etc/skel \- directory containing default files
-.SH SEE ALSO
-.BR chfn (1),
-.BR chsh (1),
-.BR crypt (3),
-.BR groupadd (8),
-.BR groupdel (8),
-.BR groupmod (8),
-.BR passwd (1),
-.BR userdel (8),
-.BR usermod (8)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" Copyright 1991 - 1994, 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.
-.\"
-.\" $Id: userdel.8,v 1.5 2000/08/26 18:27:17 marekm Exp $
-.\"
-.TH USERDEL 8
-.SH NAME
-userdel \- Delete a user account and related files
-.SH SYNOPSIS
-.B userdel
-[\fB-r\fR]
-.I login
-.SH DESCRIPTION
-The \fBuserdel\fR command modifies the system account files, deleting
-all entries that refer to \fIlogin\fR.
-The named user must exist.
-.IP \fB-r\fR
-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.
-.SH FILES
-/etc/passwd \- user account information
-.br
-/etc/shadow \- secure user account information
-.br
-/etc/group \- group information
-.SH CAVEATS
-\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 an NIS client.
-This must be performed on the NIS server.
-.SH SEE ALSO
-.BR chfn (1),
-.BR chsh (1),
-.BR groupadd (8),
-.BR groupdel (8),
-.BR groupmod (8),
-.BR passwd (1),
-.BR useradd (8),
-.BR usermod (8)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" Copyright 1991 - 1994, 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.
-.\"
-.\" $Id: usermod.8,v 1.8 2000/09/02 18:40:43 marekm Exp $
-.\"
-.TH USERMOD 8
-.SH NAME
-usermod \- Modify a user account
-.SH SYNOPSIS
-.TP 8
-.B usermod
-.\" .RB [ -A
-.\" .RI { method | \fBDEFAULT\fR "},... ]"
-.RB [ -c
-.IR comment ]
-.RB [ -d
-.IR home_dir " ["
-.BR -m ]]
-.br
-.RB [ -e
-.IR expire_date ]
-.RB [ -f
-.IR inactive_time ]
-.br
-.RB [ -g
-.IR initial_group ]
-.RB [ -G
-.IR group [,...]]
-.br
-.RB [ -l
-.IR login_name ]
-.RB [ -p
-.IR passwd ]
-.br
-.RB [ -s
-.IR shell ]
-.RB [ -u
-.IR uid " ["
-.BR -o ]]
-.RB [ -L | -U ]
-.I login
-.SH DESCRIPTION
-The \fBusermod\fR command modifies the system account files to reflect
-the changes that are specified on the command line.
-The options which apply to the \fBusermod\fR command are
-.\" .IP "\fB-A \fImethod\fR|\fBDEFAULT\fR"
-.\" The new value of the user's authentication method.
-.\" The authentication method is the name of a program which is responsible
-.\" for validating the user's identity.
-.\" The string \fBDEFAULT\fR may be used to change the user's authentication
-.\" method to the standard system password method.
-.IP "\fB-c \fIcomment\fR"
-The new value of the user's password file comment field.
-It is normally modified using the \fBchfn\fR(1) utility.
-.IP "\fB-d \fIhome_dir\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.
-.IP "\fB-e \fIexpire_date\fR"
-The date on which the user account will be disabled.
-The date is specified in the format \fIYYYY-MM-DD\fR.
-.IP "\fB-f \fIinactive_days\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.
-.IP "\fB-g \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.
-.IP "\fB-G \fIgroup,[...]\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
-.IP "\fB-l \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.
-.IP "\fB-p \fIpasswd\fR"
-The encrypted password, as returned by \fBcrypt\fR(3).
-.IP "\fB-s \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.
-.IP "\fB-u \fIuid\fR"
-The numerical value of the user's ID.
-This value must be unique, unless the \fI-o\fR option is used.
-The value must be non-negative.
-Values between 0 and 99 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.
-.IP "\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 \fI-p\fR or \fI-U\fR.
-.IP "\fB-U\fR"
-Unlock a user's password.
-This removes the '!' in front of the encrypted password.
-You can't use this option with \fI-p\fR or \fI-L\fR.
-.SH CAVEATS
-\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
-/etc/passwd \- user account information
-.br
-/etc/shadow \- secure user account information
-.br
-/etc/group \- group information
-.SH SEE ALSO
-.BR chfn (1),
-.BR chsh (1),
-.BR crypt (3),
-.BR groupadd (8),
-.BR groupdel (8),
-.BR groupmod (8),
-.BR passwd (1),
-.BR useradd (8),
-.BR userdel (8)
-.SH AUTHOR
-Julianne Frances Haugh (jfh@austin.ibm.com)
+++ /dev/null
-.\" $Id: vipw.8,v 1.2 1997/12/14 20:07:22 marekm Exp $
-.TH VIPW 8 "26 Sep 1997"
-.SH NAME
-vipw, vigr \- edit the password, group, shadow-password, or shadow-group file.
-.SH SYNOPSIS
-.BR vipw " [-s]"
-.br
-.BR vigr " [-s]"
-.SH DESCRIPTION
-.BR vipw " and " vigr
-will edit the files
-.IR /etc/passwd " and " /etc/group ", respectively."
-With the
-.B -s
-flag, they will edit the shadow versions of those files,
-.IR /etc/shadow " and " /etc/gshadow ", 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
-.BR VISUAL ,
-then the environment variable
-.BR EDITOR ,
-and finally the default editor,
-.BR vi .
-.SH "SEE ALSO"
-.BR passwd (5),
-.BR group (5),
-.BR shadow (5)
install-data-no: all
install-data-yes: all
if test -r "$(MKINSTALLDIRS)"; then \
- $(MKINSTALLDIRS) $(datadir); \
+ $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \
else \
- $(SHELL) $(top_srcdir)/mkinstalldirs $(datadir); \
+ $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \
fi
@catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
*) destdir=$(localedir);; \
esac; \
lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
- dir=$$destdir/$$lang/LC_MESSAGES; \
+ dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \
if test -r "$(MKINSTALLDIRS)"; then \
$(MKINSTALLDIRS) $$dir; \
else \
done
if test "$(PACKAGE)" = "gettext"; then \
if test -r "$(MKINSTALLDIRS)"; then \
- $(MKINSTALLDIRS) $(gettextsrcdir); \
+ $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \
else \
- $(SHELL) $(top_srcdir)/mkinstalldirs $(gettextsrcdir); \
+ $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \
fi; \
$(INSTALL_DATA) $(srcdir)/Makefile.in.in \
- $(gettextsrcdir)/Makefile.in.in; \
+ $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
else \
: ; \
fi
{"Password Expires:\t", 61},
{"Password Inactive:\t", 62},
{"Account Expires:\t", 63},
- {"%s: do not include \"l\" with other flags\n", 64},
- {"%s: permission denied\n", 65},
- {"%s: can't lock password file\n", 66},
- {"%s: can't open password file\n", 67},
- {"%s: unknown user: %s\n", 68},
- {"%s: can't lock shadow password file\n", 69},
- {"%s: can't open shadow password file\n", 70},
- {"Changing the aging information for %s\n", 71},
- {"%s: error changing fields\n", 72},
- {"%s: can't update password file\n", 73},
- {"%s: can't update shadow password file\n", 74},
- {"Error updating the DBM password entry.\n", 75},
- {"%s: can't rewrite shadow password file\n", 76},
- {"%s: can't rewrite password file\n", 77},
- {"%s: no aging information present\n", 78},
+ {"%s: PAM authentication failed\n", 64},
+ {"%s: do not include \"l\" with other flags\n", 65},
+ {"%s: permission denied\n", 66},
+ {"%s: can't lock password file\n", 67},
+ {"%s: can't open password file\n", 68},
+ {"%s: unknown user: %s\n", 69},
+ {"%s: can't lock shadow password file\n", 70},
+ {"%s: can't open shadow password file\n", 71},
+ {"Changing the aging information for %s\n", 72},
+ {"%s: error changing fields\n", 73},
+ {"%s: can't update password file\n", 74},
+ {"%s: can't update shadow password file\n", 75},
+ {"Error updating the DBM password entry.\n", 76},
+ {"%s: can't rewrite shadow password file\n", 77},
+ {"%s: can't rewrite password file\n", 78},
+ {"%s: PAM chauthtok failed\n", 79},
+ {"%s: no aging information present\n", 80},
{"\
Usage: %s [ -f full_name ] [ -r room_no ] [ -w work_ph ]\n\
-\t[ -h home_ph ] [ -o other ] [ user ]\n", 79},
+\t[ -h home_ph ] [ -o other ] [ user ]\n", 81},
{"\
-Usage: %s [ -f full_name ] [ -r room_no ] [ -w work_ph ] [ -h home_ph ]\n", 80},
- {"Enter the new value, or press return for the default\n", 81},
- {"Full Name", 82},
- {"\tFull Name: %s\n", 83},
- {"Room Number", 84},
- {"\tRoom Number: %s\n", 85},
- {"Work Phone", 86},
- {"\tWork Phone: %s\n", 87},
- {"Home Phone", 88},
- {"\tHome Phone: %s\n", 89},
- {"Other", 90},
- {"%s: Permission denied.\n", 91},
- {"%s: Unknown user %s\n", 92},
- {"%s: Cannot determine your user name.\n", 93},
- {"%s: cannot change user `%s' on NIS client.\n", 94},
- {"%s: `%s' is the NIS master for this client.\n", 95},
- {"Changing the user information for %s\n", 96},
- {"%s: invalid name: \"%s\"\n", 97},
- {"%s: invalid room number: \"%s\"\n", 98},
- {"%s: invalid work phone: \"%s\"\n", 99},
- {"%s: invalid home phone: \"%s\"\n", 100},
- {"%s: \"%s\" contains illegal characters\n", 101},
- {"%s: fields too long\n", 102},
- {"Cannot change ID to root.\n", 103},
- {"Cannot lock the password file; try again later.\n", 104},
- {"Cannot open the password file.\n", 105},
- {"%s: %s not found in /etc/passwd\n", 106},
- {"Error updating the password entry.\n", 107},
- {"Cannot commit password file changes.\n", 108},
- {"Cannot unlock the password file.\n", 109},
- {"usage: %s [-e]\n", 110},
- {"%s: can't lock shadow file\n", 111},
- {"%s: can't open shadow file\n", 112},
- {"%s: line %d: line too long\n", 113},
- {"%s: line %d: missing new password\n", 114},
- {"%s: line %d: unknown user %s\n", 115},
- {"%s: line %d: cannot update password entry\n", 116},
- {"%s: error detected, changes ignored\n", 117},
- {"%s: error updating shadow file\n", 118},
- {"%s: error updating password file\n", 119},
- {"Usage: %s [ -s shell ] [ name ]\n", 120},
- {"Login Shell", 121},
- {"You may not change the shell for %s.\n", 122},
- {"Changing the login shell for %s\n", 123},
- {"%s: Invalid entry: %s\n", 124},
- {"%s is an invalid shell.\n", 125},
- {"Usage: %s [ -(a|d) ] shell\n", 126},
- {"Shell password: ", 127},
- {"re-enter Shell password: ", 128},
- {"%s: Passwords do not match, try again.\n", 129},
- {"%s: can't create %s", 130},
- {"%s: can't open %s", 131},
- {"%s: Shell %s not found.\n", 132},
- {"Usage: expiry { -f | -c }\n", 133},
- {"%s: WARNING! Must be set-UID root!\n", 134},
- {"%s: unknown user\n", 135},
- {"usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n", 136},
- {"Unknown User: %s\n", 137},
- {"Username Failures Maximum Latest\n", 138},
- {" %s on %s", 139},
- {" [%lds left]", 140},
- {" [%lds lock]", 141},
- {"usage: %s [-r|-R] group\n", 142},
- {" %s [-a user] group\n", 143},
- {" %s [-d user] group\n", 144},
- {" %s [-A user,...] [-M user,...] group\n", 145},
- {" %s [-M user,...] group\n", 146},
- {"%s: unknown user %s\n", 147},
- {"Permission denied.\n", 148},
- {"%s: shadow group passwords required for -A\n", 149},
- {"Who are you?\n", 150},
- {"unknown group: %s\n", 151},
- {"Adding user %s to group %s\n", 152},
- {"Removing user %s from group %s\n", 153},
- {"%s: unknown member %s\n", 154},
- {"%s: Not a tty\n", 155},
- {"Changing the password for group %s\n", 156},
- {"New Password: ", 157},
- {"Re-enter new password: ", 158},
- {"They don't match; try again", 159},
- {"%s: Try again later\n", 160},
- {"%s: can't get lock\n", 161},
- {"%s: can't get shadow lock\n", 162},
- {"%s: can't open file\n", 163},
- {"%s: can't update entry\n", 164},
- {"%s: can't update shadow entry\n", 165},
- {"%s: can't re-write file\n", 166},
- {"%s: can't re-write shadow file\n", 167},
- {"%s: can't unlock file\n", 168},
- {"%s: can't update DBM files\n", 169},
- {"%s: can't update DBM shadow files\n", 170},
- {"usage: groupadd [-g gid [-o]] group\n", 171},
- {"%s: error adding new group entry\n", 172},
- {"%s: cannot add new dbm group entry\n", 173},
- {"%s: name %s is not unique\n", 174},
- {"%s: gid %ld is not unique\n", 175},
- {"%s: can't get unique gid\n", 176},
- {"%s: %s is a not a valid group name\n", 177},
- {"%s: invalid group %s\n", 178},
- {"%s: -O requires NAME=VALUE\n", 179},
- {"%s: cannot rewrite group file\n", 180},
- {"%s: cannot rewrite shadow group file\n", 181},
- {"%s: unable to lock group file\n", 182},
- {"%s: unable to open group file\n", 183},
- {"%s: unable to lock shadow group file\n", 184},
- {"%s: unable to open shadow group file\n", 185},
- {"%s: group %s exists\n", 186},
- {"usage: groupdel group\n", 187},
- {"%s: error removing group entry\n", 188},
- {"%s: error removing group dbm entry\n", 189},
- {"%s: error removing shadow group entry\n", 190},
- {"%s: error removing shadow group dbm entry\n", 191},
- {"%s: cannot remove user's primary group.\n", 192},
- {"%s: group %s does not exist\n", 193},
- {"%s: group %s is a NIS group\n", 194},
- {"%s: %s is the NIS master\n", 195},
- {"usage: groupmod [-g gid [-o]] [-n name] group\n", 196},
- {"%s: %s not found in /etc/group\n", 197},
- {"%s: cannot add new dbm shadow group entry\n", 198},
- {"%s: %ld is not a unique gid\n", 199},
- {"%s: %s is not a unique name\n", 200},
- {"unknown user %s\n", 201},
- {"Usage: %s [ -r ] [ group [ gshadow ] ]\n", 202},
- {"Usage: %s [ -r ] [ group ]\n", 203},
- {"No", 204},
- {"%s: cannot lock file %s\n", 205},
- {"%s: cannot open file %s\n", 206},
- {"invalid group file entry\n", 207},
- {"delete line `%s'? ", 208},
- {"duplicate group entry\n", 209},
- {"invalid group name `%s'\n", 210},
- {"group %s: bad GID (%d)\n", 211},
- {"group %s: no user %s\n", 212},
- {"delete member `%s'? ", 213},
- {"invalid shadow group file entry\n", 214},
- {"duplicate shadow group entry\n", 215},
- {"no matching group file entry\n", 216},
- {"shadow group %s: no administrative user %s\n", 217},
- {"delete administrative member `%s'? ", 218},
- {"shadow group %s: no user %s\n", 219},
- {"%s: cannot update file %s\n", 220},
- {"%s: the files have been updated; run mkpasswd\n", 221},
- {"%s: no changes\n", 222},
- {"%s: the files have been updated\n", 223},
- {"%s: can't lock group file\n", 224},
- {"%s: can't open group file\n", 225},
- {"%s: can't lock shadow group file\n", 226},
- {"%s: can't open shadow group file\n", 227},
- {"%s: can't remove shadow group %s\n", 228},
- {"%s: can't update shadow entry for %s\n", 229},
- {"%s: can't update entry for group %s\n", 230},
- {"%s: can't update shadow group file\n", 231},
- {"%s: can't update group file\n", 232},
- {"%s: not configured for shadow group support.\n", 233},
- {"%s: can't delete shadow group file\n", 234},
- {"usage: id [ -a ]\n", 235},
- {"usage: id\n", 236},
- {"uid=%d(%s)", 237},
- {"uid=%d", 238},
- {" gid=%d(%s)", 239},
- {" gid=%d", 240},
- {" euid=%d(%s)", 241},
- {" euid=%d", 242},
- {" egid=%d(%s)", 243},
- {" egid=%d", 244},
- {" groups=", 245},
- {"Username Port From Latest\n", 246},
- {"Username Port Latest\n", 247},
- {"**Never logged in**", 248},
- {"usage: %s [-p] [name]\n", 249},
- {" %s [-p] [-h host] [-f name]\n", 250},
- {" %s [-p] -r host\n", 251},
- {"Invalid login time\n", 252},
+Usage: %s [ -f full_name ] [ -r room_no ] [ -w work_ph ] [ -h home_ph ]\n", 82},
+ {"Enter the new value, or press return for the default\n", 83},
+ {"Full Name", 84},
+ {"\tFull Name: %s\n", 85},
+ {"Room Number", 86},
+ {"\tRoom Number: %s\n", 87},
+ {"Work Phone", 88},
+ {"\tWork Phone: %s\n", 89},
+ {"Home Phone", 90},
+ {"\tHome Phone: %s\n", 91},
+ {"Other", 92},
+ {"%s: Permission denied.\n", 93},
+ {"%s: Unknown user %s\n", 94},
+ {"%s: Cannot determine your user name.\n", 95},
+ {"%s: cannot change user `%s' on NIS client.\n", 96},
+ {"%s: `%s' is the NIS master for this client.\n", 97},
+ {"Changing the user information for %s\n", 98},
+ {"%s: invalid name: \"%s\"\n", 99},
+ {"%s: invalid room number: \"%s\"\n", 100},
+ {"%s: invalid work phone: \"%s\"\n", 101},
+ {"%s: invalid home phone: \"%s\"\n", 102},
+ {"%s: \"%s\" contains illegal characters\n", 103},
+ {"%s: fields too long\n", 104},
+ {"Cannot change ID to root.\n", 105},
+ {"Cannot lock the password file; try again later.\n", 106},
+ {"Cannot open the password file.\n", 107},
+ {"%s: %s not found in /etc/passwd\n", 108},
+ {"Error updating the password entry.\n", 109},
+ {"Cannot commit password file changes.\n", 110},
+ {"Cannot unlock the password file.\n", 111},
+ {"usage: %s [-e]\n", 112},
+ {"%s: can't lock shadow file\n", 113},
+ {"%s: can't open shadow file\n", 114},
+ {"%s: line %d: line too long\n", 115},
+ {"%s: line %d: missing new password\n", 116},
+ {"%s: line %d: unknown user %s\n", 117},
+ {"%s: line %d: cannot update password entry\n", 118},
+ {"%s: error detected, changes ignored\n", 119},
+ {"%s: error updating shadow file\n", 120},
+ {"%s: error updating password file\n", 121},
+ {"Usage: %s [ -s shell ] [ name ]\n", 122},
+ {"Login Shell", 123},
+ {"You may not change the shell for %s.\n", 124},
+ {"Changing the login shell for %s\n", 125},
+ {"%s: Invalid entry: %s\n", 126},
+ {"%s is an invalid shell.\n", 127},
+ {"Usage: %s [ -(a|d) ] shell\n", 128},
+ {"Shell password: ", 129},
+ {"re-enter Shell password: ", 130},
+ {"%s: Passwords do not match, try again.\n", 131},
+ {"%s: can't create %s", 132},
+ {"%s: can't open %s", 133},
+ {"%s: Shell %s not found.\n", 134},
+ {"Usage: expiry { -f | -c }\n", 135},
+ {"%s: WARNING! Must be set-UID root!\n", 136},
+ {"%s: unknown user\n", 137},
+ {"usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n", 138},
+ {"Unknown User: %s\n", 139},
+ {"Username Failures Maximum Latest\n", 140},
+ {" %s on %s", 141},
+ {" [%lds left]", 142},
+ {" [%lds lock]", 143},
+ {"usage: %s [-r|-R] group\n", 144},
+ {" %s [-a user] group\n", 145},
+ {" %s [-d user] group\n", 146},
+ {" %s [-A user,...] [-M user,...] group\n", 147},
+ {" %s [-M user,...] group\n", 148},
+ {"%s: unknown user %s\n", 149},
+ {"Permission denied.\n", 150},
+ {"%s: shadow group passwords required for -A\n", 151},
+ {"Who are you?\n", 152},
+ {"unknown group: %s\n", 153},
+ {"Adding user %s to group %s\n", 154},
+ {"Removing user %s from group %s\n", 155},
+ {"%s: unknown member %s\n", 156},
+ {"%s: Not a tty\n", 157},
+ {"Changing the password for group %s\n", 158},
+ {"New Password: ", 159},
+ {"Re-enter new password: ", 160},
+ {"They don't match; try again", 161},
+ {"%s: Try again later\n", 162},
+ {"%s: can't get lock\n", 163},
+ {"%s: can't get shadow lock\n", 164},
+ {"%s: can't open file\n", 165},
+ {"%s: can't update entry\n", 166},
+ {"%s: can't update shadow entry\n", 167},
+ {"%s: can't re-write file\n", 168},
+ {"%s: can't re-write shadow file\n", 169},
+ {"%s: can't unlock file\n", 170},
+ {"%s: can't update DBM files\n", 171},
+ {"%s: can't update DBM shadow files\n", 172},
+ {"usage: groupadd [-g gid [-o]] group\n", 173},
+ {"%s: error adding new group entry\n", 174},
+ {"%s: cannot add new dbm group entry\n", 175},
+ {"%s: name %s is not unique\n", 176},
+ {"%s: gid %ld is not unique\n", 177},
+ {"%s: can't get unique gid\n", 178},
+ {"%s: %s is a not a valid group name\n", 179},
+ {"%s: invalid group %s\n", 180},
+ {"%s: -O requires NAME=VALUE\n", 181},
+ {"%s: cannot rewrite group file\n", 182},
+ {"%s: cannot rewrite shadow group file\n", 183},
+ {"%s: unable to lock group file\n", 184},
+ {"%s: unable to open group file\n", 185},
+ {"%s: unable to lock shadow group file\n", 186},
+ {"%s: unable to open shadow group file\n", 187},
+ {"%s: group %s exists\n", 188},
+ {"usage: groupdel group\n", 189},
+ {"%s: error removing group entry\n", 190},
+ {"%s: error removing group dbm entry\n", 191},
+ {"%s: error removing shadow group entry\n", 192},
+ {"%s: error removing shadow group dbm entry\n", 193},
+ {"%s: cannot remove user's primary group.\n", 194},
+ {"%s: group %s does not exist\n", 195},
+ {"%s: group %s is a NIS group\n", 196},
+ {"%s: %s is the NIS master\n", 197},
+ {"usage: groupmod [-g gid [-o]] [-n name] group\n", 198},
+ {"%s: %s not found in /etc/group\n", 199},
+ {"%s: cannot add new dbm shadow group entry\n", 200},
+ {"%s: %ld is not a unique gid\n", 201},
+ {"%s: %s is not a unique name\n", 202},
+ {"unknown user %s\n", 203},
+ {"Usage: %s [ -r ] [ group [ gshadow ] ]\n", 204},
+ {"Usage: %s [ -r ] [ group ]\n", 205},
+ {"No", 206},
+ {"%s: cannot lock file %s\n", 207},
+ {"%s: cannot open file %s\n", 208},
+ {"invalid group file entry\n", 209},
+ {"delete line `%s'? ", 210},
+ {"duplicate group entry\n", 211},
+ {"invalid group name `%s'\n", 212},
+ {"group %s: bad GID (%d)\n", 213},
+ {"group %s: no user %s\n", 214},
+ {"delete member `%s'? ", 215},
+ {"invalid shadow group file entry\n", 216},
+ {"duplicate shadow group entry\n", 217},
+ {"no matching group file entry\n", 218},
+ {"shadow group %s: no administrative user %s\n", 219},
+ {"delete administrative member `%s'? ", 220},
+ {"shadow group %s: no user %s\n", 221},
+ {"%s: cannot update file %s\n", 222},
+ {"%s: the files have been updated; run mkpasswd\n", 223},
+ {"%s: no changes\n", 224},
+ {"%s: the files have been updated\n", 225},
+ {"%s: can't lock group file\n", 226},
+ {"%s: can't open group file\n", 227},
+ {"%s: can't lock shadow group file\n", 228},
+ {"%s: can't open shadow group file\n", 229},
+ {"%s: can't remove shadow group %s\n", 230},
+ {"%s: can't update shadow entry for %s\n", 231},
+ {"%s: can't update entry for group %s\n", 232},
+ {"%s: can't update shadow group file\n", 233},
+ {"%s: can't update group file\n", 234},
+ {"%s: not configured for shadow group support.\n", 235},
+ {"%s: can't delete shadow group file\n", 236},
+ {"usage: id [ -a ]\n", 237},
+ {"usage: id\n", 238},
+ {"uid=%d(%s)", 239},
+ {"uid=%d", 240},
+ {" gid=%d(%s)", 241},
+ {" gid=%d", 242},
+ {" euid=%d(%s)", 243},
+ {" euid=%d", 244},
+ {" egid=%d(%s)", 245},
+ {" egid=%d", 246},
+ {" groups=", 247},
+ {"Username Port From Latest\n", 248},
+ {"Username Port Latest\n", 249},
+ {"**Never logged in**", 250},
+ {"usage: %s [-p] [name]\n", 251},
+ {" %s [-p] [-h host] [-f name]\n", 252},
+ {" %s [-p] -r host\n", 253},
+ {"Invalid login time\n", 254},
{"\
\n\
-System closed for routine maintenance\n", 253},
+System closed for routine maintenance\n", 255},
{"\
\n\
-[Disconnect bypassed -- root login allowed.]\n", 254},
+[Disconnect bypassed -- root login allowed.]\n", 256},
{"\
\n\
-Login timed out after %d seconds.\n", 255},
- {" on `%.100s' from `%.200s'", 256},
- {" on `%.100s'", 257},
+Login timed out after %d seconds.\n", 257},
+ {" on `%.100s' from `%.200s'", 258},
+ {" on `%.100s'", 259},
{"\
\n\
-%s login: ", 258},
- {"login: ", 259},
- {"Login incorrect", 260},
- {"Warning: login re-enabled after temporary lockout.\n", 261},
- {"Last login: %s on %s", 262},
- {"Last login: %.19s on %s", 263},
- {" from %.*s", 264},
- {"Starting rad_login\n", 265},
- {"%s: no DBM database on system - no action performed\n", 266},
- {"%s: cannot overwrite file %s\n", 267},
- {"%s: cannot open DBM files for %s\n", 268},
- {"%s: the beginning with ", 269},
- {"%s: error parsing line \"%s\"\n", 270},
- {"adding record for name ", 271},
- {"%s: error adding record for ", 272},
- {"added %d entries, longest was %d\n", 273},
- {"Usage: %s [ -vf ] [ -p|g|sp|sg ] file\n", 274},
- {"Usage: %s [ -vf ] [ -p|g|sp ] file\n", 275},
- {"Usage: %s [ -vf ] [ -p|g ] file\n", 276},
- {"usage: newgrp [ - ] [ group ]\n", 277},
- {"usage: sg group [[-c] command ]\n", 278},
- {"unknown uid: %d\n", 279},
- {"unknown gid: %ld\n", 280},
- {"unknown gid: %d\n", 281},
- {"Sorry.\n", 282},
- {"too many groups\n", 283},
- {"Usage: %s [ input ]\n", 284},
- {"%s: can't lock /etc/passwd.\n", 285},
- {"%s: can't lock files, try again later\n", 286},
- {"%s: can't open files\n", 287},
- {"%s: line %d: invalid line\n", 288},
- {"%s: line %d: can't create GID\n", 289},
- {"%s: line %d: can't create UID\n", 290},
- {"%s: line %d: cannot find user %s\n", 291},
- {"%s: line %d: can't update password\n", 292},
- {"%s: line %d: mkdir failed\n", 293},
- {"%s: line %d: chown failed\n", 294},
- {"%s: line %d: can't update entry\n", 295},
- {"%s: error updating files\n", 296},
- {"usage: %s [ -f | -s ] [ name ]\n", 297},
- {" %s [ -x max ] [ -n min ] [ -w warn ] [ -i inact ] name\n", 298},
- {" %s { -l | -u | -d | -S | -e } name\n", 299},
- {"User %s has a TCFS key, his old password is required.\n", 300},
- {"You can use -t option to force the change.\n", 301},
- {"Old password: ", 302},
- {"Incorrect password for `%s'\n", 303},
- {"Warning: user %s has a TCFS key.\n", 304},
+%s login: ", 260},
+ {"login: ", 261},
+ {"Login incorrect", 262},
+ {"Warning: login re-enabled after temporary lockout.\n", 263},
+ {"Last login: %s on %s", 264},
+ {"Last login: %.19s on %s", 265},
+ {" from %.*s", 266},
+ {"Starting rad_login\n", 267},
+ {"%s: no DBM database on system - no action performed\n", 268},
+ {"%s: cannot overwrite file %s\n", 269},
+ {"%s: cannot open DBM files for %s\n", 270},
+ {"%s: the beginning with ", 271},
+ {"%s: error parsing line \"%s\"\n", 272},
+ {"adding record for name ", 273},
+ {"%s: error adding record for ", 274},
+ {"added %d entries, longest was %d\n", 275},
+ {"Usage: %s [ -vf ] [ -p|g|sp|sg ] file\n", 276},
+ {"Usage: %s [ -vf ] [ -p|g|sp ] file\n", 277},
+ {"Usage: %s [ -vf ] [ -p|g ] file\n", 278},
+ {"usage: newgrp [ - ] [ group ]\n", 279},
+ {"usage: sg group [[-c] command ]\n", 280},
+ {"unknown uid: %d\n", 281},
+ {"unknown gid: %ld\n", 282},
+ {"unknown gid: %d\n", 283},
+ {"Sorry.\n", 284},
+ {"too many groups\n", 285},
+ {"Usage: %s [ input ]\n", 286},
+ {"%s: can't lock /etc/passwd.\n", 287},
+ {"%s: can't lock files, try again later\n", 288},
+ {"%s: can't open files\n", 289},
+ {"%s: line %d: invalid line\n", 290},
+ {"%s: line %d: can't create GID\n", 291},
+ {"%s: line %d: can't create UID\n", 292},
+ {"%s: line %d: cannot find user %s\n", 293},
+ {"%s: line %d: can't update password\n", 294},
+ {"%s: line %d: mkdir failed\n", 295},
+ {"%s: line %d: chown failed\n", 296},
+ {"%s: line %d: can't update entry\n", 297},
+ {"%s: error updating files\n", 298},
+ {"usage: %s [ -f | -s ] [ name ]\n", 299},
+ {" %s [ -x max ] [ -n min ] [ -w warn ] [ -i inact ] name\n", 300},
+ {" %s { -l | -u | -d | -S | -e } name\n", 301},
+ {"User %s has a TCFS key, his old password is required.\n", 302},
+ {"You can use -t option to force the change.\n", 303},
+ {"Old password: ", 304},
+ {"Incorrect password for `%s'\n", 305},
+ {"Warning: user %s has a TCFS key.\n", 306},
{"\
Enter the new password (minimum of %d, maximum of %d characters)\n\
-Please use a combination of upper and lower case letters and numbers.\n", 305},
- {"New password: ", 306},
- {"Try again.\n", 307},
+Please use a combination of upper and lower case letters and numbers.\n", 307},
+ {"New password: ", 308},
+ {"Try again.\n", 309},
{"\
\n\
-Warning: weak password (enter it again to use it anyway).\n", 308},
- {"They don't match; try again.\n", 309},
- {"The password for %s cannot be changed.\n", 310},
- {"Sorry, the password for %s cannot be changed yet.\n", 311},
- {"%s: out of memory\n", 312},
- {"Cannot lock the TCFS key database; try again later\n", 313},
- {"Cannot open the TCFS key database.\n", 314},
- {"Error updating the TCFS key database.\n", 315},
- {"Cannot commit TCFS changes.\n", 316},
- {"%s: Cannot execute %s", 317},
- {"%s: repository %s not supported\n", 318},
- {"%s: Permission denied\n", 319},
- {"You may not change the password for %s.\n", 320},
- {"Changing password for %s\n", 321},
- {"The password for %s is unchanged.\n", 322},
- {"Password changed.\n", 323},
- {"Usage: %s [ -qr ] [ passwd [ shadow ] ]\n", 324},
- {"Usage: %s [ -qr ] [ passwd ]\n", 325},
- {"invalid password file entry\n", 326},
- {"duplicate password entry\n", 327},
- {"invalid user name `%s'\n", 328},
- {"user %s: bad UID (%d)\n", 329},
- {"user %s: no group %d\n", 330},
- {"user %s: directory %s does not exist\n", 331},
- {"user %s: program %s does not exist\n", 332},
- {"invalid shadow password file entry\n", 333},
- {"duplicate shadow password entry\n", 334},
- {"no matching password file entry\n", 335},
- {"user %s: last password change in the future\n", 336},
- {"%s: can't lock passwd file\n", 337},
- {"%s: can't open passwd file\n", 338},
- {"%s: can't remove shadow entry for %s\n", 339},
- {"%s: can't update passwd entry for %s\n", 340},
- {"%s: can't update shadow file\n", 341},
- {"%s: can't update passwd file\n", 342},
- {"%s: Shadow passwords are not configured.\n", 343},
- {"%s: can't update entry for user %s\n", 344},
- {"%s: can't delete shadow password file\n", 345},
- {"Sorry.", 346},
- {"%s: must be run from a terminal\n", 347},
- {"%s: pam_start: error %d\n", 348},
- {"Unknown id: %s\n", 349},
- {"You are not authorized to su %s\n", 350},
- {"(Enter your own password.)", 351},
- {"%s: permission denied (shell).\n", 352},
+Warning: weak password (enter it again to use it anyway).\n", 310},
+ {"They don't match; try again.\n", 311},
+ {"The password for %s cannot be changed.\n", 312},
+ {"Sorry, the password for %s cannot be changed yet.\n", 313},
+ {"%s: out of memory\n", 314},
+ {"Cannot lock the TCFS key database; try again later\n", 315},
+ {"Cannot open the TCFS key database.\n", 316},
+ {"Error updating the TCFS key database.\n", 317},
+ {"Cannot commit TCFS changes.\n", 318},
+ {"%s: Cannot execute %s", 319},
+ {"%s: repository %s not supported\n", 320},
+ {"%s: Permission denied\n", 321},
+ {"You may not change the password for %s.\n", 322},
+ {"Changing password for %s\n", 323},
+ {"The password for %s is unchanged.\n", 324},
+ {"Password changed.\n", 325},
+ {"Usage: %s [ -qr ] [ passwd [ shadow ] ]\n", 326},
+ {"Usage: %s [ -qr ] [ passwd ]\n", 327},
+ {"invalid password file entry\n", 328},
+ {"duplicate password entry\n", 329},
+ {"invalid user name `%s'\n", 330},
+ {"user %s: bad UID (%d)\n", 331},
+ {"user %s: no group %d\n", 332},
+ {"user %s: directory %s does not exist\n", 333},
+ {"user %s: program %s does not exist\n", 334},
+ {"invalid shadow password file entry\n", 335},
+ {"duplicate shadow password entry\n", 336},
+ {"no matching password file entry\n", 337},
+ {"user %s: last password change in the future\n", 338},
+ {"%s: can't lock passwd file\n", 339},
+ {"%s: can't open passwd file\n", 340},
+ {"%s: can't remove shadow entry for %s\n", 341},
+ {"%s: can't update passwd entry for %s\n", 342},
+ {"%s: can't update shadow file\n", 343},
+ {"%s: can't update passwd file\n", 344},
+ {"%s: Shadow passwords are not configured.\n", 345},
+ {"%s: can't update entry for user %s\n", 346},
+ {"%s: can't delete shadow password file\n", 347},
+ {"Sorry.", 348},
+ {"%s: must be run from a terminal\n", 349},
+ {"%s: pam_start: error %d\n", 350},
+ {"Unknown id: %s\n", 351},
+ {"You are not authorized to su %s\n", 352},
+ {"(Enter your own password.)", 353},
+ {"%s: permission denied (shell).\n", 354},
{"\
%s: %s\n\
-(Ignored)\n", 353},
- {"No shell\n", 354},
- {"No password file\n", 355},
- {"No password entry for 'root'\n", 356},
+(Ignored)\n", 355},
+ {"No shell\n", 356},
+ {"No password file\n", 357},
+ {"No password entry for 'root'\n", 358},
{"\
\n\
Type control-d to proceed with normal startup,\n\
-(or give root password for system maintenance):", 357},
- {"Entering System Maintenance Mode\n", 358},
- {"%s: rebuild the group database\n", 359},
- {"%s: rebuild the shadow group database\n", 360},
- {"%s: invalid numeric argument `%s'\n", 361},
- {"%s: unknown gid %s\n", 362},
- {"%s: unknown group %s\n", 363},
- {"group=%s,%ld basedir=%s skel=%s\n", 364},
- {"shell=%s ", 365},
- {"inactive=%ld expire=%s", 366},
- {"GROUP=%ld\n", 367},
- {"HOME=%s\n", 368},
- {"INACTIVE=%ld\n", 369},
- {"EXPIRE=%s\n", 370},
- {"SHELL=%s\n", 371},
- {"SKEL=%s\n", 372},
- {"%s: cannot create new defaults file\n", 373},
- {"%s: rename: %s", 374},
- {"%s: group `%s' is a NIS group.\n", 375},
- {"%s: too many groups specified (max %d).\n", 376},
- {"usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n", 377},
- {"\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n", 378},
- {"[-f inactive] [-e expire ] ", 379},
- {"[-A program] ", 380},
- {"[-p passwd] name\n", 381},
- {" %s\t-D [-g group] [-b base] [-s shell]\n", 382},
- {"\t\t[-f inactive] [-e expire ]\n", 383},
- {"%s: error locking group file\n", 384},
- {"%s: error opening group file\n", 385},
- {"%s: error locking shadow group file\n", 386},
- {"%s: error opening shadow group file\n", 387},
- {"%s: uid %d is not unique\n", 388},
- {"%s: can't get unique uid\n", 389},
- {"%s: invalid field `%s'\n", 390},
- {"%s: invalid base directory `%s'\n", 391},
- {"%s: invalid comment `%s'\n", 392},
- {"%s: invalid home directory `%s'\n", 393},
- {"%s: invalid date `%s'\n", 394},
- {"%s: shadow passwords required for -e\n", 395},
- {"%s: shadow passwords required for -f\n", 396},
- {"%s: invalid shell `%s'\n", 397},
- {"%s: invalid user name `%s'\n", 398},
- {"%s: cannot rewrite password file\n", 399},
- {"%s: cannot rewrite shadow password file\n", 400},
- {"%s: unable to lock password file\n", 401},
- {"%s: unable to open password file\n", 402},
- {"%s: cannot lock shadow password file\n", 403},
- {"%s: cannot open shadow password file\n", 404},
- {"%s: error adding authentication method\n", 405},
- {"%s: error adding new password entry\n", 406},
- {"%s: error updating password dbm entry\n", 407},
- {"%s: error adding new shadow password entry\n", 408},
- {"%s: error updating shadow passwd dbm entry\n", 409},
- {"%s: cannot create directory %s\n", 410},
- {"%s: user %s exists\n", 411},
- {"%s: warning: CREATE_HOME not supported, please use -m instead.\n", 412},
- {"usage: %s [-r] name\n", 413},
- {"%s: error updating group entry\n", 414},
- {"%s: cannot update dbm group entry\n", 415},
- {"%s: cannot remove dbm group entry\n", 416},
- {"%s: cannot rewrite TCFS key file\n", 417},
- {"%s: cannot lock TCFS key file\n", 418},
- {"%s: cannot open TCFS key file\n", 419},
- {"%s: cannot open group file\n", 420},
- {"%s: cannot open shadow group file\n", 421},
- {"%s: error deleting authentication\n", 422},
- {"%s: error deleting password entry\n", 423},
- {"%s: error deleting shadow password entry\n", 424},
- {"%s: error deleting TCFS entry\n", 425},
- {"%s: error deleting password dbm entry\n", 426},
- {"%s: error deleting shadow passwd dbm entry\n", 427},
- {"%s: user %s is currently logged in\n", 428},
- {"%s: warning: %s not owned by %s, not removing\n", 429},
- {"%s: warning: can't remove ", 430},
- {"%s: user %s does not exist\n", 431},
- {"%s: user %s is a NIS user\n", 432},
- {"%s: %s not owned by %s, not removing\n", 433},
- {"%s: not removing directory %s (would remove home of user %s)\n", 434},
- {"%s: error removing directory %s\n", 435},
- {"\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n", 436},
- {"[-A {DEFAULT|program},... ] ", 437},
- {"[-p passwd] [-L|-U] name\n", 438},
- {"%s: out of memory in update_group\n", 439},
- {"%s: out of memory in update_gshadow\n", 440},
- {"%s: no flags given\n", 441},
- {"%s: shadow passwords required for -e and -f\n", 442},
- {"%s: uid %ld is not unique\n", 443},
- {"%s: error deleting authentication method\n", 444},
- {"%s: error changing authentication method\n", 445},
- {"%s: error changing password entry\n", 446},
- {"%s: error removing password entry\n", 447},
- {"%s: error adding password dbm entry\n", 448},
- {"%s: error removing passwd dbm entry\n", 449},
- {"%s: error removing shadow password entry\n", 450},
- {"%s: error removing shadow passwd dbm entry\n", 451},
- {"%s: directory %s exists\n", 452},
- {"%s: can't create %s\n", 453},
- {"%s: can't chown %s\n", 454},
- {"%s: cannot rename directory %s to %s\n", 455},
- {"%s: warning: %s not owned by %s\n", 456},
- {"failed to change mailbox owner", 457},
- {"failed to rename mailbox", 458},
+(or give root password for system maintenance):", 359},
+ {"Entering System Maintenance Mode\n", 360},
+ {"%s: rebuild the group database\n", 361},
+ {"%s: rebuild the shadow group database\n", 362},
+ {"%s: invalid numeric argument `%s'\n", 363},
+ {"%s: unknown gid %s\n", 364},
+ {"%s: unknown group %s\n", 365},
+ {"group=%s,%ld basedir=%s skel=%s\n", 366},
+ {"shell=%s ", 367},
+ {"inactive=%ld expire=%s", 368},
+ {"GROUP=%ld\n", 369},
+ {"HOME=%s\n", 370},
+ {"INACTIVE=%ld\n", 371},
+ {"EXPIRE=%s\n", 372},
+ {"SHELL=%s\n", 373},
+ {"SKEL=%s\n", 374},
+ {"%s: cannot create new defaults file\n", 375},
+ {"%s: rename: %s", 376},
+ {"%s: group `%s' is a NIS group.\n", 377},
+ {"%s: too many groups specified (max %d).\n", 378},
+ {"usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n", 379},
+ {"\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n", 380},
+ {"[-f inactive] [-e expire ] ", 381},
+ {"[-A program] ", 382},
+ {"[-p passwd] name\n", 383},
+ {" %s\t-D [-g group] [-b base] [-s shell]\n", 384},
+ {"\t\t[-f inactive] [-e expire ]\n", 385},
+ {"%s: error locking group file\n", 386},
+ {"%s: error opening group file\n", 387},
+ {"%s: error locking shadow group file\n", 388},
+ {"%s: error opening shadow group file\n", 389},
+ {"%s: uid %d is not unique\n", 390},
+ {"%s: can't get unique uid\n", 391},
+ {"%s: invalid field `%s'\n", 392},
+ {"%s: invalid base directory `%s'\n", 393},
+ {"%s: invalid comment `%s'\n", 394},
+ {"%s: invalid home directory `%s'\n", 395},
+ {"%s: invalid date `%s'\n", 396},
+ {"%s: shadow passwords required for -e\n", 397},
+ {"%s: shadow passwords required for -f\n", 398},
+ {"%s: invalid shell `%s'\n", 399},
+ {"%s: invalid user name `%s'\n", 400},
+ {"%s: cannot rewrite password file\n", 401},
+ {"%s: cannot rewrite shadow password file\n", 402},
+ {"%s: unable to lock password file\n", 403},
+ {"%s: unable to open password file\n", 404},
+ {"%s: cannot lock shadow password file\n", 405},
+ {"%s: cannot open shadow password file\n", 406},
+ {"%s: error adding authentication method\n", 407},
+ {"%s: error adding new password entry\n", 408},
+ {"%s: error updating password dbm entry\n", 409},
+ {"%s: error adding new shadow password entry\n", 410},
+ {"%s: error updating shadow passwd dbm entry\n", 411},
+ {"%s: cannot create directory %s\n", 412},
+ {"%s: user %s exists\n", 413},
+ {"\
+%s: group %s exists - if you want to add this user to that group, use -g.\n", 414},
+ {"%s: warning: CREATE_HOME not supported, please use -m instead.\n", 415},
+ {"usage: %s [-r] name\n", 416},
+ {"%s: error updating group entry\n", 417},
+ {"%s: cannot update dbm group entry\n", 418},
+ {"%s: cannot remove dbm group entry\n", 419},
+ {"%s: cannot rewrite TCFS key file\n", 420},
+ {"%s: cannot lock TCFS key file\n", 421},
+ {"%s: cannot open TCFS key file\n", 422},
+ {"%s: cannot open group file\n", 423},
+ {"%s: cannot open shadow group file\n", 424},
+ {"%s: error deleting authentication\n", 425},
+ {"%s: error deleting password entry\n", 426},
+ {"%s: error deleting shadow password entry\n", 427},
+ {"%s: error deleting TCFS entry\n", 428},
+ {"%s: error deleting password dbm entry\n", 429},
+ {"%s: error deleting shadow passwd dbm entry\n", 430},
+ {"%s: user %s is currently logged in\n", 431},
+ {"%s: warning: %s not owned by %s, not removing\n", 432},
+ {"%s: warning: can't remove ", 433},
+ {"%s: user %s does not exist\n", 434},
+ {"%s: user %s is a NIS user\n", 435},
+ {"%s: %s not owned by %s, not removing\n", 436},
+ {"%s: not removing directory %s (would remove home of user %s)\n", 437},
+ {"%s: error removing directory %s\n", 438},
+ {"\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n", 439},
+ {"[-A {DEFAULT|program},... ] ", 440},
+ {"[-p passwd] [-L|-U] name\n", 441},
+ {"%s: out of memory in update_group\n", 442},
+ {"%s: out of memory in update_gshadow\n", 443},
+ {"%s: no flags given\n", 444},
+ {"%s: shadow passwords required for -e and -f\n", 445},
+ {"%s: uid %ld is not unique\n", 446},
+ {"%s: error deleting authentication method\n", 447},
+ {"%s: error changing authentication method\n", 448},
+ {"%s: error changing password entry\n", 449},
+ {"%s: error removing password entry\n", 450},
+ {"%s: error adding password dbm entry\n", 451},
+ {"%s: error removing passwd dbm entry\n", 452},
+ {"%s: error removing shadow password entry\n", 453},
+ {"%s: error removing shadow passwd dbm entry\n", 454},
+ {"%s: directory %s exists\n", 455},
+ {"%s: can't create %s\n", 456},
+ {"%s: can't chown %s\n", 457},
+ {"%s: cannot rename directory %s to %s\n", 458},
+ {"%s: warning: %s not owned by %s\n", 459},
+ {"failed to change mailbox owner", 460},
+ {"failed to rename mailbox", 461},
{"\
\n\
-%s: %s is unchanged\n", 459},
- {"Couldn't lock file", 460},
- {"Couldn't make backup", 461},
- {"%s: can't restore %s: %s (your changes are in %s)\n", 462},
+%s: %s is unchanged\n", 462},
+ {"Couldn't lock file", 463},
+ {"Couldn't make backup", 464},
+ {"%s: can't restore %s: %s (your changes are in %s)\n", 465},
{"\
Usage:\n\
`vipw' edits /etc/passwd `vipw -s' edits /etc/shadow\n\
-`vigr' edits /etc/group `vigr -s' edits /etc/gshadow\n", 463},
+`vigr' edits /etc/group `vigr -s' edits /etc/gshadow\n", 466},
};
-int _msg_tbl_length = 463;
+int _msg_tbl_length = 466;
--- /dev/null
+# Czech translation of shadow-utils.
+# Jiøí Pavlovský <pavlovsk@ff.cuni.cz>, 1999-2000
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: shadow-utils-20000902\n"
+"POT-Creation-Date: 2000-10-12 06:20+0200\n"
+"PO-Revision-Date: 2000-09-23 19:58+0200\n"
+"Last-Translator: Jiøí Pavlovský <pavlovsk@ff.cuni.cz>\n"
+"Language-Team: Czech <cs@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: libmisc/addgrps.c:60
+#, c-format
+msgid "Warning: unknown group %s\n"
+msgstr "Varování: skupina %s je neznámá\n"
+
+#: libmisc/addgrps.c:71
+msgid "Warning: too many groups\n"
+msgstr "Varování: pøíli¹ mnoho skupin\n"
+
+#: libmisc/age.c:104
+msgid "Your password has expired."
+msgstr "Platnost va¹eho hesla vypr¹ela."
+
+#: libmisc/age.c:107
+msgid "Your password is inactive."
+msgstr "Va¹e heslo je vypnuto."
+
+#: libmisc/age.c:110
+msgid "Your login has expired."
+msgstr "Platnost va¹eho úètu vypr¹ela."
+
+#: libmisc/age.c:127
+msgid " Contact the system administrator.\n"
+msgstr " Kontaktujte správce systému.\n"
+
+#: libmisc/age.c:130
+msgid " Choose a new password.\n"
+msgstr " Zvolte nové heslo.\n"
+
+#: libmisc/age.c:228
+#, c-format
+msgid "Your password will expire in %ld days.\n"
+msgstr "Platnost va¹eho heslo vypr¹í za %ld dnù.\n"
+
+#: libmisc/age.c:230
+msgid "Your password will expire tomorrow.\n"
+msgstr "Platnost va¹eho heslo vypr¹í zítra.\n"
+
+#: libmisc/age.c:232
+msgid "Your password will expire today.\n"
+msgstr "Platnost va¹eho heslo vypr¹í dnes.\n"
+
+#: libmisc/chowntty.c:110
+#, c-format
+msgid "Unable to change tty %s"
+msgstr "TTY %s nelze zmìnit."
+
+#: libmisc/env.c:160
+msgid "Environment overflow\n"
+msgstr "Pøeteèení prostøedí\n"
+
+#: libmisc/env.c:200
+#, c-format
+msgid "You may not change $%s\n"
+msgstr "Nemù¾ete zmìnit $%s\n"
+
+#: libmisc/failure.c:238
+#, c-format
+msgid "%d %s since last login. Last was %s on %s.\n"
+msgstr "Poèet %2$s od posledního pøihlá¹ení: %1$d. Poslední: %3$s na %4$s\n"
+
+#: libmisc/failure.c:239
+msgid "failures"
+msgstr "selhání"
+
+#: libmisc/failure.c:239
+msgid "failure"
+msgstr "selhání"
+
+#: libmisc/limits.c:397
+msgid "Too many logins.\n"
+msgstr "Pøíli¹ mnoho soubì¾ných pøihlá¹ení.\n"
+
+#: libmisc/login_desrpc.c:63
+#, c-format
+msgid "Password does not decrypt secret key for %s.\n"
+msgstr "Tímto heslem nelze de¹ifrovat tajný klíè pro %s.\n"
+
+#: libmisc/login_desrpc.c:69
+#, c-format
+msgid "Could not set %s's secret key: is the keyserv daemon running?\n"
+msgstr "Tajný klíè pro %s nelze nastavit. Je keyserv démon v provozu?\n"
+
+#: libmisc/mail.c:62 libmisc/mail.c:77
+msgid "You have new mail."
+msgstr "Máte novou po¹tu."
+
+#: libmisc/mail.c:73
+msgid "No mail."
+msgstr "Nemáte ¾ádnou po¹tu."
+
+#: libmisc/mail.c:75
+msgid "You have mail."
+msgstr "Máte po¹tu."
+
+#: libmisc/obscure.c:281 src/passwd.c:309
+#, c-format
+msgid "Bad password: %s. "
+msgstr "Heslo %s je chybné. "
+
+#: libmisc/pam_pass.c:42
+#, c-format
+msgid "passwd: pam_start() failed, error %d\n"
+msgstr "passwd: volání pam_start() selhalo, chyba %d\n"
+
+#: libmisc/pam_pass.c:49
+#, c-format
+msgid "passwd: %s\n"
+msgstr "passwd: %s\n"
+
+#: libmisc/setupenv.c:205
+#, c-format
+msgid "Unable to cd to \"%s\"\n"
+msgstr "Nelze nastavit aktuální adresáø na \"%s\".\n"
+
+#: libmisc/setupenv.c:213
+msgid "No directory, logging in with HOME=/"
+msgstr "®ádný adresáø, nastavuji HOME na /"
+
+#: libmisc/shell.c:78
+#, c-format
+msgid "Executing shell %s\n"
+msgstr "Spou¹tím shell %s.\n"
+
+#.
+#. * Obviously something is really wrong - I can't figure out
+#. * how to execute this stupid shell, so I might as well give
+#. * up in disgust ...
+#.
+#: libmisc/shell.c:122
+#, c-format
+msgid "Cannot execute %s"
+msgstr "%s nelze spustit."
+
+#: libmisc/suauth.c:99
+msgid "Access to su to that account DENIED.\n"
+msgstr "Z tohoto úètu je pøístup k su ZAKÁZÁN.\n"
+
+#: libmisc/suauth.c:106
+msgid "Password authentication bypassed.\n"
+msgstr "Ovìøování heslem vynecháno.\n"
+
+#: libmisc/suauth.c:113
+msgid "Please enter your OWN password as authentication.\n"
+msgstr "Pro ovìøení zadejte VA©E vlastní heslo.\n"
+
+#: libmisc/sub.c:61
+#, c-format
+msgid "Invalid root directory \"%s\"\n"
+msgstr "Chybný koøenový adresáø \"%s\"\n"
+
+#: libmisc/sub.c:73
+#, c-format
+msgid "Can't change root directory to \"%s\"\n"
+msgstr "Nelze nastavit koøenový adresáø na \"%s\".\n"
+
+#: libmisc/xmalloc.c:28
+#, c-format
+msgid "malloc(%d) failed\n"
+msgstr "volání malloc(%d) selhalo\n"
+
+#: lib/dialchk.c:71
+msgid "Dialup Password: "
+msgstr "Heslo pro pøístup vytáèenou linkou:"
+
+#: lib/getdef.c:253
+msgid "Could not allocate space for config info.\n"
+msgstr "Nemohu alokovat dostatek místa pro konfiguraèní údaje.\n"
+
+#.
+#. * Item was never found.
+#.
+#: lib/getdef.c:307
+#, c-format
+msgid "configuration error - unknown item '%s' (notify administrator)\n"
+msgstr ""
+"konfiguraèní chyba - neznámý pøedmìt '%s' (informujte správce systému)\n"
+
+#: lib/getdef.c:394
+#, c-format
+msgid "error - lookup '%s' failed\n"
+msgstr "chyba - hledání '%s' bylo neúspì¹né\n"
+
+#: lib/getdef.c:402
+#, c-format
+msgid "%s not found\n"
+msgstr "%s nenalezeno\n"
+
+#.
+#. * get the password from her, and set the salt for
+#. * the decryption from the group file.
+#.
+#: lib/pwauth.c:54 src/newgrp.c:305
+msgid "Password: "
+msgstr "Heslo: "
+
+#: lib/pwauth.c:56
+#, c-format
+msgid "%s's Password: "
+msgstr "Heslo u¾ivatele %s:"
+
+#: lib/pwauth.c:270
+msgid "(Echo on) "
+msgstr "(Echo zapnuto)"
+
+#: lib/strerror.c:20
+#, c-format
+msgid "Unknown error %d"
+msgstr "Neznámá chyba %d"
+
+#: src/chage.c:162
+#, c-format
+msgid ""
+"Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -W warn ]\n"
+" [ -I inactive ] [ -E expire ] [ -d last_day ] user\n"
+msgstr ""
+"Pou¾ití: %s [ -l ] [ -m min_dnù ] [ -M max_dnù ] [ -W varování ]\n"
+" [ -I vypnutí ] [ -E vypr¹ení ] [ -d poslední den ] u¾ivatel\n"
+
+#: src/chage.c:164
+#, c-format
+msgid "Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -d last_day ] user\n"
+msgstr ""
+"Pou¾ití: %s [ -l ] [ -m min_dnù ] [ -M max_dnù ] [ -d poslední den ] "
+"u¾ivatel\n"
+
+#: src/chage.c:199
+msgid ""
+"Enter the new value, or press return for the default\n"
+"\n"
+msgstr ""
+"Zadejte novou hodnotu, nebo stisknìte return pro pou¾ití implicitní hodnoty\n"
+"\n"
+
+#: src/chage.c:202
+msgid "Minimum Password Age"
+msgstr "Minimální stáøí hesla"
+
+#: src/chage.c:207
+msgid "Maximum Password Age"
+msgstr "maximální stáøí hesla"
+
+#: src/chage.c:213
+msgid "Last Password Change (YYYY-MM-DD)"
+msgstr "Poslední zmìna hesla (YYYY-MM-DD)"
+
+#: src/chage.c:222
+msgid "Password Expiration Warning"
+msgstr "Varování o vypr¹ení platnosti hesla"
+
+#: src/chage.c:227
+msgid "Password Inactive"
+msgstr "Vypnuté heslo"
+
+#: src/chage.c:233
+msgid "Account Expiration Date (YYYY-MM-DD)"
+msgstr "Vypr¹ení platnosti úètu (YYYY-MM-DD)"
+
+#.
+#. * Start with the easy numbers - the number of days before the
+#. * password can be changed, the number of days after which the
+#. * password must be chaged, the number of days before the
+#. * password expires that the user is told, and the number of
+#. * days after the password expires that the account becomes
+#. * unusable.
+#.
+#: src/chage.c:287
+#, c-format
+msgid "Minimum:\t%ld\n"
+msgstr "Minimum:\t%ld\n"
+
+#: src/chage.c:288
+#, c-format
+msgid "Maximum:\t%ld\n"
+msgstr "Maximum:\t%ld\n"
+
+#: src/chage.c:290
+#, c-format
+msgid "Warning:\t%ld\n"
+msgstr "Varování:\t%ld\n"
+
+#: src/chage.c:291
+#, c-format
+msgid "Inactive:\t%ld\n"
+msgstr "Vypnutí:\t%ld\n"
+
+#.
+#. * 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.
+#.
+#: src/chage.c:300
+msgid "Last Change:\t\t"
+msgstr "Poslední zmìna:\t\t"
+
+#: src/chage.c:302 src/chage.c:316 src/chage.c:333 src/chage.c:346
+msgid "Never\n"
+msgstr "Nikdy\n"
+
+#.
+#. * The password expiration date is determined from the last
+#. * change date plus the number of days the password is valid
+#. * for.
+#.
+#: src/chage.c:314
+msgid "Password Expires:\t"
+msgstr "Platnost hesla vypr¹í:\t"
+
+#.
+#. * The account becomes inactive if the password is expired
+#. * for more than "inactdays". The expiration date is calculated
+#. * and the number of inactive days is added. The resulting date
+#. * is when the active will be disabled.
+#.
+#: src/chage.c:330
+msgid "Password Inactive:\t"
+msgstr "Vypnuté heslo:\t"
+
+#.
+#. * The account will expire on the given date regardless of the
+#. * password expiring or not.
+#.
+#: src/chage.c:344
+msgid "Account Expires:\t"
+msgstr "Platnost hesla vypr¹í:\t"
+
+#: src/chage.c:453 src/chpasswd.c:152 src/groupadd.c:536 src/groupdel.c:322
+#: src/groupmod.c:522 src/newusers.c:389 src/useradd.c:1707 src/userdel.c:738
+#: src/usermod.c:1684
+#, fuzzy, c-format
+msgid "%s: PAM authentication failed\n"
+msgstr "%s: chyba pøi vytváøení ovìøovací metody\n"
+
+#: src/chage.c:536
+#, c-format
+msgid "%s: do not include \"l\" with other flags\n"
+msgstr "%s: nepou¾ívejte \"l\" s ostatními pøíznaky\n"
+
+#: src/chage.c:548 src/chage.c:660 src/login.c:529
+#, c-format
+msgid "%s: permission denied\n"
+msgstr "%s: pøístup odmítnut\n"
+
+#: src/chage.c:560 src/chpasswd.c:170
+#, c-format
+msgid "%s: can't lock password file\n"
+msgstr "%s: soubor s hesly nelze zamknout\n"
+
+#: src/chage.c:566 src/chpasswd.c:174
+#, c-format
+msgid "%s: can't open password file\n"
+msgstr "%s: soubor s hesly nelze otevøít\n"
+
+#: src/chage.c:573
+#, c-format
+msgid "%s: unknown user: %s\n"
+msgstr "%s: u¾ivatel %s je neznámý\n"
+
+#: src/chage.c:592
+#, c-format
+msgid "%s: can't lock shadow password file\n"
+msgstr "%s: soubor se stínovými hesly nelze zamknout\n"
+
+#: src/chage.c:599
+#, c-format
+msgid "%s: can't open shadow password file\n"
+msgstr "%s: soubor se stínovými hesly nelze otevøít\n"
+
+#: src/chage.c:681
+#, c-format
+msgid "Changing the aging information for %s\n"
+msgstr "Mìním informace o u¾ivateli %s.\n"
+
+#: src/chage.c:683
+#, c-format
+msgid "%s: error changing fields\n"
+msgstr "%s: chyba pøi zmìnì polo¾ek\n"
+
+#: src/chage.c:710 src/chage.c:773 src/pwunconv.c:183
+#, c-format
+msgid "%s: can't update password file\n"
+msgstr "%s: soubor s hesly nelze aktualizovat\n"
+
+#: src/chage.c:740 src/pwunconv.c:178
+#, c-format
+msgid "%s: can't update shadow password file\n"
+msgstr "%s: soubor se stínovými hesly nelze aktualizovat\n"
+
+#: src/chage.c:789 src/chage.c:804 src/chfn.c:570 src/chsh.c:409
+#: src/passwd.c:825 src/passwd.c:926
+msgid "Error updating the DBM password entry.\n"
+msgstr "Chyba pøi aktualizaci DBM databáze hesel.\n"
+
+#: src/chage.c:821
+#, c-format
+msgid "%s: can't rewrite shadow password file\n"
+msgstr "%s: soubor se stínovými hesly nelze pøepsat\n"
+
+#: src/chage.c:835
+#, c-format
+msgid "%s: can't rewrite password file\n"
+msgstr "%s: soubor s hesly nelze pøepsat\n"
+
+#: src/chage.c:853 src/chpasswd.c:346 src/groupadd.c:595 src/groupdel.c:409
+#: src/groupmod.c:606 src/newusers.c:625 src/useradd.c:1816 src/userdel.c:903
+#: src/usermod.c:1762
+#, fuzzy, c-format
+msgid "%s: PAM chauthtok failed\n"
+msgstr "%s: nelze odemknout soubor\n"
+
+#: src/chage.c:905
+#, c-format
+msgid "%s: no aging information present\n"
+msgstr "%s: chybí informace\n"
+
+#: src/chfn.c:107
+#, c-format
+msgid ""
+"Usage: %s [ -f full_name ] [ -r room_no ] [ -w work_ph ]\n"
+"\t[ -h home_ph ] [ -o other ] [ user ]\n"
+msgstr ""
+"Pou¾ití: %s [ -f jméno ] [ -r èíslo místnosti ] [ -w telefon do zamìstnání "
+"]\n"
+" [ -h telefon domù ] [ -o ostatní ] [ u¾ivatel ]\n"
+
+#: src/chfn.c:111
+#, c-format
+msgid ""
+"Usage: %s [ -f full_name ] [ -r room_no ] [ -w work_ph ] [ -h home_ph ]\n"
+msgstr ""
+"Pou¾ití: %s [ -f jméno ] [ -r èíslo místnosti ] [ -w telefon do zamìstnání "
+"]\n"
+" [ -h telefon domù ]\n"
+
+#: src/chfn.c:163 src/chsh.c:119
+msgid "Enter the new value, or press return for the default\n"
+msgstr ""
+"Zadejte novou hodnotu, nebo stisknìte return pro pou¾ití implicitní hodnoty\n"
+
+#: src/chfn.c:166
+msgid "Full Name"
+msgstr "Celé jméno"
+
+#: src/chfn.c:168
+#, c-format
+msgid "\tFull Name: %s\n"
+msgstr "\tCelé jméno: %s\n"
+
+#: src/chfn.c:171
+msgid "Room Number"
+msgstr "Èíslo místnosti"
+
+#: src/chfn.c:173
+#, c-format
+msgid "\tRoom Number: %s\n"
+msgstr "\tÈíslo místnosti: %s\n"
+
+#: src/chfn.c:176
+msgid "Work Phone"
+msgstr "Telefon do zamìstnání"
+
+#: src/chfn.c:178
+#, c-format
+msgid "\tWork Phone: %s\n"
+msgstr "\tTelefon do zamìstnání: %s\n"
+
+#: src/chfn.c:181
+msgid "Home Phone"
+msgstr "Telefon domù"
+
+#: src/chfn.c:183
+#, c-format
+msgid "\tHome Phone: %s\n"
+msgstr "\tTelefon domù: %s\n"
+
+#: src/chfn.c:186
+msgid "Other"
+msgstr "Ostatní"
+
+#: src/chfn.c:298 src/chfn.c:306 src/chfn.c:314 src/chfn.c:322 src/chfn.c:330
+#: src/chfn.c:391 src/passwd.c:1226
+#, c-format
+msgid "%s: Permission denied.\n"
+msgstr "%s: pøístup odmítnut\n"
+
+#: src/chfn.c:351 src/chsh.c:224 src/passwd.c:1277
+#, c-format
+msgid "%s: Unknown user %s\n"
+msgstr "%s: u¾ivatel %s je neznámý\n"
+
+#: src/chfn.c:357 src/chsh.c:232 src/passwd.c:1207
+#, c-format
+msgid "%s: Cannot determine your user name.\n"
+msgstr "%s: va¹e u¾ivatelské jméno nelze zjistit\n"
+
+#: src/chfn.c:373 src/chsh.c:250
+#, c-format
+msgid "%s: cannot change user `%s' on NIS client.\n"
+msgstr "%s: u¾ivatele `%s' nelze na NIS klientu zmìnit\n"
+
+#: src/chfn.c:378 src/chsh.c:257
+#, c-format
+msgid "%s: `%s' is the NIS master for this client.\n"
+msgstr "%s: `%s' je hlavním NIS serverem pro tohoto klienta\n"
+
+#: src/chfn.c:453
+#, c-format
+msgid "Changing the user information for %s\n"
+msgstr "Mìním informace o u¾ivateli %s\n"
+
+#: src/chfn.c:462
+#, c-format
+msgid "%s: invalid name: \"%s\"\n"
+msgstr "%s: jméno (\"%s\") je chybné\n"
+
+#: src/chfn.c:467
+#, c-format
+msgid "%s: invalid room number: \"%s\"\n"
+msgstr "%s: èíslo místnosti (\"%s\") je chybné\n"
+
+#: src/chfn.c:472
+#, c-format
+msgid "%s: invalid work phone: \"%s\"\n"
+msgstr "%s: telefonní èíslo do zamìstnání (\"%s\") je chybné\n"
+
+#: src/chfn.c:477
+#, c-format
+msgid "%s: invalid home phone: \"%s\"\n"
+msgstr "%s: telefonní èíslo domù (\"%s\") je chybné\n"
+
+#: src/chfn.c:482
+#, c-format
+msgid "%s: \"%s\" contains illegal characters\n"
+msgstr "%s: \"%s\" obsahuje chybné znaky\n"
+
+#: src/chfn.c:494
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: polo¾ka je pøíli¹ dlouhá\n"
+
+#: src/chfn.c:509 src/chsh.c:347 src/gpasswd.c:582 src/passwd.c:1388
+msgid "Cannot change ID to root.\n"
+msgstr "Nelze zmìnit ID na root.\n"
+
+#: src/chfn.c:522 src/chsh.c:361 src/passwd.c:735 src/passwd.c:880
+msgid "Cannot lock the password file; try again later.\n"
+msgstr "Nelze zamknout soubor s hesly; zkuste to pozdìji.\n"
+
+#: src/chfn.c:528 src/chsh.c:367 src/passwd.c:740 src/passwd.c:885
+msgid "Cannot open the password file.\n"
+msgstr "Soubor s hesly nelze otevøít.\n"
+
+#: src/chfn.c:545 src/chsh.c:382 src/passwd.c:746 src/usermod.c:1319
+#, c-format
+msgid "%s: %s not found in /etc/passwd\n"
+msgstr "%s: %s se v /etc/passwd nenalézá\n"
+
+#: src/chfn.c:562 src/chsh.c:401 src/passwd.c:819 src/passwd.c:920
+#: src/passwd.c:960
+msgid "Error updating the password entry.\n"
+msgstr "Chyba pøi aktualizaci polo¾ky v souboru s hesly.\n"
+
+#: src/chfn.c:585 src/chsh.c:424 src/passwd.c:832 src/passwd.c:933
+msgid "Cannot commit password file changes.\n"
+msgstr "Nelze provést zmìny v souboru s hesly.\n"
+
+#: src/chfn.c:592 src/chsh.c:431
+msgid "Cannot unlock the password file.\n"
+msgstr "Soubor s hesly nelze odemknout.\n"
+
+#: src/chpasswd.c:82
+#, c-format
+msgid "usage: %s [-e]\n"
+msgstr "Pou¾ití: %s [-e]\n"
+
+#: src/chpasswd.c:182 src/pwconv.c:104
+#, c-format
+msgid "%s: can't lock shadow file\n"
+msgstr "%s: soubor se stínovými hesly nelze zamknout\n"
+
+#: src/chpasswd.c:187 src/gpasswd.c:608 src/pwconv.c:109 src/pwunconv.c:118
+#: src/pwunconv.c:123
+#, c-format
+msgid "%s: can't open shadow file\n"
+msgstr "%s: soubor se stínovými hesly nelze otevøít\n"
+
+#: src/chpasswd.c:209 src/newusers.c:465
+#, c-format
+msgid "%s: line %d: line too long\n"
+msgstr "%s: øádek %d je pøíli¹ dlouhý\n"
+
+#: src/chpasswd.c:229
+#, c-format
+msgid "%s: line %d: missing new password\n"
+msgstr "%s: øádek %d: chybí nové heslo\n"
+
+#: src/chpasswd.c:245
+#, c-format
+msgid "%s: line %d: unknown user %s\n"
+msgstr "%s: øádek %d: u¾ivatel %s je neznámý\n"
+
+#: src/chpasswd.c:297
+#, c-format
+msgid "%s: line %d: cannot update password entry\n"
+msgstr "%s: øádek %d: polo¾ku v souboru s hesly nelze aktualizovat\n"
+
+#: src/chpasswd.c:313 src/newusers.c:585
+#, c-format
+msgid "%s: error detected, changes ignored\n"
+msgstr "%s: chyba, zmìny budou ignorovány\n"
+
+#: src/chpasswd.c:324
+#, c-format
+msgid "%s: error updating shadow file\n"
+msgstr "%s: chyba pøi aktualizaci souboru se stínovými hesly\n"
+
+#: src/chpasswd.c:332
+#, c-format
+msgid "%s: error updating password file\n"
+msgstr "%s: chyba pøi aktualizaci souboru s hesly\n"
+
+#: src/chsh.c:105
+#, c-format
+msgid "Usage: %s [ -s shell ] [ name ]\n"
+msgstr "Pou¾ití: %s [ -s shell ] [ jméno ]\n"
+
+#: src/chsh.c:120
+msgid "Login Shell"
+msgstr "Implicitní shell"
+
+#: src/chsh.c:273 src/chsh.c:286
+#, c-format
+msgid "You may not change the shell for %s.\n"
+msgstr "Nemù¾ete zmìnit shell pro %s.\n"
+
+#: src/chsh.c:315
+#, c-format
+msgid "Changing the login shell for %s\n"
+msgstr "Mìním implicitní shell pro %s\n"
+
+#: src/chsh.c:327
+#, c-format
+msgid "%s: Invalid entry: %s\n"
+msgstr "%s: chybná polo¾ka %s\n"
+
+#: src/chsh.c:332
+#, c-format
+msgid "%s is an invalid shell.\n"
+msgstr "Shell %s je chybný.\n"
+
+#: src/dpasswd.c:69
+#, c-format
+msgid "Usage: %s [ -(a|d) ] shell\n"
+msgstr "Pou¾ití: %s [ -(ald) ] shell\n"
+
+#: src/dpasswd.c:134
+msgid "Shell password: "
+msgstr "Heslo shellu: "
+
+#: src/dpasswd.c:140
+msgid "re-enter Shell password: "
+msgstr "zadejte znovu heslo shellu: "
+
+#: src/dpasswd.c:147
+#, c-format
+msgid "%s: Passwords do not match, try again.\n"
+msgstr "%s: hesla se li¹í, zkuste to znovu\n"
+
+#: src/dpasswd.c:167
+#, c-format
+msgid "%s: can't create %s"
+msgstr "%s: %s nelze vytvoøit"
+
+#: src/dpasswd.c:172
+#, c-format
+msgid "%s: can't open %s"
+msgstr "%s: %s nelze otevøít"
+
+#: src/dpasswd.c:200
+#, c-format
+msgid "%s: Shell %s not found.\n"
+msgstr "%s: Shell %s nebyl nalezen.\n"
+
+#: src/expiry.c:84
+msgid "Usage: expiry { -f | -c }\n"
+msgstr "Pou¾ití: expiry { -f | -c }\n"
+
+#: src/expiry.c:137
+#, c-format
+msgid "%s: WARNING! Must be set-UID root!\n"
+msgstr "%s: VAROVÁNÍ! Musí mít oprávnìní superu¾ivatele!\n"
+
+#: src/expiry.c:148
+#, c-format
+msgid "%s: unknown user\n"
+msgstr "%s: neznámý u¾ivatel\n"
+
+#: src/faillog.c:79
+#, c-format
+msgid "usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n"
+msgstr "Pou¾ití: %s [-a|-u u¾ivatel] [-m max] [-r] [-t dny] [-l zamkn sek]\n"
+
+#: src/faillog.c:134 src/lastlog.c:94
+#, c-format
+msgid "Unknown User: %s\n"
+msgstr "U¾ivatel %s je neznámý.\n"
+
+#: src/faillog.c:215
+msgid "Username Failures Maximum Latest\n"
+msgstr "Jméno Chyb Maximum Poslední\n"
+
+#: src/faillog.c:232
+#, c-format
+msgid " %s on %s"
+msgstr " %s on %s"
+
+#: src/faillog.c:236
+#, c-format
+msgid " [%lds left]"
+msgstr " [%lds zbylo]"
+
+#: src/faillog.c:239
+#, c-format
+msgid " [%lds lock]"
+msgstr " [%lds zámek]"
+
+#: src/gpasswd.c:89
+#, c-format
+msgid "usage: %s [-r|-R] group\n"
+msgstr "Pou¾ití: %s [r|-R] skupina\n"
+
+#: src/gpasswd.c:90
+#, c-format
+msgid " %s [-a user] group\n"
+msgstr " %s [-a u¾ivatel] skupina\n"
+
+#: src/gpasswd.c:91
+#, c-format
+msgid " %s [-d user] group\n"
+msgstr " %s [-d u¾ivatel] skupina\n"
+
+#: src/gpasswd.c:93
+#, c-format
+msgid " %s [-A user,...] [-M user,...] group\n"
+msgstr " %s [-A u¾ivatel,...] [-M u¾ivatel,...] skupina\n"
+
+#: src/gpasswd.c:96
+#, c-format
+msgid " %s [-M user,...] group\n"
+msgstr " %s [-M u¾ivatel,...] skupina\n"
+
+#: src/gpasswd.c:160 src/gpasswd.c:245
+#, c-format
+msgid "%s: unknown user %s\n"
+msgstr "%s: u¾ivatel %s je neznámý\n"
+
+#: src/gpasswd.c:172
+msgid "Permission denied.\n"
+msgstr "Pøístup odmítnut.\n"
+
+#: src/gpasswd.c:257
+#, c-format
+msgid "%s: shadow group passwords required for -A\n"
+msgstr "%s: pøepínaè -A funguje pouze se stínovými hesly skupin\n"
+
+#: src/gpasswd.c:308
+msgid "Who are you?\n"
+msgstr "Kdo jste?\n"
+
+#: src/gpasswd.c:328 src/newgrp.c:251
+#, c-format
+msgid "unknown group: %s\n"
+msgstr "skupina %s je neznámá\n"
+
+#: src/gpasswd.c:436
+#, c-format
+msgid "Adding user %s to group %s\n"
+msgstr "Pøidávám u¾ivatele %s do skupiny %s.\n"
+
+#: src/gpasswd.c:453
+#, c-format
+msgid "Removing user %s from group %s\n"
+msgstr "Odstraòuji u¾ivatele %s ze skupiny %s\n"
+
+#: src/gpasswd.c:466
+#, c-format
+msgid "%s: unknown member %s\n"
+msgstr "%s: èlen %s je neznámý\n"
+
+#: src/gpasswd.c:513
+#, c-format
+msgid "%s: Not a tty\n"
+msgstr "%s: Nejedná se o tty\n"
+
+#.
+#. * A new password is to be entered and it must be encrypted,
+#. * etc. The password will be prompted for twice, and both
+#. * entries must be identical. There is no need to validate
+#. * the old password since the invoker is either the group
+#. * owner, or root.
+#.
+#: src/gpasswd.c:535
+#, c-format
+msgid "Changing the password for group %s\n"
+msgstr "Mìním heslo skupiny %s\n"
+
+#: src/gpasswd.c:538
+msgid "New Password: "
+msgstr "Nové heslo: "
+
+#: src/gpasswd.c:543 src/passwd.c:422
+msgid "Re-enter new password: "
+msgstr "Zadejte opìt nové heslo: "
+
+#: src/gpasswd.c:555
+msgid "They don't match; try again"
+msgstr "Neshodují se; zkuste to opìt"
+
+#: src/gpasswd.c:559
+#, c-format
+msgid "%s: Try again later\n"
+msgstr "%s: Zkuste to pozdìji\n"
+
+#: src/gpasswd.c:590
+#, c-format
+msgid "%s: can't get lock\n"
+msgstr "%s: nelze získat zámek\n"
+
+#: src/gpasswd.c:596
+#, c-format
+msgid "%s: can't get shadow lock\n"
+msgstr "%s: nelze získat zámek pro soubor se stínovými hesly\n"
+
+#: src/gpasswd.c:602
+#, c-format
+msgid "%s: can't open file\n"
+msgstr "%s: nelze otevøít soubor\n"
+
+#: src/gpasswd.c:614
+#, c-format
+msgid "%s: can't update entry\n"
+msgstr "%s: nelze aktualizovat polo¾ku\n"
+
+#: src/gpasswd.c:620
+#, c-format
+msgid "%s: can't update shadow entry\n"
+msgstr "%s: nelze aktualizovat polo¾ku souboru se stínovými hesly\n"
+
+#: src/gpasswd.c:626
+#, c-format
+msgid "%s: can't re-write file\n"
+msgstr "%s: nelze pøepsat soubor\n"
+
+#: src/gpasswd.c:632
+#, c-format
+msgid "%s: can't re-write shadow file\n"
+msgstr "%s: nelze pøepsat soubor se stínovými hesly\n"
+
+#: src/gpasswd.c:640
+#, c-format
+msgid "%s: can't unlock file\n"
+msgstr "%s: nelze odemknout soubor\n"
+
+#: src/gpasswd.c:645
+#, c-format
+msgid "%s: can't update DBM files\n"
+msgstr "%s: nelze aktualizovat soubory s DBM databázemi\n"
+
+#: src/gpasswd.c:652
+#, c-format
+msgid "%s: can't update DBM shadow files\n"
+msgstr "%s: nelze aktualizovat soubory s DBM databázemi stínových hesel\n"
+
+#: src/groupadd.c:111
+msgid "usage: groupadd [-g gid [-o]] group\n"
+msgstr "Pou¾ití: groupadd [-g gid [-o]] skupina\n"
+
+#: src/groupadd.c:179 src/groupadd.c:202 src/groupmod.c:189 src/groupmod.c:236
+#: src/useradd.c:937 src/usermod.c:545 src/usermod.c:681
+#, c-format
+msgid "%s: error adding new group entry\n"
+msgstr "%s: chyba pøi pøidávání polo¾ky souboru se skupinami\n"
+
+#: src/groupadd.c:189 src/groupadd.c:212 src/groupmod.c:205 src/useradd.c:948
+#: src/usermod.c:557 src/usermod.c:693
+#, c-format
+msgid "%s: cannot add new dbm group entry\n"
+msgstr "%s: nelze pøidat polo¾ku do souboru s dbm databází skupin\n"
+
+#: src/groupadd.c:264 src/useradd.c:1002
+#, c-format
+msgid "%s: name %s is not unique\n"
+msgstr "%s: jméno %s není jedineèné\n"
+
+#: src/groupadd.c:279
+#, c-format
+msgid "%s: gid %ld is not unique\n"
+msgstr "%s: gid %ld není jedineèné\n"
+
+#: src/groupadd.c:303
+#, c-format
+msgid "%s: can't get unique gid\n"
+msgstr "%s: nelze vytvoøit jedineèné gid\n"
+
+#.
+#. * All invalid group names land here.
+#.
+#: src/groupadd.c:327 src/groupmod.c:347
+#, c-format
+msgid "%s: %s is a not a valid group name\n"
+msgstr "%s: %s není platným jménem skupiny\n"
+
+#: src/groupadd.c:356 src/groupmod.c:373
+#, c-format
+msgid "%s: invalid group %s\n"
+msgstr "%s: chybná skupina %s\n"
+
+#: src/groupadd.c:373 src/useradd.c:1278
+#, c-format
+msgid "%s: -O requires NAME=VALUE\n"
+msgstr "%s: pøepínaè -O vy¾aduje argument typu JMÉNO=HODNOTA\n"
+
+#: src/groupadd.c:418 src/groupdel.c:173 src/groupmod.c:409 src/useradd.c:1387
+#: src/userdel.c:309 src/usermod.c:569
+#, c-format
+msgid "%s: cannot rewrite group file\n"
+msgstr "%s: soubor se skupinami nelze pøepsat\n"
+
+#: src/groupadd.c:424 src/groupdel.c:179 src/groupmod.c:415 src/useradd.c:1395
+#: src/userdel.c:315 src/usermod.c:706
+#, c-format
+msgid "%s: cannot rewrite shadow group file\n"
+msgstr "%s: soubor se stínovými skupinami nelze pøepsat\n"
+
+#: src/groupadd.c:443 src/groupdel.c:198 src/groupmod.c:434 src/userdel.c:395
+#, c-format
+msgid "%s: unable to lock group file\n"
+msgstr "%s: soubor se skupinami nelze zamknout\n"
+
+#: src/groupadd.c:447 src/groupdel.c:202 src/groupmod.c:438
+#, c-format
+msgid "%s: unable to open group file\n"
+msgstr "%s: soubor se skupinami nelze otevøít\n"
+
+#: src/groupadd.c:452 src/groupdel.c:207 src/groupmod.c:443 src/userdel.c:404
+#, c-format
+msgid "%s: unable to lock shadow group file\n"
+msgstr "%s: soubor se stínovými skupinami nelze zamknout\n"
+
+#: src/groupadd.c:457 src/groupdel.c:212 src/groupmod.c:448
+#, c-format
+msgid "%s: unable to open shadow group file\n"
+msgstr "%s: soubor se stínovými skupinami nelze otevøít\n"
+
+#: src/groupadd.c:568
+#, c-format
+msgid "%s: group %s exists\n"
+msgstr "%s: skupina %s ji¾ existuje\n"
+
+#: src/groupdel.c:92
+msgid "usage: groupdel group\n"
+msgstr "Pou¾ití: groupdel skupina\n"
+
+#: src/groupdel.c:110 src/groupmod.c:193 src/groupmod.c:240
+#, c-format
+msgid "%s: error removing group entry\n"
+msgstr "%s: chyba pøi odstraòování polo¾ky ze souboru se skupinami\n"
+
+#: src/groupdel.c:122 src/groupmod.c:212
+#, c-format
+msgid "%s: error removing group dbm entry\n"
+msgstr "%s: chyba pøi odstraòování polo¾ky ze souboru s dbm databází skupin\n"
+
+#: src/groupdel.c:137
+#, c-format
+msgid "%s: error removing shadow group entry\n"
+msgstr "%s: chyba pøi odstraòování polo¾ky ze souboru se stínovými skupinami\n"
+
+#: src/groupdel.c:150 src/groupmod.c:258
+#, c-format
+msgid "%s: error removing shadow group dbm entry\n"
+msgstr ""
+"%s: chyba pøi odstraòování polo¾ky ze souboru s dbm databází stínových "
+"skupin\n"
+
+#.
+#. * Can't remove the group.
+#.
+#: src/groupdel.c:254
+#, c-format
+msgid "%s: cannot remove user's primary group.\n"
+msgstr "%s: primární skupinu u¾ivatele nelze odstranit\n"
+
+#: src/groupdel.c:355 src/groupmod.c:551
+#, c-format
+msgid "%s: group %s does not exist\n"
+msgstr "%s: skupina %s neexistuje\n"
+
+#: src/groupdel.c:369 src/groupmod.c:567
+#, c-format
+msgid "%s: group %s is a NIS group\n"
+msgstr "%s: skupina %s je NIS skupinou\n"
+
+#: src/groupdel.c:375 src/groupmod.c:573 src/userdel.c:811 src/usermod.c:1022
+#, c-format
+msgid "%s: %s is the NIS master\n"
+msgstr "%s: %s je hlavním NIS serverem\n"
+
+#: src/groupmod.c:111
+msgid "usage: groupmod [-g gid [-o]] [-n name] group\n"
+msgstr "Pou¾ití: groupmod [-g gid [-o]] [-n jméno] skupina\n"
+
+#: src/groupmod.c:171
+#, c-format
+msgid "%s: %s not found in /etc/group\n"
+msgstr "%s: %s se v /etc/group nenalézá\n"
+
+#: src/groupmod.c:252
+#, c-format
+msgid "%s: cannot add new dbm shadow group entry\n"
+msgstr "%s: nelze pøidat polo¾ku do souboru s dbm databází stínových skupin\n"
+
+#: src/groupmod.c:305
+#, c-format
+msgid "%s: %ld is not a unique gid\n"
+msgstr "%s: gid %ld není jedineèné\n"
+
+#: src/groupmod.c:336
+#, c-format
+msgid "%s: %s is not a unique name\n"
+msgstr "%s: jméno %s není jedineèné\n"
+
+#: src/groups.c:62
+#, c-format
+msgid "unknown user %s\n"
+msgstr "u¾ivatel %s je neznámý\n"
+
+#: src/grpck.c:98
+#, c-format
+msgid "Usage: %s [ -r ] [ group [ gshadow ] ]\n"
+msgstr ""
+"Pou¾ití: %s [ -r ] [ soubor se skupinami [ soubor se stínovými skupinami ] "
+"]\n"
+
+#: src/grpck.c:100
+#, c-format
+msgid "Usage: %s [ -r ] [ group ]\n"
+msgstr "Usage: %s [ -r ] [ soubor se skupinami ]\n"
+
+#: src/grpck.c:119 src/pwck.c:119
+msgid "No"
+msgstr "Ne"
+
+#: src/grpck.c:234 src/grpck.c:242 src/pwck.c:216 src/pwck.c:225
+#, c-format
+msgid "%s: cannot lock file %s\n"
+msgstr "%s: soubor %s nelze zamknout\n"
+
+#: src/grpck.c:257 src/grpck.c:265 src/mkpasswd.c:216 src/pwck.c:241
+#: src/pwck.c:250
+#, c-format
+msgid "%s: cannot open file %s\n"
+msgstr "%s: soubor %s nelze otevøít\n"
+
+#.
+#. * Tell the user this entire line is bogus and
+#. * ask them to delete it.
+#.
+#: src/grpck.c:298
+msgid "invalid group file entry\n"
+msgstr "chybná polo¾ka v souboru se skupinami\n"
+
+#: src/grpck.c:299 src/grpck.c:362 src/grpck.c:454 src/grpck.c:517
+#: src/grpck.c:534 src/pwck.c:286 src/pwck.c:348 src/pwck.c:455 src/pwck.c:517
+#: src/pwck.c:541
+#, c-format
+msgid "delete line `%s'? "
+msgstr "smazat øádek `%s'?"
+
+#.
+#. * Tell the user this entry is a duplicate of
+#. * another and ask them to delete it.
+#.
+#: src/grpck.c:361
+msgid "duplicate group entry\n"
+msgstr "tato polo¾ka se v souboru se skupinami vyskytuje vícekrát\n"
+
+#: src/grpck.c:378
+#, c-format
+msgid "invalid group name `%s'\n"
+msgstr "jméno skupiny `%s' je chybné\n"
+
+#: src/grpck.c:388
+#, c-format
+msgid "group %s: bad GID (%d)\n"
+msgstr "skupina %s: chybné GID (%d)\n"
+
+#: src/grpck.c:414
+#, c-format
+msgid "group %s: no user %s\n"
+msgstr "skupina %s: u¾ivatel %s neexistuje\n"
+
+#: src/grpck.c:416 src/grpck.c:585
+#, c-format
+msgid "delete member `%s'? "
+msgstr "smazat èlena `%s'? "
+
+#.
+#. * Tell the user this entire line is bogus and
+#. * ask them to delete it.
+#.
+#: src/grpck.c:453
+msgid "invalid shadow group file entry\n"
+msgstr "chybná polo¾ka v souboru se stínovými skupinami\n"
+
+#.
+#. * Tell the user this entry is a duplicate of
+#. * another and ask them to delete it.
+#.
+#: src/grpck.c:516
+msgid "duplicate shadow group entry\n"
+msgstr "duplikovaná polo¾ka v souboru se stínovými skupinami\n"
+
+#: src/grpck.c:533
+msgid "no matching group file entry\n"
+msgstr "v souboru se skupinami neexistuje odpovídající polo¾ka\n"
+
+#: src/grpck.c:553
+#, c-format
+msgid "shadow group %s: no administrative user %s\n"
+msgstr "stínová skupina %s: administrátor %s neexistuje\n"
+
+#: src/grpck.c:555
+#, c-format
+msgid "delete administrative member `%s'? "
+msgstr "smazat administrátora `%s'? "
+
+#: src/grpck.c:583
+#, c-format
+msgid "shadow group %s: no user %s\n"
+msgstr "stínová skupina %s: u¾ivatel %s neexistuje\n"
+
+#: src/grpck.c:610 src/grpck.c:616 src/pwck.c:572 src/pwck.c:580
+#, c-format
+msgid "%s: cannot update file %s\n"
+msgstr "%s: soubor %s nelze aktualizovat\n"
+
+#: src/grpck.c:640 src/pwck.c:606
+#, c-format
+msgid "%s: the files have been updated; run mkpasswd\n"
+msgstr "%s: soubory byly aktualizovány; spus»te mkpasswd\n"
+
+#: src/grpck.c:641 src/grpck.c:645 src/pwck.c:607 src/pwck.c:611
+#, c-format
+msgid "%s: no changes\n"
+msgstr "%s: ¾ádné zmìny nebyly provedeny\n"
+
+#: src/grpck.c:644 src/pwck.c:610
+#, c-format
+msgid "%s: the files have been updated\n"
+msgstr "%s: soubory byly aktualizovány\n"
+
+#: src/grpconv.c:62 src/grpunconv.c:63
+#, c-format
+msgid "%s: can't lock group file\n"
+msgstr "%s: soubor se skupinami nelze zamknout\n"
+
+#: src/grpconv.c:67 src/grpunconv.c:68
+#, c-format
+msgid "%s: can't open group file\n"
+msgstr "%s: soubor se skupinami nelze otevøít\n"
+
+#: src/grpconv.c:72 src/grpunconv.c:73
+#, c-format
+msgid "%s: can't lock shadow group file\n"
+msgstr "%s: soubor se stínovými skupinami nelze zamknout\n"
+
+#: src/grpconv.c:77 src/grpunconv.c:78
+#, c-format
+msgid "%s: can't open shadow group file\n"
+msgstr "%s: soubor se stínovými skupinami nelze otevøít\n"
+
+#.
+#. * This shouldn't happen (the entry exists) but...
+#.
+#: src/grpconv.c:93
+#, c-format
+msgid "%s: can't remove shadow group %s\n"
+msgstr "%s: polo¾ku stínové skupiny %s nelze odstranit\n"
+
+#: src/grpconv.c:134 src/pwconv.c:160
+#, c-format
+msgid "%s: can't update shadow entry for %s\n"
+msgstr "%s: polo¾ku %s souboru se stínovými hesly nelze aktualizovat\n"
+
+#: src/grpconv.c:143 src/grpunconv.c:94
+#, c-format
+msgid "%s: can't update entry for group %s\n"
+msgstr "%s: polo¾ku skupiny %s nelze odstranit\n"
+
+#: src/grpconv.c:150 src/grpunconv.c:102
+#, c-format
+msgid "%s: can't update shadow group file\n"
+msgstr "%s: soubor se stínovými hesly nelze aktualizovat\n"
+
+#: src/grpconv.c:154 src/grpunconv.c:107
+#, c-format
+msgid "%s: can't update group file\n"
+msgstr "%s: soubor s hesly nelze aktualizovat\n"
+
+#: src/grpconv.c:169 src/grpunconv.c:128
+#, c-format
+msgid "%s: not configured for shadow group support.\n"
+msgstr "%s: podpora pro stínová hesla skupin není nakonfigurována\n"
+
+#: src/grpunconv.c:112
+#, c-format
+msgid "%s: can't delete shadow group file\n"
+msgstr "%s: soubor se stínovými hesly skupin nelze smazat\n"
+
+#: src/id.c:56
+msgid "usage: id [ -a ]\n"
+msgstr "Pou¾ití: id [ -a ]\n"
+
+#: src/id.c:58
+msgid "usage: id\n"
+msgstr "Pou¾ití: id\n"
+
+#: src/id.c:118
+#, c-format
+msgid "uid=%d(%s)"
+msgstr "uid=%d(%s)"
+
+#: src/id.c:120
+#, c-format
+msgid "uid=%d"
+msgstr "uid=%d"
+
+#: src/id.c:124
+#, c-format
+msgid " gid=%d(%s)"
+msgstr " gid=%d(%s)"
+
+#: src/id.c:126
+#, c-format
+msgid " gid=%d"
+msgstr " gid=%d"
+
+#: src/id.c:136
+#, c-format
+msgid " euid=%d(%s)"
+msgstr " euid=%d(%s)"
+
+#: src/id.c:138
+#, c-format
+msgid " euid=%d"
+msgstr " euid=%d"
+
+#: src/id.c:143
+#, c-format
+msgid " egid=%d(%s)"
+msgstr " egid=%d(%s)"
+
+#: src/id.c:145
+#, c-format
+msgid " egid=%d"
+msgstr " egid=%d"
+
+#.
+#. * Start off the group message. It will be of the format
+#. *
+#. * groups=###(aaa),###(aaa),###(aaa)
+#. *
+#. * where "###" is a numerical value and "aaa" is the
+#. * corresponding name for each respective numerical value.
+#.
+#: src/id.c:166
+msgid " groups="
+msgstr " skupiny="
+
+#: src/lastlog.c:167
+msgid "Username Port From Latest\n"
+msgstr "U¾ivatel Port Z Naposledy\n"
+
+#: src/lastlog.c:169
+msgid "Username Port Latest\n"
+msgstr "U¾ivatel Port Naposledy\n"
+
+#: src/lastlog.c:183
+msgid "**Never logged in**"
+msgstr "**Nikdy nebyl pøihlá¹en**"
+
+#: src/login.c:198
+#, c-format
+msgid "usage: %s [-p] [name]\n"
+msgstr "Pou¾ití: %s [-p] jméno\n"
+
+#: src/login.c:201
+#, c-format
+msgid " %s [-p] [-h host] [-f name]\n"
+msgstr " %s [-p] [-h poèítaè] [-f jméno]\n"
+
+#: src/login.c:203
+#, c-format
+msgid " %s [-p] -r host\n"
+msgstr " %s [-p] -r poèítaè\n"
+
+#: src/login.c:286
+msgid "Invalid login time\n"
+msgstr "Chybný èas pøihlá¹ení\n"
+
+#: src/login.c:341
+msgid ""
+"\n"
+"System closed for routine maintenance\n"
+msgstr ""
+"\n"
+"Systém byl uzavøen kvùli pravidelné údr¾bì.\n"
+
+#: src/login.c:351
+msgid ""
+"\n"
+"[Disconnect bypassed -- root login allowed.]\n"
+msgstr ""
+"\n"
+"[Odpojení pøeskoèeno -- u¾ivatel root smí být pøihlá¹en.]\n"
+
+#: src/login.c:390
+#, c-format
+msgid ""
+"\n"
+"Login timed out after %d seconds.\n"
+msgstr ""
+"\n"
+"Vypr¹el èasový limit (%d vteøin) pro pøihlá¹ení.\n"
+
+#: src/login.c:692
+#, c-format
+msgid " on `%.100s' from `%.200s'"
+msgstr " na `%.100s' z `%.200s'"
+
+#: src/login.c:694
+#, c-format
+msgid " on `%.100s'"
+msgstr " na `%.100s'"
+
+#: src/login.c:834
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"Pøihla¹ovací jméno na %s: "
+
+#: src/login.c:836
+msgid "login: "
+msgstr "Pøihla¹ovací jméno: "
+
+#: src/login.c:1026 src/sulogin.c:231
+msgid "Login incorrect"
+msgstr "Chybné pøihlá¹ení"
+
+#: src/login.c:1213
+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"
+
+#: src/login.c:1223
+#, c-format
+msgid "Last login: %s on %s"
+msgstr "Poslední pøihlá¹ení: %s na %s"
+
+#: src/login.c:1226
+#, c-format
+msgid "Last login: %.19s on %s"
+msgstr "Poslední pøihlá¹ení: %.19s na %s"
+
+#: src/login.c:1231
+#, c-format
+msgid " from %.*s"
+msgstr " z %.*s"
+
+#: src/login.c:1303
+msgid "Starting rad_login\n"
+msgstr "Spou¹tím rad_login\n"
+
+#: src/mkpasswd.c:49
+#, c-format
+msgid "%s: no DBM database on system - no action performed\n"
+msgstr "%s: systém neobsahuje ¾ádnou DBM databázi - není co dìlat\n"
+
+#: src/mkpasswd.c:245 src/mkpasswd.c:249
+#, c-format
+msgid "%s: cannot overwrite file %s\n"
+msgstr "%s: soubor %s nelze pøepsat\n"
+
+#: src/mkpasswd.c:263
+#, c-format
+msgid "%s: cannot open DBM files for %s\n"
+msgstr "%s: soubory s DBM databázemi pro %s nelze otevøít\n"
+
+#: src/mkpasswd.c:296
+#, c-format
+msgid "%s: the beginning with "
+msgstr "%s: zaèátek s "
+
+#: src/mkpasswd.c:321
+#, c-format
+msgid "%s: error parsing line \"%s\"\n"
+msgstr "%s: chyba pøi zpracování øádku \"%s\"\n"
+
+#: src/mkpasswd.c:326 src/mkpasswd.c:328 src/mkpasswd.c:330 src/mkpasswd.c:332
+msgid "adding record for name "
+msgstr "pøidávám záznam pro jméno"
+
+#: src/mkpasswd.c:336 src/mkpasswd.c:341 src/mkpasswd.c:345 src/mkpasswd.c:349
+#, c-format
+msgid "%s: error adding record for "
+msgstr "%s: chyba pøi zadávání záznamu pro jméno "
+
+#: src/mkpasswd.c:367
+#, c-format
+msgid "added %d entries, longest was %d\n"
+msgstr "poèet pøidaných polo¾ek: %d; délka nejvìt¹í: %d\n"
+
+#: src/mkpasswd.c:382
+#, c-format
+msgid "Usage: %s [ -vf ] [ -p|g|sp|sg ] file\n"
+msgstr "Pou¾ití: %s [ -vf ] [ -p|g|sp|sg ] soubor\n"
+
+#: src/mkpasswd.c:384
+#, c-format
+msgid "Usage: %s [ -vf ] [ -p|g|sp ] file\n"
+msgstr "Pou¾ití: %s [ -vf ] [ -p|g|sp ] soubor\n"
+
+#: src/mkpasswd.c:387
+#, c-format
+msgid "Usage: %s [ -vf ] [ -p|g ] file\n"
+msgstr "Pou¾ití: %s [ -vf ] [ -p|g ] soubor\n"
+
+#: src/newgrp.c:66
+msgid "usage: newgrp [ - ] [ group ]\n"
+msgstr "Pou¾ití: newgrp [ - ] [ skupina ]\n"
+
+#: src/newgrp.c:68
+msgid "usage: sg group [[-c] command ]\n"
+msgstr "Pou¾ití: sg skupina [[-c] pøíkaz ]\n"
+
+#: src/newgrp.c:125
+#, c-format
+msgid "unknown uid: %d\n"
+msgstr "uid %d je neznámé\n"
+
+#: src/newgrp.c:201
+#, c-format
+msgid "unknown gid: %ld\n"
+msgstr "gid %ld je neznámé\n"
+
+#: src/newgrp.c:245
+#, c-format
+msgid "unknown gid: %d\n"
+msgstr "gid %d je neznámé\n"
+
+#: src/newgrp.c:323 src/newgrp.c:332
+msgid "Sorry.\n"
+msgstr "Lituji.\n"
+
+#: src/newgrp.c:364
+msgid "too many groups\n"
+msgstr "pøíli¹ mnoho skupin\n"
+
+#: src/newusers.c:82
+#, c-format
+msgid "Usage: %s [ input ]\n"
+msgstr "Pou¾ití: %s [ vstup ]\n"
+
+#: src/newusers.c:414
+#, c-format
+msgid "%s: can't lock /etc/passwd.\n"
+msgstr "%s: soubor /etc/passwd nelze zamknout\n"
+
+#: src/newusers.c:425
+#, c-format
+msgid "%s: can't lock files, try again later\n"
+msgstr "%s: soubory nelze zamknout. Zkuste to opìt pozdìji.\n"
+
+#: src/newusers.c:440
+#, c-format
+msgid "%s: can't open files\n"
+msgstr "%s: soubory nelze otevøít\n"
+
+#: src/newusers.c:485
+#, c-format
+msgid "%s: line %d: invalid line\n"
+msgstr "%s: øádek %d: chybný øádek\n"
+
+#: src/newusers.c:503
+#, c-format
+msgid "%s: line %d: can't create GID\n"
+msgstr "%s: øádek %d: nelze vytvoøit GID\n"
+
+#: src/newusers.c:519
+#, c-format
+msgid "%s: line %d: can't create UID\n"
+msgstr "%s: øádek %d: nelze vytvoøit UID\n"
+
+#: src/newusers.c:531
+#, c-format
+msgid "%s: line %d: cannot find user %s\n"
+msgstr "%s: øádek %d: u¾ivatele %s nelze nalézt\n"
+
+#: src/newusers.c:539
+#, c-format
+msgid "%s: line %d: can't update password\n"
+msgstr "%s: øádek %d: heslo nelze aktualizovat\n"
+
+#: src/newusers.c:556
+#, c-format
+msgid "%s: line %d: mkdir failed\n"
+msgstr "%s: øádek %d: volání mkdir selhalo\n"
+
+#: src/newusers.c:560
+#, c-format
+msgid "%s: line %d: chown failed\n"
+msgstr "%s: øádek %d: volání chown selhalo\n"
+
+#: src/newusers.c:569
+#, c-format
+msgid "%s: line %d: can't update entry\n"
+msgstr "%s: øádek %d: polo¾ku nelze aktualizovat\n"
+
+#: src/newusers.c:600
+#, c-format
+msgid "%s: error updating files\n"
+msgstr "%s: chyba pøi aktualizaci souborù\n"
+
+#: src/passwd.c:239
+#, c-format
+msgid "usage: %s [ -f | -s ] [ name ]\n"
+msgstr "Pou¾ití: %s [ -f | -s ] [ jméno ]\n"
+
+#: src/passwd.c:242
+#, 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"
+
+#: src/passwd.c:245
+#, c-format
+msgid " %s { -l | -u | -d | -S | -e } name\n"
+msgstr " %s { -l | -u | -d | -S | -e } jméno\n"
+
+#: src/passwd.c:347
+#, c-format
+msgid "User %s has a TCFS key, his old password is required.\n"
+msgstr "U¾ivatel %s má TCFS klíè, je tøeba jeho staré heslo.\n"
+
+#: src/passwd.c:348
+msgid "You can use -t option to force the change.\n"
+msgstr "Mù¾ete pou¾ít pøepínaè -t pro vynucení zmìny.\n"
+
+#: src/passwd.c:354
+msgid "Old password: "
+msgstr "Staré heslo: "
+
+#: src/passwd.c:361
+#, c-format
+msgid "Incorrect password for `%s'\n"
+msgstr "Chybné heslo pro `%s'\n"
+
+#: src/passwd.c:374
+#, c-format
+msgid "Warning: user %s has a TCFS key.\n"
+msgstr "Varování: u¾ivatele %s má TCFS klíè.\n"
+
+#: src/passwd.c:392
+#, c-format
+msgid ""
+"Enter the new password (minimum of %d, maximum of %d characters)\n"
+"Please use a combination of upper and lower case letters and numbers.\n"
+msgstr ""
+"Zadejte nové heslo (poèet znakù v intervalu %d a¾ %d).\n"
+"Pou¾ijte kombinaci velkých a malých písmen s èíslicemi.\n"
+
+#: src/passwd.c:399
+msgid "New password: "
+msgstr "Nové heslo: "
+
+#: src/passwd.c:409
+msgid "Try again.\n"
+msgstr "Zkuste to znovu.\n"
+
+#: src/passwd.c:418
+msgid ""
+"\n"
+"Warning: weak password (enter it again to use it anyway).\n"
+msgstr ""
+"\n"
+"Varování: slabé heslo (pokud jej opravdu chcete pou¾ít, zadejte jej znovu).\n"
+
+#: src/passwd.c:427
+msgid "They don't match; try again.\n"
+msgstr "Neshodují se; zkuste to znovu.\n"
+
+#: src/passwd.c:512 src/passwd.c:528
+#, c-format
+msgid "The password for %s cannot be changed.\n"
+msgstr "Heslo pro %s nelze zmìnit.\n"
+
+#: src/passwd.c:556
+#, c-format
+msgid "Sorry, the password for %s cannot be changed yet.\n"
+msgstr "Lituji, ale heslo pro %s nelze je¹tì zmìnit.\n"
+
+#: src/passwd.c:693
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: do¹la pamì»\n"
+
+#: src/passwd.c:845
+msgid "Cannot lock the TCFS key database; try again later\n"
+msgstr "Nelze zamknout databázi TCFS klíèù. Zkuste to pozdìji.\n"
+
+#: src/passwd.c:851
+msgid "Cannot open the TCFS key database.\n"
+msgstr "Nelze otevøít databázi TCFS klíèù.\n"
+
+#: src/passwd.c:857
+msgid "Error updating the TCFS key database.\n"
+msgstr "Chyba pøi aktualizaci databáze TCFS klíèù.\n"
+
+#: src/passwd.c:862
+msgid "Cannot commit TCFS changes.\n"
+msgstr "Nelze zmìnit TCFS databázi.\n"
+
+#: src/passwd.c:1069
+#, c-format
+msgid "%s: Cannot execute %s"
+msgstr "%s: %s nelze spustit"
+
+#: src/passwd.c:1176
+#, c-format
+msgid "%s: repository %s not supported\n"
+msgstr "%s: úlo¾na %s není podporována\n"
+
+#: src/passwd.c:1263
+#, c-format
+msgid "%s: Permission denied\n"
+msgstr "%s: pøístup odmítnut\n"
+
+#: src/passwd.c:1287
+#, c-format
+msgid "You may not change the password for %s.\n"
+msgstr "Nesmíte zmìnit heslo pro %s.\n"
+
+#: src/passwd.c:1352
+#, c-format
+msgid "Changing password for %s\n"
+msgstr "Mìním heslo u¾ivatele %s\n"
+
+#: src/passwd.c:1356
+#, c-format
+msgid "The password for %s is unchanged.\n"
+msgstr "Heslo u¾ivatele %s nebylo zmìnìno.\n"
+
+#: src/passwd.c:1412
+msgid "Password changed.\n"
+msgstr "Heslo bylo zmìnìno.\n"
+
+#: src/pwck.c:98
+#, c-format
+msgid "Usage: %s [ -qr ] [ passwd [ shadow ] ]\n"
+msgstr "Pou¾ití: %s [ -qr ] [ soubor s hesly[ soubor se stínovými hesly ] ]\n"
+
+#: src/pwck.c:100
+#, c-format
+msgid "Usage: %s [ -qr ] [ passwd ]\n"
+msgstr "Pou¾ití: %s [ -qr ] [ soubor s hesly ]\n"
+
+#.
+#. * Tell the user this entire line is bogus and
+#. * ask them to delete it.
+#.
+#: src/pwck.c:285
+msgid "invalid password file entry\n"
+msgstr "chybná polo¾ka v souboru s hesly\n"
+
+#.
+#. * Tell the user this entry is a duplicate of
+#. * another and ask them to delete it.
+#.
+#: src/pwck.c:347
+msgid "duplicate password entry\n"
+msgstr "duplikovaná polo¾ka v souboru s hesly\n"
+
+#: src/pwck.c:363
+#, c-format
+msgid "invalid user name `%s'\n"
+msgstr "chybné u¾ivatelské jméno `%s'\n"
+
+#: src/pwck.c:373
+#, c-format
+msgid "user %s: bad UID (%d)\n"
+msgstr "u¾ivatel %s: chybné UID (%d)\n"
+
+#.
+#. * No primary group, just give a warning
+#.
+#: src/pwck.c:388
+#, c-format
+msgid "user %s: no group %d\n"
+msgstr "u¾ivatel %s: skupina %d neexistuje\n"
+
+#.
+#. * Home directory doesn't exist, give a warning
+#.
+#: src/pwck.c:403
+#, c-format
+msgid "user %s: directory %s does not exist\n"
+msgstr "u¾ivatel %s: adresáø %s neexistuje\n"
+
+#.
+#. * Login shell doesn't exist, give a warning
+#.
+#: src/pwck.c:418
+#, c-format
+msgid "user %s: program %s does not exist\n"
+msgstr "u¾ivatel %s: program %s neexistuje\n"
+
+#.
+#. * Tell the user this entire line is bogus and
+#. * ask them to delete it.
+#.
+#: src/pwck.c:454
+msgid "invalid shadow password file entry\n"
+msgstr "chybná polo¾ka v souboru se stínovými hesly\n"
+
+#.
+#. * Tell the user this entry is a duplicate of
+#. * another and ask them to delete it.
+#.
+#: src/pwck.c:516
+msgid "duplicate shadow password entry\n"
+msgstr "duplikovaná polo¾ka v souboru se stínovými hesly\n"
+
+#.
+#. * Tell the user this entry has no matching
+#. * /etc/passwd entry and ask them to delete it.
+#.
+#: src/pwck.c:540
+msgid "no matching password file entry\n"
+msgstr "chybí polo¾ka v souboru s hesly\n"
+
+#: src/pwck.c:557
+#, c-format
+msgid "user %s: last password change in the future\n"
+msgstr "u¾ivatel %s: poslední zmìna hesla v budoucnosti\n"
+
+#: src/pwconv.c:94 src/pwunconv.c:108
+#, c-format
+msgid "%s: can't lock passwd file\n"
+msgstr "%s: soubor s hesly nelze zamknout\n"
+
+#: src/pwconv.c:99 src/pwunconv.c:113
+#, c-format
+msgid "%s: can't open passwd file\n"
+msgstr "%s: soubor s hesly nelze otevøít\n"
+
+#: src/pwconv.c:126
+#, c-format
+msgid "%s: can't remove shadow entry for %s\n"
+msgstr "%s: polo¾ku souboru s hesly pro u¾ivatele %s nelze odstranit\n"
+
+#: src/pwconv.c:169
+#, c-format
+msgid "%s: can't update passwd entry for %s\n"
+msgstr "%s: polo¾ku souboru s hesly pro u¾ivatele %s nelze aktualizovat\n"
+
+#: src/pwconv.c:176
+#, c-format
+msgid "%s: can't update shadow file\n"
+msgstr "%s: soubor se stínovými hesly nelze aktualizovat\n"
+
+#: src/pwconv.c:180
+#, c-format
+msgid "%s: can't update passwd file\n"
+msgstr "%s: soubor s hesly nelze aktualizovat\n"
+
+#: src/pwunconv.c:62
+#, c-format
+msgid "%s: Shadow passwords are not configured.\n"
+msgstr "%s: stínová hesla nejsou nakonfigurována\n"
+
+#: src/pwunconv.c:171
+#, c-format
+msgid "%s: can't update entry for user %s\n"
+msgstr "%s: polo¾ku pro u¾ivatele %s nelze aktualizovat\n"
+
+#: src/pwunconv.c:188
+#, c-format
+msgid "%s: can't delete shadow password file\n"
+msgstr "%s: nemù¾ete smazat soubor se stínovými hesly\n"
+
+#: src/su.c:140
+msgid "Sorry."
+msgstr "Lituji."
+
+#: src/su.c:222
+#, c-format
+msgid "%s: must be run from a terminal\n"
+msgstr "%s: musí být spu¹tìno z terminálu\n"
+
+#: src/su.c:311
+#, c-format
+msgid "%s: pam_start: error %d\n"
+msgstr "%s: pam_start: chyba %d\n"
+
+#: src/su.c:337
+#, c-format
+msgid "Unknown id: %s\n"
+msgstr "Id %s je neznámé.\n"
+
+#. access denied (-1) or unexpected value
+#: src/su.c:372 src/su.c:387
+#, c-format
+msgid "You are not authorized to su %s\n"
+msgstr "Nejste oprávnìn pou¾ívat su %s\n"
+
+#. require own password
+#: src/su.c:383
+msgid "(Enter your own password.)"
+msgstr "(Zadejte va¹e heslo.)"
+
+#: src/su.c:404
+#, c-format
+msgid "%s: permission denied (shell).\n"
+msgstr "%s: pøístup odmítnut (shell)\n"
+
+#: src/su.c:428
+#, c-format
+msgid ""
+"%s: %s\n"
+"(Ignored)\n"
+msgstr ""
+"%s: %s\n"
+"(Ignoruji)\n"
+
+#: src/su.c:628
+msgid "No shell\n"
+msgstr "®ádný shell\n"
+
+#. must be a password file!
+#: src/sulogin.c:136
+msgid "No password file\n"
+msgstr "Soubor s hesly neexistuje\n"
+
+#.
+#. * Fail secure
+#.
+#: src/sulogin.c:178
+msgid "No password entry for 'root'\n"
+msgstr "V databázi není polo¾ka pro u¾ivatele 'root'\n"
+
+#.
+#. * Here we prompt for the root password, or if no password is
+#. * given we just exit.
+#.
+#. get a password for root
+#: src/sulogin.c:192
+msgid ""
+"\n"
+"Type control-d to proceed with normal startup,\n"
+"(or give root password for system maintenance):"
+msgstr ""
+"\n"
+"Stisknìte control-d pro normální spu¹tìní systému,\n"
+"(nebo zadejte heslo u¾ivatele root pro údr¾bu systému):"
+
+#. make new environment active
+#: src/sulogin.c:241
+msgid "Entering System Maintenance Mode\n"
+msgstr "Vstupuji do re¾imu údr¾by systému\n"
+
+#: src/useradd.c:249
+#, c-format
+msgid "%s: rebuild the group database\n"
+msgstr "%s: vytvoøte znovu databázi skupin\n"
+
+#: src/useradd.c:256
+#, c-format
+msgid "%s: rebuild the shadow group database\n"
+msgstr "%s: vytvoøte znovu databázi stínových skupin\n"
+
+#: src/useradd.c:293 src/usermod.c:973
+#, c-format
+msgid "%s: invalid numeric argument `%s'\n"
+msgstr "%s: chybný numerický argument `%s'\n"
+
+#: src/useradd.c:349
+#, c-format
+msgid "%s: unknown gid %s\n"
+msgstr "%s: gid %s je neznámé\n"
+
+#: src/useradd.c:356 src/useradd.c:648 src/useradd.c:1234 src/usermod.c:260
+#: src/usermod.c:1104
+#, c-format
+msgid "%s: unknown group %s\n"
+msgstr "%s: skupina %s je neznámá\n"
+
+#: src/useradd.c:424
+#, c-format
+msgid "group=%s,%ld basedir=%s skel=%s\n"
+msgstr "skupina=%s,%ld základ. adr.=%s skel=%s\n"
+
+#: src/useradd.c:427
+#, c-format
+msgid "shell=%s "
+msgstr "shell=%s "
+
+#: src/useradd.c:429
+#, c-format
+msgid "inactive=%ld expire=%s"
+msgstr "vypnutí=%ld vypr¹ení=%s"
+
+#: src/useradd.c:433
+#, c-format
+msgid "GROUP=%ld\n"
+msgstr "SKUPINA=%ld\n"
+
+#: src/useradd.c:434
+#, c-format
+msgid "HOME=%s\n"
+msgstr "DOMÁCÍ ADRESÁØ=%s\n"
+
+#: src/useradd.c:436
+#, c-format
+msgid "INACTIVE=%ld\n"
+msgstr "VYPNUTÍ=%ld\n"
+
+#: src/useradd.c:437
+#, c-format
+msgid "EXPIRE=%s\n"
+msgstr "VYPR©ENÍ=%s\n"
+
+#: src/useradd.c:439
+#, c-format
+msgid "SHELL=%s\n"
+msgstr "INTERPRET PØÍKAZÙ=%s\n"
+
+#: src/useradd.c:440
+#, c-format
+msgid "SKEL=%s\n"
+msgstr "SKELETON=%s\n"
+
+#: src/useradd.c:476
+#, c-format
+msgid "%s: cannot create new defaults file\n"
+msgstr "%s: nemohu vytvoøit nový soubor s implicitními hodnotami\n"
+
+#: src/useradd.c:570 src/useradd.c:581
+#, c-format
+msgid "%s: rename: %s"
+msgstr "%s: pøejmenovat: %s"
+
+#: src/useradd.c:668 src/usermod.c:280
+#, c-format
+msgid "%s: group `%s' is a NIS group.\n"
+msgstr "%s: skupina `%s' je NIS skupinou\n"
+
+#: src/useradd.c:676 src/usermod.c:288
+#, c-format
+msgid "%s: too many groups specified (max %d).\n"
+msgstr "%s: zadáno pøíli¹ mnoho skupin (max %d).\n"
+
+#: src/useradd.c:708 src/usermod.c:320
+#, c-format
+msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
+msgstr "Pou¾ití: %s\t[-u uid [-o]] [-g skupina [-G skupina,...] \n"
+
+#: src/useradd.c:711
+msgid "\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n"
+msgstr "\t\t[-d domácí adr.] [-s shell] [-c komentáø] [-m [-k ¹ablona]]\n"
+
+#: src/useradd.c:714 src/usermod.c:326
+msgid "[-f inactive] [-e expire ] "
+msgstr "[-f vypnutí] [-e vypr¹ení ] "
+
+#: src/useradd.c:717
+msgid "[-A program] "
+msgstr "[-A program] "
+
+#: src/useradd.c:719
+msgid "[-p passwd] name\n"
+msgstr "[-p heslo] jméno\n"
+
+#: src/useradd.c:721
+#, c-format
+msgid " %s\t-D [-g group] [-b base] [-s shell]\n"
+msgstr " %s\t-D [-g skupina [-b základní adr.] [-s shell]\n"
+
+#: src/useradd.c:724
+msgid "\t\t[-f inactive] [-e expire ]\n"
+msgstr "\t\t[-f vypnutí] [-e vypr¹ení ]\n"
+
+#: src/useradd.c:821 src/usermod.c:478
+#, c-format
+msgid "%s: error locking group file\n"
+msgstr "%s: chyba pøi zamykání souboru se skupinami\n"
+
+#: src/useradd.c:825 src/usermod.c:483
+#, c-format
+msgid "%s: error opening group file\n"
+msgstr "%s: chyba pøi otevírání souboru se skupinami\n"
+
+#: src/useradd.c:830 src/usermod.c:590
+#, c-format
+msgid "%s: error locking shadow group file\n"
+msgstr "%s: chyba pøi zamykání souboru se stínovými hesly\n"
+
+#: src/useradd.c:835 src/usermod.c:596
+#, c-format
+msgid "%s: error opening shadow group file\n"
+msgstr "%s: chyba pøi otevírání souboru se stínovými hesly\n"
+
+#: src/useradd.c:1007
+#, c-format
+msgid "%s: uid %d is not unique\n"
+msgstr "%s: uid %d není jedineèné\n"
+
+#: src/useradd.c:1037
+#, c-format
+msgid "%s: can't get unique uid\n"
+msgstr "%s: nemohu získat jedineèné uid\n"
+
+#: src/useradd.c:1145 src/useradd.c:1289 src/usermod.c:1052 src/usermod.c:1063
+#: src/usermod.c:1073 src/usermod.c:1119 src/usermod.c:1163
+#, c-format
+msgid "%s: invalid field `%s'\n"
+msgstr "%s: chybná polo¾ka `%s'\n"
+
+#: src/useradd.c:1159
+#, c-format
+msgid "%s: invalid base directory `%s'\n"
+msgstr "%s: chybný základní adresáø `%s'\n"
+
+#: src/useradd.c:1169
+#, c-format
+msgid "%s: invalid comment `%s'\n"
+msgstr "%s: chybný komentáø `%s'\n"
+
+#: src/useradd.c:1179
+#, c-format
+msgid "%s: invalid home directory `%s'\n"
+msgstr "%s: chybný domácí adresáø `%s'\n"
+
+#: src/useradd.c:1197 src/usermod.c:1086
+#, c-format
+msgid "%s: invalid date `%s'\n"
+msgstr "%s: chybné datum `%s'\n"
+
+#: src/useradd.c:1209
+#, c-format
+msgid "%s: shadow passwords required for -e\n"
+msgstr "%s: pøepínaè -e vy¾aduje stínová hesla\n"
+
+#: src/useradd.c:1224
+#, c-format
+msgid "%s: shadow passwords required for -f\n"
+msgstr "%s: pøepínaè -f vy¾aduje stínová hesla\n"
+
+#: src/useradd.c:1298
+#, c-format
+msgid "%s: invalid shell `%s'\n"
+msgstr "%s: chybný shell `%s'\n"
+
+#: src/useradd.c:1339
+#, c-format
+msgid "%s: invalid user name `%s'\n"
+msgstr "%s: chybné u¾ivatelské jméno `%s'\n"
+
+#: src/useradd.c:1375 src/userdel.c:298 src/usermod.c:1231
+#, c-format
+msgid "%s: cannot rewrite password file\n"
+msgstr "%s: soubor s hesly nelze pøepsat\n"
+
+#: src/useradd.c:1380 src/userdel.c:301 src/usermod.c:1236
+#, c-format
+msgid "%s: cannot rewrite shadow password file\n"
+msgstr "%s: soubor se stínovými hesly nelze pøepsat\n"
+
+#: src/useradd.c:1420 src/userdel.c:365 src/usermod.c:1271
+#, c-format
+msgid "%s: unable to lock password file\n"
+msgstr "%s: soubor s hesly nelze zamknout\n"
+
+#: src/useradd.c:1424 src/userdel.c:369 src/usermod.c:1275
+#, c-format
+msgid "%s: unable to open password file\n"
+msgstr "%s: soubor s hesly nelze otevøít\n"
+
+#: src/useradd.c:1430 src/userdel.c:374 src/usermod.c:1280
+#, c-format
+msgid "%s: cannot lock shadow password file\n"
+msgstr "%s: soubor se stínovými hesly nelze zamknout\n"
+
+#: src/useradd.c:1436 src/userdel.c:379 src/usermod.c:1285
+#, c-format
+msgid "%s: cannot open shadow password file\n"
+msgstr "%s: soubor se stínovými hesly nelze otevøít\n"
+
+#: src/useradd.c:1535 src/usermod.c:1372
+#, c-format
+msgid "%s: error adding authentication method\n"
+msgstr "%s: chyba pøi vytváøení ovìøovací metody\n"
+
+#: src/useradd.c:1558
+#, c-format
+msgid "%s: error adding new password entry\n"
+msgstr "%s: chyba pøi vytváøení nové polo¾ky v souboru s hesly\n"
+
+#: src/useradd.c:1573
+#, c-format
+msgid "%s: error updating password dbm entry\n"
+msgstr "%s: chyba pøi aktualizaci polo¾ky dbm databáze hesel\n"
+
+#: src/useradd.c:1589 src/usermod.c:1431
+#, c-format
+msgid "%s: error adding new shadow password entry\n"
+msgstr "%s: chyba pøi vytváøení nové polo¾ky v souboru se stínovými hesly\n"
+
+#: src/useradd.c:1605 src/usermod.c:1446
+#, c-format
+msgid "%s: error updating shadow passwd dbm entry\n"
+msgstr "%s: chyba pøi aktualizaci polo¾ky dbm databáze stínových hesel\n"
+
+#: src/useradd.c:1637
+#, c-format
+msgid "%s: cannot create directory %s\n"
+msgstr "%s: adresáø %s nelze vytvoøit\n"
+
+#: src/useradd.c:1758 src/usermod.c:1209
+#, c-format
+msgid "%s: user %s exists\n"
+msgstr "%s: u¾ivatel %s ji¾ existuje\n"
+
+#: src/useradd.c:1770
+#, c-format
+msgid ""
+"%s: group %s exists - if you want to add this user to that group, use -g.\n"
+msgstr ""
+
+#: src/useradd.c:1801
+#, c-format
+msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
+msgstr "%s: varování: CREATE_HOME není podporováno, pou¾ijte pøepínaè -m\n"
+
+#: src/userdel.c:133
+#, c-format
+msgid "usage: %s [-r] name\n"
+msgstr "Pou¾ití: %s [-r] jméno\n"
+
+#: src/userdel.c:184 src/userdel.c:266
+#, c-format
+msgid "%s: error updating group entry\n"
+msgstr "%s: polo¾ku souboru se skupinami nelze aktualizovat\n"
+
+#: src/userdel.c:194 src/userdel.c:275
+#, c-format
+msgid "%s: cannot update dbm group entry\n"
+msgstr "%s: polo¾ku dbm databáze skupin nelze aktualizovat\n"
+
+#: src/userdel.c:221
+#, c-format
+msgid "%s: cannot remove dbm group entry\n"
+msgstr "%s: polo¾ku dbm databáze skupin nelze odstranit\n"
+
+#: src/userdel.c:306
+#, c-format
+msgid "%s: cannot rewrite TCFS key file\n"
+msgstr "%s: soubor s TCFS klíèi nelze pøepsat\n"
+
+#: src/userdel.c:386
+#, c-format
+msgid "%s: cannot lock TCFS key file\n"
+msgstr "%s: soubor s TCFS klíèi nelze zamknout\n"
+
+#: src/userdel.c:390
+#, c-format
+msgid "%s: cannot open TCFS key file\n"
+msgstr "%s: soubor s TCFS klíèi nelze otevøít\n"
+
+#: src/userdel.c:399
+#, c-format
+msgid "%s: cannot open group file\n"
+msgstr "%s: soubor se skupinami nelze otevøít\n"
+
+#: src/userdel.c:409
+#, c-format
+msgid "%s: cannot open shadow group file\n"
+msgstr "%s: soubor se stínovými skupinami nelze otevøít\n"
+
+#: src/userdel.c:440 src/userdel.c:455
+#, c-format
+msgid "%s: error deleting authentication\n"
+msgstr "%s: chyba pøi odstraòování ovìøovací metody\n"
+
+#: src/userdel.c:464
+#, c-format
+msgid "%s: error deleting password entry\n"
+msgstr "%s: chyba pøi odstraòování polo¾ky ze souboru s hesly\n"
+
+#: src/userdel.c:467
+#, c-format
+msgid "%s: error deleting shadow password entry\n"
+msgstr "%s: chyba pøi odstraòování polo¾ky ze souboru se stínovými hesly\n"
+
+#: src/userdel.c:476
+#, c-format
+msgid "%s: error deleting TCFS entry\n"
+msgstr "%s: chyba pøi odstraòování TCFS polo¾ky\n"
+
+#: src/userdel.c:489
+#, c-format
+msgid "%s: error deleting password dbm entry\n"
+msgstr "%s: chyba pøi odstraòování polo¾ky z dbm databáze hesel\n"
+
+#: src/userdel.c:508
+#, c-format
+msgid "%s: error deleting shadow passwd dbm entry\n"
+msgstr "%s: chyba pøi odstraòování polo¾ky z dbm databáze stínových hesel\n"
+
+#: src/userdel.c:549
+#, c-format
+msgid "%s: user %s is currently logged in\n"
+msgstr "%s: u¾ivatel %s je právì pøihlá¹en\n"
+
+#: src/userdel.c:666
+#, c-format
+msgid "%s: warning: %s not owned by %s, not removing\n"
+msgstr "%s: varování: vlastníkem %s není %s, nema¾u jej\n"
+
+#: src/userdel.c:672
+#, c-format
+msgid "%s: warning: can't remove "
+msgstr "%s: varování: nemohu smazat "
+
+#: src/userdel.c:791 src/usermod.c:1000
+#, c-format
+msgid "%s: user %s does not exist\n"
+msgstr "%s: u¾ivatel %s neexistuje\n"
+
+#: src/userdel.c:805 src/usermod.c:1016
+#, c-format
+msgid "%s: user %s is a NIS user\n"
+msgstr "%s: u¾ivatel %s je NIS u¾ivatelem\n"
+
+#: src/userdel.c:842
+#, c-format
+msgid "%s: %s not owned by %s, not removing\n"
+msgstr "%s: vlastníkem %s není %s, nema¾u jej\n"
+
+#: src/userdel.c:865
+#, c-format
+msgid "%s: not removing directory %s (would remove home of user %s)\n"
+msgstr "%s: adresáø %s nebudu mazat (je to domácí adresáø u¾ivatele %s)\n"
+
+#: src/userdel.c:878
+#, c-format
+msgid "%s: error removing directory %s\n"
+msgstr "%s: chyba pøi mazání adresáøe %s\n"
+
+#: src/usermod.c:323
+msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
+msgstr "\t\t[-d domácí adr. [-m]] [-s shell] [-c komentáø] [-l nové jméno]\n"
+
+#: src/usermod.c:329
+msgid "[-A {DEFAULT|program},... ] "
+msgstr "[-A {DEFAULT|program},... ] "
+
+#: src/usermod.c:331
+msgid "[-p passwd] [-L|-U] name\n"
+msgstr "[-p heslo] [-L|-U] jméno\n"
+
+#: src/usermod.c:510
+#, c-format
+msgid "%s: out of memory in update_group\n"
+msgstr "%s nedostatek pamìti v update_group\n"
+
+#: src/usermod.c:633
+#, c-format
+msgid "%s: out of memory in update_gshadow\n"
+msgstr "%s: nedostatek pamìti v update_gshadow\n"
+
+#: src/usermod.c:1186
+#, c-format
+msgid "%s: no flags given\n"
+msgstr "%s: ¾ádné pøepínaèe\n"
+
+#: src/usermod.c:1193
+#, c-format
+msgid "%s: shadow passwords required for -e and -f\n"
+msgstr "%s: pøepínaèe -e a -f vy¾adují stínová hesla\n"
+
+#: src/usermod.c:1214
+#, c-format
+msgid "%s: uid %ld is not unique\n"
+msgstr "%s uid %ld není jedineèné\n"
+
+#: src/usermod.c:1362
+#, c-format
+msgid "%s: error deleting authentication method\n"
+msgstr "%s: chyba pøi odstraòování ovìøovací metody\n"
+
+#: src/usermod.c:1382
+#, c-format
+msgid "%s: error changing authentication method\n"
+msgstr "%s: chyba pøi zmìnì ovìøovací metody\n"
+
+#: src/usermod.c:1399
+#, c-format
+msgid "%s: error changing password entry\n"
+msgstr "%s: chyba pøi zmìnì polo¾ky v souboru s hesly\n"
+
+#: src/usermod.c:1405
+#, c-format
+msgid "%s: error removing password entry\n"
+msgstr "%s: chyba pøi odstraòování polo¾ky ze souboru s hesly\n"
+
+#: src/usermod.c:1413
+#, c-format
+msgid "%s: error adding password dbm entry\n"
+msgstr "%s: chyba pøi pøidávání polo¾ky do dbm databáze hesel\n"
+
+#: src/usermod.c:1420
+#, c-format
+msgid "%s: error removing passwd dbm entry\n"
+msgstr "%s: chyba pøi odstraòování polo¾ky z dbm databáze hesel\n"
+
+#: src/usermod.c:1437
+#, c-format
+msgid "%s: error removing shadow password entry\n"
+msgstr "%s: chyba pøi odstraòování polo¾ky ze souboru se stínovými hesly\n"
+
+#: src/usermod.c:1452
+#, c-format
+msgid "%s: error removing shadow passwd dbm entry\n"
+msgstr "%s: chyba pøi odstraòování polo¾ky z dbm databáze stínových hesel\n"
+
+#: src/usermod.c:1483
+#, c-format
+msgid "%s: directory %s exists\n"
+msgstr "%s: adresáø %s ji¾ existuje\n"
+
+#: src/usermod.c:1490
+#, c-format
+msgid "%s: can't create %s\n"
+msgstr "%s: %s nelze vytvoøit\n"
+
+#: src/usermod.c:1496
+#, c-format
+msgid "%s: can't chown %s\n"
+msgstr "%s: volání chown pro %s selhalo\n"
+
+#: src/usermod.c:1512
+#, c-format
+msgid "%s: cannot rename directory %s to %s\n"
+msgstr "%s: adresáø %s nelze na %s pøejmenovat\n"
+
+#. better leave it alone
+#: src/usermod.c:1609
+#, c-format
+msgid "%s: warning: %s not owned by %s\n"
+msgstr "%s: varování: vlastníkem %s není %s\n"
+
+#: src/usermod.c:1615
+msgid "failed to change mailbox owner"
+msgstr "chyba pøi zmìnì vlastníka schránky"
+
+#: src/usermod.c:1622
+msgid "failed to rename mailbox"
+msgstr "chyba pøi pøejmenovávání schránky"
+
+#: src/vipw.c:102
+#, c-format
+msgid ""
+"\n"
+"%s: %s is unchanged\n"
+msgstr ""
+"\n"
+"%s: %s je beze zmìny\n"
+
+#: src/vipw.c:127
+msgid "Couldn't lock file"
+msgstr "Soubor nelze zamknout"
+
+#: src/vipw.c:134
+msgid "Couldn't make backup"
+msgstr "Zálohování nelze provést."
+
+#: src/vipw.c:187
+#, c-format
+msgid "%s: can't restore %s: %s (your changes are in %s)\n"
+msgstr "%s: %s nelze obnovit: %s (zmìny jsou v %s)\n"
+
+#: src/vipw.c:226
+msgid ""
+"Usage:\n"
+"`vipw' edits /etc/passwd `vipw -s' edits /etc/shadow\n"
+"`vigr' edits /etc/group `vigr -s' edits /etc/gshadow\n"
+msgstr ""
+"Pou¾ití:\n"
+"`vipw' edituje /etc/passwd `vipw -s' edituje /etc/shadow\n"
+"`vigr' edituje /etc/group `vigr -s' edituje /etc/gshadow\n"
msgid ""
msgstr ""
"Project-Id-Version: Shadow 980726\n"
-"POT-Creation-Date: 2000-09-02 20:40+0200\n"
+"POT-Creation-Date: 2000-10-12 06:20+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Nikos Mavroyanopoulos <nmav@i-net.paiko.gr>\n"
"Language-Team: Hellenic <el@li.org>\n"
msgid "Unknown error %d"
msgstr "Áãíùóôï óöÜëìá %d"
-#: src/chage.c:156
+#: src/chage.c:162
#, c-format
msgid ""
"Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -W warn ]\n"
"×ñÞóç: %s [ -l ] [ -m åëá÷_ìÝñåò ] [ -M ìåã_ìÝñåò ] [ -W ðñïåéä. ]\n"
"\t[ -I áíåíåñãü ] [ -E ëÞîç ] [ -d ôåëåõôáßá_ìÝñá ] ÷ñÞóôçò\n"
-#: src/chage.c:158
+#: src/chage.c:164
#, c-format
msgid "Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -d last_day ] user\n"
msgstr ""
"×ñÞóç: %s [ -l ] [ -m åëÜ÷_ìÝñåò ] [ -M ìåã_ìÝñåò ]\n"
"[ -d ôåëåõôáßá_ìÝñá ] ÷ñÞóôçò\n"
-#: src/chage.c:193
+#: src/chage.c:199
msgid ""
"Enter the new value, or press return for the default\n"
"\n"
"ÅéóÜãåôå ôçí íÝá ôéìÞ, Þ ðéÝóôå `return' ãéá ôçí ðñïêáèïñéóìÝíç\n"
"\n"
-#: src/chage.c:196
+#: src/chage.c:202
msgid "Minimum Password Age"
msgstr "Ìéêñüôåñç äéÜñêåéá óõíèçìáôéêïý"
-#: src/chage.c:201
+#: src/chage.c:207
msgid "Maximum Password Age"
msgstr "ÌÝãéóôç äéÜñêåéá óõíèçìáôéêïý"
-#: src/chage.c:207
+#: src/chage.c:213
msgid "Last Password Change (YYYY-MM-DD)"
msgstr "Ôåëåõôáßá áëëáãÞ óõíèçìáôéêïý (××××-ÌÌ-ÇÇ)"
-#: src/chage.c:216
+#: src/chage.c:222
msgid "Password Expiration Warning"
msgstr "Ðñïåéäïðïßçóç ëÞîçò óõíèçìáôéêïý"
-#: src/chage.c:221
+#: src/chage.c:227
msgid "Password Inactive"
msgstr "Áíåíåñãü óõíèçìáôéêü"
-#: src/chage.c:227
+#: src/chage.c:233
msgid "Account Expiration Date (YYYY-MM-DD)"
msgstr "Çìåñïìçíßá ËÞîçò Ëïãáñéáóìïý (××××-ÌÌ-ÇÇ)"
#. * days after the password expires that the account becomes
#. * unusable.
#.
-#: src/chage.c:281
+#: src/chage.c:287
#, c-format
msgid "Minimum:\t%ld\n"
msgstr "ÅëÜ÷éóôï:\t%ld\n"
-#: src/chage.c:282
+#: src/chage.c:288
#, c-format
msgid "Maximum:\t%ld\n"
msgstr "ÌÝãéóôï:\t%ld\n"
-#: src/chage.c:284
+#: src/chage.c:290
#, c-format
msgid "Warning:\t%ld\n"
msgstr "Ðñïåéäïðïßçóç:\t%ld\n"
-#: src/chage.c:285
+#: src/chage.c:291
#, c-format
msgid "Inactive:\t%ld\n"
msgstr "Áíåíåñãüò:\t%ld\n"
#. * password was last modified. The date is the number of
#. * days since 1/1/1970.
#.
-#: src/chage.c:294
+#: src/chage.c:300
msgid "Last Change:\t\t"
msgstr "Ôåëåõôáßá áëëáãÞ:\t\t"
-#: src/chage.c:296 src/chage.c:310 src/chage.c:327 src/chage.c:340
+#: src/chage.c:302 src/chage.c:316 src/chage.c:333 src/chage.c:346
msgid "Never\n"
msgstr "ÐïôÝ\n"
#. * change date plus the number of days the password is valid
#. * for.
#.
-#: src/chage.c:308
+#: src/chage.c:314
msgid "Password Expires:\t"
msgstr "Ôï óõíèçìáôéêü ëÞãåé:\t"
#. * and the number of inactive days is added. The resulting date
#. * is when the active will be disabled.
#.
-#: src/chage.c:324
+#: src/chage.c:330
#, fuzzy
msgid "Password Inactive:\t"
msgstr "Áíåíåñãü óõíèçìáôéêü"
#. * The account will expire on the given date regardless of the
#. * password expiring or not.
#.
-#: src/chage.c:338
+#: src/chage.c:344
#, fuzzy
msgid "Account Expires:\t"
msgstr "Ôï óõíèçìáôéêü ëÞãåé:\t"
-#: src/chage.c:486
+#: src/chage.c:453 src/chpasswd.c:152 src/groupadd.c:536 src/groupdel.c:322
+#: src/groupmod.c:522 src/newusers.c:389 src/useradd.c:1707 src/userdel.c:738
+#: src/usermod.c:1684
+#, fuzzy, c-format
+msgid "%s: PAM authentication failed\n"
+msgstr "%s: ÓöÜëìá êáôÜ ôçí ðñïóèÞêç ìåèüäïõ åîáêñßâùóçò\n"
+
+#: src/chage.c:536
#, c-format
msgid "%s: do not include \"l\" with other flags\n"
msgstr "%s: Íá ìçí óõìðåñéëáìâÜíåôå ôï \"l\" ìå ôéò Üëëåò åíäåßîåéò\n"
-#: src/chage.c:498 src/chage.c:610 src/login.c:529
+#: src/chage.c:548 src/chage.c:660 src/login.c:529
#, c-format
msgid "%s: permission denied\n"
msgstr "%s: Üäåéá áðïññßöèçêå\n"
-#: src/chage.c:510 src/chpasswd.c:120
+#: src/chage.c:560 src/chpasswd.c:170
#, c-format
msgid "%s: can't lock password file\n"
msgstr "%s: áäõíáìßá êëåéäþìáôïò ôïõ áñ÷åßïõ óõíèçìáôéêþí\n"
-#: src/chage.c:516 src/chpasswd.c:124
+#: src/chage.c:566 src/chpasswd.c:174
#, c-format
msgid "%s: can't open password file\n"
msgstr "%s: áäõíáìßá áíïßãìáôïò ôïõ áñ÷åßïõ óõíèçìáôéêþí\n"
-#: src/chage.c:523
+#: src/chage.c:573
#, c-format
msgid "%s: unknown user: %s\n"
msgstr "%s: Üãíùóôïò ÷ñÞóôçò: %s\n"
-#: src/chage.c:542
+#: src/chage.c:592
#, c-format
msgid "%s: can't lock shadow password file\n"
msgstr "%s: áäõíáìßá êëåéäþìáôïò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí\n"
-#: src/chage.c:549
+#: src/chage.c:599
#, c-format
msgid "%s: can't open shadow password file\n"
msgstr "%s: áäõíáìßá áíïßãìáôïò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí\n"
-#: src/chage.c:631
+#: src/chage.c:681
#, c-format
msgid "Changing the aging information for %s\n"
msgstr "ÁëëáãÞ ðëçñïöïñéþí ÷ñüíïõ ãéá ôïí %s\n"
-#: src/chage.c:633
+#: src/chage.c:683
#, c-format
msgid "%s: error changing fields\n"
msgstr "%s: ÓöÜëìá êáôÜ ôçí áëëáãÞ ðåäßùí\n"
-#: src/chage.c:660 src/chage.c:723 src/pwunconv.c:183
+#: src/chage.c:710 src/chage.c:773 src/pwunconv.c:183
#, c-format
msgid "%s: can't update password file\n"
msgstr "%s: áäõíáìßá áíáíÝùóçò áñ÷åßïõ óõíèçìáôéêþí\n"
-#: src/chage.c:690 src/pwunconv.c:178
+#: src/chage.c:740 src/pwunconv.c:178
#, c-format
msgid "%s: can't update shadow password file\n"
msgstr "%s: áäõíáìßá áíáíÝùóçò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí\n"
-#: src/chage.c:739 src/chage.c:754 src/chfn.c:570 src/chsh.c:409
+#: src/chage.c:789 src/chage.c:804 src/chfn.c:570 src/chsh.c:409
#: src/passwd.c:825 src/passwd.c:926
msgid "Error updating the DBM password entry.\n"
msgstr ""
"ÓöÜëìá êáôÜ ôçí áíáíÝùóç ôçò êáôá÷þñçóçò óôï dbm áñ÷åßï óõíèçìáôéêþí.\n"
-#: src/chage.c:771
+#: src/chage.c:821
#, c-format
msgid "%s: can't rewrite shadow password file\n"
msgstr "%s: áäõíáìßá åðáíåããñáöÞò áñ÷åßïõ óêéùäþí óõíèçìáôéêþí\n"
-#: src/chage.c:785
+#: src/chage.c:835
#, c-format
msgid "%s: can't rewrite password file\n"
msgstr "%s: áäõíáìßá åðáíåããñáöÞò áñ÷åßïõ óõíèçìáôéêþí\n"
-#: src/chage.c:836
+#: src/chage.c:853 src/chpasswd.c:346 src/groupadd.c:595 src/groupdel.c:409
+#: src/groupmod.c:606 src/newusers.c:625 src/useradd.c:1816 src/userdel.c:903
+#: src/usermod.c:1762
+#, fuzzy, c-format
+msgid "%s: PAM chauthtok failed\n"
+msgstr "%s: áäõíáìßá îåêëåéäþìáôïò áñ÷åßïõ\n"
+
+#: src/chage.c:905
#, c-format
msgid "%s: no aging information present\n"
msgstr "%s: Äåí õðÜñ÷ïõí ðëçñïöïñßåò ãÞñáíóçò\n"
msgid "Cannot open the password file.\n"
msgstr "Áäõíáìßá áíïßãìáôïò ôïõ áñ÷åßïõ óõíèçìáôéêþí.\n"
-#: src/chfn.c:545 src/chsh.c:382 src/passwd.c:746 src/usermod.c:1313
+#: src/chfn.c:545 src/chsh.c:382 src/passwd.c:746 src/usermod.c:1319
#, c-format
msgid "%s: %s not found in /etc/passwd\n"
msgstr "%s: Ï %s äåí âñÝèçêå óôï /etc/passwd\n"
msgid "Cannot unlock the password file.\n"
msgstr "Áäõíáìßá îåêëåéäþìáôïò ôïõ áñ÷åßïõ óõíèçìáôéêþí\n"
-#: src/chpasswd.c:76
+#: src/chpasswd.c:82
#, c-format
msgid "usage: %s [-e]\n"
msgstr "÷ñÞóç: %s [-e]\n"
-#: src/chpasswd.c:132 src/pwconv.c:104
+#: src/chpasswd.c:182 src/pwconv.c:104
#, c-format
msgid "%s: can't lock shadow file\n"
msgstr "%s: áäõíáìßá êëåéäþìáôïò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí\n"
-#: src/chpasswd.c:137 src/gpasswd.c:608 src/pwconv.c:109 src/pwunconv.c:118
+#: src/chpasswd.c:187 src/gpasswd.c:608 src/pwconv.c:109 src/pwunconv.c:118
#: src/pwunconv.c:123
#, c-format
msgid "%s: can't open shadow file\n"
msgstr "%s: áäõíáìßá áíïßãìáôïò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí\n"
-#: src/chpasswd.c:159 src/newusers.c:415
+#: src/chpasswd.c:209 src/newusers.c:465
#, c-format
msgid "%s: line %d: line too long\n"
msgstr "%s: ãñáììÞ %d: ðïëý ìåãÜëç ãñáììÞ\n"
-#: src/chpasswd.c:179
+#: src/chpasswd.c:229
#, c-format
msgid "%s: line %d: missing new password\n"
msgstr "%s: ãñáììÞ %d: Ýëëåéøç íÝïõ óõíèçìáôéêïý\n"
-#: src/chpasswd.c:195
+#: src/chpasswd.c:245
#, c-format
msgid "%s: line %d: unknown user %s\n"
msgstr "%s: ãñáììÞ %d: Üãíùóôïò ÷ñÞóôçò %s\n"
-#: src/chpasswd.c:247
+#: src/chpasswd.c:297
#, c-format
msgid "%s: line %d: cannot update password entry\n"
msgstr "%s: ãñáììÞ %d: áäõíáìßá áíáíÝùóçò êáôá÷þñçóçò óõíèçìáôéêïý\n"
-#: src/chpasswd.c:263 src/newusers.c:535
+#: src/chpasswd.c:313 src/newusers.c:585
#, c-format
msgid "%s: error detected, changes ignored\n"
msgstr "%s: Áíé÷íÝõôçêå óöÜëìá, ïé áëëáãÝò áãíïÞèçêáí\n"
-#: src/chpasswd.c:274
+#: src/chpasswd.c:324
#, c-format
msgid "%s: error updating shadow file\n"
msgstr ""
"%s: ÓöÜëìá êáôÜ ôçí áíáíÝùóç êáôá÷ùñÞóåùí óôï áñ÷åßï óêéùäþí óõíèçìáôéêþí\n"
-#: src/chpasswd.c:282
+#: src/chpasswd.c:332
#, c-format
msgid "%s: error updating password file\n"
msgstr "%s: ÓöÜëìá êáôÜ ôçí áíáíÝùóç êáôá÷ùñÞóåùí óôï áñ÷åßï óõíèçìáôéêþí\n"
msgid "%s: can't update DBM shadow files\n"
msgstr "%s: áäõíáìßá áíáíÝùóçò ôùí DBM áñ÷åßùí óêéùäþí óõíèçìáôéêþí\n"
-#: src/groupadd.c:105
+#: src/groupadd.c:111
msgid "usage: groupadd [-g gid [-o]] group\n"
msgstr "÷ñÞóç: groupadd [-g gid [-o]] ïìÜäá\n"
-#: src/groupadd.c:173 src/groupadd.c:196 src/groupmod.c:183 src/groupmod.c:230
-#: src/useradd.c:931 src/usermod.c:539 src/usermod.c:675
+#: src/groupadd.c:179 src/groupadd.c:202 src/groupmod.c:189 src/groupmod.c:236
+#: src/useradd.c:937 src/usermod.c:545 src/usermod.c:681
#, c-format
msgid "%s: error adding new group entry\n"
msgstr "%s: ÓöÜëìá êáôÜ ôçí ðñïóèÞêç íÝáò êáôá÷þñçóçò óôï áñ÷åßï ïìÜäùí\n"
-#: src/groupadd.c:183 src/groupadd.c:206 src/groupmod.c:199 src/useradd.c:942
-#: src/usermod.c:551 src/usermod.c:687
+#: src/groupadd.c:189 src/groupadd.c:212 src/groupmod.c:205 src/useradd.c:948
+#: src/usermod.c:557 src/usermod.c:693
#, c-format
msgid "%s: cannot add new dbm group entry\n"
msgstr "%s: áäõíáìßá ðñïóèÞêçò íÝáò dbm êáôá÷þñçóçò óôï áñ÷åßï ïìÜäùí\n"
-#: src/groupadd.c:258 src/useradd.c:996
+#: src/groupadd.c:264 src/useradd.c:1002
#, c-format
msgid "%s: name %s is not unique\n"
msgstr "%s: Ôï üíïìá %s äåí åßíáé ìïíáäéêü\n"
-#: src/groupadd.c:273
+#: src/groupadd.c:279
#, c-format
msgid "%s: gid %ld is not unique\n"
msgstr "%s: Ôï gid %ld äåí åßíáé ìïíáäéêü\n"
-#: src/groupadd.c:297
+#: src/groupadd.c:303
#, c-format
msgid "%s: can't get unique gid\n"
msgstr "%s: áäõíáìßá åýñåóçò ìïíáäéêïý gid\n"
#.
#. * All invalid group names land here.
#.
-#: src/groupadd.c:321 src/groupmod.c:341
+#: src/groupadd.c:327 src/groupmod.c:347
#, c-format
msgid "%s: %s is a not a valid group name\n"
msgstr "%s: Ôï %s äåí åßíáé Ýãêõñï üíïìá ïìÜäáò\n"
-#: src/groupadd.c:350 src/groupmod.c:367
+#: src/groupadd.c:356 src/groupmod.c:373
#, c-format
msgid "%s: invalid group %s\n"
msgstr "%s: Ìç Ýãêõñç ïìÜäá `%s'\n"
-#: src/groupadd.c:367 src/useradd.c:1272
+#: src/groupadd.c:373 src/useradd.c:1278
#, c-format
msgid "%s: -O requires NAME=VALUE\n"
msgstr "%s: -O áðáéôåß ¼ÍÏÌÁ=ÔÉÌÇ\n"
-#: src/groupadd.c:412 src/groupdel.c:167 src/groupmod.c:403 src/useradd.c:1381
-#: src/userdel.c:303 src/usermod.c:563
+#: src/groupadd.c:418 src/groupdel.c:173 src/groupmod.c:409 src/useradd.c:1387
+#: src/userdel.c:309 src/usermod.c:569
#, c-format
msgid "%s: cannot rewrite group file\n"
msgstr "%s: áäõíáìßá åðáíåããñáöÞò ôïõ áñ÷åßïõ ïìÜäùí\n"
-#: src/groupadd.c:418 src/groupdel.c:173 src/groupmod.c:409 src/useradd.c:1389
-#: src/userdel.c:309 src/usermod.c:700
+#: src/groupadd.c:424 src/groupdel.c:179 src/groupmod.c:415 src/useradd.c:1395
+#: src/userdel.c:315 src/usermod.c:706
#, c-format
msgid "%s: cannot rewrite shadow group file\n"
msgstr "%s: áäõíáìßá åðáíåããñáöÞò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí ïìÜäùí\n"
-#: src/groupadd.c:437 src/groupdel.c:192 src/groupmod.c:428 src/userdel.c:389
+#: src/groupadd.c:443 src/groupdel.c:198 src/groupmod.c:434 src/userdel.c:395
#, c-format
msgid "%s: unable to lock group file\n"
msgstr "%s: Áäõíáìßá êëåéäþìáôïò ôïõ áñ÷åßïõ ïìÜäùí\n"
-#: src/groupadd.c:441 src/groupdel.c:196 src/groupmod.c:432
+#: src/groupadd.c:447 src/groupdel.c:202 src/groupmod.c:438
#, c-format
msgid "%s: unable to open group file\n"
msgstr "%s: Áäõíáìßá áíïßãìáôïò ôïõ áñ÷åßïõ ïìÜäùí\n"
-#: src/groupadd.c:446 src/groupdel.c:201 src/groupmod.c:437 src/userdel.c:398
+#: src/groupadd.c:452 src/groupdel.c:207 src/groupmod.c:443 src/userdel.c:404
#, c-format
msgid "%s: unable to lock shadow group file\n"
msgstr "%s: Áäõíáìßá êëåéäþìáôïò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí ïìÜäùí\n"
-#: src/groupadd.c:451 src/groupdel.c:206 src/groupmod.c:442
+#: src/groupadd.c:457 src/groupdel.c:212 src/groupmod.c:448
#, c-format
msgid "%s: unable to open shadow group file\n"
msgstr "%s: Áäõíáìßá áíïßãìáôïò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí ïìÜäùí\n"
-#: src/groupadd.c:518
+#: src/groupadd.c:568
#, c-format
msgid "%s: group %s exists\n"
msgstr "%s: Ç ïìÜäá %s õðÜñ÷åé\n"
-#: src/groupdel.c:86
+#: src/groupdel.c:92
msgid "usage: groupdel group\n"
msgstr "÷ñÞóç: groupdel ïìÜäá\n"
-#: src/groupdel.c:104 src/groupmod.c:187 src/groupmod.c:234
+#: src/groupdel.c:110 src/groupmod.c:193 src/groupmod.c:240
#, c-format
msgid "%s: error removing group entry\n"
msgstr "%s: ÓöÜëìá êáôÜ ôçí äéáãñáöÞ êáôá÷þñçóçò ïìÜäáò\n"
-#: src/groupdel.c:116 src/groupmod.c:206
+#: src/groupdel.c:122 src/groupmod.c:212
#, c-format
msgid "%s: error removing group dbm entry\n"
msgstr "%s: ÓöÜëìá êáôÜ ôçí äéáãñáöÞ êáôá÷þñçóçò óôï dbm áñ÷åßï ïìÜäùí\n"
-#: src/groupdel.c:131
+#: src/groupdel.c:137
#, c-format
msgid "%s: error removing shadow group entry\n"
msgstr ""
"%s: ÓöÜëìá êáôÜ ôçí áöáßñåóç êáôá÷þñçóçò óôï áñ÷åßï óêéùäþí óõíèçìáôéêþí "
"ïìÜäùí\n"
-#: src/groupdel.c:144 src/groupmod.c:252
+#: src/groupdel.c:150 src/groupmod.c:258
#, c-format
msgid "%s: error removing shadow group dbm entry\n"
msgstr ""
#.
#. * Can't remove the group.
#.
-#: src/groupdel.c:248
+#: src/groupdel.c:254
#, c-format
msgid "%s: cannot remove user's primary group.\n"
msgstr "%s: áäõíáìßá áöáßñåóçò ôçò ðñùôáñ÷éêÞò ïìÜäáò ôïõ ÷ñÞóôç.\n"
-#: src/groupdel.c:305 src/groupmod.c:501
+#: src/groupdel.c:355 src/groupmod.c:551
#, c-format
msgid "%s: group %s does not exist\n"
msgstr "%s: Ç ïìÜäá %s äåí õðÜñ÷åé\n"
-#: src/groupdel.c:319 src/groupmod.c:517
+#: src/groupdel.c:369 src/groupmod.c:567
#, c-format
msgid "%s: group %s is a NIS group\n"
msgstr "%s: Ç ïìÜäá %s åßíáé NIS ïìÜäá\n"
-#: src/groupdel.c:325 src/groupmod.c:523 src/userdel.c:761 src/usermod.c:1016
+#: src/groupdel.c:375 src/groupmod.c:573 src/userdel.c:811 src/usermod.c:1022
#, c-format
msgid "%s: %s is the NIS master\n"
msgstr "%s: Ï %s åßíáé ï êýñéïò äéáêïìéóôÞò NIS\n"
-#: src/groupmod.c:105
+#: src/groupmod.c:111
msgid "usage: groupmod [-g gid [-o]] [-n name] group\n"
msgstr "÷ñÞóç: groupmod [-g gid [-o]] [-n üíïìá] ïìÜäá\n"
-#: src/groupmod.c:165
+#: src/groupmod.c:171
#, fuzzy, c-format
msgid "%s: %s not found in /etc/group\n"
msgstr "%s: Ï %s äåí âñÝèçêå óôï /etc/passwd\n"
-#: src/groupmod.c:246
+#: src/groupmod.c:252
#, c-format
msgid "%s: cannot add new dbm shadow group entry\n"
msgstr ""
"%s: áäõíáìßá ðñïóèÞêçò íÝáò dbm êáôá÷þñçóçò óôï áñ÷åßï óêéùäþí óõíèçìáôéêþí "
"ïìÜäùí\n"
-#: src/groupmod.c:299
+#: src/groupmod.c:305
#, c-format
msgid "%s: %ld is not a unique gid\n"
msgstr "%s: Ôï %ld äåí åßíáé ìïíáäéêü gid\n"
-#: src/groupmod.c:330
+#: src/groupmod.c:336
#, c-format
msgid "%s: %s is not a unique name\n"
msgstr "%s: Ôï %s äåí åßíáé ìïíáäéêü üíïìá\n"
msgid "too many groups\n"
msgstr "ðÜñá ðïëëÝò ïìÜäåò\n"
-#: src/newusers.c:76
+#: src/newusers.c:82
#, c-format
msgid "Usage: %s [ input ]\n"
msgstr "×ñÞóç: %s [ åßóïäïò ]\n"
-#: src/newusers.c:364
+#: src/newusers.c:414
#, c-format
msgid "%s: can't lock /etc/passwd.\n"
msgstr "%s: áäõíáìßá êëåéäþìáôïò ôïõ /etc/passwd.\n"
-#: src/newusers.c:375
+#: src/newusers.c:425
#, c-format
msgid "%s: can't lock files, try again later\n"
msgstr "%s: áäõíáìßá êëåéäþìáôïò áñ÷åßùí, îáíáäïêéìÜóôå áñãüôåñá\n"
-#: src/newusers.c:390
+#: src/newusers.c:440
#, c-format
msgid "%s: can't open files\n"
msgstr "%s: áäõíáìßá áíïßãìáôïò ôùí áñ÷åßùí\n"
-#: src/newusers.c:435
+#: src/newusers.c:485
#, c-format
msgid "%s: line %d: invalid line\n"
msgstr "%s: ãñáììÞ %d: ìç Ýãêõñç ãñáììÞ\n"
-#: src/newusers.c:453
+#: src/newusers.c:503
#, c-format
msgid "%s: line %d: can't create GID\n"
msgstr "%s: ãñáììÞ %d: áäõíáìßá äçìéïõñãßáò GID\n"
-#: src/newusers.c:469
+#: src/newusers.c:519
#, c-format
msgid "%s: line %d: can't create UID\n"
msgstr "%s: ãñáììÞ %d: áäõíáìßá äçìéïõñãßáò UID\n"
-#: src/newusers.c:481
+#: src/newusers.c:531
#, c-format
msgid "%s: line %d: cannot find user %s\n"
msgstr "%s: ãñáììÞ %d: áäõíáìßá åýñåóçò ÷ñÞóôç %s\n"
-#: src/newusers.c:489
+#: src/newusers.c:539
#, c-format
msgid "%s: line %d: can't update password\n"
msgstr "%s: ãñáììÞ %d: áäõíáìßá áíáíÝùóç óõíèçìáôéêïý\n"
-#: src/newusers.c:506
+#: src/newusers.c:556
#, c-format
msgid "%s: line %d: mkdir failed\n"
msgstr "%s: ãñáììÞ %d: áðïôõ÷ßá äçìéïõñãßáò êáôáëüãïõ(mkdir)\n"
-#: src/newusers.c:510
+#: src/newusers.c:560
#, c-format
msgid "%s: line %d: chown failed\n"
msgstr "%s: ãñáììÞ %d: áðïôõ÷ßá áëëáãÞò éäéïêôÞôç(chown)\n"
-#: src/newusers.c:519
+#: src/newusers.c:569
#, c-format
msgid "%s: line %d: can't update entry\n"
msgstr "%s: ãñáììÞ %d: áäõíáìßá áíáíÝùóçò êáôá÷þñçóçò\n"
-#: src/newusers.c:550
+#: src/newusers.c:600
#, c-format
msgid "%s: error updating files\n"
msgstr "%s: ÓöÜëìá êáôÜ ôçí åíçìÝñùóç áñ÷åßùí\n"
msgid "Entering System Maintenance Mode\n"
msgstr "¸íáñîç ÊáôÜóôáóçò ÓõíôÞñçóçò ÓõóôÞìáôïò\n"
-#: src/useradd.c:243
+#: src/useradd.c:249
#, c-format
msgid "%s: rebuild the group database\n"
msgstr "%s: åðáíáêôßóôå ôçí âÜóç äåäïìÝíùí ïìÜäùí\n"
-#: src/useradd.c:250
+#: src/useradd.c:256
#, c-format
msgid "%s: rebuild the shadow group database\n"
msgstr "%s: åðáíáêôßóôå ôçí âÜóç äåäïìÝíùí ôùí óêéùäþí óõíèçìáôéêþí ïìÜäùí\n"
-#: src/useradd.c:287 src/usermod.c:967
+#: src/useradd.c:293 src/usermod.c:973
#, c-format
msgid "%s: invalid numeric argument `%s'\n"
msgstr "%s: Ìç Ýãêõñç áñéèìçôéêÞ ðáñÜìåôñïò `%s'\n"
-#: src/useradd.c:343
+#: src/useradd.c:349
#, c-format
msgid "%s: unknown gid %s\n"
msgstr "%s: Üãíùóôï gid %s\n"
-#: src/useradd.c:350 src/useradd.c:642 src/useradd.c:1228 src/usermod.c:254
-#: src/usermod.c:1098
+#: src/useradd.c:356 src/useradd.c:648 src/useradd.c:1234 src/usermod.c:260
+#: src/usermod.c:1104
#, c-format
msgid "%s: unknown group %s\n"
msgstr "%s: Üãíùóôç ïìÜäá %s\n"
-#: src/useradd.c:418
+#: src/useradd.c:424
#, c-format
msgid "group=%s,%ld basedir=%s skel=%s\n"
msgstr "ïìÜäá=%s,%ld âáóéêüò_êáôáë=%s óêåë=%s\n"
-#: src/useradd.c:421
+#: src/useradd.c:427
#, c-format
msgid "shell=%s "
msgstr "öëïéüò=%s "
-#: src/useradd.c:423
+#: src/useradd.c:429
#, c-format
msgid "inactive=%ld expire=%s"
msgstr "áíåíåñãü=%ld ëÞîç=%s"
-#: src/useradd.c:427
+#: src/useradd.c:433
#, c-format
msgid "GROUP=%ld\n"
msgstr "ÏÌÁÄÁ=%ld\n"
-#: src/useradd.c:428
+#: src/useradd.c:434
#, c-format
msgid "HOME=%s\n"
msgstr "ÌÇÔÑÉÊÏÓ_ÊÁÔÁËÏÃÏÓ=%s\n"
-#: src/useradd.c:430
+#: src/useradd.c:436
#, c-format
msgid "INACTIVE=%ld\n"
msgstr "ÁÍÅÍÅÑÃÏÓ=%ld\n"
-#: src/useradd.c:431
+#: src/useradd.c:437
#, c-format
msgid "EXPIRE=%s\n"
msgstr "ËÇÎÇ=%s\n"
-#: src/useradd.c:433
+#: src/useradd.c:439
#, c-format
msgid "SHELL=%s\n"
msgstr "ÊÅËÕÖÏÓ=%s\n"
-#: src/useradd.c:434
+#: src/useradd.c:440
#, c-format
msgid "SKEL=%s\n"
msgstr "ÓÊÅË=%s\n"
-#: src/useradd.c:470
+#: src/useradd.c:476
#, c-format
msgid "%s: cannot create new defaults file\n"
msgstr "%s: áäõíáìßá äçìéïõñãßáò íÝïõ áñ÷åßïõ ðñïêáèïñéóìÝíùí ñõèìßóåùí\n"
-#: src/useradd.c:564 src/useradd.c:575
+#: src/useradd.c:570 src/useradd.c:581
#, c-format
msgid "%s: rename: %s"
msgstr "%s: ìåôïíïìáóßá: %s"
-#: src/useradd.c:662 src/usermod.c:274
+#: src/useradd.c:668 src/usermod.c:280
#, c-format
msgid "%s: group `%s' is a NIS group.\n"
msgstr "%s: Ç ïìÜäá `%s' åßíáé NIS ïìÜäá.\n"
-#: src/useradd.c:670 src/usermod.c:282
+#: src/useradd.c:676 src/usermod.c:288
#, c-format
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: Ðñïóäéïñßóôçêáí õðåñâïëéêÝò ïìÜäåò (ìåã. %d).\n"
-#: src/useradd.c:702 src/usermod.c:314
+#: src/useradd.c:708 src/usermod.c:320
#, c-format
msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
msgstr "÷ñÞóç: %s\t[-u uid [-o]] [-g ïìÜäá] [-G ïìÜäá,...] \n"
-#: src/useradd.c:705
+#: src/useradd.c:711
msgid "\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n"
msgstr ""
"\t\t[-d ìçôñéêüò_êáôÜëïãïò] [-s öëïéüò] [-c ó÷üëéï]\n"
"\t\t[-m [-k êáíüíáò]]\n"
-#: src/useradd.c:708 src/usermod.c:320
+#: src/useradd.c:714 src/usermod.c:326
msgid "[-f inactive] [-e expire ] "
msgstr "[-f áíåíåñãü] [-e ëÞîç ] "
-#: src/useradd.c:711
+#: src/useradd.c:717
msgid "[-A program] "
msgstr "[-A ðñüãñáììá] "
-#: src/useradd.c:713
+#: src/useradd.c:719
msgid "[-p passwd] name\n"
msgstr "[-p óõíèçìáôéêü] üíïìá\n"
-#: src/useradd.c:715
+#: src/useradd.c:721
#, c-format
msgid " %s\t-D [-g group] [-b base] [-s shell]\n"
msgstr " %s\t-D [-g ïìÜäá] [-b âÜóç] [-s öëïéüò]\n"
-#: src/useradd.c:718
+#: src/useradd.c:724
msgid "\t\t[-f inactive] [-e expire ]\n"
msgstr "\t\t[-f áíåíåñãü] [-e ëÞîç ]\n"
-#: src/useradd.c:815 src/usermod.c:472
+#: src/useradd.c:821 src/usermod.c:478
#, c-format
msgid "%s: error locking group file\n"
msgstr "%s: ÓöÜëìá êáôÜ ôï êëåßäùìá ôïõ áñ÷åßïõ ïìÜäùí\n"
-#: src/useradd.c:819 src/usermod.c:477
+#: src/useradd.c:825 src/usermod.c:483
#, c-format
msgid "%s: error opening group file\n"
msgstr "%s: ÓöÜëìá êáôÜ ôï Üíïéãìá ôïõ áñ÷åßïõ ïìÜäùí\n"
-#: src/useradd.c:824 src/usermod.c:584
+#: src/useradd.c:830 src/usermod.c:590
#, c-format
msgid "%s: error locking shadow group file\n"
msgstr "%s: ÓöÜëìá êáôÜ ôï êëåßäùìá ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí ïìÜäùí\n"
-#: src/useradd.c:829 src/usermod.c:590
+#: src/useradd.c:835 src/usermod.c:596
#, c-format
msgid "%s: error opening shadow group file\n"
msgstr "%s: ÓöÜëìá êáôÜ ôï Üíïéãìá ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí ïìÜäùí\n"
-#: src/useradd.c:1001
+#: src/useradd.c:1007
#, c-format
msgid "%s: uid %d is not unique\n"
msgstr "%s: Ôï uid %d äåí åßíáé ìïíáäéêü\n"
-#: src/useradd.c:1031
+#: src/useradd.c:1037
#, c-format
msgid "%s: can't get unique uid\n"
msgstr "%s: áäõíáìßá åõñåóçò ìïíáäéêïý uid\n"
-#: src/useradd.c:1139 src/useradd.c:1283 src/usermod.c:1046 src/usermod.c:1057
-#: src/usermod.c:1067 src/usermod.c:1113 src/usermod.c:1157
+#: src/useradd.c:1145 src/useradd.c:1289 src/usermod.c:1052 src/usermod.c:1063
+#: src/usermod.c:1073 src/usermod.c:1119 src/usermod.c:1163
#, c-format
msgid "%s: invalid field `%s'\n"
msgstr "%s: Ìç Ýãêõñï ðåäßï `%s'\n"
-#: src/useradd.c:1153
+#: src/useradd.c:1159
#, c-format
msgid "%s: invalid base directory `%s'\n"
msgstr "%s: Ìç Ýãêõñïò êáôÜëïãïò âÜóçò `%s'\n"
-#: src/useradd.c:1163
+#: src/useradd.c:1169
#, c-format
msgid "%s: invalid comment `%s'\n"
msgstr "%s: Ìç Ýãêõñï ó÷üëéï `%s'\n"
-#: src/useradd.c:1173
+#: src/useradd.c:1179
#, c-format
msgid "%s: invalid home directory `%s'\n"
msgstr "%s: Ìç Ýãêõñïò ìçôñéêüò êáôÜëïãïò ÷ñÞóôç `%s'\n"
-#: src/useradd.c:1191 src/usermod.c:1080
+#: src/useradd.c:1197 src/usermod.c:1086
#, c-format
msgid "%s: invalid date `%s'\n"
msgstr "%s: Ìç Ýãêõñç çìåñïìçíßá `%s'\n"
-#: src/useradd.c:1203
+#: src/useradd.c:1209
#, c-format
msgid "%s: shadow passwords required for -e\n"
msgstr "%s: óêéþäç óõíèçìáôéêÜ áðáéôïýíôáé ãéá ôï -e\n"
-#: src/useradd.c:1218
+#: src/useradd.c:1224
#, c-format
msgid "%s: shadow passwords required for -f\n"
msgstr "%s: óêéþäç óõíèçìáôéêÜ áðáéôïýíôáé ãéá -f\n"
-#: src/useradd.c:1292
+#: src/useradd.c:1298
#, c-format
msgid "%s: invalid shell `%s'\n"
msgstr "%s: Ìç Ýãêõñïò öëïéüò `%s'\n"
-#: src/useradd.c:1333
+#: src/useradd.c:1339
#, c-format
msgid "%s: invalid user name `%s'\n"
msgstr "%s: Ìç Ýãêõñï üíïìá ÷ñÞóôç `%s'\n"
-#: src/useradd.c:1369 src/userdel.c:292 src/usermod.c:1225
+#: src/useradd.c:1375 src/userdel.c:298 src/usermod.c:1231
#, c-format
msgid "%s: cannot rewrite password file\n"
msgstr "%s: áäõíáìßá åðáíåããñáöÞò ôïõ áñ÷åßïõ óõíèçìáôéêþí\n"
-#: src/useradd.c:1374 src/userdel.c:295 src/usermod.c:1230
+#: src/useradd.c:1380 src/userdel.c:301 src/usermod.c:1236
#, c-format
msgid "%s: cannot rewrite shadow password file\n"
msgstr "%s: áäõíáìßá åðáíåããñáöÞò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí\n"
-#: src/useradd.c:1414 src/userdel.c:359 src/usermod.c:1265
+#: src/useradd.c:1420 src/userdel.c:365 src/usermod.c:1271
#, c-format
msgid "%s: unable to lock password file\n"
msgstr "%s: Áäõíáìßá êëåéäþìáôïò ôïõ áñ÷åßïõ óõíèçìáôéêþí\n"
-#: src/useradd.c:1418 src/userdel.c:363 src/usermod.c:1269
+#: src/useradd.c:1424 src/userdel.c:369 src/usermod.c:1275
#, c-format
msgid "%s: unable to open password file\n"
msgstr "%s: Áäõíáìßá áíïßãìáôïò ôïõ áñ÷åßïõ óõíèçìáôéêþí\n"
-#: src/useradd.c:1424 src/userdel.c:368 src/usermod.c:1274
+#: src/useradd.c:1430 src/userdel.c:374 src/usermod.c:1280
#, c-format
msgid "%s: cannot lock shadow password file\n"
msgstr "%s: áäõíáìßá êëåéäþìáôïò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí\n"
-#: src/useradd.c:1430 src/userdel.c:373 src/usermod.c:1279
+#: src/useradd.c:1436 src/userdel.c:379 src/usermod.c:1285
#, c-format
msgid "%s: cannot open shadow password file\n"
msgstr "%s: áäõíáìßá áíïßãìáôïò áñ÷åßïõ óêéùäþí óõíèçìáôéêþí\n"
-#: src/useradd.c:1529 src/usermod.c:1366
+#: src/useradd.c:1535 src/usermod.c:1372
#, c-format
msgid "%s: error adding authentication method\n"
msgstr "%s: ÓöÜëìá êáôÜ ôçí ðñïóèÞêç ìåèüäïõ åîáêñßâùóçò\n"
-#: src/useradd.c:1552
+#: src/useradd.c:1558
#, c-format
msgid "%s: error adding new password entry\n"
msgstr ""
"%s: ÓöÜëìá êáôÜ ôçí ðñïóèÞêç íÝáò êáôá÷þñçóçò óôï áñ÷åßï óõíèçìáôéêþí\n"
-#: src/useradd.c:1567
+#: src/useradd.c:1573
#, c-format
msgid "%s: error updating password dbm entry\n"
msgstr ""
"%s: ÓöÜëìá êáôÜ ôçí áíáíÝùóç êáôá÷ùñÞóåùí óôï dbm áñ÷åßï óõíèçìáôéêþí\n"
-#: src/useradd.c:1583 src/usermod.c:1425
+#: src/useradd.c:1589 src/usermod.c:1431
#, c-format
msgid "%s: error adding new shadow password entry\n"
msgstr ""
"%s: ÓöÜëìá êáôÜ ôçí ðñïóèÞêç íÝáò êáôá÷þñçóçò óôï áñ÷åßï óêéùäþí "
"óõíèçìáôéêþí\n"
-#: src/useradd.c:1599 src/usermod.c:1440
+#: src/useradd.c:1605 src/usermod.c:1446
#, c-format
msgid "%s: error updating shadow passwd dbm entry\n"
msgstr ""
"%s: ÓöÜëìá êáôÜ ôçí áíáíÝùóç êáôá÷ùñÞóåùí óôï dbm áñ÷åßï óêéùäþí "
"óõíèçìáôéêþí\n"
-#: src/useradd.c:1631
+#: src/useradd.c:1637
#, c-format
msgid "%s: cannot create directory %s\n"
msgstr "%s: áäõíáìßá äçìéïõñãßáò êáôáëüãïõ %s\n"
-#: src/useradd.c:1708 src/usermod.c:1203
+#: src/useradd.c:1758 src/usermod.c:1209
#, c-format
msgid "%s: user %s exists\n"
msgstr "%s: Ï ÷ñÞóôçò %s õðÜñ÷åé\n"
-#: src/useradd.c:1738
+#: src/useradd.c:1770
+#, c-format
+msgid ""
+"%s: group %s exists - if you want to add this user to that group, use -g.\n"
+msgstr ""
+
+#: src/useradd.c:1801
#, c-format
msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
msgstr ""
-#: src/userdel.c:127
+#: src/userdel.c:133
#, c-format
msgid "usage: %s [-r] name\n"
msgstr "÷ñÞóç: %s [-r] üíïìá\n"
-#: src/userdel.c:178 src/userdel.c:260
+#: src/userdel.c:184 src/userdel.c:266
#, c-format
msgid "%s: error updating group entry\n"
msgstr "%s: ÓöÜëìá êáôÜ ôçí áíáíÝùóç êáôá÷ùñÞóçò ïìÜäáò\n"
-#: src/userdel.c:188 src/userdel.c:269
+#: src/userdel.c:194 src/userdel.c:275
#, c-format
msgid "%s: cannot update dbm group entry\n"
msgstr "%s: áäõíáìßá áíáíÝùóçò ôçò dbm êáôá÷þñçóçò óôï áñ÷åßï ïìÜäùí\n"
-#: src/userdel.c:215
+#: src/userdel.c:221
#, fuzzy, c-format
msgid "%s: cannot remove dbm group entry\n"
msgstr "%s: áäõíáìßá áíáíÝùóçò ôçò dbm êáôá÷þñçóçò óôï áñ÷åßï ïìÜäùí\n"
-#: src/userdel.c:300
+#: src/userdel.c:306
#, c-format
msgid "%s: cannot rewrite TCFS key file\n"
msgstr "%s: áäõíáìßá åðáíåããñáöÞò ôïõ áñ÷åßïõ êëåéäéþí ôïõ TCFS\n"
-#: src/userdel.c:380
+#: src/userdel.c:386
#, c-format
msgid "%s: cannot lock TCFS key file\n"
msgstr "%s: áäõíáìßá êëåéäþìáôïò ôïõ áñ÷åßïõ êëåéäéþí ôïõ TCFS\n"
-#: src/userdel.c:384
+#: src/userdel.c:390
#, c-format
msgid "%s: cannot open TCFS key file\n"
msgstr "%s: áäõíáìßá áíïßãìáôïò ôïõ áñ÷åßïõ êëåéäéþí ôïõ TCFS\n"
-#: src/userdel.c:393
+#: src/userdel.c:399
#, c-format
msgid "%s: cannot open group file\n"
msgstr "%s: áäõíáìßá áíïßãìáôïò áñ÷åßïõ ïìÜäùí\n"
-#: src/userdel.c:403
+#: src/userdel.c:409
#, c-format
msgid "%s: cannot open shadow group file\n"
msgstr "%s: áäõíáìßá áíïßãìáôïò áñ÷åßïõ óêéùäþí óõíèçìáôéêþí ïìÜäùí\n"
-#: src/userdel.c:434 src/userdel.c:449
+#: src/userdel.c:440 src/userdel.c:455
#, c-format
msgid "%s: error deleting authentication\n"
msgstr "%s: ÓöÜëìá êáôÜ ôçí äéáãñáöÞ åîáêñßâùóçò\n"
-#: src/userdel.c:458
+#: src/userdel.c:464
#, c-format
msgid "%s: error deleting password entry\n"
msgstr "%s: ÓöÜëìá êáôÜ ôçí äéáãñáöÞ êáôá÷þñçóçò óôï áñ÷åßï óõíèçìáôéêþí\n"
-#: src/userdel.c:461
+#: src/userdel.c:467
#, c-format
msgid "%s: error deleting shadow password entry\n"
msgstr ""
"%s: ÓöÜëìá êáôÜ ôçí äéáãñáöÞ êáôá÷þñçóçò óôï áñ÷åßï óêéùäþí óõíèçìáôéêþí\n"
-#: src/userdel.c:470
+#: src/userdel.c:476
#, c-format
msgid "%s: error deleting TCFS entry\n"
msgstr "%s: ÓöÜëìá êáôÜ ôçí äéáãñáöÞ êáôá÷þñçóçò ôïõ TCFS\n"
-#: src/userdel.c:483
+#: src/userdel.c:489
#, c-format
msgid "%s: error deleting password dbm entry\n"
msgstr "%s: ÓöÜëìá êáôÜ ôçí äéáãñáöÞ êáôá÷þñçóçò óôï dbm áñ÷åßï óõíèçìáôéêþí\n"
-#: src/userdel.c:502
+#: src/userdel.c:508
#, c-format
msgid "%s: error deleting shadow passwd dbm entry\n"
msgstr ""
"%s: ÓöÜëìá êáôÜ ôçí äéáãñáöÞ êáôá÷þñçóçò óôï dbm áñ÷åßï óêéùäþí "
"óõíèçìáôéêþí\n"
-#: src/userdel.c:543
+#: src/userdel.c:549
#, c-format
msgid "%s: user %s is currently logged in\n"
msgstr "%s: Ï ÷ñÞóôçò %s âñßóêåôáé óôï óýóôçìá\n"
-#: src/userdel.c:660
+#: src/userdel.c:666
#, c-format
msgid "%s: warning: %s not owned by %s, not removing\n"
msgstr "%s: ðñïåéäïðïßçóç: Ôï %s äåí áíÞêåé óôïí %s, äåí äéáãñÜöåôáé\n"
-#: src/userdel.c:666
+#: src/userdel.c:672
#, c-format
msgid "%s: warning: can't remove "
msgstr "%s: ðñïåéäïðïßçóç: áäõíáìßá äéáãñáöÞò "
-#: src/userdel.c:741 src/usermod.c:994
+#: src/userdel.c:791 src/usermod.c:1000
#, c-format
msgid "%s: user %s does not exist\n"
msgstr "%s: Ï ÷ñÞóôçò %s äåí õðÜñ÷åé\n"
-#: src/userdel.c:755 src/usermod.c:1010
+#: src/userdel.c:805 src/usermod.c:1016
#, c-format
msgid "%s: user %s is a NIS user\n"
msgstr "%s: Ï ÷ñÞóôçò %s åßíáé NIS ÷ñÞóôçò\n"
-#: src/userdel.c:792
+#: src/userdel.c:842
#, c-format
msgid "%s: %s not owned by %s, not removing\n"
msgstr "%s: Ôï %s äåí áíÞêåé óôïí %s, äåí áöáéñåßôáé\n"
-#: src/userdel.c:815
+#: src/userdel.c:865
#, c-format
msgid "%s: not removing directory %s (would remove home of user %s)\n"
msgstr ""
"%s: Äåí äéáãñÜöåôáé ï êáôÜëïãïò %s (èá áöáéñïýóå ôïí ìçôñéêü êáôÜëïãï ôïõ "
"÷ñÞóôç %s)\n"
-#: src/userdel.c:828
+#: src/userdel.c:878
#, c-format
msgid "%s: error removing directory %s\n"
msgstr "%s: ÓöÜëìá êáôÜ ôçí äéáãñáöÞ ôïõ êáôáëüãïõ %s\n"
-#: src/usermod.c:317
+#: src/usermod.c:323
msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
msgstr ""
"\t\t[-d ìçôñéêüò_êáôÜëïãïò [-m]] [-s öëïéüò] [-c ó÷üëéï]\n"
"\t\t[-l íÝï_üíïìá]\n"
-#: src/usermod.c:323
+#: src/usermod.c:329
msgid "[-A {DEFAULT|program},... ] "
msgstr "[-A {DEFAULT|ðñüãñáììá},... ] "
-#: src/usermod.c:325
+#: src/usermod.c:331
#, fuzzy
msgid "[-p passwd] [-L|-U] name\n"
msgstr "[-p óõíèçìáôéêü] üíïìá\n"
-#: src/usermod.c:504
+#: src/usermod.c:510
#, c-format
msgid "%s: out of memory in update_group\n"
msgstr "%s: äåí õðÜñ÷åé åëåýèåñç ìíÞìç óôï update_group\n"
-#: src/usermod.c:627
+#: src/usermod.c:633
#, c-format
msgid "%s: out of memory in update_gshadow\n"
msgstr "%s: óôï update_gshadow\n"
-#: src/usermod.c:1180
+#: src/usermod.c:1186
#, c-format
msgid "%s: no flags given\n"
msgstr "%s: Äåí äüèçêáí åíäåßîåéò\n"
-#: src/usermod.c:1187
+#: src/usermod.c:1193
#, c-format
msgid "%s: shadow passwords required for -e and -f\n"
msgstr "%s: óêéþäç óõíèçìáôéêÜ áðáéôïýíôáé ãéá ôï -e êáé -f\n"
-#: src/usermod.c:1208
+#: src/usermod.c:1214
#, c-format
msgid "%s: uid %ld is not unique\n"
msgstr "%s: Ôï uid %ld äåí åßíáé ìïíáäéêü\n"
-#: src/usermod.c:1356
+#: src/usermod.c:1362
#, c-format
msgid "%s: error deleting authentication method\n"
msgstr "%s: ÓöÜëìá êáôÜ ôçí äéáãñáöÞ ìåèüäïõ åîáêñßâùóçò\n"
-#: src/usermod.c:1376
+#: src/usermod.c:1382
#, c-format
msgid "%s: error changing authentication method\n"
msgstr "%s: ÓöÜëìá êáôÜ ôçí áëëáãÞ ìåèüäïõ åîáêñßâùóçò\n"
-#: src/usermod.c:1393
+#: src/usermod.c:1399
#, c-format
msgid "%s: error changing password entry\n"
msgstr "%s: ÓöÜëìá êáôÜ ôçí áëëáãÞ êáôá÷þñçóçò óõíèçìáôéêïý\n"
-#: src/usermod.c:1399
+#: src/usermod.c:1405
#, c-format
msgid "%s: error removing password entry\n"
msgstr "%s: ÓöÜëìá êáôÜ ôçí áöáßñåóç êáôá÷þñçóçò óôï áñ÷åßï óõíèçìáôéêþí\n"
-#: src/usermod.c:1407
+#: src/usermod.c:1413
#, c-format
msgid "%s: error adding password dbm entry\n"
msgstr ""
"%s: ÓöÜëìá êáôÜ ôçí ðñïóèÞêç íÝáò êáôá÷þñçóçò óôï dbm áñ÷åßï óõíèçìáôéêþí\n"
-#: src/usermod.c:1414
+#: src/usermod.c:1420
#, c-format
msgid "%s: error removing passwd dbm entry\n"
msgstr ""
"%s: ÓöÜëìá êáôÜ ôçí áöáßñåóç êáôá÷þñçóçò áðü ôï dbm áñ÷åßï óõíèçìáôéêþí\n"
-#: src/usermod.c:1431
+#: src/usermod.c:1437
#, c-format
msgid "%s: error removing shadow password entry\n"
msgstr ""
"%s: ÓöÜëìá êáôÜ ôçí áöáßñåóç êáôá÷þñçóçò óôï áñ÷åßï óêéùäþí óõíèçìáôéêþí\n"
-#: src/usermod.c:1446
+#: src/usermod.c:1452
#, c-format
msgid "%s: error removing shadow passwd dbm entry\n"
msgstr ""
"%s: ÓöÜëìá êáôÜ ôçí áöáßñåóç êáôá÷þñçóçò óôï dbm áñ÷åßï óêéùäþí "
"óõíèçìáôéêþí\n"
-#: src/usermod.c:1477
+#: src/usermod.c:1483
#, c-format
msgid "%s: directory %s exists\n"
msgstr "%s: ï êáôÜëïãïò %s õðÜñ÷åé\n"
-#: src/usermod.c:1484
+#: src/usermod.c:1490
#, c-format
msgid "%s: can't create %s\n"
msgstr "%s: áäõíáìßá äçìéïõñãßáò ôïõ %s\n"
-#: src/usermod.c:1490
+#: src/usermod.c:1496
#, c-format
msgid "%s: can't chown %s\n"
msgstr "%s: Áäõíáìßá áëëáãÞò éäéïêôÞôç(chown) ôïõ %s\n"
-#: src/usermod.c:1506
+#: src/usermod.c:1512
#, c-format
msgid "%s: cannot rename directory %s to %s\n"
msgstr "%s: áäõíáìßá ìåôïíïìáóßáò ôïõ êáôáëüãïõ %s óå %s\n"
#. better leave it alone
-#: src/usermod.c:1603
+#: src/usermod.c:1609
#, c-format
msgid "%s: warning: %s not owned by %s\n"
msgstr "%s: ðñïåéäïðïßçóç: Ôï %s äåí áíÞêåé óôïí %s\n"
-#: src/usermod.c:1609
+#: src/usermod.c:1615
msgid "failed to change mailbox owner"
msgstr "áðïôõ÷ßá áëëáãÞò ôïõ éäéïêôÞôç ôïõ ãñáììáôïêéâùôßïõ"
-#: src/usermod.c:1616
+#: src/usermod.c:1622
msgid "failed to rename mailbox"
msgstr "áðïôõ÷ßá ìåôïíïìáóßáò ãñáììáôïêéâùôßïõ"
msgid ""
msgstr ""
"Project-Id-Version: shadow 19990709\n"
-"POT-Creation-Date: 2000-09-02 20:40+0200\n"
+"POT-Creation-Date: 2000-10-12 06:20+0200\n"
"PO-Revision-Date: 1999-07-09 20:02+0200\n"
"Last-Translator: Vincent Renardias <vincent@ldsol.com>\n"
"Language-Team: Vincent Renardias <vincent@ldsol.com>\n"
msgid "Unknown error %d"
msgstr "Erreur %d inconnue"
-#: src/chage.c:156
+#: src/chage.c:162
#, c-format
msgid ""
"Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -W warn ]\n"
" [ -W avertissement ] [ -I inactif ] [ -E expire ] [ -d dernier_jour ]\n"
" utilisateur\n"
-#: src/chage.c:158
+#: src/chage.c:164
#, c-format
msgid "Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -d last_day ] user\n"
msgstr ""
"Usage: %s [ -l ] [ -m min_jours ] [ -M max_jours ] [ -d dernier_jour ] "
"utilisateur\n"
-#: src/chage.c:193
+#: src/chage.c:199
msgid ""
"Enter the new value, or press return for the default\n"
"\n"
"Entrez la nouvelle valeur ou tapes Entrée pour la valeur par défaut\n"
"\n"
-#: src/chage.c:196
+#: src/chage.c:202
msgid "Minimum Password Age"
msgstr "Age minimum du mot de passe"
-#: src/chage.c:201
+#: src/chage.c:207
msgid "Maximum Password Age"
msgstr "Age maximum du mot de passe"
-#: src/chage.c:207
+#: src/chage.c:213
msgid "Last Password Change (YYYY-MM-DD)"
msgstr "Dernier changement de mot de passe (YYYY-MM-DD)"
-#: src/chage.c:216
+#: src/chage.c:222
msgid "Password Expiration Warning"
msgstr "Avertissement d'expiration de mot de passe"
-#: src/chage.c:221
+#: src/chage.c:227
msgid "Password Inactive"
msgstr "Mot de passe désactivé"
-#: src/chage.c:227
+#: src/chage.c:233
msgid "Account Expiration Date (YYYY-MM-DD)"
msgstr "Date d'expiration du compte (YYYY-MM-DD)"
#. * days after the password expires that the account becomes
#. * unusable.
#.
-#: src/chage.c:281
+#: src/chage.c:287
#, c-format
msgid "Minimum:\t%ld\n"
msgstr "Minimum :\t%ld\n"
-#: src/chage.c:282
+#: src/chage.c:288
#, c-format
msgid "Maximum:\t%ld\n"
msgstr "Maximum :\t%ld\n"
-#: src/chage.c:284
+#: src/chage.c:290
#, c-format
msgid "Warning:\t%ld\n"
msgstr "Avertissement :\t%ld\n"
-#: src/chage.c:285
+#: src/chage.c:291
#, c-format
msgid "Inactive:\t%ld\n"
msgstr "Désactivé :\t%ld\n"
#. * password was last modified. The date is the number of
#. * days since 1/1/1970.
#.
-#: src/chage.c:294
+#: src/chage.c:300
msgid "Last Change:\t\t"
msgstr "Dernier changement :\t\t"
-#: src/chage.c:296 src/chage.c:310 src/chage.c:327 src/chage.c:340
+#: src/chage.c:302 src/chage.c:316 src/chage.c:333 src/chage.c:346
msgid "Never\n"
msgstr "Jamais\n"
#. * change date plus the number of days the password is valid
#. * for.
#.
-#: src/chage.c:308
+#: src/chage.c:314
msgid "Password Expires:\t"
msgstr "Expiration du mot de passe :\t"
#. * and the number of inactive days is added. The resulting date
#. * is when the active will be disabled.
#.
-#: src/chage.c:324
+#: src/chage.c:330
#, fuzzy
msgid "Password Inactive:\t"
msgstr "Mot de passe désactivé"
#. * The account will expire on the given date regardless of the
#. * password expiring or not.
#.
-#: src/chage.c:338
+#: src/chage.c:344
#, fuzzy
msgid "Account Expires:\t"
msgstr "Expiration du mot de passe :\t"
-#: src/chage.c:486
+#: src/chage.c:453 src/chpasswd.c:152 src/groupadd.c:536 src/groupdel.c:322
+#: src/groupmod.c:522 src/newusers.c:389 src/useradd.c:1707 src/userdel.c:738
+#: src/usermod.c:1684
+#, fuzzy, c-format
+msgid "%s: PAM authentication failed\n"
+msgstr "%s : erreur lors de l'ajout de la méthode d'authentification\n"
+
+#: src/chage.c:536
#, c-format
msgid "%s: do not include \"l\" with other flags\n"
msgstr "%s : ne pas include \"l\" avec les autres drapeaux\n"
-#: src/chage.c:498 src/chage.c:610 src/login.c:529
+#: src/chage.c:548 src/chage.c:660 src/login.c:529
#, c-format
msgid "%s: permission denied\n"
msgstr "%s : permission refusée\n"
-#: src/chage.c:510 src/chpasswd.c:120
+#: src/chage.c:560 src/chpasswd.c:170
#, c-format
msgid "%s: can't lock password file\n"
msgstr "%s: impossible de vérouiller de fichier de mots de passe\n"
-#: src/chage.c:516 src/chpasswd.c:124
+#: src/chage.c:566 src/chpasswd.c:174
#, c-format
msgid "%s: can't open password file\n"
msgstr "%s: impossible d'ouvrir le fichier de mots de passe\n"
-#: src/chage.c:523
+#: src/chage.c:573
#, c-format
msgid "%s: unknown user: %s\n"
msgstr "%s: utilisateur inconnu: %s\n"
-#: src/chage.c:542
+#: src/chage.c:592
#, c-format
msgid "%s: can't lock shadow password file\n"
msgstr "%s : impossible de vérouiller le fichier shadow password\n"
-#: src/chage.c:549
+#: src/chage.c:599
#, c-format
msgid "%s: can't open shadow password file\n"
msgstr "%s : impossible d'ouvrir le fichier shadow password\n"
-#: src/chage.c:631
+#: src/chage.c:681
#, c-format
msgid "Changing the aging information for %s\n"
msgstr "Changement des informations sur l'age pour %s\n"
-#: src/chage.c:633
+#: src/chage.c:683
#, c-format
msgid "%s: error changing fields\n"
msgstr "%s : erreur lors du changement des champs\n"
-#: src/chage.c:660 src/chage.c:723 src/pwunconv.c:183
+#: src/chage.c:710 src/chage.c:773 src/pwunconv.c:183
#, c-format
msgid "%s: can't update password file\n"
msgstr "%s : impossible de mettre à jour le fichier passwd\n"
-#: src/chage.c:690 src/pwunconv.c:178
+#: src/chage.c:740 src/pwunconv.c:178
#, c-format
msgid "%s: can't update shadow password file\n"
msgstr "%s : impossible de mettre à jour le fichier shadow password\n"
-#: src/chage.c:739 src/chage.c:754 src/chfn.c:570 src/chsh.c:409
+#: src/chage.c:789 src/chage.c:804 src/chfn.c:570 src/chsh.c:409
#: src/passwd.c:825 src/passwd.c:926
msgid "Error updating the DBM password entry.\n"
msgstr "Erreur durant la mise à jour de l'entrée du mot de passe DBM.\n"
-#: src/chage.c:771
+#: src/chage.c:821
#, c-format
msgid "%s: can't rewrite shadow password file\n"
msgstr "%s : impossible de re-écrire le fichier shadow password\n"
-#: src/chage.c:785
+#: src/chage.c:835
#, c-format
msgid "%s: can't rewrite password file\n"
msgstr "%s : impossible de re-écrire le fichier password\n"
-#: src/chage.c:836
+#: src/chage.c:853 src/chpasswd.c:346 src/groupadd.c:595 src/groupdel.c:409
+#: src/groupmod.c:606 src/newusers.c:625 src/useradd.c:1816 src/userdel.c:903
+#: src/usermod.c:1762
+#, fuzzy, c-format
+msgid "%s: PAM chauthtok failed\n"
+msgstr "%s : impossible de dévérouiller le fichier\n"
+
+#: src/chage.c:905
#, c-format
msgid "%s: no aging information present\n"
msgstr "%s : aucune information sur l'age\n"
msgid "Cannot open the password file.\n"
msgstr "Impossible d'ouvrir le fichier de mots de passe.\n"
-#: src/chfn.c:545 src/chsh.c:382 src/passwd.c:746 src/usermod.c:1313
+#: src/chfn.c:545 src/chsh.c:382 src/passwd.c:746 src/usermod.c:1319
#, c-format
msgid "%s: %s not found in /etc/passwd\n"
msgstr "%s: %s non trouvé dans /etc/passwd\n"
msgid "Cannot unlock the password file.\n"
msgstr "Impossible de dévérouiller le fichier de mots de passe.\n"
-#: src/chpasswd.c:76
+#: src/chpasswd.c:82
#, c-format
msgid "usage: %s [-e]\n"
msgstr "usage: %s [-e]\n"
-#: src/chpasswd.c:132 src/pwconv.c:104
+#: src/chpasswd.c:182 src/pwconv.c:104
#, c-format
msgid "%s: can't lock shadow file\n"
msgstr "%s: impossible de vérouiller le fichier shadow\n"
-#: src/chpasswd.c:137 src/gpasswd.c:608 src/pwconv.c:109 src/pwunconv.c:118
+#: src/chpasswd.c:187 src/gpasswd.c:608 src/pwconv.c:109 src/pwunconv.c:118
#: src/pwunconv.c:123
#, c-format
msgid "%s: can't open shadow file\n"
msgstr "%s: impossible d'ouvrir le fichier shadow\n"
-#: src/chpasswd.c:159 src/newusers.c:415
+#: src/chpasswd.c:209 src/newusers.c:465
#, c-format
msgid "%s: line %d: line too long\n"
msgstr "%s: ligne %d: ligne trop longue\n"
-#: src/chpasswd.c:179
+#: src/chpasswd.c:229
#, c-format
msgid "%s: line %d: missing new password\n"
msgstr "%s: ligne %d: nouveau mot de passe manquant\n"
-#: src/chpasswd.c:195
+#: src/chpasswd.c:245
#, c-format
msgid "%s: line %d: unknown user %s\n"
msgstr "%s: ligne %d: utilisateur %s inconnu\n"
-#: src/chpasswd.c:247
+#: src/chpasswd.c:297
#, c-format
msgid "%s: line %d: cannot update password entry\n"
msgstr "%s: ligne %d: impossible de mettre le mot de passe à jour\n"
-#: src/chpasswd.c:263 src/newusers.c:535
+#: src/chpasswd.c:313 src/newusers.c:585
#, c-format
msgid "%s: error detected, changes ignored\n"
msgstr "%s: erreur détectée; changements ignorés\n"
-#: src/chpasswd.c:274
+#: src/chpasswd.c:324
#, c-format
msgid "%s: error updating shadow file\n"
msgstr "%s: erreur lors de la mise à jour du fichier shadow\n"
-#: src/chpasswd.c:282
+#: src/chpasswd.c:332
#, c-format
msgid "%s: error updating password file\n"
msgstr "%s: erreur lors de la mise à jour du fichier de mots de passe\n"
msgid "%s: can't update DBM shadow files\n"
msgstr "%s : impossible de mettre à jours les fichiers DBM shadow\n"
-#: src/groupadd.c:105
+#: src/groupadd.c:111
msgid "usage: groupadd [-g gid [-o]] group\n"
msgstr "usage: groupadd [-g gid [-o]] groupe\n"
-#: src/groupadd.c:173 src/groupadd.c:196 src/groupmod.c:183 src/groupmod.c:230
-#: src/useradd.c:931 src/usermod.c:539 src/usermod.c:675
+#: src/groupadd.c:179 src/groupadd.c:202 src/groupmod.c:189 src/groupmod.c:236
+#: src/useradd.c:937 src/usermod.c:545 src/usermod.c:681
#, c-format
msgid "%s: error adding new group entry\n"
msgstr "%s : erreur durant l'addition du nouveau groupe\n"
-#: src/groupadd.c:183 src/groupadd.c:206 src/groupmod.c:199 src/useradd.c:942
-#: src/usermod.c:551 src/usermod.c:687
+#: src/groupadd.c:189 src/groupadd.c:212 src/groupmod.c:205 src/useradd.c:948
+#: src/usermod.c:557 src/usermod.c:693
#, c-format
msgid "%s: cannot add new dbm group entry\n"
msgstr "%s : impossible d'ajouter une nouvelle entrée pour le groupe dbm\n"
-#: src/groupadd.c:258 src/useradd.c:996
+#: src/groupadd.c:264 src/useradd.c:1002
#, c-format
msgid "%s: name %s is not unique\n"
msgstr "%s : le nom %s n'est pas unique\n"
-#: src/groupadd.c:273
+#: src/groupadd.c:279
#, c-format
msgid "%s: gid %ld is not unique\n"
msgstr "%s : le gid %ld n'est pas unique\n"
-#: src/groupadd.c:297
+#: src/groupadd.c:303
#, c-format
msgid "%s: can't get unique gid\n"
msgstr "%s : impossible d'obtenir un gid unique\n"
#.
#. * All invalid group names land here.
#.
-#: src/groupadd.c:321 src/groupmod.c:341
+#: src/groupadd.c:327 src/groupmod.c:347
#, c-format
msgid "%s: %s is a not a valid group name\n"
msgstr "%s : %s n'est pas un nom de groupe valide\n"
-#: src/groupadd.c:350 src/groupmod.c:367
+#: src/groupadd.c:356 src/groupmod.c:373
#, c-format
msgid "%s: invalid group %s\n"
msgstr "%s : groupe %s non valide\n"
-#: src/groupadd.c:367 src/useradd.c:1272
+#: src/groupadd.c:373 src/useradd.c:1278
#, c-format
msgid "%s: -O requires NAME=VALUE\n"
msgstr "%s : -O requiert NAME=VALEUR\n"
-#: src/groupadd.c:412 src/groupdel.c:167 src/groupmod.c:403 src/useradd.c:1381
-#: src/userdel.c:303 src/usermod.c:563
+#: src/groupadd.c:418 src/groupdel.c:173 src/groupmod.c:409 src/useradd.c:1387
+#: src/userdel.c:309 src/usermod.c:569
#, c-format
msgid "%s: cannot rewrite group file\n"
msgstr "%s : impossible de re-écrire le fichier group\n"
-#: src/groupadd.c:418 src/groupdel.c:173 src/groupmod.c:409 src/useradd.c:1389
-#: src/userdel.c:309 src/usermod.c:700
+#: src/groupadd.c:424 src/groupdel.c:179 src/groupmod.c:415 src/useradd.c:1395
+#: src/userdel.c:315 src/usermod.c:706
#, c-format
msgid "%s: cannot rewrite shadow group file\n"
msgstr "%s : impossible de re-écrire le fichier shadow group\n"
-#: src/groupadd.c:437 src/groupdel.c:192 src/groupmod.c:428 src/userdel.c:389
+#: src/groupadd.c:443 src/groupdel.c:198 src/groupmod.c:434 src/userdel.c:395
#, c-format
msgid "%s: unable to lock group file\n"
msgstr "%s : impossible de vérouiller le fichier group\n"
-#: src/groupadd.c:441 src/groupdel.c:196 src/groupmod.c:432
+#: src/groupadd.c:447 src/groupdel.c:202 src/groupmod.c:438
#, c-format
msgid "%s: unable to open group file\n"
msgstr "%s : impossible d'ouvrir le fichier group\n"
-#: src/groupadd.c:446 src/groupdel.c:201 src/groupmod.c:437 src/userdel.c:398
+#: src/groupadd.c:452 src/groupdel.c:207 src/groupmod.c:443 src/userdel.c:404
#, c-format
msgid "%s: unable to lock shadow group file\n"
msgstr "%s : impossible de vérouiller le fichier group\n"
-#: src/groupadd.c:451 src/groupdel.c:206 src/groupmod.c:442
+#: src/groupadd.c:457 src/groupdel.c:212 src/groupmod.c:448
#, c-format
msgid "%s: unable to open shadow group file\n"
msgstr "%s : impossible d'ouvrir le fichier shadow group\n"
-#: src/groupadd.c:518
+#: src/groupadd.c:568
#, c-format
msgid "%s: group %s exists\n"
msgstr "%s : le groupe %s existe\n"
-#: src/groupdel.c:86
+#: src/groupdel.c:92
msgid "usage: groupdel group\n"
msgstr "usage: groupdel groupe\n"
-#: src/groupdel.c:104 src/groupmod.c:187 src/groupmod.c:234
+#: src/groupdel.c:110 src/groupmod.c:193 src/groupmod.c:240
#, c-format
msgid "%s: error removing group entry\n"
msgstr "%s : erreur lors de retrait de l'entrée du groupe\n"
-#: src/groupdel.c:116 src/groupmod.c:206
+#: src/groupdel.c:122 src/groupmod.c:212
#, c-format
msgid "%s: error removing group dbm entry\n"
msgstr "%s : erreur lors du retrait de l'entrée dbm du groupe\n"
-#: src/groupdel.c:131
+#: src/groupdel.c:137
#, c-format
msgid "%s: error removing shadow group entry\n"
msgstr "%s : erreur lors du retrait de l'entrée shadow du groupe\n"
-#: src/groupdel.c:144 src/groupmod.c:252
+#: src/groupdel.c:150 src/groupmod.c:258
#, c-format
msgid "%s: error removing shadow group dbm entry\n"
msgstr "%s : erreur lors du retrait de l'entrée dbm shadow du groupe\n"
#.
#. * Can't remove the group.
#.
-#: src/groupdel.c:248
+#: src/groupdel.c:254
#, c-format
msgid "%s: cannot remove user's primary group.\n"
msgstr "%s : impossible d'enlever l'utilisateur de son groupe primaire.\n"
-#: src/groupdel.c:305 src/groupmod.c:501
+#: src/groupdel.c:355 src/groupmod.c:551
#, c-format
msgid "%s: group %s does not exist\n"
msgstr "%s : le groupe %s n'existe pas\n"
-#: src/groupdel.c:319 src/groupmod.c:517
+#: src/groupdel.c:369 src/groupmod.c:567
#, c-format
msgid "%s: group %s is a NIS group\n"
msgstr "%s : le groupe %s est un groupe NIS\n"
-#: src/groupdel.c:325 src/groupmod.c:523 src/userdel.c:761 src/usermod.c:1016
+#: src/groupdel.c:375 src/groupmod.c:573 src/userdel.c:811 src/usermod.c:1022
#, c-format
msgid "%s: %s is the NIS master\n"
msgstr "%s : %s est le maître NIS\n"
-#: src/groupmod.c:105
+#: src/groupmod.c:111
msgid "usage: groupmod [-g gid [-o]] [-n name] group\n"
msgstr "usage : groupmod [-g gid [-o]] [-n nom] groupe\n"
-#: src/groupmod.c:165
+#: src/groupmod.c:171
#, c-format
msgid "%s: %s not found in /etc/group\n"
msgstr "%s : %s non trouvé dans /etc/group\n"
-#: src/groupmod.c:246
+#: src/groupmod.c:252
#, c-format
msgid "%s: cannot add new dbm shadow group entry\n"
msgstr "%s : impossible d'ajouter une nouvelle entrée dbm shadow group\n"
-#: src/groupmod.c:299
+#: src/groupmod.c:305
#, c-format
msgid "%s: %ld is not a unique gid\n"
msgstr "%s : %ld n'est pas un gid unique\n"
-#: src/groupmod.c:330
+#: src/groupmod.c:336
#, c-format
msgid "%s: %s is not a unique name\n"
msgstr "%s : %s n'est pas un nom unique\n"
msgid "too many groups\n"
msgstr "trop de groupes\n"
-#: src/newusers.c:76
+#: src/newusers.c:82
#, c-format
msgid "Usage: %s [ input ]\n"
msgstr "Usage : %s [ entrée ] \n"
-#: src/newusers.c:364
+#: src/newusers.c:414
#, c-format
msgid "%s: can't lock /etc/passwd.\n"
msgstr "%s : impossible de vérouiller /etc/passwd.\n"
-#: src/newusers.c:375
+#: src/newusers.c:425
#, c-format
msgid "%s: can't lock files, try again later\n"
msgstr "%s : impossible de vérouiller les fichiers, essayez plus tard\n"
-#: src/newusers.c:390
+#: src/newusers.c:440
#, c-format
msgid "%s: can't open files\n"
msgstr "%s : impossible d'ouvrir les fichiers\n"
-#: src/newusers.c:435
+#: src/newusers.c:485
#, c-format
msgid "%s: line %d: invalid line\n"
msgstr "%s : ligne %d : ligne non valide\n"
-#: src/newusers.c:453
+#: src/newusers.c:503
#, c-format
msgid "%s: line %d: can't create GID\n"
msgstr "%s : ligne %d : impossible de créer le GID\n"
-#: src/newusers.c:469
+#: src/newusers.c:519
#, c-format
msgid "%s: line %d: can't create UID\n"
msgstr "%s : ligne %d : impossible de créer le GID\n"
-#: src/newusers.c:481
+#: src/newusers.c:531
#, c-format
msgid "%s: line %d: cannot find user %s\n"
msgstr "%s : ligne %d : impossible de trouver l'utilisateur %s\n"
-#: src/newusers.c:489
+#: src/newusers.c:539
#, c-format
msgid "%s: line %d: can't update password\n"
msgstr "%s : ligne %d : impossible de mettre le mot de passe à jour\n"
-#: src/newusers.c:506
+#: src/newusers.c:556
#, c-format
msgid "%s: line %d: mkdir failed\n"
msgstr "%s : ligne %d : échec de mkdir\n"
-#: src/newusers.c:510
+#: src/newusers.c:560
#, c-format
msgid "%s: line %d: chown failed\n"
msgstr "%s : ligne %d : échec de chown\n"
-#: src/newusers.c:519
+#: src/newusers.c:569
#, c-format
msgid "%s: line %d: can't update entry\n"
msgstr "%s : ligne %d : impossible de mettre l'entrée à jour\n"
-#: src/newusers.c:550
+#: src/newusers.c:600
#, c-format
msgid "%s: error updating files\n"
msgstr "%s : erreur lors de la mise à jour des fichiers\n"
msgid "Entering System Maintenance Mode\n"
msgstr "Entrée du système en mode maintenance\n"
-#: src/useradd.c:243
+#: src/useradd.c:249
#, c-format
msgid "%s: rebuild the group database\n"
msgstr "%s : reconstruction de la base de données des groupes\n"
-#: src/useradd.c:250
+#: src/useradd.c:256
#, c-format
msgid "%s: rebuild the shadow group database\n"
msgstr "%s : reconstruction de la base de données des groupes shadow\n"
-#: src/useradd.c:287 src/usermod.c:967
+#: src/useradd.c:293 src/usermod.c:973
#, c-format
msgid "%s: invalid numeric argument `%s'\n"
msgstr "%s : argument numérique `%s' non valide\n"
-#: src/useradd.c:343
+#: src/useradd.c:349
#, c-format
msgid "%s: unknown gid %s\n"
msgstr "%s : gid %s inconnu\n"
-#: src/useradd.c:350 src/useradd.c:642 src/useradd.c:1228 src/usermod.c:254
-#: src/usermod.c:1098
+#: src/useradd.c:356 src/useradd.c:648 src/useradd.c:1234 src/usermod.c:260
+#: src/usermod.c:1104
#, c-format
msgid "%s: unknown group %s\n"
msgstr "%s : groupe %s inconnu\n"
-#: src/useradd.c:418
+#: src/useradd.c:424
#, c-format
msgid "group=%s,%ld basedir=%s skel=%s\n"
msgstr "group=%s,%ld rép_base=%s skel=%s\n"
-#: src/useradd.c:421
+#: src/useradd.c:427
#, c-format
msgid "shell=%s "
msgstr "shell=%s "
-#: src/useradd.c:423
+#: src/useradd.c:429
#, c-format
msgid "inactive=%ld expire=%s"
msgstr "inactif=%ld expire=%s"
-#: src/useradd.c:427
+#: src/useradd.c:433
#, c-format
msgid "GROUP=%ld\n"
msgstr "GROUP=%ld\n"
-#: src/useradd.c:428
+#: src/useradd.c:434
#, c-format
msgid "HOME=%s\n"
msgstr "HOME=%s\n"
-#: src/useradd.c:430
+#: src/useradd.c:436
#, c-format
msgid "INACTIVE=%ld\n"
msgstr "INACTIVE=%ld\n"
-#: src/useradd.c:431
+#: src/useradd.c:437
#, c-format
msgid "EXPIRE=%s\n"
msgstr "EXPIRE=%s\n"
-#: src/useradd.c:433
+#: src/useradd.c:439
#, c-format
msgid "SHELL=%s\n"
msgstr "SHELL=%s\n"
-#: src/useradd.c:434
+#: src/useradd.c:440
#, c-format
msgid "SKEL=%s\n"
msgstr "SKEL=%s\n"
-#: src/useradd.c:470
+#: src/useradd.c:476
#, c-format
msgid "%s: cannot create new defaults file\n"
msgstr "%s : impossible de créer un nouveau fichier de défauts\n"
-#: src/useradd.c:564 src/useradd.c:575
+#: src/useradd.c:570 src/useradd.c:581
#, c-format
msgid "%s: rename: %s"
msgstr "%s : rename : %s"
-#: src/useradd.c:662 src/usermod.c:274
+#: src/useradd.c:668 src/usermod.c:280
#, c-format
msgid "%s: group `%s' is a NIS group.\n"
msgstr "%s : le groupe `%s' est un groupe NIS.\n"
-#: src/useradd.c:670 src/usermod.c:282
+#: src/useradd.c:676 src/usermod.c:288
#, c-format
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s : trop de groupes spécifiés (max %d).\n"
-#: src/useradd.c:702 src/usermod.c:314
+#: src/useradd.c:708 src/usermod.c:320
#, c-format
msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
msgstr "Usage : %s\t[-u uid [-o]] [-g groupe] [-G groupe,...] \n"
-#: src/useradd.c:705
+#: src/useradd.c:711
msgid "\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n"
msgstr "\t\t[-d home] [-s shell] [-c commentaire] [-m [-k template]]\n"
-#: src/useradd.c:708 src/usermod.c:320
+#: src/useradd.c:714 src/usermod.c:326
msgid "[-f inactive] [-e expire ] "
msgstr "[-f inactif] [-e expire ] "
-#: src/useradd.c:711
+#: src/useradd.c:717
msgid "[-A program] "
msgstr "[-A program] "
-#: src/useradd.c:713
+#: src/useradd.c:719
msgid "[-p passwd] name\n"
msgstr "[-p mot-de-passe] nom\n"
-#: src/useradd.c:715
+#: src/useradd.c:721
#, c-format
msgid " %s\t-D [-g group] [-b base] [-s shell]\n"
msgstr " %s\t-D [-g groupe] [-b base] [-s shell]\n"
-#: src/useradd.c:718
+#: src/useradd.c:724
msgid "\t\t[-f inactive] [-e expire ]\n"
msgstr "\t\t[-f inactif] [-e expire ]\n"
-#: src/useradd.c:815 src/usermod.c:472
+#: src/useradd.c:821 src/usermod.c:478
#, c-format
msgid "%s: error locking group file\n"
msgstr "%s : erreur lors du vérouillage du fichier de groupe\n"
-#: src/useradd.c:819 src/usermod.c:477
+#: src/useradd.c:825 src/usermod.c:483
#, c-format
msgid "%s: error opening group file\n"
msgstr "%s : erreur lors d'ouverture du fichier de groupe\n"
-#: src/useradd.c:824 src/usermod.c:584
+#: src/useradd.c:830 src/usermod.c:590
#, c-format
msgid "%s: error locking shadow group file\n"
msgstr "%s : erreur lors du vérouillage du fichier shadow group\n"
-#: src/useradd.c:829 src/usermod.c:590
+#: src/useradd.c:835 src/usermod.c:596
#, c-format
msgid "%s: error opening shadow group file\n"
msgstr "%s : erreur lors de l'ouverture du fichier shadow group\n"
-#: src/useradd.c:1001
+#: src/useradd.c:1007
#, c-format
msgid "%s: uid %d is not unique\n"
msgstr "%s : l'uid %d n'est pas unique\n"
-#: src/useradd.c:1031
+#: src/useradd.c:1037
#, c-format
msgid "%s: can't get unique uid\n"
msgstr "%s : impossible d'obtenir un uid unique\n"
-#: src/useradd.c:1139 src/useradd.c:1283 src/usermod.c:1046 src/usermod.c:1057
-#: src/usermod.c:1067 src/usermod.c:1113 src/usermod.c:1157
+#: src/useradd.c:1145 src/useradd.c:1289 src/usermod.c:1052 src/usermod.c:1063
+#: src/usermod.c:1073 src/usermod.c:1119 src/usermod.c:1163
#, c-format
msgid "%s: invalid field `%s'\n"
msgstr "%s : champs `%s' non valide\n"
-#: src/useradd.c:1153
+#: src/useradd.c:1159
#, c-format
msgid "%s: invalid base directory `%s'\n"
msgstr "%s : répertoire de base non valide `%s'\n"
-#: src/useradd.c:1163
+#: src/useradd.c:1169
#, c-format
msgid "%s: invalid comment `%s'\n"
msgstr "%s : commentaire `%s' non valide\n"
-#: src/useradd.c:1173
+#: src/useradd.c:1179
#, c-format
msgid "%s: invalid home directory `%s'\n"
msgstr "%s : répertoire personnel `%s' non valide\n"
-#: src/useradd.c:1191 src/usermod.c:1080
+#: src/useradd.c:1197 src/usermod.c:1086
#, c-format
msgid "%s: invalid date `%s'\n"
msgstr "%s : date `%s' non valide\n"
-#: src/useradd.c:1203
+#: src/useradd.c:1209
#, c-format
msgid "%s: shadow passwords required for -e\n"
msgstr "%s : mots de passe shadow nécessaires pour -e\n"
-#: src/useradd.c:1218
+#: src/useradd.c:1224
#, c-format
msgid "%s: shadow passwords required for -f\n"
msgstr "%s : mots de passe shadow nécessaires pour -f\n"
-#: src/useradd.c:1292
+#: src/useradd.c:1298
#, c-format
msgid "%s: invalid shell `%s'\n"
msgstr "%s : shell `%s' non valide\n"
-#: src/useradd.c:1333
+#: src/useradd.c:1339
#, c-format
msgid "%s: invalid user name `%s'\n"
msgstr "%s : nom d'utilisateur `%s' non valide\n"
-#: src/useradd.c:1369 src/userdel.c:292 src/usermod.c:1225
+#: src/useradd.c:1375 src/userdel.c:298 src/usermod.c:1231
#, c-format
msgid "%s: cannot rewrite password file\n"
msgstr "%s : impossible de reécrire le fichier de mots de passe\n"
-#: src/useradd.c:1374 src/userdel.c:295 src/usermod.c:1230
+#: src/useradd.c:1380 src/userdel.c:301 src/usermod.c:1236
#, c-format
msgid "%s: cannot rewrite shadow password file\n"
msgstr "%s : impossible de reécrire le fichier shadow\n"
-#: src/useradd.c:1414 src/userdel.c:359 src/usermod.c:1265
+#: src/useradd.c:1420 src/userdel.c:365 src/usermod.c:1271
#, c-format
msgid "%s: unable to lock password file\n"
msgstr "%s : impossible de vérouiller le fichier de mots de passe\n"
-#: src/useradd.c:1418 src/userdel.c:363 src/usermod.c:1269
+#: src/useradd.c:1424 src/userdel.c:369 src/usermod.c:1275
#, c-format
msgid "%s: unable to open password file\n"
msgstr "%s : impossible d'ouvrir le fichier de mots de passe\n"
-#: src/useradd.c:1424 src/userdel.c:368 src/usermod.c:1274
+#: src/useradd.c:1430 src/userdel.c:374 src/usermod.c:1280
#, c-format
msgid "%s: cannot lock shadow password file\n"
msgstr "%s : impossible de vérouiller le fichier de mots de passe\n"
-#: src/useradd.c:1430 src/userdel.c:373 src/usermod.c:1279
+#: src/useradd.c:1436 src/userdel.c:379 src/usermod.c:1285
#, c-format
msgid "%s: cannot open shadow password file\n"
msgstr "%s : impossible d'ouvrir le fichier shadow\n"
-#: src/useradd.c:1529 src/usermod.c:1366
+#: src/useradd.c:1535 src/usermod.c:1372
#, c-format
msgid "%s: error adding authentication method\n"
msgstr "%s : erreur lors de l'ajout de la méthode d'authentification\n"
-#: src/useradd.c:1552
+#: src/useradd.c:1558
#, c-format
msgid "%s: error adding new password entry\n"
msgstr "%s : erreur lors de l'ajout de la nouvelle entrée\n"
-#: src/useradd.c:1567
+#: src/useradd.c:1573
#, c-format
msgid "%s: error updating password dbm entry\n"
msgstr "%s : erreur lors de la mise à jour de l'entrée dbm\n"
-#: src/useradd.c:1583 src/usermod.c:1425
+#: src/useradd.c:1589 src/usermod.c:1431
#, c-format
msgid "%s: error adding new shadow password entry\n"
msgstr "%s : erreur lors de l'ajout de la nouvelle entrée shadow\n"
-#: src/useradd.c:1599 src/usermod.c:1440
+#: src/useradd.c:1605 src/usermod.c:1446
#, c-format
msgid "%s: error updating shadow passwd dbm entry\n"
msgstr "%s : erreur lors de la mise à jour de l'entrée shadow passwd dbm\n"
-#: src/useradd.c:1631
+#: src/useradd.c:1637
#, c-format
msgid "%s: cannot create directory %s\n"
msgstr "%s : impossible de créer le répertoire %s\n"
-#: src/useradd.c:1708 src/usermod.c:1203
+#: src/useradd.c:1758 src/usermod.c:1209
#, c-format
msgid "%s: user %s exists\n"
msgstr "%s : l'utilisateur %s existe\n"
-#: src/useradd.c:1738
+#: src/useradd.c:1770
+#, c-format
+msgid ""
+"%s: group %s exists - if you want to add this user to that group, use -g.\n"
+msgstr ""
+
+#: src/useradd.c:1801
#, c-format
msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
msgstr ""
"%s : avertissement : CREATE_HOME non supporté, utilisez -m à la place.\n"
-#: src/userdel.c:127
+#: src/userdel.c:133
#, c-format
msgid "usage: %s [-r] name\n"
msgstr "Usage : %s [-r] nom\n"
-#: src/userdel.c:178 src/userdel.c:260
+#: src/userdel.c:184 src/userdel.c:266
#, c-format
msgid "%s: error updating group entry\n"
msgstr "%s : erreur lors de la mise à jour de l'entrée group\n"
-#: src/userdel.c:188 src/userdel.c:269
+#: src/userdel.c:194 src/userdel.c:275
#, c-format
msgid "%s: cannot update dbm group entry\n"
msgstr "%s : impossible de mettre à jour l'entrée dbm group\n"
-#: src/userdel.c:215
+#: src/userdel.c:221
#, fuzzy, c-format
msgid "%s: cannot remove dbm group entry\n"
msgstr "%s : impossible de mettre à jour l'entrée dbm group\n"
-#: src/userdel.c:300
+#: src/userdel.c:306
#, c-format
msgid "%s: cannot rewrite TCFS key file\n"
msgstr "%s : impossible de reécrire le fichier de clés TCFS\n"
-#: src/userdel.c:380
+#: src/userdel.c:386
#, c-format
msgid "%s: cannot lock TCFS key file\n"
msgstr "%s : impossible de vérouiller le fichier de clés TCFS\n"
-#: src/userdel.c:384
+#: src/userdel.c:390
#, c-format
msgid "%s: cannot open TCFS key file\n"
msgstr "%s : impossible d'ouvrir le fichier de clés TCFS\n"
-#: src/userdel.c:393
+#: src/userdel.c:399
#, c-format
msgid "%s: cannot open group file\n"
msgstr "%s : impossible d'ouvrir le fichier group\n"
-#: src/userdel.c:403
+#: src/userdel.c:409
#, c-format
msgid "%s: cannot open shadow group file\n"
msgstr "%s : impossible d'ouvrir le fichier shadow group\n"
-#: src/userdel.c:434 src/userdel.c:449
+#: src/userdel.c:440 src/userdel.c:455
#, c-format
msgid "%s: error deleting authentication\n"
msgstr "%s : erreur lors de l'effacement de l'authentification\n"
-#: src/userdel.c:458
+#: src/userdel.c:464
#, c-format
msgid "%s: error deleting password entry\n"
msgstr "%s : erreur lors de la suppression de l'entrée dans /etc/passwd\n"
-#: src/userdel.c:461
+#: src/userdel.c:467
#, c-format
msgid "%s: error deleting shadow password entry\n"
msgstr "%s : erreur lors de la suppression de l'entrée dans /etc/shadow\n"
-#: src/userdel.c:470
+#: src/userdel.c:476
#, c-format
msgid "%s: error deleting TCFS entry\n"
msgstr "%s : erreur lors de l'effacement de l'entrée TCFS\n"
-#: src/userdel.c:483
+#: src/userdel.c:489
#, c-format
msgid "%s: error deleting password dbm entry\n"
msgstr "%s : erreur lors de l'effacement de l'entrée dbm du mot de passe\n"
-#: src/userdel.c:502
+#: src/userdel.c:508
#, c-format
msgid "%s: error deleting shadow passwd dbm entry\n"
msgstr "%s : erreur lors de l'effacement de l'entrée shadow passwd dbm\n"
-#: src/userdel.c:543
+#: src/userdel.c:549
#, c-format
msgid "%s: user %s is currently logged in\n"
msgstr "%s : l'utilisateur %s est connecté\n"
-#: src/userdel.c:660
+#: src/userdel.c:666
#, c-format
msgid "%s: warning: %s not owned by %s, not removing\n"
msgstr "%s : avertissement : %s n'appartient pas à %s, non enlevé\n"
-#: src/userdel.c:666
+#: src/userdel.c:672
#, c-format
msgid "%s: warning: can't remove "
msgstr "%s : impossible d'enlever "
-#: src/userdel.c:741 src/usermod.c:994
+#: src/userdel.c:791 src/usermod.c:1000
#, c-format
msgid "%s: user %s does not exist\n"
msgstr "%s : l'utilisateur %s n'existe pas\n"
-#: src/userdel.c:755 src/usermod.c:1010
+#: src/userdel.c:805 src/usermod.c:1016
#, c-format
msgid "%s: user %s is a NIS user\n"
msgstr "%s : le compte %s est un compte NIS\n"
-#: src/userdel.c:792
+#: src/userdel.c:842
#, c-format
msgid "%s: %s not owned by %s, not removing\n"
msgstr "%s : %s n'appartient pas à %s, non enlevé\n"
-#: src/userdel.c:815
+#: src/userdel.c:865
#, c-format
msgid "%s: not removing directory %s (would remove home of user %s)\n"
msgstr ""
"%s : répertoire %s non enlevé (cela enléverait le répertoire personnel de "
"%s)\n"
-#: src/userdel.c:828
+#: src/userdel.c:878
#, c-format
msgid "%s: error removing directory %s\n"
msgstr "%s : erreur lors de l'effacement du répertoire %s\n"
-#: src/usermod.c:317
+#: src/usermod.c:323
msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
msgstr "\t\t[-d home [-m]] [-s shell] [-c commentaire] [-l nouveau_nom]\n"
-#: src/usermod.c:323
+#: src/usermod.c:329
msgid "[-A {DEFAULT|program},... ] "
msgstr "[-A {DÉFAUT|programme},... ] "
-#: src/usermod.c:325
+#: src/usermod.c:331
#, fuzzy
msgid "[-p passwd] [-L|-U] name\n"
msgstr "[-p mot-de-passe] nom\n"
-#: src/usermod.c:504
+#: src/usermod.c:510
#, c-format
msgid "%s: out of memory in update_group\n"
msgstr "%s : plus de mémoire pour update_group\n"
-#: src/usermod.c:627
+#: src/usermod.c:633
#, c-format
msgid "%s: out of memory in update_gshadow\n"
msgstr "%s : plus de mémoire pour update_gshadow\n"
-#: src/usermod.c:1180
+#: src/usermod.c:1186
#, c-format
msgid "%s: no flags given\n"
msgstr "%s : aucun drapeau donné\n"
-#: src/usermod.c:1187
+#: src/usermod.c:1193
#, c-format
msgid "%s: shadow passwords required for -e and -f\n"
msgstr "%s : mots de passe shadow nécessaires pour -e ou -f\n"
-#: src/usermod.c:1208
+#: src/usermod.c:1214
#, c-format
msgid "%s: uid %ld is not unique\n"
msgstr "%s : l'uid %ld n'est pas unique\n"
-#: src/usermod.c:1356
+#: src/usermod.c:1362
#, c-format
msgid "%s: error deleting authentication method\n"
msgstr "%s : erreur lors de l'effacement de la méthode d'authentification\n"
-#: src/usermod.c:1376
+#: src/usermod.c:1382
#, c-format
msgid "%s: error changing authentication method\n"
msgstr "%s : erreur lors du changement de la méthode d'authentification\n"
-#: src/usermod.c:1393
+#: src/usermod.c:1399
#, c-format
msgid "%s: error changing password entry\n"
msgstr "%s : erreur lors du changement de l'entrée dans /etc/passwd\n"
-#: src/usermod.c:1399
+#: src/usermod.c:1405
#, c-format
msgid "%s: error removing password entry\n"
msgstr "%s : erreur lors de l'effacement du mot de passe\n"
-#: src/usermod.c:1407
+#: src/usermod.c:1413
#, c-format
msgid "%s: error adding password dbm entry\n"
msgstr ""
-#: src/usermod.c:1414
+#: src/usermod.c:1420
#, c-format
msgid "%s: error removing passwd dbm entry\n"
msgstr ""
-#: src/usermod.c:1431
+#: src/usermod.c:1437
#, c-format
msgid "%s: error removing shadow password entry\n"
msgstr ""
-#: src/usermod.c:1446
+#: src/usermod.c:1452
#, c-format
msgid "%s: error removing shadow passwd dbm entry\n"
msgstr ""
-#: src/usermod.c:1477
+#: src/usermod.c:1483
#, c-format
msgid "%s: directory %s exists\n"
msgstr "%s : le répertoire %s existe\n"
-#: src/usermod.c:1484
+#: src/usermod.c:1490
#, c-format
msgid "%s: can't create %s\n"
msgstr "%s : impossible de créer %s\n"
-#: src/usermod.c:1490
+#: src/usermod.c:1496
#, c-format
msgid "%s: can't chown %s\n"
msgstr "%s : impossible de changer le propriètaire de %s\n"
-#: src/usermod.c:1506
+#: src/usermod.c:1512
#, c-format
msgid "%s: cannot rename directory %s to %s\n"
msgstr "%s : impossible de renommer le répertoire %s en %s\n"
#. better leave it alone
-#: src/usermod.c:1603
+#: src/usermod.c:1609
#, c-format
msgid "%s: warning: %s not owned by %s\n"
msgstr "%s : avertissement : %s n'appartient pas à %s\n"
-#: src/usermod.c:1609
+#: src/usermod.c:1615
msgid "failed to change mailbox owner"
msgstr "échec du changement de propriètaire de la mailbox"
-#: src/usermod.c:1616
+#: src/usermod.c:1622
msgid "failed to rename mailbox"
msgstr "échec du renommage de la mailbox"
msgid ""
msgstr ""
"Project-Id-Version: shadow-981228\n"
-"POT-Creation-Date: 2000-09-02 20:40+0200\n"
+"POT-Creation-Date: 2000-10-12 06:20+0200\n"
"PO-Revision-Date: 1999-03-02 22:29+01:00\n"
"Last-Translator: Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>\n"
"Language-Team: PL <pl@li.org>\n"
msgid "Unknown error %d"
msgstr "Nieznany b³±d %d"
-#: src/chage.c:156
+#: src/chage.c:162
#, c-format
msgid ""
"Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -W warn ]\n"
"U¿ycie: %s [ -l ] [ -m min_dni ] [ -M maks_dni ] [ -W ostrze¿ ]\n"
" [ -I nieaktywne ] [ -E utrata_wa¿no¶ci ] [ -d ostatni_dzieñ ] u¿ytkownik\n"
-#: src/chage.c:158
+#: src/chage.c:164
#, c-format
msgid "Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -d last_day ] user\n"
msgstr ""
"U¿ycie: %s [ -l ] [ -m min_dni ] [ -M maks_dni ] [ -d ostatni_dzieñ ] "
"u¿ytkownik\n"
-#: src/chage.c:193
+#: src/chage.c:199
msgid ""
"Enter the new value, or press return for the default\n"
"\n"
"Wpisz now± warto¶æ lub wci¶nij return by przyj±c warto¶æ domy¶ln±\n"
"\n"
-#: src/chage.c:196
+#: src/chage.c:202
msgid "Minimum Password Age"
msgstr "Minimalny wiek has³a"
-#: src/chage.c:201
+#: src/chage.c:207
msgid "Maximum Password Age"
msgstr "Maksymalny wiek has³a"
-#: src/chage.c:207
+#: src/chage.c:213
msgid "Last Password Change (YYYY-MM-DD)"
msgstr "Ostatnia zmiana has³a (RRRR-MM-DD)"
-#: src/chage.c:216
+#: src/chage.c:222
msgid "Password Expiration Warning"
msgstr "Ostrze¿enie o utracie wa¿no¶ci has³a"
-#: src/chage.c:221
+#: src/chage.c:227
msgid "Password Inactive"
msgstr "Has³o nieaktywne"
-#: src/chage.c:227
+#: src/chage.c:233
msgid "Account Expiration Date (YYYY-MM-DD)"
msgstr "Data utraty wa¿no¶ci konta (RRRR-MM-DD)"
#. * days after the password expires that the account becomes
#. * unusable.
#.
-#: src/chage.c:281
+#: src/chage.c:287
#, c-format
msgid "Minimum:\t%ld\n"
msgstr "Minimum:\t%ld\n"
-#: src/chage.c:282
+#: src/chage.c:288
#, c-format
msgid "Maximum:\t%ld\n"
msgstr "Maksimim:\t%ld\n"
-#: src/chage.c:284
+#: src/chage.c:290
#, c-format
msgid "Warning:\t%ld\n"
msgstr "Ostrze¿enie:\t%ld\n"
-#: src/chage.c:285
+#: src/chage.c:291
#, c-format
msgid "Inactive:\t%ld\n"
msgstr "Nieaktywne:\t%ld\n"
#. * password was last modified. The date is the number of
#. * days since 1/1/1970.
#.
-#: src/chage.c:294
+#: src/chage.c:300
msgid "Last Change:\t\t"
msgstr "Ostatnia zmiana:\t\t"
-#: src/chage.c:296 src/chage.c:310 src/chage.c:327 src/chage.c:340
+#: src/chage.c:302 src/chage.c:316 src/chage.c:333 src/chage.c:346
msgid "Never\n"
msgstr "Nigdy\n"
#. * change date plus the number of days the password is valid
#. * for.
#.
-#: src/chage.c:308
+#: src/chage.c:314
msgid "Password Expires:\t"
msgstr "Has³o traci wa¿no¶æ:\t"
#. * and the number of inactive days is added. The resulting date
#. * is when the active will be disabled.
#.
-#: src/chage.c:324
+#: src/chage.c:330
#, fuzzy
msgid "Password Inactive:\t"
msgstr "Has³o nieaktywne:\t"
#. * The account will expire on the given date regardless of the
#. * password expiring or not.
#.
-#: src/chage.c:338
+#: src/chage.c:344
#, fuzzy
msgid "Account Expires:\t"
msgstr "Has³o traci wa¿no¶æ:\t"
-#: src/chage.c:486
+#: src/chage.c:453 src/chpasswd.c:152 src/groupadd.c:536 src/groupdel.c:322
+#: src/groupmod.c:522 src/newusers.c:389 src/useradd.c:1707 src/userdel.c:738
+#: src/usermod.c:1684
+#, fuzzy, c-format
+msgid "%s: PAM authentication failed\n"
+msgstr "%s: b³±d podczas dodawania metody uwierzytelniania\n"
+
+#: src/chage.c:536
#, c-format
msgid "%s: do not include \"l\" with other flags\n"
msgstr "%s: nie ³±cz \"l\" z innymi flagami\n"
-#: src/chage.c:498 src/chage.c:610 src/login.c:529
+#: src/chage.c:548 src/chage.c:660 src/login.c:529
#, c-format
msgid "%s: permission denied\n"
msgstr "%s: odmowa dostêpu\n"
-#: src/chage.c:510 src/chpasswd.c:120
+#: src/chage.c:560 src/chpasswd.c:170
#, c-format
msgid "%s: can't lock password file\n"
msgstr "%s: nie mogê zablokowaæ pliku z has³ami\n"
-#: src/chage.c:516 src/chpasswd.c:124
+#: src/chage.c:566 src/chpasswd.c:174
#, c-format
msgid "%s: can't open password file\n"
msgstr "%s: nie mogê otworzyæ pliku z has³ami\n"
-#: src/chage.c:523
+#: src/chage.c:573
#, c-format
msgid "%s: unknown user: %s\n"
msgstr "%s: nieznany u¿ytkownik: %s\n"
-#: src/chage.c:542
+#: src/chage.c:592
#, c-format
msgid "%s: can't lock shadow password file\n"
msgstr "%s: nie mogê zablokowaæ pliku z ukrytymi has³ami\n"
-#: src/chage.c:549
+#: src/chage.c:599
#, c-format
msgid "%s: can't open shadow password file\n"
msgstr "%s: nie mogê otworzyæ pliku z ukrytymi has³ami\n"
-#: src/chage.c:631
+#: src/chage.c:681
#, c-format
msgid "Changing the aging information for %s\n"
msgstr "Zmieniam informacjê o u¿ytkowniku %s\n"
-#: src/chage.c:633
+#: src/chage.c:683
#, c-format
msgid "%s: error changing fields\n"
msgstr "%s: b³±d podczas zmieniania pól\n"
-#: src/chage.c:660 src/chage.c:723 src/pwunconv.c:183
+#: src/chage.c:710 src/chage.c:773 src/pwunconv.c:183
#, c-format
msgid "%s: can't update password file\n"
msgstr "%s: nie mogê zaktualizowaæ pliku z has³ami\n"
-#: src/chage.c:690 src/pwunconv.c:178
+#: src/chage.c:740 src/pwunconv.c:178
#, c-format
msgid "%s: can't update shadow password file\n"
msgstr "%s: nie mogê zaktualizowaæ pliku z ukrytymi has³ami\n"
-#: src/chage.c:739 src/chage.c:754 src/chfn.c:570 src/chsh.c:409
+#: src/chage.c:789 src/chage.c:804 src/chfn.c:570 src/chsh.c:409
#: src/passwd.c:825 src/passwd.c:926
msgid "Error updating the DBM password entry.\n"
msgstr "B³±d podczas aktualizacki bazy hase³ DBM.\n"
-#: src/chage.c:771
+#: src/chage.c:821
#, c-format
msgid "%s: can't rewrite shadow password file\n"
msgstr "%s: nie mogê przepisaæ pliku z ukrytymi has³ami\n"
-#: src/chage.c:785
+#: src/chage.c:835
#, c-format
msgid "%s: can't rewrite password file\n"
msgstr "%s: nie mogê przepisaæ pliku z has³ami\n"
-#: src/chage.c:836
+#: src/chage.c:853 src/chpasswd.c:346 src/groupadd.c:595 src/groupdel.c:409
+#: src/groupmod.c:606 src/newusers.c:625 src/useradd.c:1816 src/userdel.c:903
+#: src/usermod.c:1762
+#, fuzzy, c-format
+msgid "%s: PAM chauthtok failed\n"
+msgstr "%s: nie mogê usun±c blokady z pliku\n"
+
+#: src/chage.c:905
#, c-format
msgid "%s: no aging information present\n"
msgstr "%s: brak informacji\n"
msgid "Cannot open the password file.\n"
msgstr "Nie mogê otworzyæ pliku z has³ami.\n"
-#: src/chfn.c:545 src/chsh.c:382 src/passwd.c:746 src/usermod.c:1313
+#: src/chfn.c:545 src/chsh.c:382 src/passwd.c:746 src/usermod.c:1319
#, c-format
msgid "%s: %s not found in /etc/passwd\n"
msgstr "%s: %s nie znaleziony w /etc/passwd\n"
msgid "Cannot unlock the password file.\n"
msgstr "Nie mogê usun±c blokady z pliku z has³ami.\n"
-#: src/chpasswd.c:76
+#: src/chpasswd.c:82
#, c-format
msgid "usage: %s [-e]\n"
msgstr "u¿ycie: %s [-e]\n"
-#: src/chpasswd.c:132 src/pwconv.c:104
+#: src/chpasswd.c:182 src/pwconv.c:104
#, c-format
msgid "%s: can't lock shadow file\n"
msgstr "%s: nie mogê zablokowaæ pliku z ukrytymi has³ami\n"
-#: src/chpasswd.c:137 src/gpasswd.c:608 src/pwconv.c:109 src/pwunconv.c:118
+#: src/chpasswd.c:187 src/gpasswd.c:608 src/pwconv.c:109 src/pwunconv.c:118
#: src/pwunconv.c:123
#, c-format
msgid "%s: can't open shadow file\n"
msgstr "%s: nie mogê otworzyæ pliku z ukrytymi has³ami\n"
-#: src/chpasswd.c:159 src/newusers.c:415
+#: src/chpasswd.c:209 src/newusers.c:465
#, c-format
msgid "%s: line %d: line too long\n"
msgstr "%s: linia %d: linia zbyt d³uga\n"
-#: src/chpasswd.c:179
+#: src/chpasswd.c:229
#, c-format
msgid "%s: line %d: missing new password\n"
msgstr "%s: linia %d: brakuje nowego has³a\n"
-#: src/chpasswd.c:195
+#: src/chpasswd.c:245
#, c-format
msgid "%s: line %d: unknown user %s\n"
msgstr "%s: linia %d: nieznany u¿ytkownik %s\n"
-#: src/chpasswd.c:247
+#: src/chpasswd.c:297
#, c-format
msgid "%s: line %d: cannot update password entry\n"
msgstr "%s: linia %d: nie mogê zaktualizowaæ wpisu do bazy hase³\n"
-#: src/chpasswd.c:263 src/newusers.c:535
+#: src/chpasswd.c:313 src/newusers.c:585
#, c-format
msgid "%s: error detected, changes ignored\n"
msgstr "%s: wykryto b³±d, zignorowano modyfikacje\n"
-#: src/chpasswd.c:274
+#: src/chpasswd.c:324
#, c-format
msgid "%s: error updating shadow file\n"
msgstr "%s: b³±d podczas aktualizacji pliku z ukrytymi has³ami\n"
-#: src/chpasswd.c:282
+#: src/chpasswd.c:332
#, c-format
msgid "%s: error updating password file\n"
msgstr "%s: b³±d podczas aktualizacji pliku z has³ami\n"
msgid "%s: can't update DBM shadow files\n"
msgstr "%s: nie mogê zaktualizowaæ pliku DBM z ukrytymi has³ami\n"
-#: src/groupadd.c:105
+#: src/groupadd.c:111
msgid "usage: groupadd [-g gid [-o]] group\n"
msgstr "u¿ycie: groupadd [-g gid [-o]] grupa\n"
-#: src/groupadd.c:173 src/groupadd.c:196 src/groupmod.c:183 src/groupmod.c:230
-#: src/useradd.c:931 src/usermod.c:539 src/usermod.c:675
+#: src/groupadd.c:179 src/groupadd.c:202 src/groupmod.c:189 src/groupmod.c:236
+#: src/useradd.c:937 src/usermod.c:545 src/usermod.c:681
#, c-format
msgid "%s: error adding new group entry\n"
msgstr "%s: b³±d podczas dodawania nowej grupy\n"
-#: src/groupadd.c:183 src/groupadd.c:206 src/groupmod.c:199 src/useradd.c:942
-#: src/usermod.c:551 src/usermod.c:687
+#: src/groupadd.c:189 src/groupadd.c:212 src/groupmod.c:205 src/useradd.c:948
+#: src/usermod.c:557 src/usermod.c:693
#, c-format
msgid "%s: cannot add new dbm group entry\n"
msgstr "%s: nie mogê dodaæ nowego wpisu do bazy dbm grup\n"
-#: src/groupadd.c:258 src/useradd.c:996
+#: src/groupadd.c:264 src/useradd.c:1002
#, c-format
msgid "%s: name %s is not unique\n"
msgstr "%s: nazwa %s nie jest niepowtarzalny\n"
-#: src/groupadd.c:273
+#: src/groupadd.c:279
#, c-format
msgid "%s: gid %ld is not unique\n"
msgstr "%s: gid %ld nie jest niepowtarzalny\n"
-#: src/groupadd.c:297
+#: src/groupadd.c:303
#, c-format
msgid "%s: can't get unique gid\n"
msgstr "%s: nie mogê uzyskaæ niepowtarzalnego gid\n"
#.
#. * All invalid group names land here.
#.
-#: src/groupadd.c:321 src/groupmod.c:341
+#: src/groupadd.c:327 src/groupmod.c:347
#, c-format
msgid "%s: %s is a not a valid group name\n"
msgstr "%s: %s: nie jest prawid³ow± nazw± grupy\n"
-#: src/groupadd.c:350 src/groupmod.c:367
+#: src/groupadd.c:356 src/groupmod.c:373
#, c-format
msgid "%s: invalid group %s\n"
msgstr "%s: nieprawid³owa grupa %s\n"
-#: src/groupadd.c:367 src/useradd.c:1272
+#: src/groupadd.c:373 src/useradd.c:1278
#, c-format
msgid "%s: -O requires NAME=VALUE\n"
msgstr "%s: -O wymaga ZMIENNA=WARTO¦Æ\n"
-#: src/groupadd.c:412 src/groupdel.c:167 src/groupmod.c:403 src/useradd.c:1381
-#: src/userdel.c:303 src/usermod.c:563
+#: src/groupadd.c:418 src/groupdel.c:173 src/groupmod.c:409 src/useradd.c:1387
+#: src/userdel.c:309 src/usermod.c:569
#, c-format
msgid "%s: cannot rewrite group file\n"
msgstr "%s: nie mogê przepisaæ pliku z grupami\n"
-#: src/groupadd.c:418 src/groupdel.c:173 src/groupmod.c:409 src/useradd.c:1389
-#: src/userdel.c:309 src/usermod.c:700
+#: src/groupadd.c:424 src/groupdel.c:179 src/groupmod.c:415 src/useradd.c:1395
+#: src/userdel.c:315 src/usermod.c:706
#, c-format
msgid "%s: cannot rewrite shadow group file\n"
msgstr "%s: nie mogê przepisaæ pliku z ukrytymi grupami\n"
-#: src/groupadd.c:437 src/groupdel.c:192 src/groupmod.c:428 src/userdel.c:389
+#: src/groupadd.c:443 src/groupdel.c:198 src/groupmod.c:434 src/userdel.c:395
#, c-format
msgid "%s: unable to lock group file\n"
msgstr "%s: nie mogê zablokowaæ pliku z grupami\n"
-#: src/groupadd.c:441 src/groupdel.c:196 src/groupmod.c:432
+#: src/groupadd.c:447 src/groupdel.c:202 src/groupmod.c:438
#, c-format
msgid "%s: unable to open group file\n"
msgstr "%s: nie mogê otworzyæ pliku z grupami\n"
-#: src/groupadd.c:446 src/groupdel.c:201 src/groupmod.c:437 src/userdel.c:398
+#: src/groupadd.c:452 src/groupdel.c:207 src/groupmod.c:443 src/userdel.c:404
#, c-format
msgid "%s: unable to lock shadow group file\n"
msgstr "%s: nie mogê zablokowaæ pliku z ukrytymi grupami\n"
-#: src/groupadd.c:451 src/groupdel.c:206 src/groupmod.c:442
+#: src/groupadd.c:457 src/groupdel.c:212 src/groupmod.c:448
#, c-format
msgid "%s: unable to open shadow group file\n"
msgstr "%s: nie mogê otworzyæ pliku z ukrytymi grupami\n"
-#: src/groupadd.c:518
+#: src/groupadd.c:568
#, c-format
msgid "%s: group %s exists\n"
msgstr "%s: grupa %s istnieje\n"
-#: src/groupdel.c:86
+#: src/groupdel.c:92
msgid "usage: groupdel group\n"
msgstr "u¿ycie: groupdel grupa\n"
-#: src/groupdel.c:104 src/groupmod.c:187 src/groupmod.c:234
+#: src/groupdel.c:110 src/groupmod.c:193 src/groupmod.c:240
#, c-format
msgid "%s: error removing group entry\n"
msgstr "%s: b³±d podczas usuwania grupy\n"
-#: src/groupdel.c:116 src/groupmod.c:206
+#: src/groupdel.c:122 src/groupmod.c:212
#, c-format
msgid "%s: error removing group dbm entry\n"
msgstr "%s: b³±d podczas usuwania wpisu dbm o grupie\n"
-#: src/groupdel.c:131
+#: src/groupdel.c:137
#, c-format
msgid "%s: error removing shadow group entry\n"
msgstr "%s: b³±d podczas usuwania wpisu o ukrytej grupie\n"
-#: src/groupdel.c:144 src/groupmod.c:252
+#: src/groupdel.c:150 src/groupmod.c:258
#, c-format
msgid "%s: error removing shadow group dbm entry\n"
msgstr "%s: b³±d podczas usuwania wpisu dbm z pliku ukrytych grup\n"
#.
#. * Can't remove the group.
#.
-#: src/groupdel.c:248
+#: src/groupdel.c:254
#, c-format
msgid "%s: cannot remove user's primary group.\n"
msgstr "%s: nie mogê usun±æ podstawowej grupy u¿ytkowników.\n"
-#: src/groupdel.c:305 src/groupmod.c:501
+#: src/groupdel.c:355 src/groupmod.c:551
#, c-format
msgid "%s: group %s does not exist\n"
msgstr "%s: grupa %s nie isnieje\n"
-#: src/groupdel.c:319 src/groupmod.c:517
+#: src/groupdel.c:369 src/groupmod.c:567
#, c-format
msgid "%s: group %s is a NIS group\n"
msgstr "%s: grupa %s jest grup± NIS\n"
-#: src/groupdel.c:325 src/groupmod.c:523 src/userdel.c:761 src/usermod.c:1016
+#: src/groupdel.c:375 src/groupmod.c:573 src/userdel.c:811 src/usermod.c:1022
#, c-format
msgid "%s: %s is the NIS master\n"
msgstr "%s: %s jest g³ównym serwerem NIS\n"
-#: src/groupmod.c:105
+#: src/groupmod.c:111
msgid "usage: groupmod [-g gid [-o]] [-n name] group\n"
msgstr "u¿ycie: groupmod [-g gid [-o]] [-n nazwa] grupa\n"
-#: src/groupmod.c:165
+#: src/groupmod.c:171
#, fuzzy, c-format
msgid "%s: %s not found in /etc/group\n"
msgstr "%s: %s nie znaleziony w /etc/passwd\n"
-#: src/groupmod.c:246
+#: src/groupmod.c:252
#, c-format
msgid "%s: cannot add new dbm shadow group entry\n"
msgstr "%s: nie mogê dodaæ nowego wpisu dbm do pliku z ukrytymi grupami\n"
-#: src/groupmod.c:299
+#: src/groupmod.c:305
#, c-format
msgid "%s: %ld is not a unique gid\n"
msgstr "%s: %ld nie jest niepowtarzalnym gid\n"
-#: src/groupmod.c:330
+#: src/groupmod.c:336
#, c-format
msgid "%s: %s is not a unique name\n"
msgstr "%s: %s nie jest niepowtarzaln± nazw±\n"
msgid "too many groups\n"
msgstr "zbyt wiele grup\n"
-#: src/newusers.c:76
+#: src/newusers.c:82
#, c-format
msgid "Usage: %s [ input ]\n"
msgstr "U¿ycie: %s [ wej¶cie ]\n"
-#: src/newusers.c:364
+#: src/newusers.c:414
#, c-format
msgid "%s: can't lock /etc/passwd.\n"
msgstr "%s: nie mogê zablokowaæ /etc/passwd.\n"
-#: src/newusers.c:375
+#: src/newusers.c:425
#, c-format
msgid "%s: can't lock files, try again later\n"
msgstr "%s: nie mogê zablokowaæ plików, spróbuj pó¼niej\n"
-#: src/newusers.c:390
+#: src/newusers.c:440
#, c-format
msgid "%s: can't open files\n"
msgstr "%s: nie mogê otworzyæ plików\n"
-#: src/newusers.c:435
+#: src/newusers.c:485
#, c-format
msgid "%s: line %d: invalid line\n"
msgstr "%s: linia %d: nieprawid³owa linia\n"
-#: src/newusers.c:453
+#: src/newusers.c:503
#, c-format
msgid "%s: line %d: can't create GID\n"
msgstr "%s: linia %d: nie mogê utworzyæ GID\n"
-#: src/newusers.c:469
+#: src/newusers.c:519
#, c-format
msgid "%s: line %d: can't create UID\n"
msgstr "%s: linia %d: nie mogê utworzyæ UID\n"
-#: src/newusers.c:481
+#: src/newusers.c:531
#, c-format
msgid "%s: line %d: cannot find user %s\n"
msgstr "%s: linia %d: nie mogê znale¶æ u¿ytkownika %s\n"
-#: src/newusers.c:489
+#: src/newusers.c:539
#, c-format
msgid "%s: line %d: can't update password\n"
msgstr "%s: linia %d: nie mogê zaktualizowaæ pliku z has³ami\n"
-#: src/newusers.c:506
+#: src/newusers.c:556
#, c-format
msgid "%s: line %d: mkdir failed\n"
msgstr "%s: linia %d: mkdir nie powiod³o siê\n"
-#: src/newusers.c:510
+#: src/newusers.c:560
#, c-format
msgid "%s: line %d: chown failed\n"
msgstr "%s: linia %d: chown nie powiod³o siê\n"
-#: src/newusers.c:519
+#: src/newusers.c:569
#, c-format
msgid "%s: line %d: can't update entry\n"
msgstr "%s: linia %d: nie mogê zaktualizowaæ wpisu\n"
-#: src/newusers.c:550
+#: src/newusers.c:600
#, c-format
msgid "%s: error updating files\n"
msgstr "%s: b³±d podczas aktualizowania plików\n"
msgid "Entering System Maintenance Mode\n"
msgstr "Wchodzê w tryb utrzymania systemu\n"
-#: src/useradd.c:243
+#: src/useradd.c:249
#, c-format
msgid "%s: rebuild the group database\n"
msgstr "%s: przebuduj bazê grup\n"
-#: src/useradd.c:250
+#: src/useradd.c:256
#, c-format
msgid "%s: rebuild the shadow group database\n"
msgstr "%s: przebuduj bazê przes³oniêtych hase³\n"
-#: src/useradd.c:287 src/usermod.c:967
+#: src/useradd.c:293 src/usermod.c:973
#, c-format
msgid "%s: invalid numeric argument `%s'\n"
msgstr "%s: nieprawid³owy argument numeryczny `%s'\n"
-#: src/useradd.c:343
+#: src/useradd.c:349
#, c-format
msgid "%s: unknown gid %s\n"
msgstr "%s: nieznany gid %s\n"
-#: src/useradd.c:350 src/useradd.c:642 src/useradd.c:1228 src/usermod.c:254
-#: src/usermod.c:1098
+#: src/useradd.c:356 src/useradd.c:648 src/useradd.c:1234 src/usermod.c:260
+#: src/usermod.c:1104
#, c-format
msgid "%s: unknown group %s\n"
msgstr "%s: nieznana grupa %s\n"
-#: src/useradd.c:418
+#: src/useradd.c:424
#, c-format
msgid "group=%s,%ld basedir=%s skel=%s\n"
msgstr "grupa=%s,%ld kat_baz=%s skel=%s\n"
-#: src/useradd.c:421
+#: src/useradd.c:427
#, c-format
msgid "shell=%s "
msgstr "pow³oka=%s "
-#: src/useradd.c:423
+#: src/useradd.c:429
#, c-format
msgid "inactive=%ld expire=%s"
msgstr "nieaktywne=%ld wyga¶niêcie=%s"
-#: src/useradd.c:427
+#: src/useradd.c:433
#, c-format
msgid "GROUP=%ld\n"
msgstr "GRUPA=%ld\n"
-#: src/useradd.c:428
+#: src/useradd.c:434
#, c-format
msgid "HOME=%s\n"
msgstr "KAT_DOM=%s\n"
-#: src/useradd.c:430
+#: src/useradd.c:436
#, c-format
msgid "INACTIVE=%ld\n"
msgstr "NIEAKTYWNE=%ld\n"
-#: src/useradd.c:431
+#: src/useradd.c:437
#, c-format
msgid "EXPIRE=%s\n"
msgstr "WYGA¦NIÊCIE=%s\n"
-#: src/useradd.c:433
+#: src/useradd.c:439
#, c-format
msgid "SHELL=%s\n"
msgstr "POW£OKA=%s\n"
-#: src/useradd.c:434
+#: src/useradd.c:440
#, c-format
msgid "SKEL=%s\n"
msgstr "SKEL=%s\n"
-#: src/useradd.c:470
+#: src/useradd.c:476
#, c-format
msgid "%s: cannot create new defaults file\n"
msgstr "%s: nie mogê utworzyæ nowego pliku ze standardowymi ustawieniami\n"
-#: src/useradd.c:564 src/useradd.c:575
+#: src/useradd.c:570 src/useradd.c:581
#, c-format
msgid "%s: rename: %s"
msgstr "%s: zmiana nazwy: %s"
-#: src/useradd.c:662 src/usermod.c:274
+#: src/useradd.c:668 src/usermod.c:280
#, c-format
msgid "%s: group `%s' is a NIS group.\n"
msgstr "%s: grupa `%s' jest grup± NIS.\n"
-#: src/useradd.c:670 src/usermod.c:282
+#: src/useradd.c:676 src/usermod.c:288
#, c-format
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: podano zbyt wiele grup (maks %d).\n"
-#: src/useradd.c:702 src/usermod.c:314
+#: src/useradd.c:708 src/usermod.c:320
#, c-format
msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
msgstr "u¿ycie: %s\t[-u uid [-o]] [-g grupa] [-G grupa,...] \n"
-#: src/useradd.c:705
+#: src/useradd.c:711
msgid "\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n"
msgstr "\t\t[-d kat_dom] [-s pow³oka] [-c komentarz] [-m [-k wzór]]\n"
-#: src/useradd.c:708 src/usermod.c:320
+#: src/useradd.c:714 src/usermod.c:326
msgid "[-f inactive] [-e expire ] "
msgstr "[-f nieaktywne] [-e utrata_wa¿no¶ci ]"
-#: src/useradd.c:711
+#: src/useradd.c:717
msgid "[-A program] "
msgstr "[-A program] "
-#: src/useradd.c:713
+#: src/useradd.c:719
msgid "[-p passwd] name\n"
msgstr "[-p has³o] nazwa\n"
-#: src/useradd.c:715
+#: src/useradd.c:721
#, c-format
msgid " %s\t-D [-g group] [-b base] [-s shell]\n"
msgstr " %s\t-D [-g grupa] [-b baza] [-s pow³oka]\n"
-#: src/useradd.c:718
+#: src/useradd.c:724
msgid "\t\t[-f inactive] [-e expire ]\n"
msgstr "\t\t[-f nieaktywne] [-e utrata_wa¿no¶ci ]\n"
-#: src/useradd.c:815 src/usermod.c:472
+#: src/useradd.c:821 src/usermod.c:478
#, c-format
msgid "%s: error locking group file\n"
msgstr "%s: b³±d podczas blokowania pliku z grupami\n"
-#: src/useradd.c:819 src/usermod.c:477
+#: src/useradd.c:825 src/usermod.c:483
#, c-format
msgid "%s: error opening group file\n"
msgstr "%s: b³±d podczas otwierania pliku z grupami\n"
-#: src/useradd.c:824 src/usermod.c:584
+#: src/useradd.c:830 src/usermod.c:590
#, c-format
msgid "%s: error locking shadow group file\n"
msgstr "%s: b³±d podczas blokowania pliku z ukrytymi has³ami\n"
-#: src/useradd.c:829 src/usermod.c:590
+#: src/useradd.c:835 src/usermod.c:596
#, c-format
msgid "%s: error opening shadow group file\n"
msgstr "%s: b³±d podczas otwierania pliku z ukrytymi grupami\n"
-#: src/useradd.c:1001
+#: src/useradd.c:1007
#, c-format
msgid "%s: uid %d is not unique\n"
msgstr "%s: uid %d nie jest niepowtarzalny\n"
-#: src/useradd.c:1031
+#: src/useradd.c:1037
#, c-format
msgid "%s: can't get unique uid\n"
msgstr "%s: nie mogê uzyskaæ niepowtarzalnego uid\n"
-#: src/useradd.c:1139 src/useradd.c:1283 src/usermod.c:1046 src/usermod.c:1057
-#: src/usermod.c:1067 src/usermod.c:1113 src/usermod.c:1157
+#: src/useradd.c:1145 src/useradd.c:1289 src/usermod.c:1052 src/usermod.c:1063
+#: src/usermod.c:1073 src/usermod.c:1119 src/usermod.c:1163
#, c-format
msgid "%s: invalid field `%s'\n"
msgstr "%s: nieprawid³owe pole `%s'\n"
-#: src/useradd.c:1153
+#: src/useradd.c:1159
#, c-format
msgid "%s: invalid base directory `%s'\n"
msgstr "%s: nieprawid³owy katalog bazowy `%s'\n"
-#: src/useradd.c:1163
+#: src/useradd.c:1169
#, c-format
msgid "%s: invalid comment `%s'\n"
msgstr "%s: nieprawid³owy komentarz `%s'\n"
-#: src/useradd.c:1173
+#: src/useradd.c:1179
#, c-format
msgid "%s: invalid home directory `%s'\n"
msgstr "%s: nieprawid³owy katalog domowy `%s'\n"
-#: src/useradd.c:1191 src/usermod.c:1080
+#: src/useradd.c:1197 src/usermod.c:1086
#, c-format
msgid "%s: invalid date `%s'\n"
msgstr "%s: nieprawid³owa data `%s'\n"
-#: src/useradd.c:1203
+#: src/useradd.c:1209
#, c-format
msgid "%s: shadow passwords required for -e\n"
msgstr "%s: ukryte has³a wymagane dla -e\n"
-#: src/useradd.c:1218
+#: src/useradd.c:1224
#, c-format
msgid "%s: shadow passwords required for -f\n"
msgstr "%s: ukryte has³a wymagane dla -f\n"
-#: src/useradd.c:1292
+#: src/useradd.c:1298
#, c-format
msgid "%s: invalid shell `%s'\n"
msgstr "%s: nieprawid³owa pow³oka `%s'\n"
-#: src/useradd.c:1333
+#: src/useradd.c:1339
#, c-format
msgid "%s: invalid user name `%s'\n"
msgstr "%s: nieprawid³owa nazwa u¿ytkownika `%s'\n"
-#: src/useradd.c:1369 src/userdel.c:292 src/usermod.c:1225
+#: src/useradd.c:1375 src/userdel.c:298 src/usermod.c:1231
#, c-format
msgid "%s: cannot rewrite password file\n"
msgstr "%s: nie mogê przepisaæ pliku z has³ami\n"
-#: src/useradd.c:1374 src/userdel.c:295 src/usermod.c:1230
+#: src/useradd.c:1380 src/userdel.c:301 src/usermod.c:1236
#, c-format
msgid "%s: cannot rewrite shadow password file\n"
msgstr "%s: nie mogê przepisaæ pliku z ukrytymi has³ami\n"
-#: src/useradd.c:1414 src/userdel.c:359 src/usermod.c:1265
+#: src/useradd.c:1420 src/userdel.c:365 src/usermod.c:1271
#, c-format
msgid "%s: unable to lock password file\n"
msgstr "%s: nie mogê zablokowaæ pliku z has³ami\n"
-#: src/useradd.c:1418 src/userdel.c:363 src/usermod.c:1269
+#: src/useradd.c:1424 src/userdel.c:369 src/usermod.c:1275
#, c-format
msgid "%s: unable to open password file\n"
msgstr "%s: nie mogê otworzyæ pliku z has³ami\n"
-#: src/useradd.c:1424 src/userdel.c:368 src/usermod.c:1274
+#: src/useradd.c:1430 src/userdel.c:374 src/usermod.c:1280
#, c-format
msgid "%s: cannot lock shadow password file\n"
msgstr "%s: nie mogê zablokowaæ pliku z ukrytymi has³ami\n"
-#: src/useradd.c:1430 src/userdel.c:373 src/usermod.c:1279
+#: src/useradd.c:1436 src/userdel.c:379 src/usermod.c:1285
#, c-format
msgid "%s: cannot open shadow password file\n"
msgstr "%s: nie mogê otworzyæ pliku z ukrytymi has³ami\n"
-#: src/useradd.c:1529 src/usermod.c:1366
+#: src/useradd.c:1535 src/usermod.c:1372
#, c-format
msgid "%s: error adding authentication method\n"
msgstr "%s: b³±d podczas dodawania metody uwierzytelniania\n"
-#: src/useradd.c:1552
+#: src/useradd.c:1558
#, c-format
msgid "%s: error adding new password entry\n"
msgstr "%s: b³±d podczas dodawania nowego wpisu do pliku z has³ami\n"
-#: src/useradd.c:1567
+#: src/useradd.c:1573
#, c-format
msgid "%s: error updating password dbm entry\n"
msgstr "%s: b³±d podczas aktualizacji wpisu dbm do pliku z has³ami\n"
-#: src/useradd.c:1583 src/usermod.c:1425
+#: src/useradd.c:1589 src/usermod.c:1431
#, c-format
msgid "%s: error adding new shadow password entry\n"
msgstr "%s: b³±d podczas dodawania nowego wpisu do pliku z ukrytymi has³ami\n"
-#: src/useradd.c:1599 src/usermod.c:1440
+#: src/useradd.c:1605 src/usermod.c:1446
#, c-format
msgid "%s: error updating shadow passwd dbm entry\n"
msgstr "%s: b³±d podczas aktualizacji wpisu dbm do pliku z ukrytymi has³ami\n"
-#: src/useradd.c:1631
+#: src/useradd.c:1637
#, c-format
msgid "%s: cannot create directory %s\n"
msgstr "%s: nie mogê utworzyæ katalogu %s\n"
-#: src/useradd.c:1708 src/usermod.c:1203
+#: src/useradd.c:1758 src/usermod.c:1209
#, c-format
msgid "%s: user %s exists\n"
msgstr "%s: u¿ytkownik %s istnieje\n"
-#: src/useradd.c:1738
+#: src/useradd.c:1770
+#, c-format
+msgid ""
+"%s: group %s exists - if you want to add this user to that group, use -g.\n"
+msgstr ""
+
+#: src/useradd.c:1801
#, c-format
msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
msgstr ""
-#: src/userdel.c:127
+#: src/userdel.c:133
#, c-format
msgid "usage: %s [-r] name\n"
msgstr "u¿ycie: %s [-r] nazwa\n"
-#: src/userdel.c:178 src/userdel.c:260
+#: src/userdel.c:184 src/userdel.c:266
#, c-format
msgid "%s: error updating group entry\n"
msgstr "%s: b³±d podczas aktualizacji wpisu grupy\n"
-#: src/userdel.c:188 src/userdel.c:269
+#: src/userdel.c:194 src/userdel.c:275
#, c-format
msgid "%s: cannot update dbm group entry\n"
msgstr "%s: nie mogê zaktualizowaæ wpisu dbm do pliku z grupami\n"
-#: src/userdel.c:215
+#: src/userdel.c:221
#, fuzzy, c-format
msgid "%s: cannot remove dbm group entry\n"
msgstr "%s: nie mogê zaktualizowaæ wpisu dbm do pliku z grupami\n"
-#: src/userdel.c:300
+#: src/userdel.c:306
#, c-format
msgid "%s: cannot rewrite TCFS key file\n"
msgstr "%s: nie mogê przepisaæ pliku klucza TCFS\n"
-#: src/userdel.c:380
+#: src/userdel.c:386
#, c-format
msgid "%s: cannot lock TCFS key file\n"
msgstr "%s: nie mogê zablokowaæ pliku klucza TCFS\n"
-#: src/userdel.c:384
+#: src/userdel.c:390
#, c-format
msgid "%s: cannot open TCFS key file\n"
msgstr "%s: nie mogê otworzyæ pliku klucza TCFS\n"
-#: src/userdel.c:393
+#: src/userdel.c:399
#, c-format
msgid "%s: cannot open group file\n"
msgstr "%s: nie mogê otworzyæ pliku z grupami\n"
-#: src/userdel.c:403
+#: src/userdel.c:409
#, c-format
msgid "%s: cannot open shadow group file\n"
msgstr "%s: nie mogê otworzyæ pliku z przes³oniêtymi grupami\n"
-#: src/userdel.c:434 src/userdel.c:449
+#: src/userdel.c:440 src/userdel.c:455
#, c-format
msgid "%s: error deleting authentication\n"
msgstr "%s: b³±d podczas usuwania informacji uwierzytelniaj±cej\n"
-#: src/userdel.c:458
+#: src/userdel.c:464
#, c-format
msgid "%s: error deleting password entry\n"
msgstr "%s: b³±d podczas usuwania wpisu do pliku z has³ami\n"
-#: src/userdel.c:461
+#: src/userdel.c:467
#, c-format
msgid "%s: error deleting shadow password entry\n"
msgstr "%s: b³±d podczas usuwania wpisu do pliku z ukrytymi has³ami\n"
-#: src/userdel.c:470
+#: src/userdel.c:476
#, c-format
msgid "%s: error deleting TCFS entry\n"
msgstr "%s: b³±d podczas usuwania wpisu TCFS\n"
-#: src/userdel.c:483
+#: src/userdel.c:489
#, c-format
msgid "%s: error deleting password dbm entry\n"
msgstr "%s: b³±d podczas usuwania wpisu dbm do pliku z has³ami\n"
-#: src/userdel.c:502
+#: src/userdel.c:508
#, c-format
msgid "%s: error deleting shadow passwd dbm entry\n"
msgstr "%s: b³±d podczas usuwania wpisy dbm z pliku z ukrytymi has³ami\n"
-#: src/userdel.c:543
+#: src/userdel.c:549
#, c-format
msgid "%s: user %s is currently logged in\n"
msgstr "%s: u¿ytkownik %s jest aktualnie zalogowany\n"
-#: src/userdel.c:660
+#: src/userdel.c:666
#, c-format
msgid "%s: warning: %s not owned by %s, not removing\n"
msgstr "%s: ostrze¿enie: w³a¶cicielem %s nie jest %s, nie usuwam\n"
-#: src/userdel.c:666
+#: src/userdel.c:672
#, c-format
msgid "%s: warning: can't remove "
msgstr "%s: ostrze¿enie: nie mogê usun±æ "
-#: src/userdel.c:741 src/usermod.c:994
+#: src/userdel.c:791 src/usermod.c:1000
#, c-format
msgid "%s: user %s does not exist\n"
msgstr "%s: u¿ytkownik %s nie istnieje\n"
-#: src/userdel.c:755 src/usermod.c:1010
+#: src/userdel.c:805 src/usermod.c:1016
#, c-format
msgid "%s: user %s is a NIS user\n"
msgstr "%s: u¿ytkownik %s jest u¿ytkownikiem NIS\n"
-#: src/userdel.c:792
+#: src/userdel.c:842
#, c-format
msgid "%s: %s not owned by %s, not removing\n"
msgstr "%s: w³a¶cicielem %s nie jest %s, nie usuwam\n"
-#: src/userdel.c:815
+#: src/userdel.c:865
#, c-format
msgid "%s: not removing directory %s (would remove home of user %s)\n"
msgstr "%s: nie usuwam katalogu %s (would remove home of user %s)\n"
-#: src/userdel.c:828
+#: src/userdel.c:878
#, c-format
msgid "%s: error removing directory %s\n"
msgstr "%s: b³±d podczas usuwania katalogu %s\n"
-#: src/usermod.c:317
+#: src/usermod.c:323
msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
msgstr "\t\t[-d kat_dom [-m]] [-s pow³oka] [-c komentarz] [-l nowa_nazwa]\n"
-#: src/usermod.c:323
+#: src/usermod.c:329
msgid "[-A {DEFAULT|program},... ] "
msgstr "[-A {DEFAULT|program},... ] "
-#: src/usermod.c:325
+#: src/usermod.c:331
#, fuzzy
msgid "[-p passwd] [-L|-U] name\n"
msgstr "[-p has³o] nazwa\n"
-#: src/usermod.c:504
+#: src/usermod.c:510
#, c-format
msgid "%s: out of memory in update_group\n"
msgstr "%s: zabrak³o pamiêci w pdate_group\n"
-#: src/usermod.c:627
+#: src/usermod.c:633
#, c-format
msgid "%s: out of memory in update_gshadow\n"
msgstr "%s: zabrak³o pamiêci w update_gshadow\n"
-#: src/usermod.c:1180
+#: src/usermod.c:1186
#, c-format
msgid "%s: no flags given\n"
msgstr "%s: nie podano flag\n"
-#: src/usermod.c:1187
+#: src/usermod.c:1193
#, c-format
msgid "%s: shadow passwords required for -e and -f\n"
msgstr "%s: ukryte has³a wymagane dla -e i -f\n"
-#: src/usermod.c:1208
+#: src/usermod.c:1214
#, c-format
msgid "%s: uid %ld is not unique\n"
msgstr "%s: uid %ld nie jest niepowtarzalny\n"
-#: src/usermod.c:1356
+#: src/usermod.c:1362
#, c-format
msgid "%s: error deleting authentication method\n"
msgstr "%s: b³±d podczas usuwania metody uwierzytelniania\n"
-#: src/usermod.c:1376
+#: src/usermod.c:1382
#, c-format
msgid "%s: error changing authentication method\n"
msgstr "%s: b³±d podczas zmiany metody uwierzytelniania\n"
-#: src/usermod.c:1393
+#: src/usermod.c:1399
#, c-format
msgid "%s: error changing password entry\n"
msgstr "%s: b³±d podczas zmiany wpisu w pliku z has³ami\n"
-#: src/usermod.c:1399
+#: src/usermod.c:1405
#, c-format
msgid "%s: error removing password entry\n"
msgstr "%s: b³±d podczas usuwania wpisu z pliku z has³ami\n"
-#: src/usermod.c:1407
+#: src/usermod.c:1413
#, c-format
msgid "%s: error adding password dbm entry\n"
msgstr "%s: b³±d podczas dodawania wpisu dbm do pliku z has³ami\n"
-#: src/usermod.c:1414
+#: src/usermod.c:1420
#, c-format
msgid "%s: error removing passwd dbm entry\n"
msgstr "%s: b³±d podczas usuwania wpisu dbm z pliku z has³ami\n"
-#: src/usermod.c:1431
+#: src/usermod.c:1437
#, c-format
msgid "%s: error removing shadow password entry\n"
msgstr "%s: b³±d podczas usuwania wpisu z pliku z ukrytymi has³ami\n"
-#: src/usermod.c:1446
+#: src/usermod.c:1452
#, c-format
msgid "%s: error removing shadow passwd dbm entry\n"
msgstr "%s: b³±d podczas usuwania wpisu dbm z pliku z ukrytymi has³ami\n"
-#: src/usermod.c:1477
+#: src/usermod.c:1483
#, c-format
msgid "%s: directory %s exists\n"
msgstr "%s: katalog %s isnieje\n"
-#: src/usermod.c:1484
+#: src/usermod.c:1490
#, c-format
msgid "%s: can't create %s\n"
msgstr "%s: nie mogê utworzyæ %s\n"
-#: src/usermod.c:1490
+#: src/usermod.c:1496
#, c-format
msgid "%s: can't chown %s\n"
msgstr "%s: nie mogê zmieniæ w³a¶ciciela %s\n"
-#: src/usermod.c:1506
+#: src/usermod.c:1512
#, c-format
msgid "%s: cannot rename directory %s to %s\n"
msgstr "%s: nie mogê zmieniæ nazwy katalogu z %s na %s\n"
#. better leave it alone
-#: src/usermod.c:1603
+#: src/usermod.c:1609
#, c-format
msgid "%s: warning: %s not owned by %s\n"
msgstr "%s: ostrze¿enie: w³a¶cicielem %s nie jest %s\n"
-#: src/usermod.c:1609
+#: src/usermod.c:1615
msgid "failed to change mailbox owner"
msgstr "nie powiod³a siê zmiana w³a¶ciciela skrzynki pocztowej"
-#: src/usermod.c:1616
+#: src/usermod.c:1622
msgid "failed to rename mailbox"
msgstr "zmiana nazwy skrzynki pocztowej nie powiod³a siê"
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2000-09-02 20:40+0200\n"
+"POT-Creation-Date: 2000-10-12 06:20+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"
msgid "Unknown error %d"
msgstr ""
-#: src/chage.c:156
+#: src/chage.c:162
#, c-format
msgid ""
"Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -W warn ]\n"
" [ -I inactive ] [ -E expire ] [ -d last_day ] user\n"
msgstr ""
-#: src/chage.c:158
+#: src/chage.c:164
#, c-format
msgid "Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -d last_day ] user\n"
msgstr ""
-#: src/chage.c:193
+#: src/chage.c:199
msgid ""
"Enter the new value, or press return for the default\n"
"\n"
msgstr ""
-#: src/chage.c:196
+#: src/chage.c:202
msgid "Minimum Password Age"
msgstr ""
-#: src/chage.c:201
+#: src/chage.c:207
msgid "Maximum Password Age"
msgstr ""
-#: src/chage.c:207
+#: src/chage.c:213
msgid "Last Password Change (YYYY-MM-DD)"
msgstr ""
-#: src/chage.c:216
+#: src/chage.c:222
msgid "Password Expiration Warning"
msgstr ""
-#: src/chage.c:221
+#: src/chage.c:227
msgid "Password Inactive"
msgstr ""
-#: src/chage.c:227
+#: src/chage.c:233
msgid "Account Expiration Date (YYYY-MM-DD)"
msgstr ""
#. * days after the password expires that the account becomes
#. * unusable.
#.
-#: src/chage.c:281
+#: src/chage.c:287
#, c-format
msgid "Minimum:\t%ld\n"
msgstr ""
-#: src/chage.c:282
+#: src/chage.c:288
#, c-format
msgid "Maximum:\t%ld\n"
msgstr ""
-#: src/chage.c:284
+#: src/chage.c:290
#, c-format
msgid "Warning:\t%ld\n"
msgstr ""
-#: src/chage.c:285
+#: src/chage.c:291
#, c-format
msgid "Inactive:\t%ld\n"
msgstr ""
#. * password was last modified. The date is the number of
#. * days since 1/1/1970.
#.
-#: src/chage.c:294
+#: src/chage.c:300
msgid "Last Change:\t\t"
msgstr ""
-#: src/chage.c:296 src/chage.c:310 src/chage.c:327 src/chage.c:340
+#: src/chage.c:302 src/chage.c:316 src/chage.c:333 src/chage.c:346
msgid "Never\n"
msgstr ""
#. * change date plus the number of days the password is valid
#. * for.
#.
-#: src/chage.c:308
+#: src/chage.c:314
msgid "Password Expires:\t"
msgstr ""
#. * and the number of inactive days is added. The resulting date
#. * is when the active will be disabled.
#.
-#: src/chage.c:324
+#: src/chage.c:330
msgid "Password Inactive:\t"
msgstr ""
#. * The account will expire on the given date regardless of the
#. * password expiring or not.
#.
-#: src/chage.c:338
+#: src/chage.c:344
msgid "Account Expires:\t"
msgstr ""
-#: src/chage.c:486
+#: src/chage.c:453 src/chpasswd.c:152 src/groupadd.c:536 src/groupdel.c:322
+#: src/groupmod.c:522 src/newusers.c:389 src/useradd.c:1707 src/userdel.c:738
+#: src/usermod.c:1684
+#, c-format
+msgid "%s: PAM authentication failed\n"
+msgstr ""
+
+#: src/chage.c:536
#, c-format
msgid "%s: do not include \"l\" with other flags\n"
msgstr ""
-#: src/chage.c:498 src/chage.c:610 src/login.c:529
+#: src/chage.c:548 src/chage.c:660 src/login.c:529
#, c-format
msgid "%s: permission denied\n"
msgstr ""
-#: src/chage.c:510 src/chpasswd.c:120
+#: src/chage.c:560 src/chpasswd.c:170
#, c-format
msgid "%s: can't lock password file\n"
msgstr ""
-#: src/chage.c:516 src/chpasswd.c:124
+#: src/chage.c:566 src/chpasswd.c:174
#, c-format
msgid "%s: can't open password file\n"
msgstr ""
-#: src/chage.c:523
+#: src/chage.c:573
#, c-format
msgid "%s: unknown user: %s\n"
msgstr ""
-#: src/chage.c:542
+#: src/chage.c:592
#, c-format
msgid "%s: can't lock shadow password file\n"
msgstr ""
-#: src/chage.c:549
+#: src/chage.c:599
#, c-format
msgid "%s: can't open shadow password file\n"
msgstr ""
-#: src/chage.c:631
+#: src/chage.c:681
#, c-format
msgid "Changing the aging information for %s\n"
msgstr ""
-#: src/chage.c:633
+#: src/chage.c:683
#, c-format
msgid "%s: error changing fields\n"
msgstr ""
-#: src/chage.c:660 src/chage.c:723 src/pwunconv.c:183
+#: src/chage.c:710 src/chage.c:773 src/pwunconv.c:183
#, c-format
msgid "%s: can't update password file\n"
msgstr ""
-#: src/chage.c:690 src/pwunconv.c:178
+#: src/chage.c:740 src/pwunconv.c:178
#, c-format
msgid "%s: can't update shadow password file\n"
msgstr ""
-#: src/chage.c:739 src/chage.c:754 src/chfn.c:570 src/chsh.c:409
+#: src/chage.c:789 src/chage.c:804 src/chfn.c:570 src/chsh.c:409
#: src/passwd.c:825 src/passwd.c:926
msgid "Error updating the DBM password entry.\n"
msgstr ""
-#: src/chage.c:771
+#: src/chage.c:821
#, c-format
msgid "%s: can't rewrite shadow password file\n"
msgstr ""
-#: src/chage.c:785
+#: src/chage.c:835
#, c-format
msgid "%s: can't rewrite password file\n"
msgstr ""
-#: src/chage.c:836
+#: src/chage.c:853 src/chpasswd.c:346 src/groupadd.c:595 src/groupdel.c:409
+#: src/groupmod.c:606 src/newusers.c:625 src/useradd.c:1816 src/userdel.c:903
+#: src/usermod.c:1762
+#, c-format
+msgid "%s: PAM chauthtok failed\n"
+msgstr ""
+
+#: src/chage.c:905
#, c-format
msgid "%s: no aging information present\n"
msgstr ""
msgid "Cannot open the password file.\n"
msgstr ""
-#: src/chfn.c:545 src/chsh.c:382 src/passwd.c:746 src/usermod.c:1313
+#: src/chfn.c:545 src/chsh.c:382 src/passwd.c:746 src/usermod.c:1319
#, c-format
msgid "%s: %s not found in /etc/passwd\n"
msgstr ""
msgid "Cannot unlock the password file.\n"
msgstr ""
-#: src/chpasswd.c:76
+#: src/chpasswd.c:82
#, c-format
msgid "usage: %s [-e]\n"
msgstr ""
-#: src/chpasswd.c:132 src/pwconv.c:104
+#: src/chpasswd.c:182 src/pwconv.c:104
#, c-format
msgid "%s: can't lock shadow file\n"
msgstr ""
-#: src/chpasswd.c:137 src/gpasswd.c:608 src/pwconv.c:109 src/pwunconv.c:118
+#: src/chpasswd.c:187 src/gpasswd.c:608 src/pwconv.c:109 src/pwunconv.c:118
#: src/pwunconv.c:123
#, c-format
msgid "%s: can't open shadow file\n"
msgstr ""
-#: src/chpasswd.c:159 src/newusers.c:415
+#: src/chpasswd.c:209 src/newusers.c:465
#, c-format
msgid "%s: line %d: line too long\n"
msgstr ""
-#: src/chpasswd.c:179
+#: src/chpasswd.c:229
#, c-format
msgid "%s: line %d: missing new password\n"
msgstr ""
-#: src/chpasswd.c:195
+#: src/chpasswd.c:245
#, c-format
msgid "%s: line %d: unknown user %s\n"
msgstr ""
-#: src/chpasswd.c:247
+#: src/chpasswd.c:297
#, c-format
msgid "%s: line %d: cannot update password entry\n"
msgstr ""
-#: src/chpasswd.c:263 src/newusers.c:535
+#: src/chpasswd.c:313 src/newusers.c:585
#, c-format
msgid "%s: error detected, changes ignored\n"
msgstr ""
-#: src/chpasswd.c:274
+#: src/chpasswd.c:324
#, c-format
msgid "%s: error updating shadow file\n"
msgstr ""
-#: src/chpasswd.c:282
+#: src/chpasswd.c:332
#, c-format
msgid "%s: error updating password file\n"
msgstr ""
msgid "%s: can't update DBM shadow files\n"
msgstr ""
-#: src/groupadd.c:105
+#: src/groupadd.c:111
msgid "usage: groupadd [-g gid [-o]] group\n"
msgstr ""
-#: src/groupadd.c:173 src/groupadd.c:196 src/groupmod.c:183 src/groupmod.c:230
-#: src/useradd.c:931 src/usermod.c:539 src/usermod.c:675
+#: src/groupadd.c:179 src/groupadd.c:202 src/groupmod.c:189 src/groupmod.c:236
+#: src/useradd.c:937 src/usermod.c:545 src/usermod.c:681
#, c-format
msgid "%s: error adding new group entry\n"
msgstr ""
-#: src/groupadd.c:183 src/groupadd.c:206 src/groupmod.c:199 src/useradd.c:942
-#: src/usermod.c:551 src/usermod.c:687
+#: src/groupadd.c:189 src/groupadd.c:212 src/groupmod.c:205 src/useradd.c:948
+#: src/usermod.c:557 src/usermod.c:693
#, c-format
msgid "%s: cannot add new dbm group entry\n"
msgstr ""
-#: src/groupadd.c:258 src/useradd.c:996
+#: src/groupadd.c:264 src/useradd.c:1002
#, c-format
msgid "%s: name %s is not unique\n"
msgstr ""
-#: src/groupadd.c:273
+#: src/groupadd.c:279
#, c-format
msgid "%s: gid %ld is not unique\n"
msgstr ""
-#: src/groupadd.c:297
+#: src/groupadd.c:303
#, c-format
msgid "%s: can't get unique gid\n"
msgstr ""
#.
#. * All invalid group names land here.
#.
-#: src/groupadd.c:321 src/groupmod.c:341
+#: src/groupadd.c:327 src/groupmod.c:347
#, c-format
msgid "%s: %s is a not a valid group name\n"
msgstr ""
-#: src/groupadd.c:350 src/groupmod.c:367
+#: src/groupadd.c:356 src/groupmod.c:373
#, c-format
msgid "%s: invalid group %s\n"
msgstr ""
-#: src/groupadd.c:367 src/useradd.c:1272
+#: src/groupadd.c:373 src/useradd.c:1278
#, c-format
msgid "%s: -O requires NAME=VALUE\n"
msgstr ""
-#: src/groupadd.c:412 src/groupdel.c:167 src/groupmod.c:403 src/useradd.c:1381
-#: src/userdel.c:303 src/usermod.c:563
+#: src/groupadd.c:418 src/groupdel.c:173 src/groupmod.c:409 src/useradd.c:1387
+#: src/userdel.c:309 src/usermod.c:569
#, c-format
msgid "%s: cannot rewrite group file\n"
msgstr ""
-#: src/groupadd.c:418 src/groupdel.c:173 src/groupmod.c:409 src/useradd.c:1389
-#: src/userdel.c:309 src/usermod.c:700
+#: src/groupadd.c:424 src/groupdel.c:179 src/groupmod.c:415 src/useradd.c:1395
+#: src/userdel.c:315 src/usermod.c:706
#, c-format
msgid "%s: cannot rewrite shadow group file\n"
msgstr ""
-#: src/groupadd.c:437 src/groupdel.c:192 src/groupmod.c:428 src/userdel.c:389
+#: src/groupadd.c:443 src/groupdel.c:198 src/groupmod.c:434 src/userdel.c:395
#, c-format
msgid "%s: unable to lock group file\n"
msgstr ""
-#: src/groupadd.c:441 src/groupdel.c:196 src/groupmod.c:432
+#: src/groupadd.c:447 src/groupdel.c:202 src/groupmod.c:438
#, c-format
msgid "%s: unable to open group file\n"
msgstr ""
-#: src/groupadd.c:446 src/groupdel.c:201 src/groupmod.c:437 src/userdel.c:398
+#: src/groupadd.c:452 src/groupdel.c:207 src/groupmod.c:443 src/userdel.c:404
#, c-format
msgid "%s: unable to lock shadow group file\n"
msgstr ""
-#: src/groupadd.c:451 src/groupdel.c:206 src/groupmod.c:442
+#: src/groupadd.c:457 src/groupdel.c:212 src/groupmod.c:448
#, c-format
msgid "%s: unable to open shadow group file\n"
msgstr ""
-#: src/groupadd.c:518
+#: src/groupadd.c:568
#, c-format
msgid "%s: group %s exists\n"
msgstr ""
-#: src/groupdel.c:86
+#: src/groupdel.c:92
msgid "usage: groupdel group\n"
msgstr ""
-#: src/groupdel.c:104 src/groupmod.c:187 src/groupmod.c:234
+#: src/groupdel.c:110 src/groupmod.c:193 src/groupmod.c:240
#, c-format
msgid "%s: error removing group entry\n"
msgstr ""
-#: src/groupdel.c:116 src/groupmod.c:206
+#: src/groupdel.c:122 src/groupmod.c:212
#, c-format
msgid "%s: error removing group dbm entry\n"
msgstr ""
-#: src/groupdel.c:131
+#: src/groupdel.c:137
#, c-format
msgid "%s: error removing shadow group entry\n"
msgstr ""
-#: src/groupdel.c:144 src/groupmod.c:252
+#: src/groupdel.c:150 src/groupmod.c:258
#, c-format
msgid "%s: error removing shadow group dbm entry\n"
msgstr ""
#.
#. * Can't remove the group.
#.
-#: src/groupdel.c:248
+#: src/groupdel.c:254
#, c-format
msgid "%s: cannot remove user's primary group.\n"
msgstr ""
-#: src/groupdel.c:305 src/groupmod.c:501
+#: src/groupdel.c:355 src/groupmod.c:551
#, c-format
msgid "%s: group %s does not exist\n"
msgstr ""
-#: src/groupdel.c:319 src/groupmod.c:517
+#: src/groupdel.c:369 src/groupmod.c:567
#, c-format
msgid "%s: group %s is a NIS group\n"
msgstr ""
-#: src/groupdel.c:325 src/groupmod.c:523 src/userdel.c:761 src/usermod.c:1016
+#: src/groupdel.c:375 src/groupmod.c:573 src/userdel.c:811 src/usermod.c:1022
#, c-format
msgid "%s: %s is the NIS master\n"
msgstr ""
-#: src/groupmod.c:105
+#: src/groupmod.c:111
msgid "usage: groupmod [-g gid [-o]] [-n name] group\n"
msgstr ""
-#: src/groupmod.c:165
+#: src/groupmod.c:171
#, c-format
msgid "%s: %s not found in /etc/group\n"
msgstr ""
-#: src/groupmod.c:246
+#: src/groupmod.c:252
#, c-format
msgid "%s: cannot add new dbm shadow group entry\n"
msgstr ""
-#: src/groupmod.c:299
+#: src/groupmod.c:305
#, c-format
msgid "%s: %ld is not a unique gid\n"
msgstr ""
-#: src/groupmod.c:330
+#: src/groupmod.c:336
#, c-format
msgid "%s: %s is not a unique name\n"
msgstr ""
msgid "too many groups\n"
msgstr ""
-#: src/newusers.c:76
+#: src/newusers.c:82
#, c-format
msgid "Usage: %s [ input ]\n"
msgstr ""
-#: src/newusers.c:364
+#: src/newusers.c:414
#, c-format
msgid "%s: can't lock /etc/passwd.\n"
msgstr ""
-#: src/newusers.c:375
+#: src/newusers.c:425
#, c-format
msgid "%s: can't lock files, try again later\n"
msgstr ""
-#: src/newusers.c:390
+#: src/newusers.c:440
#, c-format
msgid "%s: can't open files\n"
msgstr ""
-#: src/newusers.c:435
+#: src/newusers.c:485
#, c-format
msgid "%s: line %d: invalid line\n"
msgstr ""
-#: src/newusers.c:453
+#: src/newusers.c:503
#, c-format
msgid "%s: line %d: can't create GID\n"
msgstr ""
-#: src/newusers.c:469
+#: src/newusers.c:519
#, c-format
msgid "%s: line %d: can't create UID\n"
msgstr ""
-#: src/newusers.c:481
+#: src/newusers.c:531
#, c-format
msgid "%s: line %d: cannot find user %s\n"
msgstr ""
-#: src/newusers.c:489
+#: src/newusers.c:539
#, c-format
msgid "%s: line %d: can't update password\n"
msgstr ""
-#: src/newusers.c:506
+#: src/newusers.c:556
#, c-format
msgid "%s: line %d: mkdir failed\n"
msgstr ""
-#: src/newusers.c:510
+#: src/newusers.c:560
#, c-format
msgid "%s: line %d: chown failed\n"
msgstr ""
-#: src/newusers.c:519
+#: src/newusers.c:569
#, c-format
msgid "%s: line %d: can't update entry\n"
msgstr ""
-#: src/newusers.c:550
+#: src/newusers.c:600
#, c-format
msgid "%s: error updating files\n"
msgstr ""
msgid "Entering System Maintenance Mode\n"
msgstr ""
-#: src/useradd.c:243
+#: src/useradd.c:249
#, c-format
msgid "%s: rebuild the group database\n"
msgstr ""
-#: src/useradd.c:250
+#: src/useradd.c:256
#, c-format
msgid "%s: rebuild the shadow group database\n"
msgstr ""
-#: src/useradd.c:287 src/usermod.c:967
+#: src/useradd.c:293 src/usermod.c:973
#, c-format
msgid "%s: invalid numeric argument `%s'\n"
msgstr ""
-#: src/useradd.c:343
+#: src/useradd.c:349
#, c-format
msgid "%s: unknown gid %s\n"
msgstr ""
-#: src/useradd.c:350 src/useradd.c:642 src/useradd.c:1228 src/usermod.c:254
-#: src/usermod.c:1098
+#: src/useradd.c:356 src/useradd.c:648 src/useradd.c:1234 src/usermod.c:260
+#: src/usermod.c:1104
#, c-format
msgid "%s: unknown group %s\n"
msgstr ""
-#: src/useradd.c:418
+#: src/useradd.c:424
#, c-format
msgid "group=%s,%ld basedir=%s skel=%s\n"
msgstr ""
-#: src/useradd.c:421
+#: src/useradd.c:427
#, c-format
msgid "shell=%s "
msgstr ""
-#: src/useradd.c:423
+#: src/useradd.c:429
#, c-format
msgid "inactive=%ld expire=%s"
msgstr ""
-#: src/useradd.c:427
+#: src/useradd.c:433
#, c-format
msgid "GROUP=%ld\n"
msgstr ""
-#: src/useradd.c:428
+#: src/useradd.c:434
#, c-format
msgid "HOME=%s\n"
msgstr ""
-#: src/useradd.c:430
+#: src/useradd.c:436
#, c-format
msgid "INACTIVE=%ld\n"
msgstr ""
-#: src/useradd.c:431
+#: src/useradd.c:437
#, c-format
msgid "EXPIRE=%s\n"
msgstr ""
-#: src/useradd.c:433
+#: src/useradd.c:439
#, c-format
msgid "SHELL=%s\n"
msgstr ""
-#: src/useradd.c:434
+#: src/useradd.c:440
#, c-format
msgid "SKEL=%s\n"
msgstr ""
-#: src/useradd.c:470
+#: src/useradd.c:476
#, c-format
msgid "%s: cannot create new defaults file\n"
msgstr ""
-#: src/useradd.c:564 src/useradd.c:575
+#: src/useradd.c:570 src/useradd.c:581
#, c-format
msgid "%s: rename: %s"
msgstr ""
-#: src/useradd.c:662 src/usermod.c:274
+#: src/useradd.c:668 src/usermod.c:280
#, c-format
msgid "%s: group `%s' is a NIS group.\n"
msgstr ""
-#: src/useradd.c:670 src/usermod.c:282
+#: src/useradd.c:676 src/usermod.c:288
#, c-format
msgid "%s: too many groups specified (max %d).\n"
msgstr ""
-#: src/useradd.c:702 src/usermod.c:314
+#: src/useradd.c:708 src/usermod.c:320
#, c-format
msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
msgstr ""
-#: src/useradd.c:705
+#: src/useradd.c:711
msgid "\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n"
msgstr ""
-#: src/useradd.c:708 src/usermod.c:320
+#: src/useradd.c:714 src/usermod.c:326
msgid "[-f inactive] [-e expire ] "
msgstr ""
-#: src/useradd.c:711
+#: src/useradd.c:717
msgid "[-A program] "
msgstr ""
-#: src/useradd.c:713
+#: src/useradd.c:719
msgid "[-p passwd] name\n"
msgstr ""
-#: src/useradd.c:715
+#: src/useradd.c:721
#, c-format
msgid " %s\t-D [-g group] [-b base] [-s shell]\n"
msgstr ""
-#: src/useradd.c:718
+#: src/useradd.c:724
msgid "\t\t[-f inactive] [-e expire ]\n"
msgstr ""
-#: src/useradd.c:815 src/usermod.c:472
+#: src/useradd.c:821 src/usermod.c:478
#, c-format
msgid "%s: error locking group file\n"
msgstr ""
-#: src/useradd.c:819 src/usermod.c:477
+#: src/useradd.c:825 src/usermod.c:483
#, c-format
msgid "%s: error opening group file\n"
msgstr ""
-#: src/useradd.c:824 src/usermod.c:584
+#: src/useradd.c:830 src/usermod.c:590
#, c-format
msgid "%s: error locking shadow group file\n"
msgstr ""
-#: src/useradd.c:829 src/usermod.c:590
+#: src/useradd.c:835 src/usermod.c:596
#, c-format
msgid "%s: error opening shadow group file\n"
msgstr ""
-#: src/useradd.c:1001
+#: src/useradd.c:1007
#, c-format
msgid "%s: uid %d is not unique\n"
msgstr ""
-#: src/useradd.c:1031
+#: src/useradd.c:1037
#, c-format
msgid "%s: can't get unique uid\n"
msgstr ""
-#: src/useradd.c:1139 src/useradd.c:1283 src/usermod.c:1046 src/usermod.c:1057
-#: src/usermod.c:1067 src/usermod.c:1113 src/usermod.c:1157
+#: src/useradd.c:1145 src/useradd.c:1289 src/usermod.c:1052 src/usermod.c:1063
+#: src/usermod.c:1073 src/usermod.c:1119 src/usermod.c:1163
#, c-format
msgid "%s: invalid field `%s'\n"
msgstr ""
-#: src/useradd.c:1153
+#: src/useradd.c:1159
#, c-format
msgid "%s: invalid base directory `%s'\n"
msgstr ""
-#: src/useradd.c:1163
+#: src/useradd.c:1169
#, c-format
msgid "%s: invalid comment `%s'\n"
msgstr ""
-#: src/useradd.c:1173
+#: src/useradd.c:1179
#, c-format
msgid "%s: invalid home directory `%s'\n"
msgstr ""
-#: src/useradd.c:1191 src/usermod.c:1080
+#: src/useradd.c:1197 src/usermod.c:1086
#, c-format
msgid "%s: invalid date `%s'\n"
msgstr ""
-#: src/useradd.c:1203
+#: src/useradd.c:1209
#, c-format
msgid "%s: shadow passwords required for -e\n"
msgstr ""
-#: src/useradd.c:1218
+#: src/useradd.c:1224
#, c-format
msgid "%s: shadow passwords required for -f\n"
msgstr ""
-#: src/useradd.c:1292
+#: src/useradd.c:1298
#, c-format
msgid "%s: invalid shell `%s'\n"
msgstr ""
-#: src/useradd.c:1333
+#: src/useradd.c:1339
#, c-format
msgid "%s: invalid user name `%s'\n"
msgstr ""
-#: src/useradd.c:1369 src/userdel.c:292 src/usermod.c:1225
+#: src/useradd.c:1375 src/userdel.c:298 src/usermod.c:1231
#, c-format
msgid "%s: cannot rewrite password file\n"
msgstr ""
-#: src/useradd.c:1374 src/userdel.c:295 src/usermod.c:1230
+#: src/useradd.c:1380 src/userdel.c:301 src/usermod.c:1236
#, c-format
msgid "%s: cannot rewrite shadow password file\n"
msgstr ""
-#: src/useradd.c:1414 src/userdel.c:359 src/usermod.c:1265
+#: src/useradd.c:1420 src/userdel.c:365 src/usermod.c:1271
#, c-format
msgid "%s: unable to lock password file\n"
msgstr ""
-#: src/useradd.c:1418 src/userdel.c:363 src/usermod.c:1269
+#: src/useradd.c:1424 src/userdel.c:369 src/usermod.c:1275
#, c-format
msgid "%s: unable to open password file\n"
msgstr ""
-#: src/useradd.c:1424 src/userdel.c:368 src/usermod.c:1274
+#: src/useradd.c:1430 src/userdel.c:374 src/usermod.c:1280
#, c-format
msgid "%s: cannot lock shadow password file\n"
msgstr ""
-#: src/useradd.c:1430 src/userdel.c:373 src/usermod.c:1279
+#: src/useradd.c:1436 src/userdel.c:379 src/usermod.c:1285
#, c-format
msgid "%s: cannot open shadow password file\n"
msgstr ""
-#: src/useradd.c:1529 src/usermod.c:1366
+#: src/useradd.c:1535 src/usermod.c:1372
#, c-format
msgid "%s: error adding authentication method\n"
msgstr ""
-#: src/useradd.c:1552
+#: src/useradd.c:1558
#, c-format
msgid "%s: error adding new password entry\n"
msgstr ""
-#: src/useradd.c:1567
+#: src/useradd.c:1573
#, c-format
msgid "%s: error updating password dbm entry\n"
msgstr ""
-#: src/useradd.c:1583 src/usermod.c:1425
+#: src/useradd.c:1589 src/usermod.c:1431
#, c-format
msgid "%s: error adding new shadow password entry\n"
msgstr ""
-#: src/useradd.c:1599 src/usermod.c:1440
+#: src/useradd.c:1605 src/usermod.c:1446
#, c-format
msgid "%s: error updating shadow passwd dbm entry\n"
msgstr ""
-#: src/useradd.c:1631
+#: src/useradd.c:1637
#, c-format
msgid "%s: cannot create directory %s\n"
msgstr ""
-#: src/useradd.c:1708 src/usermod.c:1203
+#: src/useradd.c:1758 src/usermod.c:1209
#, c-format
msgid "%s: user %s exists\n"
msgstr ""
-#: src/useradd.c:1738
+#: src/useradd.c:1770
+#, c-format
+msgid ""
+"%s: group %s exists - if you want to add this user to that group, use -g.\n"
+msgstr ""
+
+#: src/useradd.c:1801
#, c-format
msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
msgstr ""
-#: src/userdel.c:127
+#: src/userdel.c:133
#, c-format
msgid "usage: %s [-r] name\n"
msgstr ""
-#: src/userdel.c:178 src/userdel.c:260
+#: src/userdel.c:184 src/userdel.c:266
#, c-format
msgid "%s: error updating group entry\n"
msgstr ""
-#: src/userdel.c:188 src/userdel.c:269
+#: src/userdel.c:194 src/userdel.c:275
#, c-format
msgid "%s: cannot update dbm group entry\n"
msgstr ""
-#: src/userdel.c:215
+#: src/userdel.c:221
#, c-format
msgid "%s: cannot remove dbm group entry\n"
msgstr ""
-#: src/userdel.c:300
+#: src/userdel.c:306
#, c-format
msgid "%s: cannot rewrite TCFS key file\n"
msgstr ""
-#: src/userdel.c:380
+#: src/userdel.c:386
#, c-format
msgid "%s: cannot lock TCFS key file\n"
msgstr ""
-#: src/userdel.c:384
+#: src/userdel.c:390
#, c-format
msgid "%s: cannot open TCFS key file\n"
msgstr ""
-#: src/userdel.c:393
+#: src/userdel.c:399
#, c-format
msgid "%s: cannot open group file\n"
msgstr ""
-#: src/userdel.c:403
+#: src/userdel.c:409
#, c-format
msgid "%s: cannot open shadow group file\n"
msgstr ""
-#: src/userdel.c:434 src/userdel.c:449
+#: src/userdel.c:440 src/userdel.c:455
#, c-format
msgid "%s: error deleting authentication\n"
msgstr ""
-#: src/userdel.c:458
+#: src/userdel.c:464
#, c-format
msgid "%s: error deleting password entry\n"
msgstr ""
-#: src/userdel.c:461
+#: src/userdel.c:467
#, c-format
msgid "%s: error deleting shadow password entry\n"
msgstr ""
-#: src/userdel.c:470
+#: src/userdel.c:476
#, c-format
msgid "%s: error deleting TCFS entry\n"
msgstr ""
-#: src/userdel.c:483
+#: src/userdel.c:489
#, c-format
msgid "%s: error deleting password dbm entry\n"
msgstr ""
-#: src/userdel.c:502
+#: src/userdel.c:508
#, c-format
msgid "%s: error deleting shadow passwd dbm entry\n"
msgstr ""
-#: src/userdel.c:543
+#: src/userdel.c:549
#, c-format
msgid "%s: user %s is currently logged in\n"
msgstr ""
-#: src/userdel.c:660
+#: src/userdel.c:666
#, c-format
msgid "%s: warning: %s not owned by %s, not removing\n"
msgstr ""
-#: src/userdel.c:666
+#: src/userdel.c:672
#, c-format
msgid "%s: warning: can't remove "
msgstr ""
-#: src/userdel.c:741 src/usermod.c:994
+#: src/userdel.c:791 src/usermod.c:1000
#, c-format
msgid "%s: user %s does not exist\n"
msgstr ""
-#: src/userdel.c:755 src/usermod.c:1010
+#: src/userdel.c:805 src/usermod.c:1016
#, c-format
msgid "%s: user %s is a NIS user\n"
msgstr ""
-#: src/userdel.c:792
+#: src/userdel.c:842
#, c-format
msgid "%s: %s not owned by %s, not removing\n"
msgstr ""
-#: src/userdel.c:815
+#: src/userdel.c:865
#, c-format
msgid "%s: not removing directory %s (would remove home of user %s)\n"
msgstr ""
-#: src/userdel.c:828
+#: src/userdel.c:878
#, c-format
msgid "%s: error removing directory %s\n"
msgstr ""
-#: src/usermod.c:317
+#: src/usermod.c:323
msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
msgstr ""
-#: src/usermod.c:323
+#: src/usermod.c:329
msgid "[-A {DEFAULT|program},... ] "
msgstr ""
-#: src/usermod.c:325
+#: src/usermod.c:331
msgid "[-p passwd] [-L|-U] name\n"
msgstr ""
-#: src/usermod.c:504
+#: src/usermod.c:510
#, c-format
msgid "%s: out of memory in update_group\n"
msgstr ""
-#: src/usermod.c:627
+#: src/usermod.c:633
#, c-format
msgid "%s: out of memory in update_gshadow\n"
msgstr ""
-#: src/usermod.c:1180
+#: src/usermod.c:1186
#, c-format
msgid "%s: no flags given\n"
msgstr ""
-#: src/usermod.c:1187
+#: src/usermod.c:1193
#, c-format
msgid "%s: shadow passwords required for -e and -f\n"
msgstr ""
-#: src/usermod.c:1208
+#: src/usermod.c:1214
#, c-format
msgid "%s: uid %ld is not unique\n"
msgstr ""
-#: src/usermod.c:1356
+#: src/usermod.c:1362
#, c-format
msgid "%s: error deleting authentication method\n"
msgstr ""
-#: src/usermod.c:1376
+#: src/usermod.c:1382
#, c-format
msgid "%s: error changing authentication method\n"
msgstr ""
-#: src/usermod.c:1393
+#: src/usermod.c:1399
#, c-format
msgid "%s: error changing password entry\n"
msgstr ""
-#: src/usermod.c:1399
+#: src/usermod.c:1405
#, c-format
msgid "%s: error removing password entry\n"
msgstr ""
-#: src/usermod.c:1407
+#: src/usermod.c:1413
#, c-format
msgid "%s: error adding password dbm entry\n"
msgstr ""
-#: src/usermod.c:1414
+#: src/usermod.c:1420
#, c-format
msgid "%s: error removing passwd dbm entry\n"
msgstr ""
-#: src/usermod.c:1431
+#: src/usermod.c:1437
#, c-format
msgid "%s: error removing shadow password entry\n"
msgstr ""
-#: src/usermod.c:1446
+#: src/usermod.c:1452
#, c-format
msgid "%s: error removing shadow passwd dbm entry\n"
msgstr ""
-#: src/usermod.c:1477
+#: src/usermod.c:1483
#, c-format
msgid "%s: directory %s exists\n"
msgstr ""
-#: src/usermod.c:1484
+#: src/usermod.c:1490
#, c-format
msgid "%s: can't create %s\n"
msgstr ""
-#: src/usermod.c:1490
+#: src/usermod.c:1496
#, c-format
msgid "%s: can't chown %s\n"
msgstr ""
-#: src/usermod.c:1506
+#: src/usermod.c:1512
#, c-format
msgid "%s: cannot rename directory %s to %s\n"
msgstr ""
#. better leave it alone
-#: src/usermod.c:1603
+#: src/usermod.c:1609
#, c-format
msgid "%s: warning: %s not owned by %s\n"
msgstr ""
-#: src/usermod.c:1609
+#: src/usermod.c:1615
msgid "failed to change mailbox owner"
msgstr ""
-#: src/usermod.c:1616
+#: src/usermod.c:1622
msgid "failed to rename mailbox"
msgstr ""
msgid ""
msgstr ""
"Project-Id-Version: shadow 19990709\n"
-"POT-Creation-Date: 2000-09-02 20:40+0200\n"
+"POT-Creation-Date: 2000-10-12 06:20+0200\n"
"PO-Revision-Date: 1999-08-16 21:20+0100\n"
"Last-Translator: Kristoffer Brånemyr <ztion@swipnet.se>\n"
"Language-Team: sv <sv@li.org>\n"
msgid "Unknown error %d"
msgstr "Okänt fel %d"
-#: src/chage.c:156
+#: src/chage.c:162
#, c-format
msgid ""
"Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -W warn ]\n"
"Användning: %s [ -l ] [ -m min_dagar ] [ -M max_dagar ] [ -W varna ]\n"
" [ -I inaktiv ] [ -E utgång ] [ -d senaste_dag ] användare\n"
-#: src/chage.c:158
+#: src/chage.c:164
#, c-format
msgid "Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -d last_day ] user\n"
msgstr ""
"Användning: %s [ -l ] [ -m min_dagar ] [ -M max_dagar ] [ -d senaste_dag ] "
"användare\n"
-#: src/chage.c:193
+#: src/chage.c:199
msgid ""
"Enter the new value, or press return for the default\n"
"\n"
"Skriv in det nya värdet, eller tryck på return för standardvärdet\n"
"\n"
-#: src/chage.c:196
+#: src/chage.c:202
msgid "Minimum Password Age"
msgstr "Minsta lösenordsålder"
-#: src/chage.c:201
+#: src/chage.c:207
msgid "Maximum Password Age"
msgstr "Högsta lösenordsålder"
-#: src/chage.c:207
+#: src/chage.c:213
msgid "Last Password Change (YYYY-MM-DD)"
msgstr "Senaste lösenordsändring (ÅÅÅÅ-MM-DD)"
-#: src/chage.c:216
+#: src/chage.c:222
msgid "Password Expiration Warning"
msgstr "Lösenords upphörningsvarning"
-#: src/chage.c:221
+#: src/chage.c:227
msgid "Password Inactive"
msgstr "Lösenord inaktivt"
-#: src/chage.c:227
+#: src/chage.c:233
msgid "Account Expiration Date (YYYY-MM-DD)"
msgstr "Kontot upphör (ÅÅÅÅ-MM-DD)"
#. * days after the password expires that the account becomes
#. * unusable.
#.
-#: src/chage.c:281
+#: src/chage.c:287
#, c-format
msgid "Minimum:\t%ld\n"
msgstr "Minst:\t%ld\n"
-#: src/chage.c:282
+#: src/chage.c:288
#, c-format
msgid "Maximum:\t%ld\n"
msgstr "Högst:\t%ld\n"
-#: src/chage.c:284
+#: src/chage.c:290
#, c-format
msgid "Warning:\t%ld\n"
msgstr "Varning:\t%ld\n"
-#: src/chage.c:285
+#: src/chage.c:291
#, c-format
msgid "Inactive:\t%ld\n"
msgstr "Inaktivt:\t%ld\n"
#. * password was last modified. The date is the number of
#. * days since 1/1/1970.
#.
-#: src/chage.c:294
+#: src/chage.c:300
msgid "Last Change:\t\t"
msgstr "Senaste ändring:\t\t"
-#: src/chage.c:296 src/chage.c:310 src/chage.c:327 src/chage.c:340
+#: src/chage.c:302 src/chage.c:316 src/chage.c:333 src/chage.c:346
msgid "Never\n"
msgstr "Aldrig\n"
#. * change date plus the number of days the password is valid
#. * for.
#.
-#: src/chage.c:308
+#: src/chage.c:314
msgid "Password Expires:\t"
msgstr "Lösenordet upphör:\t"
#. * and the number of inactive days is added. The resulting date
#. * is when the active will be disabled.
#.
-#: src/chage.c:324
+#: src/chage.c:330
#, fuzzy
msgid "Password Inactive:\t"
msgstr "Lösenord inaktivt"
#. * The account will expire on the given date regardless of the
#. * password expiring or not.
#.
-#: src/chage.c:338
+#: src/chage.c:344
#, fuzzy
msgid "Account Expires:\t"
msgstr "Lösenordet upphör:\t"
-#: src/chage.c:486
+#: src/chage.c:453 src/chpasswd.c:152 src/groupadd.c:536 src/groupdel.c:322
+#: src/groupmod.c:522 src/newusers.c:389 src/useradd.c:1707 src/userdel.c:738
+#: src/usermod.c:1684
+#, fuzzy, c-format
+msgid "%s: PAM authentication failed\n"
+msgstr "%s: fel under tillägning av metod för äkthetsbevisning\n"
+
+#: src/chage.c:536
#, c-format
msgid "%s: do not include \"l\" with other flags\n"
msgstr "%s: inkludera inte \"l\" tillsammands med andra flaggor\n"
-#: src/chage.c:498 src/chage.c:610 src/login.c:529
+#: src/chage.c:548 src/chage.c:660 src/login.c:529
#, c-format
msgid "%s: permission denied\n"
msgstr "%s: tillåtelse nekas\n"
-#: src/chage.c:510 src/chpasswd.c:120
+#: src/chage.c:560 src/chpasswd.c:170
#, c-format
msgid "%s: can't lock password file\n"
msgstr "%s: kan inte låsa lösenordsfilen\n"
-#: src/chage.c:516 src/chpasswd.c:124
+#: src/chage.c:566 src/chpasswd.c:174
#, c-format
msgid "%s: can't open password file\n"
msgstr "%s: kan inte öppna lösenordsfilen\n"
-#: src/chage.c:523
+#: src/chage.c:573
#, c-format
msgid "%s: unknown user: %s\n"
msgstr "%s: okänd användare: %s\n"
-#: src/chage.c:542
+#: src/chage.c:592
#, c-format
msgid "%s: can't lock shadow password file\n"
msgstr "%s: kan inte låsa skugglösenordsfilen\n"
-#: src/chage.c:549
+#: src/chage.c:599
#, c-format
msgid "%s: can't open shadow password file\n"
msgstr "%s: kan inte öppna skugglösenordsfilen\n"
-#: src/chage.c:631
+#: src/chage.c:681
#, c-format
msgid "Changing the aging information for %s\n"
msgstr "Ändrar åldringsinformation för %s\n"
-#: src/chage.c:633
+#: src/chage.c:683
#, c-format
msgid "%s: error changing fields\n"
msgstr "%s: fel uppstod under byte av fält\n"
-#: src/chage.c:660 src/chage.c:723 src/pwunconv.c:183
+#: src/chage.c:710 src/chage.c:773 src/pwunconv.c:183
#, c-format
msgid "%s: can't update password file\n"
msgstr "%s: kan inte uppdatera lösenordsfilen\n"
-#: src/chage.c:690 src/pwunconv.c:178
+#: src/chage.c:740 src/pwunconv.c:178
#, c-format
msgid "%s: can't update shadow password file\n"
msgstr "%s: kan inte uppdatera skugglösenordsfilen\n"
-#: src/chage.c:739 src/chage.c:754 src/chfn.c:570 src/chsh.c:409
+#: src/chage.c:789 src/chage.c:804 src/chfn.c:570 src/chsh.c:409
#: src/passwd.c:825 src/passwd.c:926
msgid "Error updating the DBM password entry.\n"
msgstr "Fel under uppdatering av DBM-lösenordsnoteringen.\n"
-#: src/chage.c:771
+#: src/chage.c:821
#, c-format
msgid "%s: can't rewrite shadow password file\n"
msgstr "%s: kan inte skriva om skugglösenordsfilen\n"
-#: src/chage.c:785
+#: src/chage.c:835
#, c-format
msgid "%s: can't rewrite password file\n"
msgstr "%s: kan inte skriva om lösenordsfilen\n"
-#: src/chage.c:836
+#: src/chage.c:853 src/chpasswd.c:346 src/groupadd.c:595 src/groupdel.c:409
+#: src/groupmod.c:606 src/newusers.c:625 src/useradd.c:1816 src/userdel.c:903
+#: src/usermod.c:1762
+#, fuzzy, c-format
+msgid "%s: PAM chauthtok failed\n"
+msgstr "%s: kan inte låsa upp filen\n"
+
+#: src/chage.c:905
#, c-format
msgid "%s: no aging information present\n"
msgstr "%s: ingen åldringsinformation finns tillgänglig\n"
msgid "Cannot open the password file.\n"
msgstr "Kan inte öppna lösenordsfilen.\n"
-#: src/chfn.c:545 src/chsh.c:382 src/passwd.c:746 src/usermod.c:1313
+#: src/chfn.c:545 src/chsh.c:382 src/passwd.c:746 src/usermod.c:1319
#, c-format
msgid "%s: %s not found in /etc/passwd\n"
msgstr "%s: %s hittades inte i /etc/passwd\n"
msgid "Cannot unlock the password file.\n"
msgstr "Kan inte låsa upp lösenordsfilen.\n"
-#: src/chpasswd.c:76
+#: src/chpasswd.c:82
#, c-format
msgid "usage: %s [-e]\n"
msgstr "Användning: %s [-e]\n"
-#: src/chpasswd.c:132 src/pwconv.c:104
+#: src/chpasswd.c:182 src/pwconv.c:104
#, c-format
msgid "%s: can't lock shadow file\n"
msgstr "%s: kan inte låsa skuggfilen\n"
-#: src/chpasswd.c:137 src/gpasswd.c:608 src/pwconv.c:109 src/pwunconv.c:118
+#: src/chpasswd.c:187 src/gpasswd.c:608 src/pwconv.c:109 src/pwunconv.c:118
#: src/pwunconv.c:123
#, c-format
msgid "%s: can't open shadow file\n"
msgstr "%s: kan inte öppna skuggfilen\n"
-#: src/chpasswd.c:159 src/newusers.c:415
+#: src/chpasswd.c:209 src/newusers.c:465
#, c-format
msgid "%s: line %d: line too long\n"
msgstr "%s: rad %d: för lång rad\n"
-#: src/chpasswd.c:179
+#: src/chpasswd.c:229
#, c-format
msgid "%s: line %d: missing new password\n"
msgstr "%s: rad %d: det nya lösenordet saknas\n"
-#: src/chpasswd.c:195
+#: src/chpasswd.c:245
#, c-format
msgid "%s: line %d: unknown user %s\n"
msgstr "%s: rad %d: okänd användare %s\n"
-#: src/chpasswd.c:247
+#: src/chpasswd.c:297
#, c-format
msgid "%s: line %d: cannot update password entry\n"
msgstr "%s: rad %d: kan inte uppdatera lösenordsnoteringen\n"
-#: src/chpasswd.c:263 src/newusers.c:535
+#: src/chpasswd.c:313 src/newusers.c:585
#, c-format
msgid "%s: error detected, changes ignored\n"
msgstr "%s: fel upptäcktes, ändringarna ignorerades\n"
-#: src/chpasswd.c:274
+#: src/chpasswd.c:324
#, c-format
msgid "%s: error updating shadow file\n"
msgstr "%s: fel under uppdatering av skuggfilen\n"
-#: src/chpasswd.c:282
+#: src/chpasswd.c:332
#, c-format
msgid "%s: error updating password file\n"
msgstr "%s: fel under uppdatering av lösenordsfilen\n"
msgid "%s: can't update DBM shadow files\n"
msgstr "%s: kan inte uppdatera DBM-skuggfiler\n"
-#: src/groupadd.c:105
+#: src/groupadd.c:111
msgid "usage: groupadd [-g gid [-o]] group\n"
msgstr "Användning: groupadd [-g gid [-o]] grupp\n"
-#: src/groupadd.c:173 src/groupadd.c:196 src/groupmod.c:183 src/groupmod.c:230
-#: src/useradd.c:931 src/usermod.c:539 src/usermod.c:675
+#: src/groupadd.c:179 src/groupadd.c:202 src/groupmod.c:189 src/groupmod.c:236
+#: src/useradd.c:937 src/usermod.c:545 src/usermod.c:681
#, c-format
msgid "%s: error adding new group entry\n"
msgstr "%s: gick inte att lägga till en ny gruppnotering\n"
-#: src/groupadd.c:183 src/groupadd.c:206 src/groupmod.c:199 src/useradd.c:942
-#: src/usermod.c:551 src/usermod.c:687
+#: src/groupadd.c:189 src/groupadd.c:212 src/groupmod.c:205 src/useradd.c:948
+#: src/usermod.c:557 src/usermod.c:693
#, c-format
msgid "%s: cannot add new dbm group entry\n"
msgstr "%s: kan inte lägga till en ny dbm-gruppnotering\n"
-#: src/groupadd.c:258 src/useradd.c:996
+#: src/groupadd.c:264 src/useradd.c:1002
#, c-format
msgid "%s: name %s is not unique\n"
msgstr "%s: namnet %s är inte unikt\n"
-#: src/groupadd.c:273
+#: src/groupadd.c:279
#, c-format
msgid "%s: gid %ld is not unique\n"
msgstr "%s: gid %ld är inte unikt\n"
-#: src/groupadd.c:297
+#: src/groupadd.c:303
#, c-format
msgid "%s: can't get unique gid\n"
msgstr "%s: kan inte hitta ett unikt gid\n"
#.
#. * All invalid group names land here.
#.
-#: src/groupadd.c:321 src/groupmod.c:341
+#: src/groupadd.c:327 src/groupmod.c:347
#, c-format
msgid "%s: %s is a not a valid group name\n"
msgstr "%s: %s är inte ett giltigt gruppnamn\n"
-#: src/groupadd.c:350 src/groupmod.c:367
+#: src/groupadd.c:356 src/groupmod.c:373
#, c-format
msgid "%s: invalid group %s\n"
msgstr "%s: ogiltig grupp %s\n"
-#: src/groupadd.c:367 src/useradd.c:1272
+#: src/groupadd.c:373 src/useradd.c:1278
#, c-format
msgid "%s: -O requires NAME=VALUE\n"
msgstr "%s: -O kräver NAME=VÄRDE\n"
-#: src/groupadd.c:412 src/groupdel.c:167 src/groupmod.c:403 src/useradd.c:1381
-#: src/userdel.c:303 src/usermod.c:563
+#: src/groupadd.c:418 src/groupdel.c:173 src/groupmod.c:409 src/useradd.c:1387
+#: src/userdel.c:309 src/usermod.c:569
#, c-format
msgid "%s: cannot rewrite group file\n"
msgstr "%s: kan inte skriva om gruppfilen\n"
-#: src/groupadd.c:418 src/groupdel.c:173 src/groupmod.c:409 src/useradd.c:1389
-#: src/userdel.c:309 src/usermod.c:700
+#: src/groupadd.c:424 src/groupdel.c:179 src/groupmod.c:415 src/useradd.c:1395
+#: src/userdel.c:315 src/usermod.c:706
#, c-format
msgid "%s: cannot rewrite shadow group file\n"
msgstr "%s: kan inte skriva om skuggruppfilen\n"
-#: src/groupadd.c:437 src/groupdel.c:192 src/groupmod.c:428 src/userdel.c:389
+#: src/groupadd.c:443 src/groupdel.c:198 src/groupmod.c:434 src/userdel.c:395
#, c-format
msgid "%s: unable to lock group file\n"
msgstr "%s: kan inte låsa gruppfilen\n"
-#: src/groupadd.c:441 src/groupdel.c:196 src/groupmod.c:432
+#: src/groupadd.c:447 src/groupdel.c:202 src/groupmod.c:438
#, c-format
msgid "%s: unable to open group file\n"
msgstr "%s: kan inte öppna gruppfilen\n"
-#: src/groupadd.c:446 src/groupdel.c:201 src/groupmod.c:437 src/userdel.c:398
+#: src/groupadd.c:452 src/groupdel.c:207 src/groupmod.c:443 src/userdel.c:404
#, c-format
msgid "%s: unable to lock shadow group file\n"
msgstr "%s: kan inte låsa skuggruppfilen\n"
-#: src/groupadd.c:451 src/groupdel.c:206 src/groupmod.c:442
+#: src/groupadd.c:457 src/groupdel.c:212 src/groupmod.c:448
#, c-format
msgid "%s: unable to open shadow group file\n"
msgstr "%s: kan inte öppna skuggruppfilen\n"
-#: src/groupadd.c:518
+#: src/groupadd.c:568
#, c-format
msgid "%s: group %s exists\n"
msgstr "%s: grupp %s existerar\n"
-#: src/groupdel.c:86
+#: src/groupdel.c:92
msgid "usage: groupdel group\n"
msgstr "Användning: groupdel grupp\n"
-#: src/groupdel.c:104 src/groupmod.c:187 src/groupmod.c:234
+#: src/groupdel.c:110 src/groupmod.c:193 src/groupmod.c:240
#, c-format
msgid "%s: error removing group entry\n"
msgstr "%s: fel under borttagning av gruppnotering\n"
-#: src/groupdel.c:116 src/groupmod.c:206
+#: src/groupdel.c:122 src/groupmod.c:212
#, c-format
msgid "%s: error removing group dbm entry\n"
msgstr "%s: fel under borttagning av dbm-gruppnotering\n"
-#: src/groupdel.c:131
+#: src/groupdel.c:137
#, c-format
msgid "%s: error removing shadow group entry\n"
msgstr "%s: fel under borttagning av skuggruppnotering\n"
-#: src/groupdel.c:144 src/groupmod.c:252
+#: src/groupdel.c:150 src/groupmod.c:258
#, c-format
msgid "%s: error removing shadow group dbm entry\n"
msgstr "%s: fel under borttagning av dbm-skuggruppnotering\n"
#.
#. * Can't remove the group.
#.
-#: src/groupdel.c:248
+#: src/groupdel.c:254
#, c-format
msgid "%s: cannot remove user's primary group.\n"
msgstr "%s: kan inte ta bort användarens primära grupp.\n"
-#: src/groupdel.c:305 src/groupmod.c:501
+#: src/groupdel.c:355 src/groupmod.c:551
#, c-format
msgid "%s: group %s does not exist\n"
msgstr "%s: grupp %s existerar inte\n"
-#: src/groupdel.c:319 src/groupmod.c:517
+#: src/groupdel.c:369 src/groupmod.c:567
#, c-format
msgid "%s: group %s is a NIS group\n"
msgstr "%s: grupp %s är en NIS-grupp\n"
-#: src/groupdel.c:325 src/groupmod.c:523 src/userdel.c:761 src/usermod.c:1016
+#: src/groupdel.c:375 src/groupmod.c:573 src/userdel.c:811 src/usermod.c:1022
#, c-format
msgid "%s: %s is the NIS master\n"
msgstr "%s: %s är NIS-mästeren\n"
-#: src/groupmod.c:105
+#: src/groupmod.c:111
msgid "usage: groupmod [-g gid [-o]] [-n name] group\n"
msgstr "Användning: groupmod [-g gid [-o]] [-n namn] grupp\n"
-#: src/groupmod.c:165
+#: src/groupmod.c:171
#, c-format
msgid "%s: %s not found in /etc/group\n"
msgstr "%s: %s hittades inte i /etc/group\n"
-#: src/groupmod.c:246
+#: src/groupmod.c:252
#, c-format
msgid "%s: cannot add new dbm shadow group entry\n"
msgstr "%s: kunde inte lägga till en ny dbm-skuggruppnotering\n"
-#: src/groupmod.c:299
+#: src/groupmod.c:305
#, c-format
msgid "%s: %ld is not a unique gid\n"
msgstr "%s: %ld är inte ett unikt gid\n"
-#: src/groupmod.c:330
+#: src/groupmod.c:336
#, c-format
msgid "%s: %s is not a unique name\n"
msgstr "%s: %s är inte ett unikt namn\n"
msgid "too many groups\n"
msgstr "för många grupper\n"
-#: src/newusers.c:76
+#: src/newusers.c:82
#, c-format
msgid "Usage: %s [ input ]\n"
msgstr "Användning: %s [ indata ]\n"
-#: src/newusers.c:364
+#: src/newusers.c:414
#, c-format
msgid "%s: can't lock /etc/passwd.\n"
msgstr "%s: kan inte låsa /etc/passwd.\n"
-#: src/newusers.c:375
+#: src/newusers.c:425
#, c-format
msgid "%s: can't lock files, try again later\n"
msgstr "%s: kan inte låsa filerna, försök igen senare\n"
-#: src/newusers.c:390
+#: src/newusers.c:440
#, c-format
msgid "%s: can't open files\n"
msgstr "%s: kan inte öppna filerna\n"
-#: src/newusers.c:435
+#: src/newusers.c:485
#, c-format
msgid "%s: line %d: invalid line\n"
msgstr "%s: rad %d: ogiltig rad\n"
-#: src/newusers.c:453
+#: src/newusers.c:503
#, c-format
msgid "%s: line %d: can't create GID\n"
msgstr "%s: rad %d: kan inte skapa GID\n"
-#: src/newusers.c:469
+#: src/newusers.c:519
#, c-format
msgid "%s: line %d: can't create UID\n"
msgstr "%s: rad %d: kan inte skapa UID\n"
-#: src/newusers.c:481
+#: src/newusers.c:531
#, c-format
msgid "%s: line %d: cannot find user %s\n"
msgstr "%s: rad %d: kan inte hitta användaren %s\n"
-#: src/newusers.c:489
+#: src/newusers.c:539
#, c-format
msgid "%s: line %d: can't update password\n"
msgstr "%s: rad %d: kan inte uppdatera lösenordet\n"
-#: src/newusers.c:506
+#: src/newusers.c:556
#, c-format
msgid "%s: line %d: mkdir failed\n"
msgstr "%s: rad %d: mkdir misslyckades\n"
-#: src/newusers.c:510
+#: src/newusers.c:560
#, c-format
msgid "%s: line %d: chown failed\n"
msgstr "%s: rad %d: chown misslyckades\n"
-#: src/newusers.c:519
+#: src/newusers.c:569
#, c-format
msgid "%s: line %d: can't update entry\n"
msgstr "%s: rad %d: kan inte uppdatera notering\n"
-#: src/newusers.c:550
+#: src/newusers.c:600
#, c-format
msgid "%s: error updating files\n"
msgstr "%s: kunde inte uppdatera filerna\n"
msgid "Entering System Maintenance Mode\n"
msgstr "Går in i systemunderhållsläge\n"
-#: src/useradd.c:243
+#: src/useradd.c:249
#, c-format
msgid "%s: rebuild the group database\n"
msgstr "%s: bygg om gruppdatabasen\n"
-#: src/useradd.c:250
+#: src/useradd.c:256
#, c-format
msgid "%s: rebuild the shadow group database\n"
msgstr "%s: bygg om skuggruppdatabasen\n"
-#: src/useradd.c:287 src/usermod.c:967
+#: src/useradd.c:293 src/usermod.c:973
#, c-format
msgid "%s: invalid numeric argument `%s'\n"
msgstr "%s: ogiltigt numeriskt argument \"%s\"\n"
-#: src/useradd.c:343
+#: src/useradd.c:349
#, c-format
msgid "%s: unknown gid %s\n"
msgstr "%s: okänt gid %s\n"
-#: src/useradd.c:350 src/useradd.c:642 src/useradd.c:1228 src/usermod.c:254
-#: src/usermod.c:1098
+#: src/useradd.c:356 src/useradd.c:648 src/useradd.c:1234 src/usermod.c:260
+#: src/usermod.c:1104
#, c-format
msgid "%s: unknown group %s\n"
msgstr "%s: okänd grupp %s\n"
-#: src/useradd.c:418
+#: src/useradd.c:424
#, c-format
msgid "group=%s,%ld basedir=%s skel=%s\n"
msgstr "grupp=%s,%ld baskatalog=%s skel=%s\n"
-#: src/useradd.c:421
+#: src/useradd.c:427
#, c-format
msgid "shell=%s "
msgstr "skal=%s "
-#: src/useradd.c:423
+#: src/useradd.c:429
#, c-format
msgid "inactive=%ld expire=%s"
msgstr "inaktiv=%ld upphör=%s"
-#: src/useradd.c:427
+#: src/useradd.c:433
#, c-format
msgid "GROUP=%ld\n"
msgstr "GRUPP=%ld\n"
-#: src/useradd.c:428
+#: src/useradd.c:434
#, c-format
msgid "HOME=%s\n"
msgstr "HEM=%s\n"
-#: src/useradd.c:430
+#: src/useradd.c:436
#, c-format
msgid "INACTIVE=%ld\n"
msgstr "INAKTIV=%ld\n"
-#: src/useradd.c:431
+#: src/useradd.c:437
#, c-format
msgid "EXPIRE=%s\n"
msgstr "UPPHÖR=%s\n"
-#: src/useradd.c:433
+#: src/useradd.c:439
#, c-format
msgid "SHELL=%s\n"
msgstr "SKAL=%s\n"
-#: src/useradd.c:434
+#: src/useradd.c:440
#, c-format
msgid "SKEL=%s\n"
msgstr "SKEL=%s\n"
-#: src/useradd.c:470
+#: src/useradd.c:476
#, c-format
msgid "%s: cannot create new defaults file\n"
msgstr "%s: kan inte skapa en ny standardfil\n"
-#: src/useradd.c:564 src/useradd.c:575
+#: src/useradd.c:570 src/useradd.c:581
#, c-format
msgid "%s: rename: %s"
msgstr "%s: rename: %s"
-#: src/useradd.c:662 src/usermod.c:274
+#: src/useradd.c:668 src/usermod.c:280
#, c-format
msgid "%s: group `%s' is a NIS group.\n"
msgstr "%s: grupp \"%s\" är en NIS-grupp.\n"
-#: src/useradd.c:670 src/usermod.c:282
+#: src/useradd.c:676 src/usermod.c:288
#, c-format
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: för många grupper speciferade (max %d).\n"
-#: src/useradd.c:702 src/usermod.c:314
+#: src/useradd.c:708 src/usermod.c:320
#, c-format
msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
msgstr "Användning: %s\t[-u uid [-o]] [-g grupp] [-G grupp,...] \n"
-#: src/useradd.c:705
+#: src/useradd.c:711
msgid "\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n"
msgstr "\t\t[-d hem] [-s skal] [-c kommentar] [-m [-k mall]]\n"
-#: src/useradd.c:708 src/usermod.c:320
+#: src/useradd.c:714 src/usermod.c:326
msgid "[-f inactive] [-e expire ] "
msgstr "[-f inaktiv] [-e upphör ] "
-#: src/useradd.c:711
+#: src/useradd.c:717
msgid "[-A program] "
msgstr "[-A program] "
-#: src/useradd.c:713
+#: src/useradd.c:719
msgid "[-p passwd] name\n"
msgstr "[-p passwd] namn\n"
-#: src/useradd.c:715
+#: src/useradd.c:721
#, c-format
msgid " %s\t-D [-g group] [-b base] [-s shell]\n"
msgstr " %s\t-D [-g grupp] [-b bas] [-s skal]\n"
-#: src/useradd.c:718
+#: src/useradd.c:724
msgid "\t\t[-f inactive] [-e expire ]\n"
msgstr "\t\t[-f inaktiv] [-e utgång ]\n"
-#: src/useradd.c:815 src/usermod.c:472
+#: src/useradd.c:821 src/usermod.c:478
#, c-format
msgid "%s: error locking group file\n"
msgstr "%s: fel under låsning av gruppfilen\n"
-#: src/useradd.c:819 src/usermod.c:477
+#: src/useradd.c:825 src/usermod.c:483
#, c-format
msgid "%s: error opening group file\n"
msgstr "%s: fel under öppning av gruppfilen\n"
-#: src/useradd.c:824 src/usermod.c:584
+#: src/useradd.c:830 src/usermod.c:590
#, c-format
msgid "%s: error locking shadow group file\n"
msgstr "%s: fel under låsning av skuggruppfilen\n"
-#: src/useradd.c:829 src/usermod.c:590
+#: src/useradd.c:835 src/usermod.c:596
#, c-format
msgid "%s: error opening shadow group file\n"
msgstr "%s: fel under öppning av skuggruppfilen\n"
-#: src/useradd.c:1001
+#: src/useradd.c:1007
#, c-format
msgid "%s: uid %d is not unique\n"
msgstr "%s: uid %d är inte unikt\n"
-#: src/useradd.c:1031
+#: src/useradd.c:1037
#, c-format
msgid "%s: can't get unique uid\n"
msgstr "%s: kan inte hitta ett unikt uid\n"
-#: src/useradd.c:1139 src/useradd.c:1283 src/usermod.c:1046 src/usermod.c:1057
-#: src/usermod.c:1067 src/usermod.c:1113 src/usermod.c:1157
+#: src/useradd.c:1145 src/useradd.c:1289 src/usermod.c:1052 src/usermod.c:1063
+#: src/usermod.c:1073 src/usermod.c:1119 src/usermod.c:1163
#, c-format
msgid "%s: invalid field `%s'\n"
msgstr "%s: felaktigt fält \"%s\"\n"
-#: src/useradd.c:1153
+#: src/useradd.c:1159
#, c-format
msgid "%s: invalid base directory `%s'\n"
msgstr "%s: felaktig baskatalog \"%s\"\n"
-#: src/useradd.c:1163
+#: src/useradd.c:1169
#, c-format
msgid "%s: invalid comment `%s'\n"
msgstr "%s: felaktig kommentar \"%s\"\n"
-#: src/useradd.c:1173
+#: src/useradd.c:1179
#, c-format
msgid "%s: invalid home directory `%s'\n"
msgstr "%s: felaktig hemkatalog \"%s\"\n"
-#: src/useradd.c:1191 src/usermod.c:1080
+#: src/useradd.c:1197 src/usermod.c:1086
#, c-format
msgid "%s: invalid date `%s'\n"
msgstr "%s: felaktigt datum \"%s\"\n"
-#: src/useradd.c:1203
+#: src/useradd.c:1209
#, c-format
msgid "%s: shadow passwords required for -e\n"
msgstr "%s: skugglösenord krävs för -e\n"
-#: src/useradd.c:1218
+#: src/useradd.c:1224
#, c-format
msgid "%s: shadow passwords required for -f\n"
msgstr "%s: skugglösenord krävs för -f\n"
-#: src/useradd.c:1292
+#: src/useradd.c:1298
#, c-format
msgid "%s: invalid shell `%s'\n"
msgstr "%s: felaktigt skal \"%s\"\n"
-#: src/useradd.c:1333
+#: src/useradd.c:1339
#, c-format
msgid "%s: invalid user name `%s'\n"
msgstr "%s: felaktigt användar namn \"%s\"\n"
-#: src/useradd.c:1369 src/userdel.c:292 src/usermod.c:1225
+#: src/useradd.c:1375 src/userdel.c:298 src/usermod.c:1231
#, c-format
msgid "%s: cannot rewrite password file\n"
msgstr "%s: kan inte skriva om lösenordsfilen\n"
-#: src/useradd.c:1374 src/userdel.c:295 src/usermod.c:1230
+#: src/useradd.c:1380 src/userdel.c:301 src/usermod.c:1236
#, c-format
msgid "%s: cannot rewrite shadow password file\n"
msgstr "%s: kan inte skriva om skugglösenordsfilen\n"
-#: src/useradd.c:1414 src/userdel.c:359 src/usermod.c:1265
+#: src/useradd.c:1420 src/userdel.c:365 src/usermod.c:1271
#, c-format
msgid "%s: unable to lock password file\n"
msgstr "%s: kan inte låsa lösenordsfilen\n"
-#: src/useradd.c:1418 src/userdel.c:363 src/usermod.c:1269
+#: src/useradd.c:1424 src/userdel.c:369 src/usermod.c:1275
#, c-format
msgid "%s: unable to open password file\n"
msgstr "%s: kan inte öppna lösenordsfilen\n"
-#: src/useradd.c:1424 src/userdel.c:368 src/usermod.c:1274
+#: src/useradd.c:1430 src/userdel.c:374 src/usermod.c:1280
#, c-format
msgid "%s: cannot lock shadow password file\n"
msgstr "%s: kan inte låsa skugglösenordsfilen\n"
-#: src/useradd.c:1430 src/userdel.c:373 src/usermod.c:1279
+#: src/useradd.c:1436 src/userdel.c:379 src/usermod.c:1285
#, c-format
msgid "%s: cannot open shadow password file\n"
msgstr "%s: kan inte öppna skugglösenordsfilen\n"
-#: src/useradd.c:1529 src/usermod.c:1366
+#: src/useradd.c:1535 src/usermod.c:1372
#, c-format
msgid "%s: error adding authentication method\n"
msgstr "%s: fel under tillägning av metod för äkthetsbevisning\n"
-#: src/useradd.c:1552
+#: src/useradd.c:1558
#, c-format
msgid "%s: error adding new password entry\n"
msgstr "%s: fel under tilläggning av ny lösenordsnotering\n"
-#: src/useradd.c:1567
+#: src/useradd.c:1573
#, c-format
msgid "%s: error updating password dbm entry\n"
msgstr "%s: fel under uppdatering av dbm-lösenordsnotering\n"
-#: src/useradd.c:1583 src/usermod.c:1425
+#: src/useradd.c:1589 src/usermod.c:1431
#, c-format
msgid "%s: error adding new shadow password entry\n"
msgstr "%s: fel under tilläggning av ny skugglösenordsnotering\n"
-#: src/useradd.c:1599 src/usermod.c:1440
+#: src/useradd.c:1605 src/usermod.c:1446
#, c-format
msgid "%s: error updating shadow passwd dbm entry\n"
msgstr "%s: fel under uppdatering av dbm-skugglösenordsnotering\n"
-#: src/useradd.c:1631
+#: src/useradd.c:1637
#, c-format
msgid "%s: cannot create directory %s\n"
msgstr "%s: kan inte skapa katalog %s\n"
-#: src/useradd.c:1708 src/usermod.c:1203
+#: src/useradd.c:1758 src/usermod.c:1209
#, c-format
msgid "%s: user %s exists\n"
msgstr "%s: användare %s existerar\n"
-#: src/useradd.c:1738
+#: src/useradd.c:1770
+#, c-format
+msgid ""
+"%s: group %s exists - if you want to add this user to that group, use -g.\n"
+msgstr ""
+
+#: src/useradd.c:1801
#, c-format
msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
msgstr "%s: varning: CREATE_HOME stöds inte, använd -m istället.\n"
-#: src/userdel.c:127
+#: src/userdel.c:133
#, c-format
msgid "usage: %s [-r] name\n"
msgstr "Användning: %s [-r] namn\n"
-#: src/userdel.c:178 src/userdel.c:260
+#: src/userdel.c:184 src/userdel.c:266
#, c-format
msgid "%s: error updating group entry\n"
msgstr "%s: fel under uppdatering av gruppnotering\n"
-#: src/userdel.c:188 src/userdel.c:269
+#: src/userdel.c:194 src/userdel.c:275
#, c-format
msgid "%s: cannot update dbm group entry\n"
msgstr "%s: kan inte uppdatera dbm-gruppnotering\n"
-#: src/userdel.c:215
+#: src/userdel.c:221
#, fuzzy, c-format
msgid "%s: cannot remove dbm group entry\n"
msgstr "%s: kan inte uppdatera dbm-gruppnotering\n"
-#: src/userdel.c:300
+#: src/userdel.c:306
#, c-format
msgid "%s: cannot rewrite TCFS key file\n"
msgstr "%s: kan inte skriva om TCFS-nyckelfilen\n"
-#: src/userdel.c:380
+#: src/userdel.c:386
#, c-format
msgid "%s: cannot lock TCFS key file\n"
msgstr "%s: kan inte låsa TCFS-nyckelfilen\n"
-#: src/userdel.c:384
+#: src/userdel.c:390
#, c-format
msgid "%s: cannot open TCFS key file\n"
msgstr "%s: kan inte öppna TCFS-nyckelfilen\n"
-#: src/userdel.c:393
+#: src/userdel.c:399
#, c-format
msgid "%s: cannot open group file\n"
msgstr "%s: kan inte öppna gruppfilen\n"
-#: src/userdel.c:403
+#: src/userdel.c:409
#, c-format
msgid "%s: cannot open shadow group file\n"
msgstr "%s: kan inte öppna skuggruppfilen\n"
-#: src/userdel.c:434 src/userdel.c:449
+#: src/userdel.c:440 src/userdel.c:455
#, c-format
msgid "%s: error deleting authentication\n"
msgstr "%s: fel under borttagning av metod för äkthetsbevisning\n"
-#: src/userdel.c:458
+#: src/userdel.c:464
#, c-format
msgid "%s: error deleting password entry\n"
msgstr "%s: fel under borttagning av lösenordsnotering\n"
-#: src/userdel.c:461
+#: src/userdel.c:467
#, c-format
msgid "%s: error deleting shadow password entry\n"
msgstr "%s: fel under borttagning av skugglösenordsnotering\n"
-#: src/userdel.c:470
+#: src/userdel.c:476
#, c-format
msgid "%s: error deleting TCFS entry\n"
msgstr "%s: fel under borttagning av TCFS-notering\n"
-#: src/userdel.c:483
+#: src/userdel.c:489
#, c-format
msgid "%s: error deleting password dbm entry\n"
msgstr "%s: fel under borttagning av dbm-lösenordsnotering\n"
-#: src/userdel.c:502
+#: src/userdel.c:508
#, c-format
msgid "%s: error deleting shadow passwd dbm entry\n"
msgstr "%s: fel under borttagning av dbm-skugglösenordsnotering\n"
-#: src/userdel.c:543
+#: src/userdel.c:549
#, c-format
msgid "%s: user %s is currently logged in\n"
msgstr "%s: användare %s är inloggad\n"
-#: src/userdel.c:660
+#: src/userdel.c:666
#, c-format
msgid "%s: warning: %s not owned by %s, not removing\n"
msgstr "%s: varning: %s ägs inte av %s, tar inte bort\n"
-#: src/userdel.c:666
+#: src/userdel.c:672
#, c-format
msgid "%s: warning: can't remove "
msgstr "%s: varning: kan inte ta bort "
-#: src/userdel.c:741 src/usermod.c:994
+#: src/userdel.c:791 src/usermod.c:1000
#, c-format
msgid "%s: user %s does not exist\n"
msgstr "%s: användare %s finns inte\n"
-#: src/userdel.c:755 src/usermod.c:1010
+#: src/userdel.c:805 src/usermod.c:1016
#, c-format
msgid "%s: user %s is a NIS user\n"
msgstr "%s: användare %s är en NIS-användare\n"
-#: src/userdel.c:792
+#: src/userdel.c:842
#, c-format
msgid "%s: %s not owned by %s, not removing\n"
msgstr "%s: %s ägs inte av %s, tar inte bort\n"
-#: src/userdel.c:815
+#: src/userdel.c:865
#, c-format
msgid "%s: not removing directory %s (would remove home of user %s)\n"
msgstr "%s: tar inte bort katalogen %s (skulle ta bort hemkatalogen för %s)\n"
-#: src/userdel.c:828
+#: src/userdel.c:878
#, c-format
msgid "%s: error removing directory %s\n"
msgstr "%s: fel under borttagning av katalogen %s\n"
-#: src/usermod.c:317
+#: src/usermod.c:323
msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
msgstr "\t\t[-d hem [-m]] [-s skal] [-c kommentar] [-l nytt_namn]\n"
-#: src/usermod.c:323
+#: src/usermod.c:329
msgid "[-A {DEFAULT|program},... ] "
msgstr "[-A {DEFAULT|program},... ] "
-#: src/usermod.c:325
+#: src/usermod.c:331
#, fuzzy
msgid "[-p passwd] [-L|-U] name\n"
msgstr "[-p passwd] namn\n"
-#: src/usermod.c:504
+#: src/usermod.c:510
#, c-format
msgid "%s: out of memory in update_group\n"
msgstr "%s: slut på minne i update_group\n"
-#: src/usermod.c:627
+#: src/usermod.c:633
#, c-format
msgid "%s: out of memory in update_gshadow\n"
msgstr "%s: slut på minne i update_gshadow\n"
-#: src/usermod.c:1180
+#: src/usermod.c:1186
#, c-format
msgid "%s: no flags given\n"
msgstr "%s: inga flaggor givna\n"
-#: src/usermod.c:1187
+#: src/usermod.c:1193
#, c-format
msgid "%s: shadow passwords required for -e and -f\n"
msgstr "%s: skugglösenord krävs för -e och -f\n"
-#: src/usermod.c:1208
+#: src/usermod.c:1214
#, c-format
msgid "%s: uid %ld is not unique\n"
msgstr "%s: uid %ld är inte unikt\n"
-#: src/usermod.c:1356
+#: src/usermod.c:1362
#, c-format
msgid "%s: error deleting authentication method\n"
msgstr "%s: fel under borttagning av metod för äkthetsbevisning\n"
-#: src/usermod.c:1376
+#: src/usermod.c:1382
#, c-format
msgid "%s: error changing authentication method\n"
msgstr "%s: fel under ändring av metod för äkthetsbevisning\n"
-#: src/usermod.c:1393
+#: src/usermod.c:1399
#, c-format
msgid "%s: error changing password entry\n"
msgstr "%s: fel under ändring av lösenordsnotering\n"
-#: src/usermod.c:1399
+#: src/usermod.c:1405
#, c-format
msgid "%s: error removing password entry\n"
msgstr "%s: fel under borttagning av lösenordsnotering\n"
-#: src/usermod.c:1407
+#: src/usermod.c:1413
#, c-format
msgid "%s: error adding password dbm entry\n"
msgstr "%s: fel under tilläggning av dbm-lösenordsnotering\n"
-#: src/usermod.c:1414
+#: src/usermod.c:1420
#, c-format
msgid "%s: error removing passwd dbm entry\n"
msgstr "%s: fel under borttagning av dbm-lösenordsnotering\n"
-#: src/usermod.c:1431
+#: src/usermod.c:1437
#, c-format
msgid "%s: error removing shadow password entry\n"
msgstr "%s: fel under borttagning av skugglösenordsnotering\n"
-#: src/usermod.c:1446
+#: src/usermod.c:1452
#, c-format
msgid "%s: error removing shadow passwd dbm entry\n"
msgstr "%s: fel under borttagning av dbm-skugglösenordsnotering\n"
-#: src/usermod.c:1477
+#: src/usermod.c:1483
#, c-format
msgid "%s: directory %s exists\n"
msgstr "%s: katalogen %s existerar\n"
-#: src/usermod.c:1484
+#: src/usermod.c:1490
#, c-format
msgid "%s: can't create %s\n"
msgstr "%s: kan inte skapa %s\n"
-#: src/usermod.c:1490
+#: src/usermod.c:1496
#, c-format
msgid "%s: can't chown %s\n"
msgstr "%s: kan inte byta ägare på %s\n"
-#: src/usermod.c:1506
+#: src/usermod.c:1512
#, c-format
msgid "%s: cannot rename directory %s to %s\n"
msgstr "%s: kan inte byta namn på katalogen %s till %s\n"
#. better leave it alone
-#: src/usermod.c:1603
+#: src/usermod.c:1609
#, c-format
msgid "%s: warning: %s not owned by %s\n"
msgstr "%s: varning: %s ägs inte av %s\n"
-#: src/usermod.c:1609
+#: src/usermod.c:1615
msgid "failed to change mailbox owner"
msgstr "kunde inte byta ägare av brevlådan"
-#: src/usermod.c:1616
+#: src/usermod.c:1622
msgid "failed to rename mailbox"
msgstr "kunde inte byta namn på brevlådan"
+++ /dev/null
-# This is a dummy Makefile.am to get automake work flawlessly,
-# and also cooperate to make a distribution for `make dist'
-
-EXTRA_DIST = README shadow-utils.spec shadow-utils.spec.in \
- shadow-970616-fix.patch shadow-970616-glibc.patch \
- shadow-970616-rh.patch shadow-970616-utuser.patch \
- shadow-970616.login.defs shadow-970616.useradd \
- shadow-utils-970616.spec
+++ /dev/null
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-# This is a dummy Makefile.am to get automake work flawlessly,
-# and also cooperate to make a distribution for `make dist'
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AS = @AS@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-CC = @CC@
-CPP = @CPP@
-DATADIRNAME = @DATADIRNAME@
-DLLTOOL = @DLLTOOL@
-GENCAT = @GENCAT@
-GMOFILES = @GMOFILES@
-GMSGFMT = @GMSGFMT@
-GT_NO = @GT_NO@
-GT_YES = @GT_YES@
-INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
-INSTOBJEXT = @INSTOBJEXT@
-INTLDEPS = @INTLDEPS@
-INTLLIBS = @INTLLIBS@
-INTLOBJS = @INTLOBJS@
-LD = @LD@
-LIBCRACK = @LIBCRACK@
-LIBCRYPT = @LIBCRYPT@
-LIBMD = @LIBMD@
-LIBPAM = @LIBPAM@
-LIBSKEY = @LIBSKEY@
-LIBTCFS = @LIBTCFS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-MSGFMT = @MSGFMT@
-NM = @NM@
-OBJDUMP = @OBJDUMP@
-PACKAGE = @PACKAGE@
-POFILES = @POFILES@
-POSUB = @POSUB@
-RANLIB = @RANLIB@
-U = @U@
-USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-YACC = @YACC@
-l = @l@
-
-EXTRA_DIST = README shadow-utils.spec shadow-utils.spec.in shadow-970616-fix.patch shadow-970616-glibc.patch shadow-970616-rh.patch shadow-970616-utuser.patch shadow-970616.login.defs shadow-970616.useradd shadow-utils-970616.spec
-
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../config.h
-CONFIG_CLEAN_FILES = shadow-utils.spec
-DIST_COMMON = README Makefile.am Makefile.in shadow-utils.spec.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = tar
-GZIP_ENV = --best
-all: all-redirect
-.SUFFIXES:
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps redhat/Makefile
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-shadow-utils.spec: $(top_builddir)/config.status shadow-utils.spec.in
- cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-tags: TAGS
-TAGS:
-
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = redhat
-
-distdir: $(DISTFILES)
- @for file in $(DISTFILES); do \
- d=$(srcdir); \
- if test -d $$d/$$file; then \
- cp -pr $$/$$file $(distdir)/$$file; \
- else \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file || :; \
- fi; \
- done
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: all-am
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-exec-am:
-install-exec: install-exec-am
-
-install-data-am:
-install-data: install-data-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am:
-uninstall: uninstall-am
-all-am: Makefile
-all-redirect: all-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am: mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am: clean-generic mostlyclean-am
-
-clean: clean-am
-
-distclean-am: distclean-generic clean-am
- -rm -f libtool
-
-distclean: distclean-am
-
-maintainer-clean-am: maintainer-clean-generic distclean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
-
-.PHONY: tags distdir info-am info dvi-am dvi check check-am \
-installcheck-am installcheck install-exec-am install-exec \
-install-data-am install-data install-am install uninstall-am uninstall \
-all-redirect all-am all installdirs mostlyclean-generic \
-distclean-generic clean-generic maintainer-clean-generic clean \
-mostlyclean distclean maintainer-clean
-
-
-# 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:
+++ /dev/null
-Included here are the patches from the shadow-utils-970616-11.src.rpm
-(RedHat 5.0 updates). I'd like to make it possible to build binary
-packages for all Linux distributions "out of the box" from the same
-upstream sources. This needs more work for RedHat 5.0, and I only have
-RedHat 4.2 (hint hint). If you have any suggestions regarding this
-package, please contact me. Perhaps the necessary changes can be
-included in the standard sources, so that everything can be build with
-one simple command (rpm -ta shadow-xxxxxx.tar.gz).
-
-One suggestion for the shadow-utils-970616-11 patch: instead of adding
-new (sometimes quite distribution-specific) options to useradd (and
-symlinking adduser -> useradd), I'd suggest to use a program or script
-called "adduser" that implements the distribution-specific UID/GID
-allocation etc. and runs useradd to do all the dirty work (modifying
-password files etc.). Also, please don't change the default behaviour
-of useradd, which is to create the home directory only if the -m option
-is specified). I'd like to keep useradd simple, and compatible with
-other implementations (the user* and group* commands are quite similar
-to commands with the same names found on many commercial UN*X systems).
-
-I'd suggest to take a look at the adduser-3.x package from the Debian
-distribution. It's a perl script, which shouldn't be too hard to modify
-to suit the requirements of Red Hat, or any other Linux distribution.
-It runs programs from the shadow suite to do the actual password file
-modifications, is reasonably user friendly, and configurable.
-
-Comments?
-
---marekm
+++ /dev/null
---- shadow-970616/libmisc/Makefile.in.fix Sun Jun 15 20:05:05 1997
-+++ shadow-970616/libmisc/Makefile.in Tue Dec 30 14:09:29 1997
-@@ -99,13 +99,6 @@
-
- default: all
-
--
--$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in
-- cd $(top_srcdir) && automake $(subdir)/Makefile
--
--Makefile: $(top_builddir)/config.status Makefile.in
-- cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
--
- mostlyclean-noinstLIBRARIES:
-
- clean-noinstLIBRARIES:
---- shadow-970616/man/Makefile.in.fix Sun Jun 15 20:05:05 1997
-+++ shadow-970616/man/Makefile.in Tue Dec 30 14:09:29 1997
-@@ -72,12 +72,6 @@
- TAR = tar
- default: all
-
--
--$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in
-- cd $(top_srcdir) && automake $(subdir)/Makefile
--
--Makefile: $(top_builddir)/config.status Makefile.in
-- cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
- install-man: $(MANS)
- $(mkinstalldirs) $(mandir)/man8
- $(mkinstalldirs) $(mandir)/man1
---- shadow-970616/lib/Makefile.in.fix Sun Jun 15 20:05:06 1997
-+++ shadow-970616/lib/Makefile.in Tue Dec 30 14:09:29 1997
-@@ -123,12 +123,6 @@
- default: all
-
-
--$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in
-- cd $(top_srcdir) && automake $(subdir)/Makefile
--
--Makefile: $(top_builddir)/config.status Makefile.in
-- cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
--
- mostlyclean-noinstLIBRARIES:
-
- clean-noinstLIBRARIES:
---- shadow-970616/src/useradd.c.fix Tue Dec 30 14:09:29 1997
-+++ shadow-970616/src/useradd.c Tue Dec 30 14:37:22 1997
-@@ -570,8 +570,7 @@
- */
-
- static int
--get_groups(list)
-- char *list;
-+get_groups(char *list)
- {
- char *cp;
- const struct group *grp;
-@@ -606,7 +605,7 @@
- * GID values, otherwise the string is looked up as is.
- */
-
-- grp = getgr_nam_gid(*list);
-+ grp = getgr_nam_gid(list);
-
- /*
- * There must be a match, either by GID value or by
-@@ -1401,25 +1400,6 @@
- Prog);
- fail_exit (1);
- }
--#endif
-- if (do_grp_update) {
-- if (! gr_close ()) {
-- fprintf (stderr, "%s: cannot rewrite group file\n",
-- Prog);
-- fail_exit (1);
-- }
-- (void) gr_unlock ();
--#ifdef SHADOWGRP
-- if (is_shadow_grp && ! sgr_close ()) {
-- fprintf (stderr, "%s: cannot rewrite shadow group file\n",
-- Prog);
-- fail_exit (1);
-- }
-- if (is_shadow_grp)
-- sgr_unlock ();
--#endif
-- }
--#ifdef SHADOWPWD
- if (is_shadow_pwd)
- spw_unlock ();
- #endif
-@@ -1758,7 +1738,6 @@
- /*
- * Write out the new group file entry.
- */
--
- if (! gr_update (&grp)) {
- fprintf (stderr, "%s: error adding new group entry\n", Prog);
- fail_exit (10);
-@@ -1801,6 +1780,8 @@
- #endif /* SHADOWGRP */
- SYSLOG((LOG_INFO, "new group: name=%s, gid=%d\n",
- user_name, user_gid));
-+ /* we need to remeber we have to close the group file... */
-+ do_grp_update++;
- }
-
- /*
---- shadow-970616/src/Makefile.in.fix Sun Jun 15 20:05:08 1997
-+++ shadow-970616/src/Makefile.in Tue Dec 30 14:09:29 1997
-@@ -251,12 +251,6 @@
- default: all
-
-
--$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in
-- cd $(top_srcdir) && automake $(subdir)/Makefile
--
--Makefile: $(top_builddir)/config.status Makefile.in
-- cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
--
- mostlyclean-usbinPROGRAMS:
-
- clean-usbinPROGRAMS:
---- shadow-970616/contrib/Makefile.in.fix Sun Jun 15 20:05:09 1997
-+++ shadow-970616/contrib/Makefile.in Tue Dec 30 14:09:29 1997
-@@ -60,12 +60,6 @@
- TAR = tar
- default: all
-
--
--$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in
-- cd $(top_srcdir) && automake $(subdir)/Makefile
--
--Makefile: $(top_builddir)/config.status Makefile.in
-- cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
- tags: TAGS
- TAGS:
-
---- shadow-970616/debian/Makefile.in.fix Sun Jun 15 20:05:09 1997
-+++ shadow-970616/debian/Makefile.in Tue Dec 30 14:09:29 1997
-@@ -64,12 +64,6 @@
- TAR = tar
- default: all
-
--
--$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in
-- cd $(top_srcdir) && automake $(subdir)/Makefile
--
--Makefile: $(top_builddir)/config.status Makefile.in
-- cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
- tags: TAGS
- TAGS:
-
---- shadow-970616/doc/Makefile.in.fix Sun Jun 15 20:05:09 1997
-+++ shadow-970616/doc/Makefile.in Tue Dec 30 14:09:29 1997
-@@ -61,12 +61,6 @@
- TAR = tar
- default: all
-
--
--$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in
-- cd $(top_srcdir) && automake $(subdir)/Makefile
--
--Makefile: $(top_builddir)/config.status Makefile.in
-- cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
- tags: TAGS
- TAGS:
-
---- shadow-970616/etc/Makefile.in.fix Sun Jun 15 20:05:09 1997
-+++ shadow-970616/etc/Makefile.in Tue Dec 30 14:09:29 1997
-@@ -60,12 +60,6 @@
- TAR = tar
- default: all
-
--
--$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in
-- cd $(top_srcdir) && automake $(subdir)/Makefile
--
--Makefile: $(top_builddir)/config.status Makefile.in
-- cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
- tags: TAGS
- TAGS:
-
---- shadow-970616/old/Makefile.in.fix Sun Jun 15 20:05:10 1997
-+++ shadow-970616/old/Makefile.in Tue Dec 30 14:09:29 1997
-@@ -61,12 +61,6 @@
- TAR = tar
- default: all
-
--
--$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in
-- cd $(top_srcdir) && automake $(subdir)/Makefile
--
--Makefile: $(top_builddir)/config.status Makefile.in
-- cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
- tags: TAGS
- TAGS:
-
---- shadow-970616/shlib/Makefile.in.fix Sun Jun 15 20:05:10 1997
-+++ shadow-970616/shlib/Makefile.in Tue Dec 30 14:09:29 1997
-@@ -60,11 +60,6 @@
- default: all
-
-
--$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in
-- cd $(top_srcdir) && automake $(subdir)/Makefile
--
--Makefile: $(top_builddir)/config.status Makefile.in
-- cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
- tags: TAGS
- TAGS:
-
---- shadow-970616/configure.in.fix Sun Jun 15 19:42:47 1997
-+++ shadow-970616/configure.in Tue Dec 30 14:09:29 1997
-@@ -38,7 +38,7 @@
- AC_CHECK_HEADERS(gshadow.h shadow.h lastlog.h)
-
- AC_EGREP_HEADER(ut_host, utmp.h, AC_DEFINE(UT_HOST))
--AC_EGREP_HEADER(ut_name, utmp.h, AC_DEFINE(UT_USER, ut_name))
-+AC_EGREP_HEADER(ut_user, utmp.h, AC_DEFINE(UT_USER, ut_user))
- AC_EGREP_HEADER(ll_host, lastlog.h, AC_DEFINE(HAVE_LL_HOST))
-
- dnl Checks for typedefs, structures, and compiler characteristics.
---- shadow-970616/Makefile.in.fix Sun Jun 15 20:05:08 1997
-+++ shadow-970616/Makefile.in Tue Dec 30 14:09:29 1997
-@@ -64,28 +64,6 @@
- TAR = tar
- default: all
-
--
--$(srcdir)/Makefile.in: Makefile.am configure.in
-- cd $(srcdir) && automake Makefile
--
--# For an explanation of the following Makefile rules, see node
--# `Automatic Remaking' in GNU Autoconf documentation.
--Makefile: Makefile.in config.status
-- CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status
--config.status: configure
-- ./config.status --recheck
--$(srcdir)/configure: configure.in $(ACLOCAL) $(CONFIGURE_DEPENDENCIES)
-- cd $(srcdir) && autoconf
--
--$(CONFIG_HEADER): stamp-h
--stamp-h: $(CONFIG_HEADER_IN) config.status
-- CONFIG_FILES= CONFIG_HEADERS=$(CONFIG_HEADER) ./config.status
-- @echo timestamp > stamp-h
--$(srcdir)/$(CONFIG_HEADER_IN): stamp-h.in
--$(srcdir)/stamp-h.in: configure.in $(ACLOCAL) $(ACCONFIG) $(CONFIG_TOP) $(CONFIG_BOT)
-- cd $(srcdir) && autoheader
-- echo timestamp > $(srcdir)/stamp-h.in
--
- # This directory's subdirectories are mostly independent; you can cd
- # into them and run `make' without going through this Makefile.
- # To change the values of `make' variables: instead of editing Makefiles,
+++ /dev/null
---- shadow-970616/libmisc/strtoday.c.ewt Thu Nov 13 19:25:25 1997
-+++ shadow-970616/libmisc/strtoday.c Thu Nov 13 19:27:57 1997
-@@ -28,7 +28,7 @@
- */
-
- #if !defined(__GLIBC__)
--#define _XOPEN_SOURCE
-+#define _XOPEN_SOURCE 500
- #endif
-
- #include <config.h>
+++ /dev/null
---- shadow-970616/man/shadowconfig.8.rh Thu May 1 14:18:17 1997
-+++ shadow-970616/man/shadowconfig.8 Fri Dec 12 15:36:29 1997
-@@ -14,7 +14,3 @@
- will print an error message and exit with a nonzero code if it finds
- anything awry. If that happens, you should correct the error and run
- it again.
--.PP
--Read
--.I /usr/doc/passwd/README.debian.gz
--for a brief introduction to shadow passwords and related features.
---- shadow-970616/man/useradd.8.rh Thu May 1 19:15:12 1997
-+++ shadow-970616/man/useradd.8 Fri Dec 12 15:36:29 1997
-@@ -50,13 +50,15 @@
- .RB [ -G
- .IR group [,...]]
- .RB [ -m " [" -k
--.IR skeleton_dir ]]
-+.IR skeleton_dir ] " |" " " -M ]
- .RB [ -s
- .IR shell ]
- .br
- .RB [ -u
- .IR uid " ["
- .BR -o ]]
-+.RB [ -n ]
-+.RB [ -r ]
- .I login
- .TP 8
- .B useradd
-@@ -81,6 +83,8 @@
- The new user account will be entered into the system files as needed,
- the home directory will be created, and initial files copied, depending
- on the command line options.
-+The version provided with Red Hat Linux will create a group for each
-+user added to the system, unless \fB-n\fR option is given.
- The options which apply to the \fBuseradd\fR command are
- .IP "\fB-A {\fImethod\fR|\fBDEFAULT\fR},..."
- The value of the user's authentication method.
-@@ -128,6 +132,21 @@
- option.
- The default is to not create the directory and to not copy any
- files.
-+.IP \fB-M\fR
-+The user home directory will not be created, even if the system
-+wide settings from \fI/etc/login.defs\fR is to create home dirs.
-+.IP \fB-n\fR
-+A group having the same name as the user being added to the system
-+will be created by default. This option will turn off this Red Hat
-+Linux specific behavior.
-+.IP \fB-r\fR
-+This flag is used to create a system account. That is, an user with an
-+UID lower than value of UID_MIN defined in \fI/etc/login.defs\fR. Note
-+that \fBuseradd\fR will not create a home directory for such an user,
-+regardless of the default setting in \fI/etc/login.defs\fR.
-+You have to specify \fB-m\fR option if you want a home directory
-+for a system account to be created.
-+This is an option added by Red Hat.
- .IP "\fB-s \fIshell\fR"
- The name of the user's login shell.
- The default is to leave this field blank, which causes the system
-@@ -168,19 +187,24 @@
- .SH NOTES
- The system administrator is responsible for placing the default
- user files in the \fI/etc/skel\fR directory.
-+.br
-+This version of useradd was modified by Red Hat to suit Red Hat
-+user/group convention.
- .SH CAVEATS
- You may not add a user to an NIS group.
- This must be performed on the NIS server.
- .SH FILES
--/etc/passwd \- user account information
-+\fB/etc/passwd\fR \- user account information
-+.br
-+\fB/etc/shadow\fR \- secure user account information
- .br
--/etc/shadow \- secure user account information
-+\fB/etc/group\fR \- group information
- .br
--/etc/group \- group information
-+\fB/etc/default/useradd\fR \- default information
- .br
--/etc/default/useradd \- default information
-+\fB/etc/login.defs\fR \- system-wide settings
- .br
--/etc/skel \- directory containing default files
-+\fB/etc/skel\fR \- directory containing default files
- .SH SEE ALSO
- .BR chfn (1),
- .BR chsh (1),
---- shadow-970616/man/groupadd.8.rh Thu May 1 19:15:06 1997
-+++ shadow-970616/man/groupadd.8 Fri Dec 12 15:36:29 1997
-@@ -32,7 +32,7 @@
- groupadd \- Create a new group
- .SH SYNOPSIS
- .B groupadd
--[\fB-g\fI gid \fR[\fB-o\fR]]
-+[\fB-g\fI gid \fR[\fB-o\fR]] [\fB-r\fR] [\fB-f\fR]
- .I group
- .SH DESCRIPTION
- The \fBgroupadd\fR command
-@@ -44,9 +44,29 @@
- 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 99 and
-+The default is to use the smallest ID value greater than 500 and
- greater than every other group.
--Values between 0 and 99 are typically reserved for system accounts.
-+Values between 0 and 499 are typically reserved for \fIsystem accounts\fR.
-+.IP \fB-r\fR
-+This flag instructs \fBgroupadd\fR to add a \fIsystem
-+account\fR. First available \fIgid\fR lower than 499 will be
-+automatically selected unless \fB-g\fR option is given also on the
-+command line.
-+.br
-+This is an option added by Red Hat Software.
-+.IP \fB-f\fR
-+This is \fIforce\fR flag. This will stop \fBgroupadd\fR exit with
-+error when the group about to be added already exists on the
-+system. If that is the case, the group won't be altered (or added
-+again, for that matter).
-+.br
-+This option also modifies the way \fB-g\fR option works. When you
-+request a \fIgid\fR that it is not unique and you don't give \fB-o\fR
-+option too, the group creation will fall back to the standard behavior
-+(adding a group as neither \fB-g\fR or \fB-o\fR options were
-+specified).
-+.br
-+This is an option added by Red Hat Software.
- .SH FILES
- /etc/group \- group account information
- .br
---- shadow-970616/lib/getdef.c.rh Thu May 1 19:14:40 1997
-+++ shadow-970616/lib/getdef.c Fri Dec 12 15:36:29 1997
-@@ -61,6 +61,7 @@
- #ifdef HAVE_LIBCRACK
- { "CRACKLIB_DICTPATH", NULL },
- #endif
-+ { "CREATE_HOME", NULL },
- { "DEFAULT_HOME", NULL },
- { "DIALUPS_CHECK_ENAB", NULL },
- { "ENVIRON_FILE", NULL },
-@@ -171,7 +172,7 @@
- if ((d = def_find(item)) == NULL || d->value == NULL)
- return 0;
-
-- return (strcmp(d->value, "yes") == 0);
-+ return (strcasecmp(d->value, "yes") == 0);
- }
-
-
---- shadow-970616/src/useradd.c.rh Sun Jun 1 01:25:40 1997
-+++ shadow-970616/src/useradd.c Fri Dec 12 15:58:04 1997
-@@ -60,7 +60,7 @@
- #define USER_DEFAULTS_FILE "/etc/default/useradd"
- #define NEW_USER_FILE "/etc/default/nuaddXXXXXX"
- #endif
--
-+
- /*
- * Needed for MkLinux DR1/2/2.1 - J.
- */
-@@ -71,22 +71,22 @@
- /*
- * These defaults are used if there is no defaults file.
- */
--static gid_t def_group = 1;
-+static gid_t def_group = 100;
- static char *def_gname = "other";
- static char *def_home = "/home";
--static char *def_shell = "";
-+static char *def_shell = "/dev/null";
- static char *def_template = SKEL_DIR;
- #ifdef SHADOWPWD
- static long def_inactive = -1;
- static char *def_expire = "";
- #endif
-
--static char def_file[] = USER_DEFAULTS_FILE;
-+static char def_file[] = USER_DEFAULTS_FILE;
-
- #define VALID(s) (strcspn (s, ":\n") == strlen (s))
-
- static char *user_name = "";
--static char *user_pass = "!";
-+static char *user_pass = "!!";
- static uid_t user_id;
- static gid_t user_gid;
- static char *user_comment = "";
-@@ -114,10 +114,13 @@
- sflg = 0, /* shell program for new account */
- cflg = 0, /* comment (GECOS) field for new account */
- mflg = 0, /* create user's home directory if it doesn't exist */
-- kflg = 0, /* specify a directory to fill new user directory */
-+ Mflg = 0, /* do NOT create user's home directory no matter what */
-+ kflg = 0, /* specify a directory to fill new user directory */
- fflg = 0, /* days until account with expired password is locked */
- eflg = 0, /* days since 1970-01-01 when account is locked */
-- Dflg = 0; /* set/show new user default values */
-+ Dflg = 0, /* set/show new user default values */
-+ nflg = 0, /* do not add a group for this user */
-+ rflg = 0; /* create a system account */
-
- #ifdef AUTH_METHODS
- static int Aflg = 0; /* specify authentication method for user */
-@@ -168,6 +171,7 @@
- * exit status values
- */
- #define E_SUCCESS 0 /* success */
-+#define E_LOCKING 1 /* locking error */
- #define E_USAGE 2 /* bad command syntax */
- #define E_BAD_ARG 3 /* invalid argument to option */
- #define E_UID_IN_USE 4 /* uid already in use (and no -o) */
-@@ -177,19 +181,19 @@
- #define E_HOMEDIR 12 /* can't create home directory */
-
- #ifdef SVR4
--#define DGROUP "defgroup="
--#define HOME "defparent="
--#define SHELL "defshell="
--#define INACT "definact="
--#define EXPIRE "defexpire="
--#define SKEL "defskel="
-+#define DGROUP "defgroup="
-+#define HOME "defparent="
-+#define SHELL "defshell="
-+#define INACT "definact="
-+#define EXPIRE "defexpire="
-+#define SKEL "defskel="
- #else
--#define DGROUP "GROUP="
--#define HOME "HOME="
--#define SHELL "SHELL="
--#define INACT "INACTIVE="
--#define EXPIRE "EXPIRE="
--#define SKEL "SKEL="
-+#define DGROUP "GROUP="
-+#define HOME "HOME="
-+#define SHELL "SHELL="
-+#define INACT "INACTIVE="
-+#define EXPIRE "EXPIRE="
-+#define SKEL "SKEL="
- #endif
-
- /*
-@@ -679,7 +683,7 @@
- #ifdef AUTH_METHODS
- fprintf(stderr, "[-A program] ");
- #endif
-- fprintf(stderr, "[-p passwd] name\n");
-+ fprintf(stderr, "[-p passwd] [-n] [-r] name\n");
-
- fprintf(stderr, " %s\t-D [-g group] [-b base] [-s shell]"
- #ifdef SHADOWPWD
-@@ -771,153 +775,129 @@
- static void
- grp_update()
- {
-- const struct group *grp;
-- struct group *ngrp;
-+ const struct group *grp;
-+ struct group *ngrp;
- #ifdef SHADOWGRP
-- const struct sgrp *sgrp;
-- struct sgrp *nsgrp;
-+ const struct sgrp *sgrp;
-+ struct sgrp *nsgrp;
- #endif
-
-- /*
-- * Lock and open the group file. This will load all of the group
-- * entries.
-- */
-+ /*
-+ * Scan through the entire group file looking for the groups that
-+ * the user is a member of.
-+ */
-
-- if (! gr_lock ()) {
-- fprintf (stderr, "%s: error locking group file\n", Prog);
-- exit (1);
-- }
-- if (! gr_open (O_RDWR)) {
-- fprintf (stderr, "%s: error opening group file\n", Prog);
-- exit (1);
-- }
--#ifdef SHADOWGRP
-- if (is_shadow_grp && ! sgr_lock ()) {
-- fprintf (stderr, "%s: error locking shadow group file\n", Prog);
-- exit (1);
-- }
-- if (is_shadow_grp && ! sgr_open (O_RDWR)) {
-- fprintf (stderr, "%s: error opening shadow group file\n", Prog);
-- exit (1);
-- }
--#endif
-+ for (gr_rewind (), grp = gr_next ();grp;grp = gr_next ()) {
-
- /*
-- * Scan through the entire group file looking for the groups that
-- * the user is a member of.
-+ * See if the user specified this group as one of their
-+ * concurrent groups.
- */
-
-- for (gr_rewind (), grp = gr_next ();grp;grp = gr_next ()) {
-+ if (!is_on_list(user_groups, grp->gr_name))
-+ continue;
-
-- /*
-- * See if the user specified this group as one of their
-- * concurrent groups.
-- */
--
-- if (!is_on_list(user_groups, grp->gr_name))
-- continue;
--
-- /*
-- * Make a copy - gr_update() will free() everything
-- * from the old entry, and we need it later.
-- */
-+ /*
-+ * Make a copy - gr_update() will free() everything
-+ * from the old entry, and we need it later.
-+ */
-
-- ngrp = __gr_dup(grp);
-- if (!ngrp) {
-- exit(13); /* XXX */
-- }
-+ ngrp = __gr_dup(grp);
-+ if (!ngrp) {
-+ exit(13); /* XXX */
-+ }
-
-- /*
-- * Add the username to the list of group members and
-- * update the group entry to reflect the change.
-- */
-+ /*
-+ * 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);
-- fail_exit (1);
-- }
-+ ngrp->gr_mem = add_list (ngrp->gr_mem, user_name);
-+ if (! gr_update (ngrp)) {
-+ fprintf (stderr, "%s: error adding new group entry\n",
-+ Prog);
-+ fail_exit (1);
-+ }
- #ifdef NDBM
-- /*
-- * Update the DBM group file with the new entry as well.
-- */
-+ /*
-+ * Update the DBM group file with the new entry as well.
-+ */
-
-- if (! gr_dbm_update (ngrp)) {
-- fprintf (stderr, "%s: cannot add new dbm group entry\n",
-- Prog);
-- fail_exit (1);
-- } else
-- gr_dbm_added++;
--#endif
-- SYSLOG((LOG_INFO, "add `%s' to group `%s'\n",
-- user_name, ngrp->gr_name));
-- }
-+ if (! gr_dbm_update (ngrp)) {
-+ fprintf (stderr, "%s: cannot add new dbm group entry\n",
-+ Prog);
-+ fail_exit (1);
-+ } else
-+ gr_dbm_added++;
-+#endif
-+ SYSLOG((LOG_INFO, "add `%s' to group `%s'\n",
-+ user_name, ngrp->gr_name));
-+ }
- #ifdef NDBM
-- endgrent ();
-+ endgrent ();
- #endif
-
- #ifdef SHADOWGRP
-- if (!is_shadow_grp)
-- return;
-+ if (!is_shadow_grp)
-+ return;
-
-- /*
-- * Scan through the entire shadow group file looking for the groups
-- * that the user is a member of. The administrative list isn't
-- * modified.
-- */
-+ /*
-+ * Scan through the entire shadow group file looking for the groups
-+ * that the user is a member of. The administrative list isn't
-+ * modified.
-+ */
-
-- for (sgr_rewind (), sgrp = sgr_next ();sgrp;sgrp = sgr_next ()) {
-+ for (sgr_rewind (), sgrp = sgr_next ();sgrp;sgrp = sgr_next ()) {
-
-- /*
-- * See if the user specified this group as one of their
-- * concurrent groups.
-- */
-+ /*
-+ * See if the user specified this group as one of their
-+ * concurrent groups.
-+ */
-
-- if (!gr_locate(sgrp->sg_name))
-- continue;
-+ if (!gr_locate(sgrp->sg_name))
-+ continue;
-
-- if (!is_on_list(user_groups, sgrp->sg_name))
-- continue;
-+ if (!is_on_list(user_groups, sgrp->sg_name))
-+ continue;
-
-- /*
-- * Make a copy - sgr_update() will free() everything
-- * from the old entry, and we need it later.
-- */
-+ /*
-+ * Make a copy - sgr_update() will free() everything
-+ * from the old entry, and we need it later.
-+ */
-
-- nsgrp = __sgr_dup(sgrp);
-- if (!nsgrp) {
-- exit(13); /* XXX */
-- }
-+ nsgrp = __sgr_dup(sgrp);
-+ if (!nsgrp) {
-+ exit(13); /* XXX */
-+ }
-
-- /*
-- * Add the username to the list of group members and
-- * update the group entry to reflect the change.
-- */
-+ /*
-+ * 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 (1);
-- }
-+ 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 (1);
-+ }
- #ifdef NDBM
-- /*
-- * Update the DBM group file with the new entry as well.
-- */
-+ /*
-+ * Update the DBM group file with the new entry as well.
-+ */
-
-- if (! sg_dbm_update (nsgrp)) {
-- fprintf (stderr, "%s: cannot add new dbm group entry\n",
-- Prog);
-- fail_exit (1);
-- } else
-- sg_dbm_added++;
-+ if (! sg_dbm_update (nsgrp)) {
-+ fprintf (stderr, "%s: cannot add new dbm group entry\n",
-+ Prog);
-+ fail_exit (1);
-+ } else
-+ sg_dbm_added++;
- #endif /* NDBM */
-- SYSLOG((LOG_INFO, "add `%s' to shadow group `%s'\n",
-- user_name, nsgrp->sg_name));
-- }
-+ SYSLOG((LOG_INFO, "add `%s' to shadow group `%s'\n",
-+ user_name, nsgrp->sg_name));
-+ }
- #ifdef NDBM
-- endsgent ();
-+ endsgent ();
- #endif /* NDBM */
- #endif /* SHADOWGRP */
- }
-@@ -936,8 +916,13 @@
- const struct passwd *pwd;
- uid_t uid_min, uid_max;
-
-- uid_min = getdef_num("UID_MIN", 100);
-- uid_max = getdef_num("UID_MAX", 60000);
-+ if (!rflg) {
-+ uid_min = getdef_num("UID_MIN", 500);
-+ uid_max = getdef_num("UID_MAX", 60000);
-+ } else {
-+ uid_min = 1;
-+ uid_max = 499;
-+ }
-
- /*
- * Start with some UID value if the user didn't provide us with
-@@ -1003,6 +988,88 @@
- }
- }
-
-+/*
-+ * find_new_gid - find the next available GID
-+ *
-+ * find_new_gid() locates the next highest unused GID in the group
-+ * file, or checks the given group ID against the existing ones for
-+ * uniqueness.
-+ */
-+
-+static void
-+find_new_gid()
-+{
-+ const struct group *grp;
-+ gid_t gid_min, gid_max;
-+
-+ if (!rflg) {
-+ gid_min = getdef_num("GID_MIN", 500);
-+ gid_max = getdef_num("GID_MAX", 60000);
-+ } else {
-+ gid_min = 1;
-+ gid_max = 499;
-+ }
-+
-+ /*
-+ * Start with some GID value if the user didn't provide us with
-+ * one already.
-+ */
-+
-+ user_gid = gid_min;
-+
-+ /*
-+ * Search the entire group file, either looking for this
-+ * GID (if the user specified one with -g) or looking for the
-+ * largest unused value.
-+ */
-+
-+#ifdef NO_GETGRENT
-+ gr_rewind();
-+ while ((grp = gr_next()))
-+#else
-+ setgrent();
-+ while ((grp = getgrent()))
-+#endif
-+ {
-+ if (strcmp(user_name, grp->gr_name) == 0) {
-+ user_gid = grp->gr_gid;
-+ return;
-+ }
-+ if (grp->gr_gid >= user_gid) {
-+ if (grp->gr_gid > gid_max)
-+ continue;
-+ user_gid = grp->gr_gid + 1;
-+ }
-+ }
-+#ifndef NO_GETGRENT /* RH Linux does have this, so ... */
-+ /* A quick test gets here: if the UID is available
-+ * as a GID, go ahead and use it */
-+ if (!getgrgid(user_id)) {
-+ user_gid = user_id;
-+ return;
-+ }
-+#endif
-+ if (user_gid == gid_max + 1) {
-+ for (user_gid = gid_min; user_gid < gid_max; user_gid++) {
-+#ifdef NO_GETGRENT
-+ gr_rewind();
-+ while ((grp = gr_next()) && grp->gr_gid != user_gid)
-+ ;
-+ if (!grp)
-+ break;
-+#else
-+ if (!getgrgid(user_gid))
-+ break;
-+#endif
-+ }
-+ if (user_gid == gid_max) {
-+ fprintf(stderr, "%s: can't get unique gid (run out of GIDs)\n",
-+ Prog);
-+ fail_exit(4);
-+ }
-+ }
-+}
-+
- #ifdef AUTH_METHODS
- /*
- * convert_auth - convert the argument list to a authentication list
-@@ -1099,9 +1166,9 @@
- int arg;
-
- #ifdef SHADOWPWD
--#define FLAGS "A:Du:og:G:d:s:c:mk:p:f:e:b:"
-+#define FLAGS "A:Du:og:G:d:s:c:mMk:p:f:e:b:nr"
- #else
--#define FLAGS "A:Du:og:G:d:s:c:mk:p:b:"
-+#define FLAGS "A:Du:og:G:d:s:c:mMk:p:b:nr"
- #endif
- while ((arg = getopt(argc, argv, FLAGS)) != EOF) {
- #undef FLAGS
-@@ -1251,6 +1318,15 @@
- user_id = get_number(optarg);
- uflg++;
- break;
-+ case 'n':
-+ nflg++;
-+ break;
-+ case 'r':
-+ rflg++;
-+ break;
-+ case 'M':
-+ Mflg++;
-+ break;
- default:
- usage ();
- }
-@@ -1261,9 +1337,12 @@
- * Certain options are only valid in combination with others.
- * Check it here so that they can be specified in any order.
- */
-- if ((oflg && !uflg) || (kflg && !mflg))
-+ if (kflg && !mflg)
- usage();
-
-+ if (mflg && Mflg) /* the admin is not decided .. create or not ? */
-+ usage();
-+
- /*
- * Either -D or username is required. Defaults can be set with -D
- * for the -b, -e, -f, -g, -s options only.
-@@ -1312,39 +1391,53 @@
- static void
- close_files()
- {
-- if (! pw_close ()) {
-- fprintf (stderr, "%s: cannot rewrite password file\n", Prog);
-- fail_exit (1);
-- }
-+ if (! pw_close ()) {
-+ fprintf (stderr, "%s: cannot rewrite password file\n", Prog);
-+ fail_exit (1);
-+ }
- #ifdef SHADOWPWD
-- if (is_shadow_pwd && ! spw_close ()) {
-- fprintf (stderr, "%s: cannot rewrite shadow password file\n",
-- Prog);
-- fail_exit (1);
-+ if (is_shadow_pwd && ! spw_close ()) {
-+ fprintf (stderr, "%s: cannot rewrite shadow password file\n",
-+ Prog);
-+ fail_exit (1);
-+ }
-+#endif
-+ if (do_grp_update) {
-+ if (! gr_close ()) {
-+ fprintf (stderr, "%s: cannot rewrite group file\n",
-+ Prog);
-+ fail_exit (1);
- }
--#endif
-- if (do_grp_update) {
-- if (! gr_close ()) {
-- fprintf (stderr, "%s: cannot rewrite group file\n",
-- Prog);
-- fail_exit (1);
-- }
-- (void) gr_unlock ();
-+ (void) gr_unlock ();
- #ifdef SHADOWGRP
-- if (is_shadow_grp && ! sgr_close ()) {
-- fprintf (stderr, "%s: cannot rewrite shadow group file\n",
-- Prog);
-- fail_exit (1);
-- }
-- if (is_shadow_grp)
-- sgr_unlock ();
--#endif
-+ if (is_shadow_grp && ! sgr_close ()) {
-+ fprintf (stderr, "%s: cannot rewrite shadow group file\n",
-+ Prog);
-+ fail_exit (1);
- }
-+ if (is_shadow_grp)
-+ sgr_unlock ();
-+#endif
-+ }
- #ifdef SHADOWPWD
-- if (is_shadow_pwd)
-- spw_unlock ();
-+ if (is_shadow_pwd)
-+ spw_unlock ();
- #endif
-- (void) pw_unlock ();
-+ (void) pw_unlock ();
-+ if (! gr_close ()) {
-+ fprintf (stderr, "%s: cannot rewrite group file\n", Prog);
-+ fail_exit (10);
-+ }
-+ (void) gr_unlock ();
-+#ifdef SHADOWGRP
-+ if (is_shadow_grp && ! sgr_close ()) {
-+ fprintf (stderr, "%s: cannot rewrite shadow group file\n",
-+ Prog);
-+ fail_exit (10);
-+ }
-+ if (is_shadow_grp)
-+ sgr_unlock ();
-+#endif /* SHADOWGRP */
- }
-
- /*
-@@ -1353,27 +1446,47 @@
- * open_files() opens the two password files.
- */
-
--static void
--open_files()
-+static void open_files(void)
- {
-- if (!pw_lock_first()) {
-- fprintf (stderr, "%s: unable to lock password file\n", Prog);
-- exit (1);
-- }
-- if (! pw_open (O_RDWR)) {
-- fprintf (stderr, "%s: unable to open password file\n", Prog);
-- exit (1);
-- }
-+ if (!pw_lock_first()) {
-+ fprintf (stderr, "%s: unable to lock password file\n", Prog);
-+ exit (1);
-+ }
-+ if (! pw_open (O_RDWR)) {
-+ fprintf (stderr, "%s: unable to open password file\n", Prog);
-+ exit (1);
-+ }
- #ifdef SHADOWPWD
-- if (is_shadow_pwd && ! spw_lock ()) {
-- fprintf (stderr, "%s: cannot lock shadow password file\n", Prog);
-- exit (1);
-- }
-- if (is_shadow_pwd && ! spw_open (O_RDWR)) {
-- fprintf (stderr, "%s: cannot open shadow password file\n", Prog);
-- exit (1);
-- }
--#endif
-+ if (is_shadow_pwd && ! spw_lock ()) {
-+ fprintf (stderr, "%s: cannot lock shadow password file\n", Prog);
-+ exit (1);
-+ }
-+ if (is_shadow_pwd && ! spw_open (O_RDWR)) {
-+ fprintf (stderr, "%s: cannot open shadow password file\n", Prog);
-+ exit (1);
-+ }
-+#endif
-+ if (! gr_lock ()) {
-+ fprintf (stderr, "%s: unable to lock group file\n", Prog);
-+ exit (E_LOCKING);
-+ }
-+ if (! gr_open (O_RDWR)) {
-+ fprintf (stderr, "%s: unable to open group file\n", Prog);
-+ fail_exit (10);
-+ }
-+#ifdef SHADOWGRP
-+ if (is_shadow_grp && ! sgr_lock ()) {
-+ fprintf (stderr, "%s: unable to lock shadow group file\n",
-+ Prog);
-+ fail_exit (E_LOCKING);
-+ }
-+ if (is_shadow_grp && ! sgr_open (O_RDWR)) {
-+ fprintf (stderr, "%s: unable to open shadow group file\n",
-+ Prog);
-+ fail_exit (10);
-+ }
-+#endif /* SHADOWGRP*/
-+
- }
-
-
-@@ -1424,9 +1537,6 @@
- struct spwd spent;
- #endif
-
-- if (! oflg)
-- find_new_uid ();
--
- #ifdef AUTH_METHODS
- if (Aflg) {
- convert_auth(user_auth, auth_arg);
-@@ -1582,6 +1692,117 @@
- }
- }
-
-+/* a fake something */
-+static char *empty_list = NULL;
-+
-+/*
-+ * new_grent - initialize the values in a group file entry
-+ *
-+ * new_grent() takes all of the values that have been entered and
-+ * fills in a (struct group) with them.
-+ */
-+
-+static void
-+new_grent(grent)
-+ struct group *grent;
-+{
-+ bzero ((char *) grent, sizeof *grent);
-+ grent->gr_name = user_name;
-+ grent->gr_passwd = "x";
-+ grent->gr_gid = user_gid;
-+ grent->gr_mem = &empty_list;
-+}
-+
-+#ifdef SHADOWGRP
-+/*
-+ * new_sgent - initialize the values in a shadow group file entry
-+ *
-+ * new_sgent() takes all of the values that have been entered and
-+ * fills in a (struct sgrp) with them.
-+ */
-+
-+static void
-+new_sgent(sgent)
-+ struct sgrp *sgent;
-+{
-+ bzero ((char *) sgent, sizeof *sgent);
-+ sgent->sg_name = user_name;
-+ sgent->sg_passwd = "!";
-+ sgent->sg_adm = &empty_list;
-+ sgent->sg_mem = &empty_list;
-+}
-+#endif /* SHADOWGRP */
-+
-+/*
-+ * grp_update - add new group file entries
-+ *
-+ * grp_update() writes the new records to the group files.
-+ */
-+
-+static void grp_add()
-+{
-+ struct group grp;
-+#ifdef SHADOWGRP
-+ struct sgrp sgrp;
-+#endif /* SHADOWGRP */
-+
-+ /*
-+ * Create the initial entries for this new group.
-+ */
-+
-+ new_grent (&grp);
-+#ifdef SHADOWGRP
-+ new_sgent (&sgrp);
-+#endif /* SHADOWGRP */
-+
-+ /*
-+ * Write out the new group file entry.
-+ */
-+
-+ if (! gr_update (&grp)) {
-+ fprintf (stderr, "%s: error adding new group entry\n", Prog);
-+ fail_exit (10);
-+ }
-+#ifdef NDBM
-+
-+ /*
-+ * Update the DBM group file with the new entry as well.
-+ */
-+
-+ if (gr_dbm_present() && ! gr_dbm_update (&grp)) {
-+ fprintf (stderr, "%s: cannot add new dbm group entry\n", Prog);
-+ fail_exit (10);
-+ }
-+ endgrent ();
-+#endif /* NDBM */
-+
-+#ifdef SHADOWGRP
-+
-+ /*
-+ * Write out the new shadow group entries as well.
-+ */
-+
-+ if (is_shadow_grp && ! sgr_update (&sgrp)) {
-+ fprintf (stderr, "%s: error adding new group entry\n", Prog);
-+ fail_exit (10);
-+ }
-+#ifdef NDBM
-+
-+ /*
-+ * Update the DBM group file with the new entry as well.
-+ */
-+
-+ if (is_shadow_grp && sg_dbm_present() && ! sg_dbm_update (&sgrp)) {
-+ fprintf (stderr, "%s: cannot add new dbm group entry\n", Prog);
-+ fail_exit (10);
-+ }
-+ endsgent ();
-+#endif /* NDBM */
-+#endif /* SHADOWGRP */
-+ SYSLOG((LOG_INFO, "new group: name=%s, gid=%d\n",
-+ user_name, user_gid));
-+}
-+
- /*
- * main - useradd command
- */
-@@ -1591,76 +1812,100 @@
- int argc;
- char **argv;
- {
-- /*
-- * Get my name so that I can use it to report errors.
-- */
-+ /*
-+ * Get my name so that I can use it to report errors.
-+ */
-
-- Prog = Basename(argv[0]);
-+ Prog = Basename(argv[0]);
-
-- openlog(Prog, LOG_PID|LOG_CONS|LOG_NOWAIT, LOG_AUTH);
-+ openlog(Prog, LOG_PID|LOG_CONS|LOG_NOWAIT, LOG_AUTH);
-
- #ifdef SHADOWPWD
-- is_shadow_pwd = (access(SHADOW_FILE, 0) == 0);
-+ is_shadow_pwd = (access(SHADOW_FILE, 0) == 0);
- #endif
- #ifdef SHADOWGRP
-- is_shadow_grp = (access(SGROUP_FILE, 0) == 0);
-+ is_shadow_grp = (access(SGROUP_FILE, 0) == 0);
- #endif
-
-- /*
-- * The open routines for the NDBM files don't use read-write
-- * as the mode, so we have to clue them in.
-- */
-+ /*
-+ * The open routines for the NDBM files don't use read-write
-+ * as the mode, so we have to clue them in.
-+ */
-
- #ifdef NDBM
-- pw_dbm_mode = O_RDWR;
-+ pw_dbm_mode = O_RDWR;
- #ifdef SHADOWPWD
-- sp_dbm_mode = O_RDWR;
-+ sp_dbm_mode = O_RDWR;
- #endif
-- gr_dbm_mode = O_RDWR;
-+ gr_dbm_mode = O_RDWR;
- #ifdef SHADOWGRP
-- sg_dbm_mode = O_RDWR;
-+ sg_dbm_mode = O_RDWR;
- #endif
- #endif
-- get_defaults();
-+ get_defaults();
-
-- process_flags(argc, argv);
-+ process_flags(argc, argv);
-
-- /*
-- * See if we are messing with the defaults file, or creating
-- * a new user.
-- */
-+ if (!rflg) /* for system accounts defaults are ignored
-+ * == do not create */
-+ if (getdef_bool("CREATE_HOME"))
-+ mflg = 1;
-
-- if (Dflg) {
-- if (gflg || bflg || fflg || eflg || sflg)
-- exit (set_defaults () ? 1:0);
-+ if (Mflg) /* absolutely sure that we do not create home dirs */
-+ mflg = 0;
-+ /*
-+ * See if we are messing with the defaults file, or creating
-+ * a new user.
-+ */
-
-- show_defaults ();
-- exit (0);
-- }
-+ if (Dflg) {
-+ if (gflg || bflg || fflg || eflg || sflg)
-+ exit (set_defaults () ? 1:0);
-
-- /*
-- * Start with a quick check to see if the user exists.
-- */
-+ show_defaults ();
-+ exit (0);
-+ }
-
-- if (getpwnam(user_name)) {
-- fprintf(stderr, "%s: user %s exists\n", Prog, user_name);
-- exit(E_NAME_IN_USE);
-- }
-+ /*
-+ * Start with a quick check to see if the user exists.
-+ */
-
-- /*
-- * Do the hard stuff - open the files, create the user entries,
-- * create the home directory, then close and update the files.
-- */
--
-- open_files ();
-+ if (getpwnam(user_name)) {
-+ if (!oflg) {
-+ fprintf(stderr, "%s: user %s exists\n", Prog, user_name);
-+ exit(E_NAME_IN_USE);
-+ } else {
-+ exit (E_SUCCESS);
-+ }
-+ }
-
-- usr_update ();
-+ /*
-+ * Do the hard stuff - open the files, create the user entries,
-+ * create the home directory, then close and update the files.
-+ */
-+
-+ open_files ();
-+
-+ /* first, seek for a valid uid to use for this user.
-+ * We do this because later we can use the uid we found as
-+ * gid too ... --rh */
-+ if (! uflg)
-+ find_new_uid ();
-+
-+ /* do we have to add a group for that user ? */
-+ if (! (nflg || gflg)) {
-+ find_new_gid();
-+ grp_add();
-+ }
-+
-+ usr_update ();
-+
-+ if (mflg) {
-+ create_home ();
-+ copy_tree (def_template, user_home, user_id, user_gid);
-+ }
-+ close_files ();
-
-- if (mflg) {
-- create_home ();
-- copy_tree (def_template, user_home, user_id, user_gid);
-- }
-- close_files ();
-- exit(E_SUCCESS);
-- /*NOTREACHED*/
-+ exit(E_SUCCESS);
-+ /*NOTREACHED*/
- }
---- shadow-970616/src/groupadd.c.rh Thu May 1 19:07:11 1997
-+++ shadow-970616/src/groupadd.c Fri Dec 12 15:36:29 1997
-@@ -61,6 +61,11 @@
- oflg = 0, /* permit non-unique group ID to be specified with -g */
- gflg = 0; /* ID value for the new group */
-
-+/* For adding "system" accounts */
-+static int system_flag = 0;
-+static int force_flag = 0;
-+#define MIN_GID 10
-+
- #ifdef NDBM
- extern int gr_dbm_mode;
- extern int sg_dbm_mode;
-@@ -75,7 +80,7 @@
- static void
- usage()
- {
-- fprintf (stderr, "usage: groupadd [-g gid [-o]] group\n");
-+ fprintf (stderr, "usage: groupadd [-g gid [-o]] [-r] [-f] group\n");
- exit (2);
- }
-
-@@ -202,8 +207,13 @@
- const struct group *grp;
- gid_t gid_min, gid_max;
-
-- gid_min = getdef_num("GID_MIN", 100);
-- gid_max = getdef_num("GID_MAX", 60000);
-+ if (!system_flag) {
-+ gid_min = getdef_num("GID_MIN", 500);
-+ gid_max = getdef_num("GID_MAX", 60000);
-+ } else {
-+ gid_min = MIN_GID;
-+ gid_max = getdef_num("GID_MIN", 499);
-+ }
-
- /*
- * Start with some GID value if the user didn't provide us with
-@@ -227,16 +237,34 @@
- while ((grp = getgrent())) {
- #endif
- if (strcmp(group_name, grp->gr_name) == 0) {
-+ if (!force_flag) {
- fprintf(stderr, "%s: name %s is not unique\n",
- Prog, group_name);
- fail_exit(9);
-+ } else {
-+ fail_exit(0);
-+ }
- }
- if (gflg && group_id == grp->gr_gid) {
-+ if (!force_flag) {
- fprintf(stderr, "%s: gid %ld is not unique\n",
- Prog, (long) group_id);
- fail_exit(4);
-+ } else {
-+ /* we invalidate the gflg and search again */
-+ gflg = 0;
-+ if (oflg)
-+ oflg = 0;
-+ /* now, start at the begining... */
-+#ifdef NO_GETGRENT
-+ gr_rewind();
-+#else
-+ setgrent();
-+#endif
-+ continue;
-+ }
- }
-- if (! gflg && grp->gr_gid >= group_id) {
-+ if (!gflg && grp->gr_gid >= group_id) {
- if (grp->gr_gid > gid_max)
- continue;
- group_id = grp->gr_gid + 1;
-@@ -298,42 +326,49 @@
- process_flags(argc, argv)
- int argc;
- char **argv;
--{
-- extern int optind;
-- extern char *optarg;
-- char *end;
-- int arg;
-+ {
-+ extern int optind;
-+ extern char *optarg;
-+ char *end;
-+ int arg;
-
-- while ((arg = getopt (argc, argv, "og:")) != EOF) {
-+ while ((arg = getopt (argc, argv, "og:rf")) != EOF) {
- switch (arg) {
-- case 'g':
-- gflg++;
-- if (! isdigit (optarg[0]))
-- usage ();
--
-- group_id = strtol (optarg, &end, 10);
-- if (*end != '\0') {
-- fprintf (stderr, "%s: invalid group %s\n",
-- Prog, optarg);
-- fail_exit (3);
-- }
-- break;
-- case 'o':
-- if (! gflg)
-- usage ();
--
-- oflg++;
-- break;
-- default:
-- usage ();
-+ case 'g':
-+ gflg++;
-+ if (! isdigit (optarg[0]))
-+ usage ();
-+
-+ group_id = strtol (optarg, &end, 10);
-+ if (*end != '\0') {
-+ fprintf (stderr, "%s: invalid group %s\n",
-+ Prog, optarg);
-+ fail_exit (3);
-+ }
-+ break;
-+ case 'o':
-+ if (! gflg)
-+ usage ();
-+
-+ oflg++;
-+ break;
-+ case 'r': /* "system" group */
-+ system_flag++;
-+ break;
-+ case 'f': /* "force" - don't exit with error if group already exist */
-+ force_flag++;
-+ break;
-+
-+ default:
-+ usage ();
- }
-- }
-- if (optind != argc - 1)
-+ }
-+ if (optind != argc - 1)
- usage ();
-
-- group_name = argv[argc - 1];
-- check_new_name ();
--}
-+ group_name = argv[argc - 1];
-+ check_new_name ();
-+ }
-
- /*
- * close_files - close all of the files that were opened
-@@ -448,8 +483,12 @@
- */
-
- if (getgrnam(group_name)) {
-+ if ( !force_flag) {
- fprintf (stderr, "%s: group %s exists\n", Prog, group_name);
- exit(9);
-+ } else {
-+ exit(0);
-+ }
- }
-
- /*
+++ /dev/null
---- shadow-970616/configure.in.ewt Thu Nov 13 16:43:25 1997
-+++ shadow-970616/configure.in Thu Nov 13 16:43:34 1997
-@@ -38,7 +38,8 @@
- AC_CHECK_HEADERS(gshadow.h shadow.h lastlog.h)
-
- AC_EGREP_HEADER(ut_host, utmp.h, AC_DEFINE(UT_HOST))
--AC_EGREP_HEADER(ut_name, utmp.h, AC_DEFINE(UT_USER, ut_name))
-+AC_EGREP_HEADER(ut_name, utmp.h, AC_DEFINE(UT_USER, ut_user),
-+ AC_EGREP_HEADER(ut_name, utmp.h, AC_DEFINE(UT_USER, ut_name)))
- AC_EGREP_HEADER(ll_host, lastlog.h, AC_DEFINE(HAVE_LL_HOST))
-
- dnl Checks for typedefs, structures, and compiler characteristics.
+++ /dev/null
-# *REQUIRED*
-# Directory where mailboxes reside, _or_ name of file, relative to the
-# home directory. If you _do_ define both, MAIL_DIR takes precedence.
-# QMAIL_DIR is for Qmail
-#
-#QMAIL_DIR Maildir
-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
-
-#
-# Min/max values for automatic uid selection in useradd
-#
-UID_MIN 500
-UID_MAX 60000
-
-#
-# Min/max values for automatic gid selection in groupadd
-#
-GID_MIN 500
-GID_MAX 60000
-
-#
-# Require password before chfn/chsh can make any changes.
-#
-CHFN_AUTH yes
-
-#
-# Don't allow users to change their "real name" using chfn.
-#
-CHFN_RESTRICT yes
-
-#
-# 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
-
-#
-# If useradd should create home directories for users by default
-# On RH systems, we do. This option is ORed with the -m flag on
-# useradd command line.
-#
-CREATE_HOME yes
-
+++ /dev/null
-# useradd defaults file
-GROUP=100
-HOME=/home
-INACTIVE=-1
-EXPIRE=
-SHELL=/bin/bash
-SKEL=/etc/skel
+++ /dev/null
-Summary: Shadow password file utilities for Linux
-Name: shadow-utils
-Version: 970616
-Release: 11
-Source0: ftp://ftp.ists.pwr.wroc.pl/pub/linux/shadow/beta/shadow-970616.tar.gz
-Source1: shadow-970616.login.defs
-Source2: shadow-970616.useradd
-Patch0: shadow-970616-rh.patch
-Patch1: shadow-970616-utuser.patch
-Patch2: shadow-970616-glibc.patch
-Patch3: shadow-970616-fix.patch
-Copyright: BSD
-Group: Utilities/System
-BuildRoot: /var/tmp/shadow-utils
-Obsoletes: adduser
-
-%changelog
-* Tue Dec 30 1997 Cristian Gafton <gafton@redhat.com>
-- updated the spec file
-- updated the patch so that new accounts created on shadowed system won't
- confuse pam_pwdb anymore ('!!' default password instead on '!')
-- fixed a bug that made useradd -G segfault
-- the check for the ut_user is now patched into configure
-
-* Thu Nov 13 1997 Erik Troan <ewt@redhat.com>
-- added patch for XOPEN oddities in glibc headers
-- check for ut_user before checking for ut_name -- this works around some
- confusion on glibc 2.1 due to the utmpx header not defining the ut_name
- compatibility stuff. I used a gross sed hack here because I couldn't make
- automake work properly on the sparc (this could be a glibc 2.0.99 problem
- though). The utuser patch works fine, but I don't apply it.
-- sleep after running autoconf
-
-* Thu Nov 06 1997 Cristian Gafton <gafton@redhat.com>
-- added forgot lastlog command to the spec file
-
-* Mon Oct 26 1997 Cristian Gafton <gafton@redhat.com>
-- obsoletes adduser
-
-* Thu Oct 23 1997 Cristian Gafton <gafton@redhat.com>
-- modified groupadd; updated the patch
-
-* Fri Sep 12 1997 Cristian Gafton <gafton@redhat.com>
-- updated to 970616
-- changed useradd to meet RH specs
-- fixed some bugs
-
-* Tue Jun 17 1997 Erik Troan <ewt@redhat.com>
-- built against glibc
-
-%description
-This package includes the programs necessary to convert standard
-UNIX password files to the shadow password format, as well as
-programs for command-line management of the user's accounts.
- - 'pwconv' converts everything to the shadow password format.
- - 'pwunconv' unconverts from shadow passwords, generating a file
- in the current directory called npasswd that is a standard UNIX
- password file.
- - 'pwck' checks the integrity of the password and shadow files.
- - 'lastlog' prints out the last login times of all users.
- - 'useradd', 'userdel' and 'usermod' for accounts management.
- - 'groupadd', 'groupdel' and 'groupmod' for group management.
-
-A number of man pages are also included that relate to these utilities,
-and shadow passwords in general.
-
-%prep
-# This is just a few of the core utilities from the shadow suite...
-# packaged up for use w/PAM
-%setup -n shadow-970616
-%patch -p1 -b .rh
-#%patch1 -p1 -b .utname
-%patch2 -p1 -b .xopen
-%patch3 -p1 -b .fix
-
-%build
-autoheader
-autoconf
-sleep 2
-CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=/usr
-make
-
-%install
-rm -rf $RPM_BUILD_ROOT
-mkdir -p $RPM_BUILD_ROOT/usr
-make install prefix=/$RPM_BUILD_ROOT/usr
-mkdir -p $RPM_BUILD_ROOT/etc/default
-install -m 0600 -o root $RPM_SOURCE_DIR/shadow-970616.useradd $RPM_BUILD_ROOT/etc/default/useradd
-install -m 0644 -o root $RPM_SOURCE_DIR/shadow-970616.login.defs $RPM_BUILD_ROOT/etc/login.defs
-install -m 0500 -o root src/pwconv $RPM_BUILD_ROOT/usr/sbin
-install -m 0500 -o root src/pwunconv $RPM_BUILD_ROOT/usr/sbin
-ln -s pwconv $RPM_BUILD_ROOT/usr/sbin/pwconv5
-install -m 0644 -o root man/pw*conv.8 $RPM_BUILD_ROOT/usr/man/man8
-ln -s pwconv.8 $RPM_BUILD_ROOT/usr/man/man8/pwconv5.8
-ln -s useradd $RPM_BUILD_ROOT/usr/sbin/adduser
-ln -s useradd.8 $RPM_BUILD_ROOT/usr/man/man8/adduser.8
-
-%files
-%doc doc/ANNOUNCE doc/CHANGES doc/HOWTO
-%doc doc/LICENSE doc/README doc/README.linux
-%dir /etc/default
-/usr/sbin/adduser
-/usr/sbin/useradd
-/usr/sbin/usermod
-/usr/sbin/userdel
-/usr/sbin/groupadd
-/usr/sbin/groupdel
-/usr/sbin/groupmod
-/usr/sbin/grpck
-/usr/sbin/pwck
-/usr/bin/chage
-/usr/bin/gpasswd
-/usr/sbin/lastlog
-# /usr/sbin/vipw
-/usr/sbin/chpasswd
-/usr/sbin/newusers
-/usr/sbin/pw*conv*
-/usr/man/man1/chage.1
-/usr/man/man1/gpasswd.1
-/usr/man/man3/shadow.3
-/usr/man/man5/shadow.5
-/usr/man/man8/adduser.8
-/usr/man/man8/chpasswd.8
-/usr/man/man8/group*.8
-/usr/man/man8/user*.8
-/usr/man/man8/pwck.8
-/usr/man/man8/grpck.8
-/usr/man/man8/newusers.8
-# /usr/man/man8/shadowconfig.8
-/usr/man/man8/pw*conv*.8
-# /usr/man/man8/vipw.8
-/usr/man/man8/lastlog.8
-%config /etc/login.defs
-%config /etc/default/useradd
-
-%clean
-rm -rf $RPM_BUILD_ROOT
+++ /dev/null
-# shadow-utils.spec generated automatically from shadow-utils.spec.in
-# $Id: shadow-utils.spec.in,v 1.3 2000/09/02 18:40:43 marekm Exp $
-
-# FIXME - this is out of date, please update for current Red Hat
-
-Summary: Shadow password file utilities for Linux
-Name: shadow-utils
-Version: @VERSION@
-Release: 1
-Copyright: Free
-Group: Utilities/System
-Source: ftp://ftp.ists.pwr.wroc.pl/pub/linux/shadow/shadow-@VERSION@.tar.gz
-BuildRoot: /var/tmp/shadow-utils
-Packager: Timo Karjalainen <timok@iki.fi>
-# Obsoletes: adduser
-
-%description
-This package includes the programs necessary to convert traditional
-V7 UNIX password files to the SVR4 shadow password format and additional
-tools to work with shadow passwords.
- - 'pwconv' converts everything to the shadow password format.
- - 'pwunconv' converts back to non-shadow passwords.
- - 'pwck' checks the integrity of the password and shadow files.
- - 'lastlog' prints out the last login times of all users.
- - 'useradd', 'userdel', 'usermod' to manage user accounts.
- - 'groupadd', 'groupdel', 'groupmod' to manage groups.
-
-A number of man pages are also included that relate to these utilities,
-and shadow passwords in general.
-
-%changelog
-
-* Sun Dec 14 1997 Marek Michalkiewicz <marekm@piast.t19.ds.pwr.wroc.pl>
-
-- Lots of changes, see doc/CHANGES for more details
-
-* Sun Jun 08 1997 Timo Karjalainen <timok@iki.fi>
-
-- Initial release
-
-%prep
-# This is just a few of the core utilities from the shadow suite...
-# packaged up for use w/PAM
-%setup -n shadow-@VERSION@
-
-%build
-# shared lib support is untested, so...
-CFLAGS="$RPM_OPT_FLAGS" ./configure --disable-shared --prefix=/usr --exec-prefix=/usr
-make
-
-%install
-if [ -d $RPM_BUILD_ROOT ] ; then
- rm -rf $RPM_BUILD_ROOT
-fi
-mkdir -p $RPM_BUILD_ROOT/usr
-# neato trick, heh ? :-)
-./configure --prefix=$RPM_BUILD_ROOT/usr
-make install
-mkdir -p $RPM_BUILD_ROOT/etc/default
-
-# FIXME
-#install -m 0600 -o root $RPM_SOURCE_DIR/shadow-970616.useradd $RPM_BUILD_ROOT/etc/default/useradd
-#install -m 0644 -o root $RPM_SOURCE_DIR/shadow-970616.login.defs $RPM_BUILD_ROOT/etc/login.defs
-#ln -s useradd $RPM_BUILD_ROOT/usr/sbin/adduser
-#ln -s useradd.8 $RPM_BUILD_ROOT/usr/man/man8/adduser.8
-
-#make prefix=$RPM_BUILD_ROOT/usr exec_prefix=$RPM_BUILD_ROOT/usr install
-#touch $RPM_BUILD_ROOT/etc/{login.defs,default/useradd}
-#chmod 640 $RPM_BUILD_ROOT/etc/{login.defs,default/useradd}
-#chown root $RPM_BUILD_ROOT/etc/{login.defs,default/useradd}
-#chgrp root $RPM_BUILD_ROOT/etc/{login.defs,default/useradd}
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%files
-%doc doc/ANNOUNCE doc/CHANGES doc/HOWTO
-%doc doc/LICENSE doc/README doc/README.linux
-%dir /etc/default
-%config /etc/default/useradd
-# %config /etc/limits
-# %config /etc/login.access
-%config /etc/login.defs
-# %config /etc/limits
-# %config /etc/porttime
-# %config /etc/securetty
-# %config /etc/shells
-# %config /etc/suauth
-# /bin/login
-# /bin/su
-/usr/bin/chage
-# /usr/bin/chfn
-# /usr/bin/chsh
-# /usr/bin/expiry
-# /usr/bin/faillog
-/usr/bin/gpasswd
-/usr/bin/lastlog
-# /usr/bin/newgrp
-# /usr/bin/passwd
-# /usr/bin/sg
-/usr/man/man1/chage.1
-# /usr/man/man1/chfn.1
-# /usr/man/man1/chsh.1
-/usr/man/man1/gpasswd.1
-# /usr/man/man1/login.1
-# /usr/man/man1/passwd.1
-# /usr/man/man1/sg.1
-# /usr/man/man1/su.1
-/usr/man/man3/shadow.3
-# /usr/man/man5/faillog.5
-# /usr/man/man5/limits.5
-# /usr/man/man5/login.access.5
-# /usr/man/man5/login.defs.5
-# /usr/man/man5/passwd.5
-# /usr/man/man5/porttime.5
-/usr/man/man5/shadow.5
-# /usr/man/man5/suauth.5
-# /usr/man/man8/adduser.8
-/usr/man/man8/chpasswd.8
-# /usr/man/man8/faillog.8
-/usr/man/man8/groupadd.8
-/usr/man/man8/groupdel.8
-/usr/man/man8/groupmod.8
-/usr/man/man8/grpck.8
-/usr/man/man8/lastlog.8
-# /usr/man/man8/logoutd.8
-/usr/man/man8/newusers.8
-/usr/man/man8/pwck.8
-/usr/man/man8/pwconv.8
-# /usr/man/man8/shadowconfig.8
-/usr/man/man8/useradd.8
-/usr/man/man8/userdel.8
-/usr/man/man8/usermod.8
-# /usr/man/man8/vigr.8
-# /usr/man/man8/vipw.8
-# /usr/sbin/adduser
-/usr/sbin/chpasswd
-/usr/sbin/groupadd
-/usr/sbin/groupdel
-/usr/sbin/groupmod
-/usr/sbin/grpck
-/usr/sbin/grpconv
-/usr/sbin/grpunconv
-# /usr/sbin/logoutd
-/usr/sbin/newusers
-/usr/sbin/pwck
-/usr/sbin/pwconv
-/usr/sbin/pwunconv
-# /usr/sbin/shadowconfig
-/usr/sbin/useradd
-/usr/sbin/userdel
-/usr/sbin/usermod
-# /usr/sbin/vigr
-# /usr/sbin/vipw
--- /dev/null
+# shadow-utils.spec generated automatically from shadow-utils.spec.in
+# $Id: shadow-utils.spec.in,v 1.2 2000/10/10 15:29:55 kloczek Exp $
+
+Summary: Shadow password file utilities for Linux
+Name: shadow-utils
+Version: @VERSION@
+Release: 1
+Copyright: Free
+Group: Utilities/System
+Source: ftp://ftp.pld.org.pl/software/shadow/%{name}-%{version}.tar.gz
+BuildRoot: %{_tmppath}/%{name}-%{version}-root
+Obsoletes: adduser
+
+%description
+This package includes the programs necessary to convert traditional
+V7 UNIX password files to the SVR4 shadow password format and additional
+tools to work with shadow passwords.
+ - 'pwconv' converts everything to the shadow password format.
+ - 'pwunconv' converts back to non-shadow passwords.
+ - 'pwck' checks the integrity of the password and shadow files.
+ - 'lastlog' prints out the last login times of all users.
+ - 'useradd', 'userdel', 'usermod' to manage user accounts.
+ - 'groupadd', 'groupdel', 'groupmod' to manage groups.
+
+A number of man pages are also included that relate to these utilities,
+and shadow passwords in general.
+
+%prep
+%setup
+
+%build
+%configure \
+ --disable-shared \
+ --prefix=/usr \
+ --exec-prefix=/usr
+make
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+make install DESTDIR=$RPM_BUILD_ROOT
+
+mkdir -p $RPM_BUILD_ROOT/etc/default
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%doc doc/ANNOUNCE doc/CHANGES doc/HOWTO
+%doc doc/LICENSE doc/README doc/README.linux
+%dir /etc/default
+%config /etc/default/useradd
+%config /etc/login.defs
+%{_bindir}/chage
+%{_bindir}/gpasswd
+%{_bindir}/lastlog
+%{_mandir}/man1/chage.1*
+%{_mandir}/man1/gpasswd.1*
+%{_mandir}/man3/shadow.3*
+%{_mandir}/man5/shadow.5*
+%{_mandir}/man8/chpasswd.8*
+%{_mandir}/man8/groupadd.8*
+%{_mandir}/man8/groupdel.8*
+%{_mandir}/man8/groupmod.8*
+%{_mandir}/man8/grpck.8*
+%{_mandir}/man8/lastlog.8*
+%{_mandir}/man8/newusers.8*
+%{_mandir}/man8/pwck.8*
+%{_mandir}/man8/pwconv.8*
+%{_mandir}/man8/useradd.8*
+%{_mandir}/man8/userdel.8*
+%{_mandir}/man8/usermod.8*
+%{_sbindir}/chpasswd
+%{_sbindir}/groupadd
+%{_sbindir}/groupdel
+%{_sbindir}/groupmod
+%{_sbindir}/grpck
+%{_sbindir}/grpconv
+%{_sbindir}/grpunconv
+%{_sbindir}/newusers
+%{_sbindir}/pwck
+%{_sbindir}/pwconv
+%{_sbindir}/pwunconv
+%{_sbindir}/useradd
+%{_sbindir}/userdel
+%{_sbindir}/usermod
+
+%changelog
+* Sun Dec 14 1997 Marek Michalkiewicz <marekm@piast.t19.ds.pwr.wroc.pl>
+- Lots of changes, see doc/CHANGES for more details
+
+* Sun Jun 08 1997 Timo Karjalainen <timok@iki.fi>
+- Initial release
# and installation would be much simpler (just two directories,
# $prefix/bin and $prefix/sbin, no install-data hacks...)
-bin_PROGRAMS = login \
- su
-ubin_PROGRAMS = faillog lastlog \
- chage chfn chsh expiry gpasswd newgrp passwd
+bin_PROGRAMS = login su
+ubin_PROGRAMS = faillog lastlog chage chfn chsh expiry gpasswd newgrp passwd
usbin_PROGRAMS = chpasswd dpasswd groupadd groupdel groupmod \
- logoutd mkpasswd newusers \
- useradd userdel usermod grpck pwck vipw \
- grpconv grpunconv pwconv pwunconv
+ logoutd mkpasswd newusers useradd userdel usermod grpck \
+ pwck vipw grpconv grpunconv pwconv pwunconv
EXTRA_DIST = shadowconfig.sh
LDADD = ${shlibs} ../libmisc/libmisc.a ../lib/libshadow.a @INTLLIBS@ @LIBCRYPT@ @LIBTCFS@ @LIBSKEY@ @LIBMD@
INCLUDES = -I${top_srcdir}/lib -I$(top_srcdir)/libmisc
-chfn_LDADD = ${LDADD} @LIBPAM@
-chsh_LDADD = ${LDADD} @LIBPAM@
-login_LDADD = ${LDADD} @LIBPAM@
-passwd_LDADD = ${LDADD} @LIBCRACK@ @LIBPAM@
-su_LDADD = ${LDADD} @LIBPAM@
-
+chfn_LDADD = $(LDADD) @LIBPAM@
+chsh_LDADD = $(LDADD) @LIBPAM@
+login_LDADD = $(LDADD) @LIBPAM@
+passwd_LDADD = $(LDADD) @LIBCRACK@ @LIBPAM@
+su_LDADD = $(LDADD) @LIBPAM@
+chage_LDADD = $(LDADD) @LIBPAM@
+chpasswd_LDADD = $(LDADD) @LIBPAM@
+groupadd_LDADD = $(LDADD) @LIBPAM@
+groupdel_LDADD = $(LDADD) @LIBPAM@
+groupmod_LDADD = $(LDADD) @LIBPAM@
+newusers_LDADD = $(LDADD) @LIBPAM@
+useradd_LDADD = $(LDADD) @LIBPAM@
+userdel_LDADD = $(LDADD) @LIBPAM@
+usermod_LDADD = $(LDADD) @LIBPAM@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
+# Makefile.in generated automatically by automake 1.4a from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_FLAG =
transform = @program_transform_name@
NORMAL_INSTALL = :
INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
-LD = @LD@
LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@
LIBMD = @LIBMD@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
-NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
# and installation would be much simpler (just two directories,
# $prefix/bin and $prefix/sbin, no install-data hacks...)
-bin_PROGRAMS = login su
-
-ubin_PROGRAMS = faillog lastlog chage chfn chsh expiry gpasswd newgrp passwd
-
-usbin_PROGRAMS = chpasswd dpasswd groupadd groupdel groupmod logoutd mkpasswd newusers useradd userdel usermod grpck pwck vipw grpconv grpunconv pwconv pwunconv
+bin_PROGRAMS = login su
+ubin_PROGRAMS = faillog lastlog chage chfn chsh expiry gpasswd newgrp passwd
+usbin_PROGRAMS = chpasswd dpasswd groupadd groupdel groupmod logoutd mkpasswd newusers useradd userdel usermod grpck pwck vipw grpconv grpunconv pwconv pwunconv
EXTRA_DIST = shadowconfig.sh
LDADD = ${shlibs} ../libmisc/libmisc.a ../lib/libshadow.a @INTLLIBS@ @LIBCRYPT@ @LIBTCFS@ @LIBSKEY@ @LIBMD@
INCLUDES = -I${top_srcdir}/lib -I$(top_srcdir)/libmisc
-chfn_LDADD = ${LDADD} @LIBPAM@
-chsh_LDADD = ${LDADD} @LIBPAM@
-login_LDADD = ${LDADD} @LIBPAM@
-passwd_LDADD = ${LDADD} @LIBCRACK@ @LIBPAM@
-su_LDADD = ${LDADD} @LIBPAM@
+chfn_LDADD = $(LDADD) @LIBPAM@
+chsh_LDADD = $(LDADD) @LIBPAM@
+login_LDADD = $(LDADD) @LIBPAM@
+passwd_LDADD = $(LDADD) @LIBCRACK@ @LIBPAM@
+su_LDADD = $(LDADD) @LIBPAM@
+chage_LDADD = $(LDADD) @LIBPAM@
+chpasswd_LDADD = $(LDADD) @LIBPAM@
+groupadd_LDADD = $(LDADD) @LIBPAM@
+groupdel_LDADD = $(LDADD) @LIBPAM@
+groupmod_LDADD = $(LDADD) @LIBPAM@
+newusers_LDADD = $(LDADD) @LIBPAM@
+useradd_LDADD = $(LDADD) @LIBPAM@
+userdel_LDADD = $(LDADD) @LIBPAM@
+usermod_LDADD = $(LDADD) @LIBPAM@
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
lastlog_LDFLAGS =
chage_SOURCES = chage.c
chage_OBJECTS = chage.o
-chage_LDADD = $(LDADD)
chage_DEPENDENCIES = ../lib/libshadow.la ../libmisc/libmisc.a \
../lib/libshadow.a
chage_LDFLAGS =
passwd_LDFLAGS =
chpasswd_SOURCES = chpasswd.c
chpasswd_OBJECTS = chpasswd.o
-chpasswd_LDADD = $(LDADD)
chpasswd_DEPENDENCIES = ../lib/libshadow.la ../libmisc/libmisc.a \
../lib/libshadow.a
chpasswd_LDFLAGS =
dpasswd_LDFLAGS =
groupadd_SOURCES = groupadd.c
groupadd_OBJECTS = groupadd.o
-groupadd_LDADD = $(LDADD)
groupadd_DEPENDENCIES = ../lib/libshadow.la ../libmisc/libmisc.a \
../lib/libshadow.a
groupadd_LDFLAGS =
groupdel_SOURCES = groupdel.c
groupdel_OBJECTS = groupdel.o
-groupdel_LDADD = $(LDADD)
groupdel_DEPENDENCIES = ../lib/libshadow.la ../libmisc/libmisc.a \
../lib/libshadow.a
groupdel_LDFLAGS =
groupmod_SOURCES = groupmod.c
groupmod_OBJECTS = groupmod.o
-groupmod_LDADD = $(LDADD)
groupmod_DEPENDENCIES = ../lib/libshadow.la ../libmisc/libmisc.a \
../lib/libshadow.a
groupmod_LDFLAGS =
mkpasswd_LDFLAGS =
newusers_SOURCES = newusers.c
newusers_OBJECTS = newusers.o
-newusers_LDADD = $(LDADD)
newusers_DEPENDENCIES = ../lib/libshadow.la ../libmisc/libmisc.a \
../lib/libshadow.a
newusers_LDFLAGS =
useradd_SOURCES = useradd.c
useradd_OBJECTS = useradd.o
-useradd_LDADD = $(LDADD)
useradd_DEPENDENCIES = ../lib/libshadow.la ../libmisc/libmisc.a \
../lib/libshadow.a
useradd_LDFLAGS =
userdel_SOURCES = userdel.c
userdel_OBJECTS = userdel.o
-userdel_LDADD = $(LDADD)
userdel_DEPENDENCIES = ../lib/libshadow.la ../libmisc/libmisc.a \
../lib/libshadow.a
userdel_LDFLAGS =
usermod_SOURCES = usermod.c
usermod_OBJECTS = usermod.o
-usermod_LDADD = $(LDADD)
usermod_DEPENDENCIES = ../lib/libshadow.la ../libmisc/libmisc.a \
../lib/libshadow.a
usermod_LDFLAGS =
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = tar
+TAR = gtar
GZIP_ENV = --best
SOURCES = login.c su.c groups.c id.c sulogin.c faillog.c lastlog.c chage.c chfn.c chsh.c expiry.c gpasswd.c newgrp.c passwd.c chpasswd.c dpasswd.c groupadd.c groupdel.c groupmod.c logoutd.c mkpasswd.c newusers.c useradd.c userdel.c usermod.c grpck.c pwck.c vipw.c grpconv.c grpunconv.c pwconv.c pwunconv.c
OBJECTS = login.o su.o groups.o id.o sulogin.o faillog.o lastlog.o chage.o chfn.o chsh.o expiry.o gpasswd.o newgrp.o passwd.o chpasswd.o dpasswd.o groupadd.o groupdel.o groupmod.o logoutd.o mkpasswd.o newusers.o useradd.o userdel.o usermod.o grpck.o pwck.o vipw.o grpconv.o grpunconv.o pwconv.o pwunconv.o
$(mkinstalldirs) $(DESTDIR)$(bindir)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
if test -f $$p; then \
- echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
- $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+ echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
+ $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
else :; fi; \
done
$(mkinstalldirs) $(DESTDIR)$(ubindir)
@list='$(ubin_PROGRAMS)'; for p in $$list; do \
if test -f $$p; then \
- echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(ubindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
- $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(ubindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+ echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(ubindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
+ $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(ubindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
else :; fi; \
done
$(mkinstalldirs) $(DESTDIR)$(usbindir)
@list='$(usbin_PROGRAMS)'; for p in $$list; do \
if test -f $$p; then \
- echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(usbindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
- $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(usbindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+ echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(usbindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
+ $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(usbindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
else :; fi; \
done
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$/$$file $(distdir)/$$file; \
+ cp -pr $$d/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
-chage.o: chage.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/pwio.h \
- ../lib/shadowio.h
-chfn.o: chfn.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/pwio.h \
- ../lib/getdef.h ../lib/pwauth.h
-chpasswd.o: chpasswd.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/pwio.h \
- ../lib/shadowio.h
-chsh.o: chsh.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/pwio.h \
- ../lib/getdef.h ../lib/pwauth.h
-dpasswd.o: dpasswd.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/dialup.h
-expiry.o: expiry.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h
-faillog.o: faillog.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/faillog.h
-gpasswd.o: gpasswd.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/groupio.h \
- ../lib/sgroupio.h
-groupadd.o: groupadd.c ../config.h ../lib/rcsid.h ../lib/defines.h \
- ../lib/gshadow_.h ../lib/prototypes.h ../libmisc/chkname.h \
- ../lib/getdef.h ../lib/groupio.h ../lib/sgroupio.h
-groupdel.o: groupdel.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/groupio.h \
- ../lib/sgroupio.h
-groupmod.o: groupmod.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../libmisc/chkname.h \
- ../lib/groupio.h ../lib/sgroupio.h
-groups.o: groups.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h
-grpck.o: grpck.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../libmisc/chkname.h \
- ../lib/commonio.h ../lib/groupio.h ../lib/sgroupio.h
-grpconv.o: grpconv.c ../config.h ../lib/prototypes.h ../lib/defines.h \
- ../lib/gshadow_.h ../lib/groupio.h ../lib/sgroupio.h \
- ../lib/rcsid.h
-grpunconv.o: grpunconv.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/groupio.h \
- ../lib/sgroupio.h
-id.o: id.c ../config.h ../lib/rcsid.h ../lib/defines.h ../lib/gshadow_.h
-lastlog.o: lastlog.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h
-login.o: login.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/faillog.h \
- ../libmisc/failure.h ../lib/pwauth.h ../lib/getdef.h \
- ../lib/dialchk.h
-logoutd.o: logoutd.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h
-mkpasswd.o: mkpasswd.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h
-newgrp.o: newgrp.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/getdef.h
-newusers.o: newusers.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/getdef.h \
- ../lib/pwio.h ../lib/groupio.h ../lib/shadowio.h
-passwd.o: passwd.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/pwauth.h \
- ../lib/shadowio.h ../lib/pwio.h ../lib/getdef.h
-pwck.o: pwck.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../libmisc/chkname.h \
- ../lib/commonio.h ../lib/pwio.h ../lib/shadowio.h
-pwconv.o: pwconv.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/pwio.h \
- ../lib/shadowio.h ../lib/getdef.h
-pwunconv.o: pwunconv.c ../config.h ../lib/rcsid.h ../lib/defines.h \
- ../lib/gshadow_.h ../lib/prototypes.h ../lib/pwio.h \
- ../lib/shadowio.h
-sulogin.o: sulogin.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/getdef.h \
- ../lib/pwauth.h
-su.o: su.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/pwauth.h \
- ../lib/getdef.h
-useradd.o: useradd.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../libmisc/chkname.h \
- ../lib/pwauth.h ../lib/faillog.h ../lib/groupio.h \
- ../lib/sgroupio.h ../lib/pwio.h ../lib/shadowio.h \
- ../lib/getdef.h
-userdel.o: userdel.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../lib/getdef.h \
- ../lib/pwauth.h ../lib/groupio.h ../lib/pwio.h \
- ../lib/shadowio.h ../lib/sgroupio.h
-usermod.o: usermod.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
- ../lib/defines.h ../lib/gshadow_.h ../libmisc/chkname.h \
- ../lib/faillog.h ../lib/pwauth.h ../lib/getdef.h \
- ../lib/groupio.h ../lib/sgroupio.h ../lib/pwio.h \
- ../lib/shadowio.h
-vipw.o: vipw.c ../config.h ../lib/rcsid.h ../lib/defines.h \
- ../lib/gshadow_.h ../lib/prototypes.h ../lib/pwio.h \
- ../lib/shadowio.h ../lib/groupio.h ../lib/sgroupio.h
info-am:
info: info-am
all-am: Makefile $(PROGRAMS) $(HEADERS)
all-redirect: all-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
installdirs:
$(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(ubindir) \
$(DESTDIR)$(usbindir)
#include <config.h>
#include "rcsid.h"
-RCSID(PKG_VER "$Id: chage.c,v 1.18 2000/09/02 18:40:43 marekm Exp $")
+RCSID(PKG_VER "$Id: chage.c,v 1.19 2000/10/09 18:39:50 kloczek Exp $")
#include <sys/types.h>
#include <stdio.h>
#include <pwd.h>
+#ifdef USE_PAM
+#include <security/pam_appl.h>
+#include <security/pam_misc.h>
+#include <pwd.h>
+#endif /* USE_PAM */
+
/*
* chage depends on some form of aging being present. It makes no sense
* to have a program that has no input.
#endif
}
+#ifdef USE_PAM
+static struct pam_conv conv = {
+ misc_conv,
+ NULL
+};
+#endif /* USE_PAM */
+
/*
* chage - change a user's password aging information
*
const struct passwd *pw;
struct passwd pwent;
char name[BUFSIZ];
+#ifdef USE_PAM
+ pam_handle_t *pamh = NULL;
+ struct passwd *pampw;
+ int retval;
+#endif
sanitize_env();
setlocale(LC_ALL, "");
Prog = Basename(argv[0]);
+#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 (1);
+ }
+#endif /* USE_PAM */
+
OPENLOG("chage");
#ifdef NDBM
#ifdef SHADOWPWD
}
cleanup(2);
SYSLOG((LOG_INFO, AGE_CHANGED, 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 (1);
+ }
+ }
+
+ if (retval == PAM_SUCCESS)
+ pam_end(pamh, PAM_SUCCESS);
+#endif /* USE_PAM */
+
closelog();
exit(0);
/*NOTREACHED*/
#include <config.h>
#include "rcsid.h"
-RCSID(PKG_VER "$Id: chpasswd.c,v 1.10 2000/08/26 18:27:18 marekm Exp $")
+RCSID(PKG_VER "$Id: chpasswd.c,v 1.12 2000/10/09 19:02:20 kloczek Exp $")
#include <stdio.h>
#include "prototypes.h"
#include "shadowio.h"
#endif
+#ifdef USE_PAM
+#include <security/pam_appl.h>
+#include <security/pam_misc.h>
+#include <pwd.h>
+#endif /* USE_PAM */
+
static char *Prog;
static int eflg = 0;
#ifdef SHADOWPWD
exit(1);
}
+#ifdef USE_PAM
+static struct pam_conv conv = {
+ misc_conv,
+ NULL
+};
+#endif /* USE_PAM */
+
int
main(int argc, char **argv)
{
int line = 0;
long now = time ((long *) 0) / (24L*3600L);
int ok;
+#ifdef USE_PAM
+ pam_handle_t *pamh = NULL;
+ struct passwd *pampw;
+ int retval;
+#endif
Prog = Basename(argv[0]);
bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);
+#ifdef USE_PAM
+ retval = PAM_SUCCESS;
+
+ pampw = getpwuid(getuid());
+ if (pampw == NULL) {
+ retval = PAM_USER_UNKNOWN;
+ }
+
+ if (retval == PAM_SUCCESS) {
+ retval = pam_start("shadow", 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 (1);
+ }
+#endif /* USE_PAM */
+
/* XXX - use getopt() */
if (!(argc == 1 || (argc == 2 && !strcmp(argv[1], "-e"))))
usage();
}
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 */
+
return (0);
}
#include <config.h>
#include "rcsid.h"
-RCSID(PKG_VER "$Id: groupadd.c,v 1.16 2000/09/02 18:40:43 marekm Exp $")
+RCSID(PKG_VER "$Id: groupadd.c,v 1.18 2000/10/09 19:02:20 kloczek Exp $")
#include <sys/types.h>
#include <stdio.h>
#ifdef SHADOWGRP
#include "sgroupio.h"
+#ifdef USE_PAM
+#include <security/pam_appl.h>
+#include <security/pam_misc.h>
+#include <pwd.h>
+#endif /* USE_PAM */
+
static int is_shadow_grp;
#endif
exit (code);
}
+#ifdef USE_PAM
+static struct pam_conv conv = {
+ misc_conv,
+ NULL
+};
+#endif /* USE_PAM */
+
/*
* main - groupadd command
*/
int
main(int argc, char **argv)
{
+#ifdef USE_PAM
+ pam_handle_t *pamh = NULL;
+ struct passwd *pampw;
+ int retval;
+#endif
/*
* Get my name so that I can use it to report errors.
bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);
+#ifdef USE_PAM
+ retval = PAM_SUCCESS;
+
+ pampw = getpwuid(getuid());
+ if (pampw == NULL) {
+ retval = PAM_USER_UNKNOWN;
+ }
+
+ if (retval == PAM_SUCCESS) {
+ retval = pam_start("shadow", 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 (1);
+ }
+#endif /* USE_PAM */
+
OPENLOG(Prog);
#ifdef SHADOWGRP
grp_update();
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 */
exit(E_SUCCESS);
/*NOTREACHED*/
}
#include <config.h>
#include "rcsid.h"
-RCSID(PKG_VER "$Id: groupdel.c,v 1.12 2000/09/02 18:40:43 marekm Exp $")
+RCSID(PKG_VER "$Id: groupdel.c,v 1.14 2000/10/09 19:02:20 kloczek Exp $")
#include <sys/types.h>
#include <stdio.h>
#include <fcntl.h>
#include <pwd.h>
+#ifdef USE_PAM
+#include <security/pam_appl.h>
+#include <security/pam_misc.h>
+#include <pwd.h>
+#endif /* USE_PAM */
+
#include "prototypes.h"
#include "defines.h"
exit(E_GROUP_BUSY);
}
+#ifdef USE_PAM
+static struct pam_conv conv = {
+ misc_conv,
+ NULL
+};
+#endif /* USE_PAM */
+
/*
* main - groupdel command
*
main(int argc, char **argv)
{
struct group *grp;
+#ifdef USE_PAM
+ pam_handle_t *pamh = NULL;
+ struct passwd *pampw;
+ int retval;
+#endif
/*
* Get my name so that I can use it to report errors.
bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);
+#ifdef USE_PAM
+ retval = PAM_SUCCESS;
+
+ pampw = getpwuid(getuid());
+ if (pampw == NULL) {
+ retval = PAM_USER_UNKNOWN;
+ }
+
+ if (retval == PAM_SUCCESS) {
+ retval = pam_start("shadow", 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 (1);
+ }
+#endif /* USE_PAM */
+
if (argc != 2)
usage ();
grp_update ();
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 */
exit(errors == 0 ? E_SUCCESS : E_GRP_UPDATE);
/*NOTREACHED*/
}
#include <config.h>
#include "rcsid.h"
-RCSID(PKG_VER "$Id: groupmod.c,v 1.14 2000/09/02 18:40:44 marekm Exp $")
+RCSID(PKG_VER "$Id: groupmod.c,v 1.16 2000/10/09 19:02:20 kloczek Exp $")
#include <sys/types.h>
#include <stdio.h>
#include <ctype.h>
#include <fcntl.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"
#endif /* SHADOWGRP */
}
+#ifdef USE_PAM
+static struct pam_conv conv = {
+ misc_conv,
+ NULL
+};
+#endif /* USE_PAM */
+
/*
* main - groupmod command
*
main(int argc, char **argv)
{
struct group *grp;
+#ifdef USE_PAM
+ pam_handle_t *pamh = NULL;
+ struct passwd *pampw;
+ int retval;
+#endif
/*
* Get my name so that I can use it to report errors.
bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);
+#ifdef USE_PAM
+ retval = PAM_SUCCESS;
+
+ pampw = getpwuid(getuid());
+ if (pampw == NULL) {
+ retval = PAM_USER_UNKNOWN;
+ }
+
+ if (retval == PAM_SUCCESS) {
+ retval = pam_start("shadow", 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 (1);
+ }
+#endif /* USE_PAM */
+
OPENLOG(Prog);
#ifdef SHADOWGRP
grp_update ();
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 */
exit(E_SUCCESS);
/*NOTREACHED*/
}
#include <config.h>
#include "rcsid.h"
-RCSID(PKG_VER "$Id: newusers.c,v 1.11 2000/08/26 18:27:18 marekm Exp $")
+RCSID(PKG_VER "$Id: newusers.c,v 1.13 2000/10/09 19:02:20 kloczek Exp $")
#include <sys/types.h>
#include <sys/stat.h>
#include <grp.h>
#include <fcntl.h>
+#ifdef USE_PAM
+#include <security/pam_appl.h>
+#include <security/pam_misc.h>
+#include <pwd.h>
+#endif /* USE_PAM */
+
static char *Prog;
#include "getdef.h"
#endif
}
+#ifdef USE_PAM
+static struct pam_conv conv = {
+ misc_conv,
+ NULL
+};
+#endif /* USE_PAM */
+
int
main(int argc, char **argv)
{
int line = 0;
uid_t uid;
gid_t gid;
+#ifdef USE_PAM
+ pam_handle_t *pamh = NULL;
+ struct passwd *pampw;
+ int retval;
+#endif
Prog = Basename(argv[0]);
setlocale(LC_ALL, "");
bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);
-
+
+#ifdef USE_PAM
+ retval = PAM_SUCCESS;
+
+ pampw = getpwuid(getuid());
+ if (pampw == NULL) {
+ retval = PAM_USER_UNKNOWN;
+ }
+
+ if (retval == PAM_SUCCESS) {
+ retval = pam_start("shadow", 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 (1);
+ }
+#endif /* USE_PAM */
+
if (argc > 1 && argv[1][0] == '-')
usage ();
#endif
(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 */
+
exit (0);
/*NOTREACHED*/
}
#include <config.h>
#include "rcsid.h"
-RCSID(PKG_VER "$Id: useradd.c,v 1.18 2000/09/02 18:40:44 marekm Exp $")
+RCSID(PKG_VER "$Id: useradd.c,v 1.21 2000/10/09 20:03:12 kloczek Exp $")
#include "prototypes.h"
#include "defines.h"
#include <fcntl.h>
#include <time.h>
+#ifdef USE_PAM
+#include <security/pam_appl.h>
+#include <security/pam_misc.h>
+#include <pwd.h>
+#endif /* USE_PAM */
+
#include "pwauth.h"
#if HAVE_LASTLOG_H
#include <lastlog.h>
}
}
+#ifdef USE_PAM
+static struct pam_conv conv = {
+ misc_conv,
+ NULL
+};
+#endif /* USE_PAM */
+
/*
* main - useradd command
*/
int
main(int argc, char **argv)
{
+#ifdef USE_PAM
+ pam_handle_t *pamh = NULL;
+ struct passwd *pampw;
+ int retval;
+#endif
/*
* Get my name so that I can use it to report errors.
*/
bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);
+#ifdef USE_PAM
+ retval = PAM_SUCCESS;
+
+ pampw = getpwuid(getuid());
+ if (pampw == NULL) {
+ retval = PAM_USER_UNKNOWN;
+ }
+
+ if (retval == PAM_SUCCESS) {
+ retval = pam_start("shadow", 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 (1);
+ }
+#endif /* USE_PAM */
+
OPENLOG(Prog);
#ifdef SHADOWPWD
exit(E_NAME_IN_USE);
}
+ /*
+ * Don't blindly overwrite a group when a user is added...
+ * If you already have a group username, and want to add the user
+ * to that group, use useradd -g username username.
+ * --bero
+ */
+ if (! (nflg || gflg)) {
+ if (getgrnam(user_name)) {
+ fprintf(stderr, _("%s: group %s exists - if you want to add this user to that group, use -g.\n"), Prog, user_name);
+ exit(E_NAME_IN_USE);
+ }
+ }
+
/*
* Do the hard stuff - open the files, create the user entries,
* create the home directory, then close and update the files.
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 */
+
exit(E_SUCCESS);
/*NOTREACHED*/
}
#include <config.h>
#include "rcsid.h"
-RCSID(PKG_VER "$Id: userdel.c,v 1.17 2000/09/02 18:40:44 marekm Exp $")
+RCSID(PKG_VER "$Id: userdel.c,v 1.19 2000/10/09 19:02:20 kloczek Exp $")
#include <sys/stat.h>
#include <stdio.h>
#include <fcntl.h>
#include <utmp.h>
+#ifdef USE_PAM
+#include <security/pam_appl.h>
+#include <security/pam_misc.h>
+#include <pwd.h>
+#endif /* USE_PAM */
+
#include "prototypes.h"
#include "defines.h"
#include "getdef.h"
}
#endif
+#ifdef USE_PAM
+static struct pam_conv conv = {
+ misc_conv,
+ NULL
+};
+#endif /* USE_PAM */
+
/*
* main - userdel command
*/
struct passwd *pwd;
int arg;
int errors = 0;
+#ifdef USE_PAM
+ pam_handle_t *pamh = NULL;
+ struct passwd *pampw;
+ int retval;
+#endif
/*
* Get my name so that I can use it to report errors.
bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);
+#ifdef USE_PAM
+ retval = PAM_SUCCESS;
+
+ pampw = getpwuid(getuid());
+ if (pampw == NULL) {
+ retval = PAM_USER_UNKNOWN;
+ }
+
+ if (retval == PAM_SUCCESS) {
+ retval = pam_start("shadow", 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 (1);
+ }
+#endif /* USE_PAM */
+
OPENLOG(Prog);
#ifdef SHADOWPWD
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 */
+
exit(errors ? E_HOMEDIR : E_SUCCESS);
/*NOTREACHED*/
}
#include <config.h>
#include "rcsid.h"
-RCSID(PKG_VER "$Id: usermod.c,v 1.19 2000/09/02 18:40:44 marekm Exp $")
+RCSID(PKG_VER "$Id: usermod.c,v 1.21 2000/10/09 19:02:20 kloczek Exp $")
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <time.h>
+#ifdef USE_PAM
+#include <security/pam_appl.h>
+#include <security/pam_misc.h>
+#include <pwd.h>
+#endif /* USE_PAM */
+
#include "prototypes.h"
#include "defines.h"
#include "chkname.h"
}
#endif
+#ifdef USE_PAM
+static struct pam_conv conv = {
+ misc_conv,
+ NULL
+};
+#endif /* USE_PAM */
+
/*
* main - usermod command
*/
main(int argc, char **argv)
{
int grp_err = 0;
+#ifdef USE_PAM
+ pam_handle_t *pamh = NULL;
+ struct passwd *pampw;
+ int retval;
+#endif
/*
* Get my name so that I can use it to report errors.
bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);
+#ifdef USE_PAM
+ retval = PAM_SUCCESS;
+
+ pampw = getpwuid(getuid());
+ if (pampw == NULL) {
+ retval = PAM_USER_UNKNOWN;
+ }
+
+ if (retval == PAM_SUCCESS) {
+ retval = pam_start("shadow", 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 (1);
+ }
+#endif /* USE_PAM */
+
OPENLOG(Prog);
#ifdef SHADOWPWD
if (grp_err)
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 chauthtok failed\n"), Prog);
+ exit (1);
+ }
+
+ if (retval == PAM_SUCCESS)
+ pam_end(pamh, PAM_SUCCESS);
+#endif /* USE_PAM */
+
exit(E_SUCCESS);
/*NOTREACHED*/
}