From 8451bed8b06d905b851ecdfcb5a9f8903267f7c6 Mon Sep 17 00:00:00 2001 From: nekral-guest Date: Sun, 7 Oct 2007 11:47:01 +0000 Subject: [PATCH] [svn-upgrade] Integrating new upstream version, shadow (4.0.13) --- ChangeLog | 755 ++++++++++++++++++++++++++++++------- Makefile.in | 9 +- NEWS | 61 ++- acinclude.m4 | 54 +++ aclocal.m4 | 181 +++++---- config.h.in | 3 + configure | 827 ++++++++++++++++++++++++++++++++--------- configure.in | 74 +++- contrib/Makefile.in | 13 +- doc/Makefile.in | 13 +- etc/Makefile.am | 2 - etc/Makefile.in | 15 +- etc/login.defs | 201 ++++++++-- etc/login.defs.hurd | 141 ------- etc/login.defs.linux | 348 ----------------- etc/pam.d/Makefile.in | 13 +- lib/Makefile.am | 1 - lib/Makefile.in | 10 +- lib/commonio.c | 6 +- lib/defines.h | 13 +- lib/encrypt.c | 4 +- lib/exitcodes.h | 14 +- lib/fputsx.c | 4 +- lib/getdef.c | 4 +- lib/getpass.c | 4 +- lib/groupio.c | 4 +- lib/gshadow.c | 4 +- lib/lockpw.c | 4 +- lib/port.c | 4 +- lib/prototypes.h | 14 +- lib/pwauth.c | 4 +- lib/pwio.c | 4 +- lib/rcsid.h | 23 -- lib/sgetgrent.c | 4 +- lib/sgetpwent.c | 4 +- lib/sgroupio.c | 4 +- lib/shadow.c | 4 +- lib/shadowio.c | 4 +- libmisc/Makefile.am | 3 +- libmisc/Makefile.in | 44 ++- libmisc/addgrps.c | 4 +- libmisc/age.c | 4 +- libmisc/audit_help.c | 96 +++++ libmisc/basename.c | 4 +- libmisc/chkname.c | 6 +- libmisc/chowndir.c | 4 +- libmisc/chowntty.c | 4 +- libmisc/console.c | 4 +- libmisc/copydir.c | 4 +- libmisc/entry.c | 4 +- libmisc/env.c | 4 +- libmisc/failure.c | 18 +- libmisc/fields.c | 4 +- libmisc/hushed.c | 4 +- libmisc/isexpired.c | 4 +- libmisc/limits.c | 5 +- libmisc/list.c | 4 +- libmisc/log.c | 4 +- libmisc/loginprompt.c | 4 +- libmisc/mail.c | 4 +- libmisc/motd.c | 4 +- libmisc/myname.c | 4 +- libmisc/obscure.c | 18 +- libmisc/pam_pass.c | 4 +- libmisc/pwd2spwd.c | 4 +- libmisc/pwd_init.c | 4 +- libmisc/pwdcheck.c | 4 +- libmisc/rlogin.c | 4 +- libmisc/salt.c | 6 +- libmisc/setugid.c | 4 +- libmisc/setupenv.c | 12 +- libmisc/shell.c | 4 +- libmisc/strtoday.c | 4 +- libmisc/sub.c | 4 +- libmisc/sulog.c | 4 +- libmisc/ttytype.c | 4 +- libmisc/tz.c | 4 +- libmisc/ulimit.c | 4 +- libmisc/utmp.c | 8 +- libmisc/valid.c | 4 +- libmisc/xmalloc.c | 4 +- ltmain.sh | 196 +++++----- man/Makefile.am | 129 ++++++- man/Makefile.in | 139 ++++++- man/chage.1 | 108 +++--- man/chage.1.xml | 265 +++++++------ man/chfn.1 | 38 +- man/chfn.1.xml | 45 ++- man/chpasswd.8 | 22 +- man/chpasswd.8.xml | 72 ++-- man/chsh.1 | 38 +- man/chsh.1.xml | 70 ++-- man/cs/Makefile.in | 13 +- man/de/Makefile.in | 13 +- man/es/Makefile.in | 13 +- man/expiry.1 | 10 +- man/expiry.1.xml | 34 +- man/faillog.5 | 9 +- man/faillog.5.xml | 23 +- man/faillog.8 | 74 ++-- man/faillog.8.xml | 162 ++++---- man/fr/Makefile.in | 13 +- man/getspnam.3 | 2 +- man/gpasswd.1 | 66 ++-- man/gpasswd.1.xml | 72 ++-- man/groupadd.8 | 84 +++-- man/groupadd.8.xml | 217 ++++++----- man/groupdel.8 | 32 +- man/groupdel.8.xml | 80 ++-- man/groupmems.8.xml | 118 +++--- man/groupmod.8 | 46 +-- man/groupmod.8.xml | 149 ++++---- man/groups.1 | 34 +- man/groups.1.xml | 41 +- man/grpck.8 | 82 ++-- man/grpck.8.xml | 131 ++++--- man/gshadow.5 | 22 +- man/gshadow.5.xml | 75 ++-- man/hu/Makefile.in | 13 +- man/id.1 | 20 +- man/id.1.xml | 38 +- man/id/Makefile.in | 13 +- man/id/chsh.1 | 6 +- man/it/Makefile.in | 13 +- man/ja/Makefile.in | 13 +- man/ko/Makefile.in | 13 +- man/lastlog.8 | 50 +-- man/lastlog.8.xml | 127 ++++--- man/limits.5 | 112 +++--- man/limits.5.xml | 127 +++---- man/login.1 | 118 +++--- man/login.1.xml | 247 ++++++------ man/login.access.5 | 38 +- man/login.access.5.xml | 112 +++--- man/login.defs.5 | 77 ++-- man/login.defs.5.xml | 370 +++++++++--------- man/logoutd.8 | 22 +- man/logoutd.8.xml | 29 +- man/newgrp.1 | 128 +++---- man/newgrp.1.xml | 112 ++++++ man/newusers.8 | 17 +- man/newusers.8.xml | 133 ++++--- man/passwd.1 | 187 +++++----- man/passwd.1.xml | 556 +++++++++++++++++---------- man/passwd.5 | 73 ++-- man/passwd.5.xml | 133 ++++--- man/pl/Makefile.in | 13 +- man/porttime.5 | 57 +-- man/porttime.5.xml | 94 +++-- man/pt_BR/Makefile.in | 13 +- man/pw_auth.3 | 116 +++--- man/pw_auth.3.xml | 305 +++++++-------- man/pwck.8 | 74 ++-- man/pwck.8.xml | 201 +++++----- man/pwconv.8 | 118 +++--- man/pwconv.8.xml | 101 +++-- man/ru/Makefile.in | 13 +- man/sg.1 | 62 ++- man/sg.1.xml | 104 ++++++ man/shadow.3 | 97 ++--- man/shadow.3.xml | 185 ++++----- man/shadow.5 | 32 +- man/shadow.5.xml | 125 ++++--- man/su.1 | 56 +-- man/su.1.xml | 81 ++-- man/suauth.5 | 54 ++- man/suauth.5.xml | 178 +++++---- man/sulogin.8 | 46 +-- man/sulogin.8.xml | 86 +++-- man/useradd.8 | 166 +++++---- man/useradd.8.xml | 606 ++++++++++++++++-------------- man/userdel.8 | 48 +-- man/userdel.8.xml | 149 +++++--- man/usermod.8 | 99 ++--- man/usermod.8.xml | 375 ++++++++++--------- man/vipw.8 | 38 +- man/vipw.8.xml | 30 +- man/zh_CN/Makefile.in | 13 +- man/zh_TW/Makefile.in | 13 +- po/bs.gmo | Bin 3276 -> 3276 bytes po/bs.po | 109 ++++-- po/ca.gmo | Bin 38189 -> 37116 bytes po/ca.po | 146 +++++--- po/cs.gmo | Bin 41116 -> 43688 bytes po/cs.po | 149 ++++++-- po/da.gmo | Bin 37482 -> 41376 bytes po/da.po | 219 +++++++---- po/de.gmo | Bin 40152 -> 39129 bytes po/de.po | 121 ++++-- po/el.gmo | Bin 40228 -> 39620 bytes po/el.po | 149 +++++--- po/es.gmo | Bin 40968 -> 44881 bytes po/es.po | 205 +++++++--- po/eu.gmo | Bin 34787 -> 33648 bytes po/eu.po | 155 +++++--- po/fi.gmo | Bin 41602 -> 40498 bytes po/fi.po | 285 +++++--------- po/fr.gmo | Bin 45158 -> 50120 bytes po/fr.po | 266 +++++++++---- po/he.gmo | Bin 8492 -> 8492 bytes po/he.po | 110 ++++-- po/id.gmo | Bin 22172 -> 21624 bytes po/id.po | 141 ++++--- po/it.gmo | Bin 36036 -> 34831 bytes po/it.po | 153 +++++--- po/ja.gmo | Bin 28336 -> 27882 bytes po/ja.po | 146 +++++--- po/ko.gmo | Bin 38346 -> 37202 bytes po/ko.po | 152 +++++--- po/nb.gmo | Bin 29406 -> 28861 bytes po/nb.po | 147 +++++--- po/nl.gmo | Bin 40749 -> 39696 bytes po/nl.po | 153 +++++--- po/nn.gmo | Bin 29521 -> 28974 bytes po/nn.po | 147 +++++--- po/pl.gmo | Bin 41633 -> 41695 bytes po/pl.po | 154 ++++++-- po/pt.gmo | Bin 42155 -> 44888 bytes po/pt.po | 156 ++++++-- po/pt_BR.gmo | Bin 31079 -> 30524 bytes po/pt_BR.po | 148 +++++--- po/ro.gmo | Bin 40148 -> 42642 bytes po/ro.po | 457 ++++++++++++++--------- po/ru.gmo | Bin 54651 -> 57963 bytes po/ru.po | 162 ++++++-- po/shadow.pot | 109 ++++-- po/sk.gmo | Bin 41621 -> 40538 bytes po/sk.po | 123 ++++-- po/sq.gmo | Bin 1037 -> 1037 bytes po/sq.po | 109 ++++-- po/sv.gmo | Bin 35872 -> 34816 bytes po/sv.po | 121 ++++-- po/tl.gmo | Bin 30709 -> 30240 bytes po/tl.po | 151 +++++--- po/tr.gmo | Bin 30036 -> 29451 bytes po/tr.po | 149 +++++--- po/uk.gmo | Bin 42855 -> 41545 bytes po/uk.po | 153 +++++--- po/vi.gmo | Bin 38373 -> 37077 bytes po/vi.po | 156 ++++---- po/zh_CN.gmo | Bin 28281 -> 27712 bytes po/zh_CN.po | 147 +++++--- po/zh_TW.gmo | Bin 32584 -> 31520 bytes po/zh_TW.po | 151 +++++--- src/Makefile.am | 19 +- src/Makefile.in | 59 +-- src/chage.c | 173 +++++---- src/chfn.c | 102 +++-- src/chpasswd.c | 27 +- src/chsh.c | 79 ++-- src/chsh_chkshell.c | 10 +- src/expiry.c | 35 +- src/faillog.c | 8 +- src/gpasswd.c | 180 +++++++-- src/groupadd.c | 70 ++-- src/groupdel.c | 67 ++-- src/groupmod.c | 115 ++++-- src/groups.c | 18 +- src/grpck.c | 60 +-- src/grpconv.c | 17 +- src/grpunconv.c | 7 +- src/id.c | 11 +- src/lastlog.c | 43 ++- src/login.c | 96 ++--- src/login_nopam.c | 35 +- src/logoutd.c | 28 +- src/newgrp.c | 57 ++- src/newusers.c | 53 +-- src/passwd.c | 294 ++++++++------- src/pwck.c | 66 +--- src/pwconv.c | 18 +- src/pwunconv.c | 20 +- src/su.c | 38 +- src/suauth.c | 15 +- src/sulogin.c | 19 +- src/useradd.c | 177 ++++----- src/userdel.c | 205 +++++++--- src/usermod.c | 323 ++++++++++++---- src/vipw.c | 23 +- 279 files changed, 12461 insertions(+), 8086 deletions(-) create mode 100644 acinclude.m4 delete mode 100644 etc/login.defs.hurd delete mode 100644 etc/login.defs.linux delete mode 100644 lib/rcsid.h create mode 100644 libmisc/audit_help.c create mode 100644 man/newgrp.1.xml create mode 100644 man/sg.1.xml diff --git a/ChangeLog b/ChangeLog index d87de2a0..fa5851ef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,474 @@ +2005-10-10 Tomasz K這czko + + * NEWS: added infor about removed duplicated pam_start() in chage. + + * NEWS: updated. + + * man/Makefile.am: added sg.1.xml to man_XMANS. + + * man/chage.1, man/chage.1.xml: + cleanups (by Yuri Kozlov ). + + * man/newgrp.1, man/newgrp.1.xml: use in few more places. + + * man/newgrp.1, man/newgrp.1.xml: + better newgrp description (http://bugs.debian.org/325558). + +2005-10-04 Tomasz K這czko + + * src/chpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/newusers.c, src/useradd.c, src/userdel.c, src/usermod.c: + remove using pam_chauthtok(). + + * src/chsh.c: finish PAM support using pam_start() & co. + + * src/chage.c: remove using pam_chauthtok() on finish chage. + + * src/chfn.c: + use E_NOPERM in more places. remove using pam_chauthtok() on finish chfn. + + * src/chfn.c: cleanups. + + * src/chage.c: + removed duplicaded not moved PAM code) was introduced during merge + shadow-4.0.4.1-owl-pam-auth.diff patch). + + * src/chfn.c: finish PAM support. + +2005-10-03 Tomasz K這czko + + * man/chfn.1, man/chfn.1.xml, man/chsh.1, man/chsh.1.xml: + cleanups (by Alexander Gattin ). + +2005-10-02 Tomasz K這czko + + * NEWS, src/userdel.c: + userdel should not remove the group which is primary for someone else (fix + by Nicolas Fran癟ois http://bugs.debian.org/295416) + +2005-10-01 Tomasz K這czko + + * man/vipw.8.xml, man/chage.1, man/chage.1.xml, man/chpasswd.8, man/chpasswd.8.xml, man/chsh.1, man/chsh.1.xml, man/faillog.8, man/faillog.8.xml, man/groupmems.8.xml, man/grpck.8, man/grpck.8.xml, man/lastlog.8, man/lastlog.8.xml, man/limits.5, man/limits.5.xml, man/login.1, man/login.1.xml, man/login.access.5, man/login.access.5.xml, man/passwd.1, man/passwd.1.xml, man/porttime.5, man/porttime.5.xml, man/pw_auth.3.xml, man/shadow.3, man/shadow.3.xml, man/su.1, man/su.1.xml, man/suauth.5, man/suauth.5.xml, man/sulogin.8.xml: + s/// + + * man/sg.1, man/sg.1.xml: use instead . + + * man/newgrp.1.xml, man/sg.1.xml, man/chage.1.xml, man/chsh.1.xml, man/login.defs.5.xml: + s/\. /\. / + + * man/shadow.5, man/shadow.5.xml: + better document "!" and "*" fields in /etc/shadow + (based on 441_manpages-shadow.5 patch from Debian). + + * man/newgrp.1, man/newgrp.1.xml: + SHADOWPWD was removed (always enabled) + (based on 446_newgrp.1_no_SHADOWPWD patch from Debian). + + * po/ru.po: updated for 4.0.13 (by Yuri Kozlov ). + +2005-09-30 Tomasz K這czko + + * NEWS: cleanups. + + * man/vipw.8, man/vipw.8.xml, man/chage.1, man/chage.1.xml, man/chfn.1, man/chpasswd.8, man/chpasswd.8.xml, man/chsh.1, man/chsh.1.xml, man/expiry.1, man/expiry.1.xml, man/faillog.8, man/faillog.8.xml, man/gpasswd.1, man/gpasswd.1.xml, man/groupadd.8, man/groupadd.8.xml, man/groupmems.8, man/groupmems.8.xml, man/groupmod.8, man/groupmod.8.xml, man/groups.1, man/groups.1.xml, man/grpck.8, man/grpck.8.xml, man/gshadow.5, man/gshadow.5.xml, man/id.1, man/id.1.xml, man/lastlog.8, man/lastlog.8.xml, man/limits.5, man/limits.5.xml, man/login.1, man/login.1.xml, man/login.access.5, man/login.access.5.xml, man/login.defs.5, man/login.defs.5.xml, man/logoutd.8, man/logoutd.8.xml, man/newgrp.1, man/newgrp.1.xml, man/newusers.8, man/newusers.8.xml, man/passwd.1, man/passwd.1.xml, man/passwd.5, man/passwd.5.xml, man/porttime.5, man/porttime.5.xml, man/pw_auth.3, man/pw_auth.3.xml, man/pwck.8, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3, man/shadow.3.xml, man/shadow.5, man/shadow.5.xml, man/su.1, man/su.1.xml, man/suauth.5, man/suauth.5.xml, man/sulogin.8, man/sulogin.8.xml, man/useradd.8, man/useradd.8.xml, man/userdel.8, man/userdel.8.xml, man/usermod.8, man/usermod.8.xml: + next round of cleanups. + + * man/Makefile.am: added rules for id.1, pw_auth.3 and sulogin.8. + + * libmisc/setupenv.c: + during the changes on libmisc/setupenv.c, a piece of code was moved + without its comment (merge 449_comment_missplaced Debian patch). + +2005-09-29 Tomasz K這czko + + * man/chfn.1, man/chfn.1.xml, man/chsh.1, man/chsh.1.xml, man/groupadd.8, man/groupadd.8.xml, man/newusers.8, man/newusers.8.xml, man/pwconv.8, man/pwconv.8.xml, man/useradd.8, man/useradd.8.xml, man/userdel.8, man/userdel.8.xml, man/usermod.8, man/usermod.8.xml, NEWS: + added missing references to /etc/login.defs and login.defs(5) + (Christian Perrier ). + +2005-09-28 Tomasz K這czko + + * NEWS: s/XSL/XSLT/ + + * po/pl.po: few updates. + + * man/passwd.1, man/passwd.1.xml: + -i option description is back (lost on rewrite and pointed by + Miroslav Kure ). + + * po/cs.po: + updated for 4.0.13 (by Miroslav Kure ). + +2005-09-27 Tomasz K這czko + + * NEWS: updated. + + * configure.in: fixes for correct handle --with{,out}-. + + * configure.in: + use @<:@ @:>@ instead ( ) inside AC_HELP_STRING() and s/feactures/features/ + (based on fixes by Mike Frysinger ). + + * po/da.po: updated for 4.0.13 (by Claus Hindsgaul ). + + * po/es.po: updated for 4.0.13 (by Ruben Porras ). + +2005-09-26 Tomasz K這czko + + * NEWS, libmisc/failure.c: + use "%c" in strftime() output (based on patch from + http://bugs.debian.org/89902 by Christian Perrier ) + + * man/getspnam.3, man/shadow.3, man/shadow.3.xml: + added getspnam to . + + * man/sg.1, man/sg.1.xml: fixed . + + * man/Makefile.am, man/sg.1, man/sg.1.xml: + added separated sg(1) man page. + +2005-09-24 Tomasz K這czko + + * lib/commonio.c, NEWS: + don't assume selinux is enabled if is_selinux_enabled() returns -1 + (merge isSelinuxEnabled FC patch by Jeremy Katz ). + + * po/ro.po: updated (by Sorin Batariuc ). + +2005-09-21 Tomasz K這czko + + * NEWS: schedule release 4.0.13 to 03-10-2005. + +2005-09-20 Tomasz K這czko + + * NEWS, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/gshadow.5, man/lastlog.8, man/limits.5, man/login.1, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pwck.8, man/pwconv.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8: + regenerate all roff man pages using DocBook XSL Stylesheets 1.69.1. + + * man/logoutd.8.xml: fixed id inside . + + * man/login.1.xml, man/logoutd.8.xml, man/newgrp.1.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pwck.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/chage.1.xml, man/chfn.1.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml: + added missing inside tags for pass correctly xmllint. + + * man/login.access.5, man/login.access.5.xml: rewrited FILES section. + + * man/login.access.5.xml: cleanups. + +2005-09-15 Tomasz K這czko + + * NEWS, man/passwd.5, man/passwd.5.xml: + rewrited based on work by Greg Wooledge + http://bugs.debian.org/328113 + +2005-09-13 Tomasz K這czko + + * po/ro.po: updates (by Sorin Batariuc ). + +2005-09-07 Tomasz K這czko + + * src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/id.c, src/login.c, src/login_nopam.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/suauth.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, src/vipw.c: + remove empty lines after comment. + + * src/useradd.c: group all #include. + + * po/fr.po: + updated (by Jean-Luc Coulon (f5ibh) ). + +2005-09-06 Tomasz K這czko + + * src/gpasswd.c: remove exit(1) after failure(). + + * src/usermod.c: consolidate few #ifdef WITH_AUDIT .. #endif sections. + +2005-09-05 Tomasz K這czko + + * src/Makefile.am: added missing $(LDADD) in gpasswd_LDADD. + + * NEWS, libmisc/limits.c: + fixed setup max address space limits (added missing break statement in case) + spoted by Lasse Collin + (fix for non-PAM case) + + * configure.in: try find and use by default feactures: + with_audit="yes" + with_libcrack="no" + with_libpam="yes" + with_libskey="no" + with_selinux="yes" + Report on finish also S/Key and CrackLib support. + + * configure.in: cleanups. + + * src/Makefile.am: sort *_LDADD. + + * src/Makefile.am: added missing gpasswd_LDADD = $(LIBAUDIT). + + * src/groupadd.c, src/groupdel.c, src/groupmod.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/defines.h, lib/prototypes.h, src/chage.c, src/gpasswd.c: + indent code. + + * libmisc/Makefile.am: sort libmisc_a_SOURCES elements. + + * libmisc/audit_help.c: added shadow copyright text and indent file. + + * libmisc/audit_help.c: + patr of auditing support not added on commiting audit changes. + + * src/Makefile.am: s/AUDIT/LIBAUDIT/ + + * configure.in: added reporting on finish is auditing is enabled. + Change to use shared libaudit. Aded missing AC_SUBST(LIBAUDIT). + Break some to log lines. + + * src/Makefile.am, src/chage.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/useradd.c, src/userdel.c, src/usermod.c, NEWS, configure.in, lib/defines.h, lib/prototypes.h, libmisc/Makefile.am: + auditing support added. Patch prepared by Peter Vrabec + basing on work by Steve Grubb from + http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=159215 Now auditing + support have commands: chage, gpasswd, groupadd, groupdel, groupmod, + useradd, userdel, usermod. + + * po/pt.po: finish update (by Christian Perrier ). + +2005-09-04 Tomasz K這czko + + * po/pt.po, NEWS: updated (by Miguel Figueiredo ). + +2005-09-03 Tomasz K這czko + + * src/passwd.c: + fix warning (initialization makes pointer from integer without a cast) in + long_options[] entry. + + * po/fr.po, NEWS: + partialy updated (by Jean-Luc Coulon (f5ibh) ). + +2005-09-02 Tomasz K這czko + + * src/chage.c: indent source sode. + + * src/chage.c, src/chfn.c, src/chsh.c, src/passwd.c, NEWS: + change to use new selinux API for selinux_check_passwd_access() + (patch from Fedora by Dan Walsh ). + +2005-09-01 Tomasz K這czko + + * man/newgrp.1, man/newgrp.1.xml: finished rewrite. + + * etc/login.defs: moved from login.defs.linux. + + * src/login_nopam.c: use #ident. + + * etc/login.defs.hurd, etc/login.defs.linux, etc/Makefile.am: + remove login.defs.hurd and login.defs.linux. + + * src/groupadd.c, src/useradd.c: + as same as in man pages to useradd and groupadd change to 1000 default + GID_MIN and UID_MIN (if not found in login.defs). + + * etc/login.defs: s/chkpasswd/chpasswd/ + +2005-08-31 Tomasz K這czko + + * man/Makefile.am, man/chsh.1.xml, man/limits.5.xml, man/login.access.5.xml, man/newgrp.1.xml, man/newusers.8.xml: + fixed id= in . + + * man/gpasswd.1, man/gpasswd.1.xml: + fixed refentry id (must be 'gpasswd.1'). + + * man/Makefile.am, man/newgrp.1.xml: + raw version converted from roff using doclifter. + + * lib/exitcodes.h: new exit codes: + #define E_PASSWD_NOTFOUND 14 /* not found password file */ + #define E_GROUP_NOTFOUND 16 /* not found group file */ + #define E_GSHADOW_NOTFOUND 17 /* not found shadow group file */ + + * man/chage.1, man/chage.1.xml, lib/exitcodes.h: + change to 15 (from 14) exit code in chage when shadow not found. + + * src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/chsh_chkshell.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/login_nopam.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, src/vipw.c, libmisc/pwd_init.c, libmisc/pwdcheck.c, libmisc/rlogin.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, libmisc/addgrps.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/motd.c, libmisc/myname.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/pwd2spwd.c, NEWS, lib/rcsid.h, lib/Makefile.am, lib/commonio.c, lib/encrypt.c, lib/fputsx.c, lib/getdef.c, lib/getpass.c, lib/groupio.c, lib/gshadow.c, lib/lockpw.c, lib/port.c, lib/pwauth.c, lib/pwio.c, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/sgroupio.c, lib/shadow.c, lib/shadowio.c: + use #ident preprocesor directive istead RCID macro with content similar + to example described in ident(1) man page (modern compilers like latest GCC + removes not used functions by global optimization). + So "ident /usr/bin/passwd" will show again some useable informations. + + * man/Makefile.am: added support for regenerate roff files from XML. + Added depeing shadow-man-pages.pot on $(man_XMANS). + +2005-08-30 Tomasz K這czko + + * man/login.1, man/login.1.xml, NEWS: + added securetty(5) to SEE ALSO section (fixed Debian bug http://bugs.debian.org/325773). + + * po/pl.po: more updates. + + * configure.in: + typo in handle --with-selinux. Fixes in xsltproc detection. + + * autogen.sh: + added --enable-man and --enable-maintainer-mode to configure options. + + * man/chage.1, man/chage.1.xml, NEWS: + added EXIT VALUES section (by Nicolas Fran癟ois ). + + * man/passwd.1, man/passwd.1.xml: + remove "Password expiry information" section (all options are described now + in OPTIONS section). Describe -a and -k options. + + * NEWS, src/su.c: + fixed twice copy enviroment which causes auth problems (bug was introduced in 4.0.12; + fix by Nicolas Fran癟ois ). + + * src/passwd.c, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po: + s/Incorrect password for `%s'/Incorrect password for %s/ (one phrase for translate less). + + * src/login.c, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po: + s/login: failure forking: %s/%s: failure forking: %s/ (one phrase for translate less). + + * po/pl.po: partialy updated. + +2005-08-29 Tomasz K這czko + + * lib/exitcodes.h, src/chage.c: + s/E_NOT_SHADOWED/E_SHADOW_NOTFOUND/ and change value of this exit code to 14. + + * NEWS, lib/exitcodes.h, src/chage.c: + differentiate the different failure causes by the exit value + This will permit to adduser Debian script to detect if chage failed because the + system doesn't have shadowed passwords (fix for http://bugs.debian.org/317012) + Plain merge 443_chage_exit_values Debian patch. + + * man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/vipw.8.xml, man/chage.1.xml, man/chfn.1.xml: + use tabs in indentation (~10KB less in all xml files). + + * po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po: + run "make update-po" and remove obsoleted strings. + + * src/expiry.c, src/login.c: remove #if 0 .. #endif code. + + * src/login.c: remove #if 1 .. #endif. + + * libmisc/obscure.c, libmisc/utmp.c, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, src/chage.c, src/login.c, src/logoutd.c, src/newgrp.c, src/su.c, src/useradd.c, NEWS: + merge 010_more-i18ned-messages Debian patch which adds i18n support for few more messages + (orginaly patch was prepared by Guillem Jover ). + + * man/id/chsh.1: + fix .SH (fix merged from 207_id-manpages debian patch). + +2005-08-28 Tomasz K這czko + + * acinclude.m4: add aclocal macros (based on acinclude.m4 from glib): + JH_PATH_XML_CATALOG: checks the location of the XML Catalog, + JH_CHECK_XML_CATALOG: checks if a particular URI appears in the XML catalog. + + * man/useradd.8, man/useradd.8.xml: + cleanups in "Changing the default values" section. + + * man/useradd.8.xml: + replace by . + Other minor cleanups. + + * configure.in: + fixed missing )] in AC_ARG_WITH(skey, ..) (thank for fix to Yuri Kozlov ). + + * man/chsh.1, man/chsh.1.xml, man/faillog.5, man/faillog.8.xml, man/groupadd.8.xml, man/gshadow.5, man/gshadow.5.xml, man/lastlog.8, man/lastlog.8.xml, man/limits.5, man/limits.5.xml, man/login.1, man/login.1.xml, man/login.access.5, man/login.access.5.xml, man/login.defs.5, man/login.defs.5.xml, man/porttime.5, man/porttime.5.xml, man/pw_auth.3, man/pw_auth.3.xml, man/shadow.3, man/shadow.3.xml, man/suauth.5, man/suauth.5.xml, man/useradd.8, man/useradd.8.xml, man/userdel.8, man/userdel.8.xml, man/usermod.8, man/usermod.8.xml: + typos, and change some arguments so they do not match the name of a + command (fixes by Nicolas Fran癟ois ). + + * NEWS, libmisc/chkname.c, man/groupadd.8, man/groupadd.8.xml, man/useradd.8, man/useradd.8.xml: + fix regular expression describing alloved login/group names (pointed + by Nicolas Fran癟ois ) + (correct is [a-z_][a-z0-9_-]*[$]). + + * man/useradd.8, man/useradd.8.xml: + remove "Creating New Users" section and merge this directly in DESCRIPTION. + Add for -o in EXIT VALUES section. + + * po/ru.po, NEWS: + update ru translations (by Yuri Kozlov ). + +2005-08-27 Tomasz K這czko + + * man/passwd.1, man/passwd.1.xml: + removed "Account maintenance" section. + + * man/passwd.1, man/passwd.1.xml: partialy done rewrite. + + * po/ro.po: + some fixes after review of the translation (by Sorin Batariuc ). + + * man/lastlog.8, man/lastlog.8.xml: + s/Print help message and exit./Display help message and exit./ + + * man/chage.1, man/chage.1.xml: document -h,--help option. + + * man/groupadd.8, man/groupadd.8.xml: + document -h,--help option. added for -o in EXIT VALUES. + Cleanups in SYNOPSIS section. + + * man/chage.1, man/chage.1.xml, man/faillog.8, man/faillog.8.xml: + replace by . + + * man/lastlog.8, man/lastlog.8.xml: document new -b,--before option. + + * po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/it.po, po/ja.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/el.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, src/lastlog.c: + s/lastlog results/lastlog records/ in lastlog usage output. + + * man/lastlog.8, man/lastlog.8.xml: add "" aroud . + + * po/vi.po, po/zh_CN.po, po/zh_TW.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, src/lastlog.c: + alphabetic order options in lastlog usage output. Run "make -C po update-po". + + * src/lastlog.c, NEWS: + added handle -b option which allow print only lastlog records older than + specified DAYS (fix by ). + + * libmisc/salt.c, NEWS: + fixed for use login.defs::MD5_CRYPT_ENAB only if PAM support + is disabled (fix by John Gatewood Ham ). + +2005-08-25 Tomasz K這czko + + * configure.in: + use AC_HELP_STRING() in AC_ARG_ENABLE() and AC_ARG_WITH(). + Exit with error message if configure was runed --with-selinux + and libselinux not found. + +2005-08-24 Tomasz K這czko + + * libmisc/chkname.c, NEWS, man/groupadd.8, man/groupadd.8.xml, man/useradd.8, man/useradd.8.xml: + documents in CAVEATS section the limitations shadow places on user and + group names (fix by Mike Frysinger ). + + * src/passwd.c, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po: + added missing -i, --inactive in usage() output. + +2005-08-23 Tomasz K這czko + + * po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, src/passwd.c, NEWS: + passwd rewrited for use getopt_long(). + + * man/chage.1, man/chage.1.xml: /warndays/--warndays/ + + * man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/vipw.8.xml, man/chage.1.xml, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml: + remove trailing spaces. + + * src/lastlog.c, src/login.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/suauth.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, src/vipw.c, src/chpasswd.c, src/chsh.c, src/chsh_chkshell.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmems.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c: + reorder #includes, indentations and minor cleanups. + + * src/newgrp.c: indent code. + + * NEWS, src/newgrp.c: + when newgrp process sits between parent and child shells, it should + propagate STOPs from child to parent and CONTs from parent to child, + otherwise e.g. bash's "suspend" command won't work. + Fixed Debian http://bugs.debian.org/314727 + +2005-08-22 Tomasz K這czko + + * configure.in: typo. + + * configure.in: + add display short summary information on finish autoconf script. + + * NEWS, configure.in: start work on 4.0.13. + 2005-08-21 Tomasz K這czko * po/ru.po: updated for 4.0.12 (by Yuri Kozlov ). @@ -187,7 +658,7 @@ * lib/prototypes.h: removed outdated prototypes for lib/gsdbm.c. - * NEWS, lib/Attic/grpack.c, lib/Attic/gspack.c, lib/Attic/pwpack.c, lib/Attic/sppack.c, lib/Makefile.am, lib/prototypes.h: + * NEWS, lib/grpack.c, lib/gspack.c, lib/pwpack.c, lib/sppack.c, lib/Makefile.am, lib/prototypes.h: remove lib/{grpack,gspack,pwpack,sppack}.c and prototypes from lib/prototypes.h (outdated). * lib/prototypes.h: removed outdated prototypes from lib/pwdbm.c. @@ -370,7 +841,7 @@ s/presense/presence/; s/filesystem/file system/ (sed on 440_manpages-login.1 Debian patch) - * man/pl/Attic/shadowconfig.8, man/pl/Makefile.am, man/ja/Attic/shadowconfig.8, man/ja/Makefile.am, man/it/Attic/shadowconfig.8, man/Attic/shadowconfig.8, man/Attic/shadowconfig.8.xml, man/Makefile.am, NEWS: + * man/pl/shadowconfig.8, man/pl/Makefile.am, man/ja/shadowconfig.8, man/ja/Makefile.am, man/it/shadowconfig.8, man/shadowconfig.8, man/shadowconfig.8.xml, man/Makefile.am, NEWS: removed shadowconfig(8) man page (will be maintained in Debian shadow pkg repository). * man/it/sg.1: added. @@ -460,12 +931,12 @@ option. It cause usermod to append user to the current supplementary group list. (patch by Peter Vrabec ) - * libmisc/Attic/chkshell.c, libmisc/Makefile.am, src/Makefile.am, src/chsh_chkshell.c: + * libmisc/chkshell.c, libmisc/Makefile.am, src/Makefile.am, src/chsh_chkshell.c: move libmisc/chkshell.c to src/chsh_chkshell.c. check_shell() is used only by chsh. 2005-07-06 Tomasz K這czko - * Attic/acconfig.h, NEWS, configure.in: + * acconfig.h, NEWS, configure.in: finish move all autoheader templates from acconfig.h to configure.in. * src/chage.c, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, NEWS: @@ -510,12 +981,12 @@ * configure.in, libmisc/getdate.y, libmisc/utmp.c, src/logoutd.c: remove non-USG code. - * Attic/acconfig.h, configure.in: + * acconfig.h, configure.in: start moving all autoheader templates from acconfig.h to configure.in. * configure.in: remove not used AC_DEFINE(HAVE_LIBCRYPT). - * Attic/acconfig.h, NEWS, configure.in: + * acconfig.h, NEWS, configure.in: stop with error message if crypt() not found. Remove --with{,out}-libcrypt switch. * src/login.c: fixed use SYSLOG macro. @@ -570,7 +1041,7 @@ * NEWS: added past releases dates. Cleanups. - * man/Attic/shadowconfig.8: merge version generated from XML file. + * man/shadowconfig.8: merge version generated from XML file. * po/ca.po, po/cs.po, po/da.po, po/fi.po, NEWS: translations updated by maintainers. @@ -613,7 +1084,7 @@ 2005-06-17 Tomasz K這czko - * man/ja/Attic/mkpasswd.8, man/ja/Makefile.am, man/pl/Attic/mkpasswd.8, man/pl/Makefile.am: + * man/ja/mkpasswd.8, man/ja/Makefile.am, man/pl/mkpasswd.8, man/pl/Makefile.am: remove ja and pl mkpasswd.8 man pages. 2005-06-16 Tomasz K這czko @@ -621,9 +1092,9 @@ * man/pwck.8.xml, man/useradd.8.xml, man/userdel.8.xml: correctly code EXIT VALUES section. - * Attic/acconfig.h: removed DES_RPC and OPIE templates. + * acconfig.h: removed DES_RPC and OPIE templates. - * src/Attic/mkpasswd.c, src/Makefile.am, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, NEWS, man/Attic/mkpasswd.8, man/Attic/mkpasswd.8.xml, man/Makefile.am, po/POTFILES.in, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po: + * src/mkpasswd.c, src/Makefile.am, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, NEWS, man/mkpasswd.8, man/mkpasswd.8.xml, man/Makefile.am, po/POTFILES.in, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po: removed mkpasswd. * man/Makefile.am: do not install mkpasswd(8) man page. @@ -655,7 +1126,7 @@ * man/groupadd.8.xml: cleanups. - * man/Attic/mkpasswd.8.xml: added missing tag. + * man/mkpasswd.8.xml: added missing tag. * man/usermod.8.xml: cleanups. @@ -694,7 +1165,7 @@ * src/login.c: indent. - * man/Attic/shadowconfig.8.xml, man/chage.1.xml, man/faillog.8.xml, man/groupmems.8.xml, man/gshadow.5.xml, man/login.1.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/vipw.8.xml: + * man/shadowconfig.8.xml, man/chage.1.xml, man/faillog.8.xml, man/groupmems.8.xml, man/gshadow.5.xml, man/login.1.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/vipw.8.xml: cleanups. 2005-06-14 Tomasz K這czko @@ -742,7 +1213,7 @@ was passed as it's optarg http://bugs.debian.org/53702 - * po/POTFILES.in, NEWS, libmisc/Attic/setup.c, libmisc/Makefile.am: + * po/POTFILES.in, NEWS, libmisc/setup.c, libmisc/Makefile.am: not used now (removed). * man/usermod.8, man/usermod.8.xml: @@ -783,10 +1254,10 @@ 2005-05-25 Tomasz K這czko - * src/Attic/mkpasswd.c, src/chpasswd.c, src/faillog.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/su.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/encrypt.c, lib/getdef.c, lib/gshadow.c, lib/pwauth.h, lib/shadow.c, libmisc/failure.c, libmisc/isexpired.c, libmisc/salt.c: + * src/mkpasswd.c, src/chpasswd.c, src/faillog.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/su.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/encrypt.c, lib/getdef.c, lib/gshadow.c, lib/pwauth.h, lib/shadow.c, libmisc/failure.c, libmisc/isexpired.c, libmisc/salt.c: indent all. - * src/chage.c, src/chpasswd.c, src/expiry.c, src/login.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/useradd.c, src/userdel.c, src/usermod.c, src/vipw.c, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, lib/Attic/sppack.c, lib/defines.h, lib/lockpw.c, lib/prototypes.h, lib/sgetspent.c, lib/shadow.c, lib/shadowio.c, libmisc/age.c, libmisc/entry.c, libmisc/isexpired.c, libmisc/pwd2spwd.c, libmisc/pwdcheck.c, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, Attic/acconfig.h, NEWS, configure.in: + * src/chage.c, src/chpasswd.c, src/expiry.c, src/login.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/useradd.c, src/userdel.c, src/usermod.c, src/vipw.c, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, lib/sppack.c, lib/defines.h, lib/lockpw.c, lib/prototypes.h, lib/sgetspent.c, lib/shadow.c, lib/shadowio.c, libmisc/age.c, libmisc/entry.c, libmisc/isexpired.c, libmisc/pwd2spwd.c, libmisc/pwdcheck.c, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, acconfig.h, NEWS, configure.in: remove using SHADOWPWD #define so now shadow is allways builded with shadow password support. @@ -850,13 +1321,13 @@ 2005-04-27 Tomasz K這czko - * man/Attic/shadowconfig.8.xml, man/gpasswd.1.xml, man/groups.1.xml, man/grpck.8.xml, man/login.defs.5.xml, man/passwd.1.xml, man/pwck.8.xml, man/sulogin.8.xml, man/useradd.8.xml: + * man/shadowconfig.8.xml, man/gpasswd.1.xml, man/groups.1.xml, man/grpck.8.xml, man/login.defs.5.xml, man/passwd.1.xml, man/pwck.8.xml, man/sulogin.8.xml, man/useradd.8.xml: replace by . * po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po, NEWS, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, src/lastlog.c: fixed lastlog --help message (s,--login,--user,) http://bugs.debian.org/249611 - * man/Attic/mkpasswd.8.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pwck.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml: + * man/mkpasswd.8.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pwck.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml: use in FILES section. Cleanups. * man/expiry.1.xml, man/chsh.1.xml, man/chpasswd.8.xml, man/chfn.1.xml, man/porttime.5.xml, man/pw_auth.3.xml: @@ -928,15 +1399,15 @@ * man/chage.1.xml, man/chfn.1.xml, man/chsh.1.xml, man/expiry.1.xml, man/gpasswd.1.xml, man/groups.1.xml, man/id.1.xml, man/login.1.xml, man/passwd.1.xml, man/su.1.xml: added User Commands in . - * man/Attic/mkpasswd.8.xml, man/Attic/shadowconfig.8.xml, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/vigr.8.xml: + * man/mkpasswd.8.xml, man/shadowconfig.8.xml, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/vigr.8.xml: Use encoding="UTF-8" and DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN". - * man/userdel.8.xml, man/usermod.8.xml, man/vigr.8.xml, man/vipw.8.xml, man/Attic/mkpasswd.8.xml, man/Attic/shadowconfig.8.xml, man/chage.1.xml, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml: + * man/userdel.8.xml, man/usermod.8.xml, man/vigr.8.xml, man/vipw.8.xml, man/mkpasswd.8.xml, man/shadowconfig.8.xml, man/chage.1.xml, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml: better formation using "xmlindent -l 80 -d 2". 2005-04-21 Tomasz K這czko - * man/it/Attic/shadowconfig.8, man/it/chsh.1, man/it/expiry.1, man/it/faillog.5, man/it/faillog.8, man/it/getspnam.3, man/it/groups.1, man/it/grpck.8, man/it/grpconv.8, man/it/grpunconv.8, man/it/id.1, man/it/lastlog.8, man/it/login.1, man/it/logoutd.8, man/it/newgrp.1, man/it/porttime.5, man/it/pwck.8, man/it/shadow.3, man/it/shadow.5, man/it/su.1, man/it/vipw.8, NEWS, man/it/Makefile.am, man/it/chage.1, man/it/chfn.1, man/it/chpasswd.8: + * man/it/shadowconfig.8, man/it/chsh.1, man/it/expiry.1, man/it/faillog.5, man/it/faillog.8, man/it/getspnam.3, man/it/groups.1, man/it/grpck.8, man/it/grpconv.8, man/it/grpunconv.8, man/it/id.1, man/it/lastlog.8, man/it/login.1, man/it/logoutd.8, man/it/newgrp.1, man/it/porttime.5, man/it/pwck.8, man/it/shadow.3, man/it/shadow.5, man/it/su.1, man/it/vipw.8, NEWS, man/it/Makefile.am, man/it/chage.1, man/it/chfn.1, man/it/chpasswd.8: updated it man pages: chfn.1, chsh.1, groups.1, grpck.8, grpconv.8, grpunconv.8, id.1, lastlog.8, login.1, newgrp.1, pwunconv.8, shadow.5, vigr.8, vipw.8. new it man pages: chage.1, chpasswd.8, expiry.1, faillog.5, faillog.8, @@ -946,7 +1417,7 @@ * po/uk.po: cleanups in plural forms (by Roman Festchook ). - * man/Attic/mkpasswd.8.xml, man/Attic/shadowconfig.8.xml, man/chage.1, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/vipw.8.xml: + * man/mkpasswd.8.xml, man/shadowconfig.8.xml, man/chage.1, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/vipw.8.xml: reformated using xemacs. 2005-04-20 Tomasz K這czko @@ -988,7 +1459,7 @@ * man/useradd.8: fixed typos in useadd syntax (in SYNOPSIS section) catched using doclifter. - * man/Attic/mkpasswd.8.xml, man/Attic/shadowconfig.8.xml, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/getspnam.3.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/grpconv.8.xml, man/grpunconv.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/pwunconv.8.xml, man/sg.1.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/vigr.8.xml, man/vipw.8.xml: + * man/mkpasswd.8.xml, man/shadowconfig.8.xml, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/getspnam.3.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/grpconv.8.xml, man/grpunconv.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/pwunconv.8.xml, man/sg.1.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/vigr.8.xml, man/vipw.8.xml: raw version converted using doclifter. * configure.in: remove handle --with-lib{opie,skey}. @@ -1099,7 +1570,7 @@ * man/ja/newgrp.1, man/pl/newgrp.1, NEWS, man/hu/newgrp.1, man/newgrp.1: newgrp uses /bin/sh (not bash). - * man/Attic/mkpasswd.8, man/gpasswd.1, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/id.1, man/newgrp.1, man/pwck.8, man/useradd.8, man/userdel.8, man/usermod.8: + * man/mkpasswd.8, man/gpasswd.1, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/id.1, man/newgrp.1, man/pwck.8, man/useradd.8, man/userdel.8, man/usermod.8: describe /etc/group in FILES section as "group account information". * man/grpck.8: @@ -1109,7 +1580,7 @@ * NEWS, po/cs.po: Updated by Miroslav Kure . - * man/chage.1.xml, man/Attic/mkpasswd.8, man/chage.1, man/expiry.1, man/login.1, man/newgrp.1, man/passwd.1, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8: + * man/chage.1.xml, man/mkpasswd.8, man/chage.1, man/expiry.1, man/login.1, man/newgrp.1, man/passwd.1, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8: describe /etc/shadow in FILES section as "secure user account information". * man/newgrp.1: Reformated paragraph. s,Bourne shell,\fBbash\fR shell, @@ -1171,7 +1642,7 @@ * NEWS, man/ja/login.1: updated ja man page for Debian #95213 bug (by Kenshi Muto ). - * src/chage.c, src/chfn.c, src/chsh.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/grpck.c, src/passwd.c, src/pwck.c, src/useradd.c, src/userdel.c, src/usermod.c, NEWS, lib/Attic/grdbm.c, lib/Attic/gsdbm.c, lib/Attic/pwdbm.c, lib/Attic/spdbm.c, lib/Makefile.am, lib/gshadow.c, lib/shadow.c: + * src/chage.c, src/chfn.c, src/chsh.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/grpck.c, src/passwd.c, src/pwck.c, src/useradd.c, src/userdel.c, src/usermod.c, NEWS, lib/grdbm.c, lib/gsdbm.c, lib/pwdbm.c, lib/spdbm.c, lib/Makefile.am, lib/gshadow.c, lib/shadow.c: next round of cleanups: removed NDBM code (unused). * src/login.c: consilidate some !USE_PAM lines. @@ -1181,7 +1652,7 @@ * lib/prototypes.h: remove not used login_desrpc() prototype. - * lib/Attic/rad64.c, lib/encrypt.c, lib/prototypes.h, lib/Makefile.am: + * lib/rad64.c, lib/encrypt.c, lib/prototypes.h, lib/Makefile.am: remove lib/rad64 with not used c64i() and i64c() functions. * lib/encrypt.c: @@ -1205,7 +1676,7 @@ 2005-04-05 Tomasz K這czko - * man/ru/passwd.5, man/zh_CN/chfn.1, man/zh_CN/chpasswd.8, man/zh_CN/chsh.1, man/zh_CN/groupadd.8, man/zh_CN/groupdel.8, man/zh_CN/groupmod.8, man/zh_CN/useradd.8, man/zh_CN/userdel.8, man/zh_CN/usermod.8, man/zh_TW/chfn.1, man/zh_TW/chsh.1, man/zh_TW/groupadd.8, man/zh_TW/groupdel.8, man/zh_TW/groupmod.8, man/zh_TW/useradd.8, man/zh_TW/userdel.8, man/zh_TW/usermod.8, man/ko/chfn.1, man/ko/chsh.1, man/ko/groups.1, man/ko/id.1, man/ko/login.1, man/ko/passwd.5, man/ko/su.1, man/pt_BR/gpasswd.1, man/pt_BR/groupadd.8, man/pt_BR/groupdel.8, man/pt_BR/groupmod.8, man/pt_BR/shadow.5, man/ja/Attic/mkpasswd.8, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/expiry.1, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/limits.5, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/newgrp.1, man/ja/passwd.1, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/shadow.3, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8, man/hu/chfn.1, man/hu/chsh.1, man/hu/gpasswd.1, man/hu/groups.1, man/hu/id.1, man/hu/login.1, man/hu/newgrp.1, man/hu/passwd.1, man/hu/su.1, man/id/chsh.1, man/id/login.1, man/id/useradd.8, man/it/chfn.1, man/it/chsh.1, man/it/gpasswd.1, man/it/groupadd.8, man/it/groupdel.8, man/it/groupmod.8, man/it/groups.1, man/it/grpck.8, man/it/id.1, man/it/lastlog.8, man/it/login.1, man/it/passwd.5, man/it/shadow.5, man/it/useradd.8, man/it/userdel.8, man/it/usermod.8, man/it/vipw.8, man/de/chfn.1, man/de/chsh.1, man/de/login.1, man/de/passwd.1, man/de/passwd.5, man/de/su.1, man/de/vipw.8, man/es/login.1, man/es/passwd.1, man/es/su.1, man/fr/chage.1, man/fr/chpasswd.8, man/fr/chsh.1, man/fr/faillog.5, man/fr/gpasswd.1, man/fr/groups.1, man/fr/id.1, man/fr/passwd.1, man/fr/passwd.5, man/fr/shadow.5, man/fr/su.1, man/fr/useradd.8, man/fr/userdel.8, man/fr/usermod.8, man/cs/groups.1, man/cs/id.1, man/cs/lastlog.8, man/cs/passwd.5, man/cs/shadow.5, man/cs/su.1, man/pl/Attic/mkpasswd.8, man/pl/Attic/shadowconfig.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/expiry.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmems.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/limits.5, man/pl/login.1, man/pl/login.access.5, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/passwd.5, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/su.1, man/pl/suauth.5, man/pl/sulogin.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/vipw.8, man/chage.1, man/chfn.1, man/expiry.1, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupmems.8, man/groupmod.8, man/grpck.8, man/lastlog.8, man/limits.5, man/login.1, man/login.defs.5, man/newgrp.1, man/passwd.1, man/porttime.5, man/pwck.8, man/shadow.3, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/usermod.8, man/vipw.8: + * man/ru/passwd.5, man/zh_CN/chfn.1, man/zh_CN/chpasswd.8, man/zh_CN/chsh.1, man/zh_CN/groupadd.8, man/zh_CN/groupdel.8, man/zh_CN/groupmod.8, man/zh_CN/useradd.8, man/zh_CN/userdel.8, man/zh_CN/usermod.8, man/zh_TW/chfn.1, man/zh_TW/chsh.1, man/zh_TW/groupadd.8, man/zh_TW/groupdel.8, man/zh_TW/groupmod.8, man/zh_TW/useradd.8, man/zh_TW/userdel.8, man/zh_TW/usermod.8, man/ko/chfn.1, man/ko/chsh.1, man/ko/groups.1, man/ko/id.1, man/ko/login.1, man/ko/passwd.5, man/ko/su.1, man/pt_BR/gpasswd.1, man/pt_BR/groupadd.8, man/pt_BR/groupdel.8, man/pt_BR/groupmod.8, man/pt_BR/shadow.5, man/ja/mkpasswd.8, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/expiry.1, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/limits.5, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/newgrp.1, man/ja/passwd.1, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/shadow.3, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8, man/hu/chfn.1, man/hu/chsh.1, man/hu/gpasswd.1, man/hu/groups.1, man/hu/id.1, man/hu/login.1, man/hu/newgrp.1, man/hu/passwd.1, man/hu/su.1, man/id/chsh.1, man/id/login.1, man/id/useradd.8, man/it/chfn.1, man/it/chsh.1, man/it/gpasswd.1, man/it/groupadd.8, man/it/groupdel.8, man/it/groupmod.8, man/it/groups.1, man/it/grpck.8, man/it/id.1, man/it/lastlog.8, man/it/login.1, man/it/passwd.5, man/it/shadow.5, man/it/useradd.8, man/it/userdel.8, man/it/usermod.8, man/it/vipw.8, man/de/chfn.1, man/de/chsh.1, man/de/login.1, man/de/passwd.1, man/de/passwd.5, man/de/su.1, man/de/vipw.8, man/es/login.1, man/es/passwd.1, man/es/su.1, man/fr/chage.1, man/fr/chpasswd.8, man/fr/chsh.1, man/fr/faillog.5, man/fr/gpasswd.1, man/fr/groups.1, man/fr/id.1, man/fr/passwd.1, man/fr/passwd.5, man/fr/shadow.5, man/fr/su.1, man/fr/useradd.8, man/fr/userdel.8, man/fr/usermod.8, man/cs/groups.1, man/cs/id.1, man/cs/lastlog.8, man/cs/passwd.5, man/cs/shadow.5, man/cs/su.1, man/pl/mkpasswd.8, man/pl/shadowconfig.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/expiry.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmems.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/limits.5, man/pl/login.1, man/pl/login.access.5, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/passwd.5, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/su.1, man/pl/suauth.5, man/pl/sulogin.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/vipw.8, man/chage.1, man/chfn.1, man/expiry.1, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupmems.8, man/groupmod.8, man/grpck.8, man/lastlog.8, man/limits.5, man/login.1, man/login.defs.5, man/newgrp.1, man/passwd.1, man/porttime.5, man/pwck.8, man/shadow.3, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/usermod.8, man/vipw.8: more replaces "-" by "\-" (s,\\-,-,g; s,-,\\-,g). * man/pl/usermod.8: finish sync with english version. @@ -1219,7 +1690,7 @@ 2005-04-02 Tomasz K這czko - * man/Attic/mkpasswd.8, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/gshadow.5, man/id.1, man/lastlog.8, man/limits.5: + * man/mkpasswd.8, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/gshadow.5, man/id.1, man/lastlog.8, man/limits.5: replace all "-" by "\-" (s,\\-,-,; s,-,\\-,). * man/cs/groups.1: cleanups. @@ -1236,7 +1707,7 @@ * src/login.c: remove unused #ifded LOGIN_FBTAB .. #endif code. - * configure.in, libmisc/Attic/login_access.c, libmisc/Makefile.am, src/Makefile.am, src/login.c, src/login_nopam.c: + * configure.in, libmisc/login_access.c, libmisc/Makefile.am, src/Makefile.am, src/login.c, src/login_nopam.c: move libmisc/login_access.c to src/login_mopam.c. Remove using LOGIN_ACCESS #define. Now LOGIN_ACCESS is equal to !USE_PAM. In src/login_nopam.c will be cumulated non-PAM specyfic login code. @@ -1262,7 +1733,7 @@ * po/POTFILES.in: remove libmisc/login_{desrpc,krb}.c. - * lib/getdef.c, libmisc/Attic/login_desrpc.c, libmisc/Attic/login_krb.c, libmisc/Makefile.am, src/login.c, NEWS, autogen.sh, configure.in: + * lib/getdef.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/Makefile.am, src/login.c, NEWS, autogen.sh, configure.in: drop never finished kerberos and des_rpc support. * man/it/chfn.1: cleanups. @@ -1311,7 +1782,7 @@ * lib/pwauth.c, lib/pwauth.h: enable pw_auth() only #ifndef USE_PAM. - * src/userdel.c, src/usermod.c, src/vipw.c, src/Attic/mkpasswd.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmems.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/suauth.c, src/sulogin.c, src/useradd.c, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, libmisc/Attic/login_access.c, libmisc/Attic/login_krb.c, libmisc/addgrps.c, libmisc/age.c, libmisc/chkname.h, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/copydir.c, libmisc/env.c, libmisc/failure.c, libmisc/failure.h, libmisc/getdate.h, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/loginprompt.c, libmisc/motd.c, libmisc/pam_pass.c, libmisc/pwdcheck.c, libmisc/rlogin.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/utmp.c, libmisc/xmalloc.c, NEWS, lib/Attic/grdbm.c, lib/Attic/grpack.c, lib/Attic/gsdbm.c, lib/Attic/gspack.c, lib/Attic/pwdbm.c, lib/Attic/pwpack.c, lib/Attic/rad64.c, lib/Attic/spdbm.c, lib/Attic/sppack.c, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/faillog.h, lib/fputsx.c, lib/getdef.c, lib/getdef.h, lib/getpass.c, lib/groupio.c, lib/groupio.h, lib/gshadow.c, lib/gshadow_.h, lib/lockpw.c, lib/port.c, lib/port.h, lib/prototypes.h, lib/pwauth.c, lib/pwauth.h, lib/pwio.c, lib/pwio.h, lib/rcsid.h, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/sgroupio.c, lib/sgroupio.h, lib/shadow.c, lib/shadowio.c, lib/shadowio.h, lib/utent.c: + * src/userdel.c, src/usermod.c, src/vipw.c, src/mkpasswd.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmems.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/suauth.c, src/sulogin.c, src/useradd.c, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, libmisc/login_access.c, libmisc/login_krb.c, libmisc/addgrps.c, libmisc/age.c, libmisc/chkname.h, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/copydir.c, libmisc/env.c, libmisc/failure.c, libmisc/failure.h, libmisc/getdate.h, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/loginprompt.c, libmisc/motd.c, libmisc/pam_pass.c, libmisc/pwdcheck.c, libmisc/rlogin.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/utmp.c, libmisc/xmalloc.c, NEWS, lib/grdbm.c, lib/grpack.c, lib/gsdbm.c, lib/gspack.c, lib/pwdbm.c, lib/pwpack.c, lib/rad64.c, lib/rcsid.h, lib/spdbm.c, lib/sppack.c, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/faillog.h, lib/fputsx.c, lib/getdef.c, lib/getdef.h, lib/getpass.c, lib/groupio.c, lib/groupio.h, lib/gshadow.c, lib/gshadow_.h, lib/lockpw.c, lib/port.c, lib/port.h, lib/prototypes.h, lib/pwauth.c, lib/pwauth.h, lib/pwio.c, lib/pwio.h, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/sgroupio.c, lib/sgroupio.h, lib/shadow.c, lib/shadowio.c, lib/shadowio.h, lib/utent.c: reindent all source code using -l80. * lib/gshadow.c, NEWS: @@ -1324,7 +1795,7 @@ * src/login.c: removed radius support (even not compiles). - * doc/Attic/README.mirrors, doc/Makefile.am: removed. + * doc/README.mirrors, doc/Makefile.am: removed. * src/userdel.c (update_user): removed next redundant closing }. @@ -1343,9 +1814,9 @@ * man/pwconv.8: typo in bold. - * doc/Attic/INSTALL: removed. + * doc/INSTALL: removed. - * doc/Attic/README.sun4, doc/Makefile.am: removed outdated README.sun4. + * doc/README.sun4, doc/Makefile.am: removed outdated README.sun4. 2005-03-24 Tomasz K這czko @@ -1416,7 +1887,7 @@ 2005-03-07 Tomasz K這czko - * NEWS, etc/login.defs, etc/login.defs.linux, lib/getdef.c, man/pl/login.defs.5: + * NEWS, etc/login.defs.linux, etc/login.defs, lib/getdef.c, man/pl/login.defs.5: remove handle login.defs::NOLOGIN_STR (never used). 2005-02-25 Tomasz K這czko @@ -1500,7 +1971,7 @@ * po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tr.po, po/uk.po, po/zh_CN.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po: "make update-po". - * src/Attic/mkpasswd.c, src/passwd.c, src/userdel.c, src/chage.c, src/chfn.c, src/chsh.c, src/gpasswd.c, src/groups.c, src/login.c: + * src/mkpasswd.c, src/passwd.c, src/userdel.c, src/chage.c, src/chfn.c, src/chsh.c, src/gpasswd.c, src/groups.c, src/login.c: "less means better" added fixes which makes english texts more consistent especially with capitalization issues. Based on fixes by Tommi Vainikainen (make all text begining from lower case .. not upper). @@ -1533,7 +2004,7 @@ * po/pl.po: kill fuzzy. - * NEWS, lib/Attic/grent.c, lib/Attic/lastlog_.h, lib/Attic/md5.c, lib/Attic/md5.h, lib/Attic/md5crypt.c, lib/Attic/mkdir.c, lib/Attic/putgrent.c, lib/Attic/putpwent.c, lib/Attic/putspent.c, lib/Attic/pwent.c, lib/Attic/rename.c, lib/Attic/rmdir.c, lib/Attic/shadow_.h, lib/Attic/snprintf.c, lib/Attic/snprintf.h, lib/Attic/strcasecmp.c, lib/Attic/strdup.c, lib/Attic/strerror.c, lib/Attic/strstr.c, lib/Makefile.am: + * NEWS, lib/grent.c, lib/lastlog_.h, lib/md5.c, lib/md5.h, lib/md5crypt.c, lib/mkdir.c, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/pwent.c, lib/rename.c, lib/rmdir.c, lib/shadow_.h, lib/snprintf.c, lib/snprintf.h, lib/strcasecmp.c, lib/strdup.c, lib/strerror.c, lib/strstr.c, lib/Makefile.am: remove unused now files in lib/ directory. * po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tr.po, po/uk.po, po/zh_CN.po, po/POTFILES.in, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po: @@ -1571,7 +2042,7 @@ * NEWS: - final entry about fixed large file support in lastlog and faillog. - * src/vipw.c, lib/Attic/pwent.c, lib/Attic/grent.c: + * src/vipw.c, lib/pwent.c, lib/grent.c: use fseeko() instead fseek(). This not realuy neccessary because in this cases fseek() was used for move to begin of file. This only for minimize external functions count. @@ -1623,7 +2094,7 @@ 2004-12-11 Tomasz K這czko - * man/Attic/shadowconfig.8, man/chage.1, man/chfn.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/newgrp.1, man/newusers.8, man/passwd.5, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/suauth.5, man/useradd.8: + * man/shadowconfig.8, man/chage.1, man/chfn.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/newgrp.1, man/newusers.8, man/passwd.5, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/suauth.5, man/useradd.8: Fixed varoiuse typos and misspeling based partialy on patch from Bug#141322 from Debian (submited by Christian Perrier ). @@ -1707,7 +2178,7 @@ 2004-11-02 Tomasz K這czko - * man/pl/Attic/mkpasswd.8, man/pl/chage.1, man/pl/chsh.1, man/pl/faillog.8, man/pl/groupadd.8, man/pl/groupmems.8, man/pl/groupmod.8, man/pl/lastlog.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/chage.1, man/chsh.1, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupmems.8, man/lastlog.8, man/useradd.8, man/userdel.8, man/usermod.8: + * man/pl/mkpasswd.8, man/pl/chage.1, man/pl/chsh.1, man/pl/faillog.8, man/pl/groupadd.8, man/pl/groupmems.8, man/pl/groupmod.8, man/pl/lastlog.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/chage.1, man/chsh.1, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupmems.8, man/lastlog.8, man/useradd.8, man/userdel.8, man/usermod.8: separated OPTIONS section. * lib/commonio.c: reverte last change. @@ -1739,7 +2210,7 @@ 2004-10-26 Tomasz K這czko - * man/pl/Attic/adduser.8, man/pl/Makefile.am, man/Attic/adduser.8, man/Makefile.am, man/fr/Attic/adduser.8, man/fr/Makefile.am, man/id/Attic/adduser.8, man/id/Makefile.am, man/it/Attic/adduser.8, man/it/Makefile.am, man/ja/Attic/adduser.8, man/ja/Makefile.am, NEWS: + * man/pl/adduser.8, man/pl/Makefile.am, man/adduser.8, man/Makefile.am, man/fr/adduser.8, man/fr/Makefile.am, man/id/adduser.8, man/id/Makefile.am, man/it/adduser.8, man/it/Makefile.am, man/ja/adduser.8, man/ja/Makefile.am, NEWS: remove adduser(8) roff include man page to useradd(8). * lib/Makefile.am: more fixes for non-inst libmisc. @@ -1772,7 +2243,7 @@ * etc/pam.d/chage, etc/pam.d/chpasswd, etc/pam.d/groupadd, etc/pam.d/groupdel, etc/pam.d/groupmod, etc/pam.d/newusers, etc/pam.d/useradd, etc/pam.d/usermod: use default path to PAM modules. - * etc/pam.d/Attic/shadow, etc/pam.d/Makefile.am, etc/pam.d/chage, etc/pam.d/chpasswd, etc/pam.d/groupadd, etc/pam.d/groupdel, etc/pam.d/groupmod, etc/pam.d/login, etc/pam.d/newusers, etc/pam.d/usermod: + * etc/pam.d/shadow, etc/pam.d/Makefile.am, etc/pam.d/chage, etc/pam.d/chpasswd, etc/pam.d/groupadd, etc/pam.d/groupdel, etc/pam.d/groupmod, etc/pam.d/login, etc/pam.d/newusers, etc/pam.d/usermod: Remove shadow PAM config file. Added PAM config files for: chage, chpasswd, groupadd, groupdel, groupmod, login, newusers. @@ -1869,7 +2340,7 @@ * libmisc/ttytype.c: Removed getenv() prototype (it is in ). - * src/Attic/mkpasswd.c: + * src/mkpasswd.c: Removed fgetsx() prototype (it is in lib/prototypes.h). * man/it/vigr.8: Fixed typo (s/wipw/vipw/). @@ -1889,7 +2360,7 @@ New translations: bs, ca, da, eu, he, id, nb, nl, nn, pt, pt_BR, tr, zh_CN (stolen froM Debian) - * man/Attic/mkpasswd.8, man/grpck.8, man/pl/Attic/mkpasswd.8, man/pl/grpck.8, man/pl/pwck.8, man/pwck.8: + * man/mkpasswd.8, man/grpck.8, man/pl/mkpasswd.8, man/pl/grpck.8, man/pl/pwck.8, man/pwck.8: Corrected section number. 2004-08-04 Tomasz K這czko @@ -2038,7 +2509,7 @@ 2003-12-17 Tomasz K這czko - * lib/Attic/lastlog_.h, libmisc/log.c, libmisc/utmp.c, src/lastlog.c, src/login.c: + * lib/lastlog_.h, libmisc/log.c, libmisc/utmp.c, src/lastlog.c, src/login.c: More time() or gettimeofday() prevention overwrite memory on 64bit arch (partialy based on patch from MDK). @@ -2049,17 +2520,17 @@ * po/POTFILES.in: Removed lib/tcfsio.c. - * lib/Attic/tcfsio.c, lib/Attic/tcfsio.h, lib/Makefile.am, src/passwd.c, src/userdel.c, NEWS, configure.in, doc/README.pam: + * lib/tcfsio.c, lib/tcfsio.h, lib/Makefile.am, src/passwd.c, src/userdel.c, NEWS, configure.in, doc/README.pam: Removed TCFS support (tcfs is dead). * configure.in: Added using AM_MAINTAINER_MODE. AC_INIT without parameters. - * Attic/acconfig.h, configure.in: + * acconfig.h, configure.in: Cleanups on autoheadres level: use AC_DEFINE(VAR, VAL, [Comment]) for USE_PAM, HAVE_TCFS and TCFS_GDBM_SUPPORT. - * src/newusers.c, src/useradd.c, Attic/acconfig.h, autogen.sh, lib/Attic/pwpack.c, NEWS: + * src/newusers.c, src/useradd.c, acconfig.h, autogen.sh, lib/pwpack.c, NEWS: Remove all old BSD_QUOTA dependent code. 2003-12-16 Tomasz K這czko @@ -2075,7 +2546,7 @@ * lib/nscd.h: Added missing newline at end of file. - * Attic/acconfig.h: Remove unused (#un)defines. + * acconfig.h: Remove unused (#un)defines. * autogen.sh: Typo. @@ -2134,7 +2605,7 @@ * src/chage.c: Move *flg variables to global. - * Attic/acconfig.h: Comment for USG. + * acconfig.h: Comment for USG. 2003-05-14 Tomasz K這czko @@ -2161,13 +2632,13 @@ One TODO entry gone: fix nscd flushing databases on change (use per service flushing method instead HUPing nscd process). - * lib/Makefile.am, lib/commonio.c, lib/nscd.c, lib/nscd.h, libmisc/Attic/nscd.c, libmisc/Attic/nscd.h, libmisc/Makefile.am: + * lib/Makefile.am, lib/commonio.c, lib/nscd.c, lib/nscd.h, libmisc/nscd.c, libmisc/nscd.h, libmisc/Makefile.am: Move nscd.{c,h} from libmisc/ to lib/. Fix warning about implicit declaration of function `nscd_flush_cache' in lib/commonio.c. * lib/pwauth.h: Fix pw_auth() prototype. - * libmisc/Attic/nscd.c, libmisc/Attic/nscd.h, libmisc/Makefile.am: + * libmisc/nscd.c, libmisc/nscd.h, libmisc/Makefile.am: Added header file for nscd communication functions. * libmisc/chkname.c (good_name): @@ -2190,7 +2661,7 @@ * src/useradd.c: Indent. - * man/ja/Attic/pwauth.8, man/ja/Makefile.am, man/pl/Attic/pwauth.8, man/pl/Makefile.am, src/passwd.c, src/useradd.c, NEWS, lib/pwauth.c, man/Attic/pwauth.8, man/Makefile.am: + * man/ja/pwauth.8, man/ja/Makefile.am, man/pl/pwauth.8, man/pl/Makefile.am, src/passwd.c, src/useradd.c, NEWS, lib/pwauth.c, man/pwauth.8, man/Makefile.am: Cleanups continuations: removed old AUTH_METHODS dependent code, removed also pwauth(8) man page. @@ -2245,7 +2716,7 @@ add handle /etc/defaults/useradd::CREATE_MAIL_SPOOL={yes,no} for allow create empty mail spool for added user. - * man/pl/Attic/d_passwd.5, man/pl/Attic/dialups.5: Removed. + * man/pl/d_passwd.5, man/pl/dialups.5: Removed. * man/groupmems.8: Close few \fB by add \fR. @@ -2285,15 +2756,15 @@ * libmisc/shell.c (shell): do not gettexitize DEBUG message. - * src/chsh.c, src/grpconv.c, src/login.c, src/logoutd.c, src/sulogin.c, src/vipw.c, libmisc/Attic/login_access.c, libmisc/getdate.y, libmisc/limits.c, libmisc/obscure.c, libmisc/setupenv.c, lib/getpass.c, lib/pwauth.c: + * src/chsh.c, src/grpconv.c, src/login.c, src/logoutd.c, src/sulogin.c, src/vipw.c, libmisc/login_access.c, libmisc/getdate.y, libmisc/limits.c, libmisc/obscure.c, libmisc/setupenv.c, lib/getpass.c, lib/pwauth.c: Removed "#if 0 .. #endif" dead code. * libmisc/utmp.c: Fixed unterminated #if. - * libmisc/Attic/login_access.c (resolve_hostname): + * libmisc/login_access.c (resolve_hostname): cleanup: removed #if 1 .. #endif. - * libmisc/Attic/getdate.c: + * libmisc/getdate.c: Removed - this file is generated by bison/yacc. * configure.in: @@ -2305,17 +2776,17 @@ 2003-05-04 Tomasz K這czko - * src/Attic/dpasswd.c, src/login.c, src/Makefile.am, man/pl/Attic/dpasswd.8, man/pl/Makefile.am, man/ja/Attic/dpasswd.8, man/ja/Makefile.am, man/Attic/dpasswd.8, man/Makefile.am, lib/Attic/dialchk.c, lib/Attic/dialchk.h, lib/Attic/dialup.c, lib/Attic/dialup.h, lib/Makefile.am, lib/getdef.c, etc/login.defs, etc/login.defs.linux, NEWS: + * src/dpasswd.c, src/login.c, src/Makefile.am, man/pl/dpasswd.8, man/pl/Makefile.am, man/ja/dpasswd.8, man/ja/Makefile.am, man/dpasswd.8, man/Makefile.am, lib/dialchk.c, lib/dialchk.h, lib/dialup.c, lib/dialup.h, lib/Makefile.am, lib/getdef.c, etc/login.defs.linux, etc/login.defs, NEWS: Removed old dpasswd and DIALUPS_CHECK_ENAB login.defs handling code from login. - * doc/Attic/ANNOUNCE, doc/Makefile.am, NEWS: Removed old doc/ANNOUNCE. + * doc/ANNOUNCE, doc/Makefile.am, NEWS: Removed old doc/ANNOUNCE. * src/login.c, lib/getdef.c, etc/login.defs.linux, NEWS: Remove NO_PASSWORD_CONSOLE code. 2003-05-03 Tomasz K這czko - * libmisc/pwd2spwd.c, libmisc/utmp.c, libmisc/entry.c, libmisc/isexpired.c, lib/sgetspent.c, lib/shadow.c, lib/Attic/putpwent.c, lib/Attic/pwent.c, lib/Attic/pwpack.c, lib/defines.h, lib/pwio.c, lib/sgetpwent.c, Attic/acconfig.h, configure.in: + * libmisc/pwd2spwd.c, libmisc/utmp.c, libmisc/entry.c, libmisc/isexpired.c, lib/sgetspent.c, lib/shadow.c, lib/putpwent.c, lib/pwent.c, lib/pwpack.c, lib/defines.h, lib/pwio.c, lib/sgetpwent.c, acconfig.h, configure.in: Remove old SVR4, ATT_AGE, ATT_COMMENT dependent code. * src/chage.c: @@ -2324,7 +2795,7 @@ 2003-05-01 Tomasz K這czko - * man/Attic/dpasswd.8, man/Attic/mkpasswd.8, man/Attic/pwauth.8, man/Attic/shadowconfig.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/limits.5, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pwck.8, man/pwconv.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8: + * man/dpasswd.8, man/mkpasswd.8, man/pwauth.8, man/shadowconfig.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/limits.5, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pwck.8, man/pwconv.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8: Reformated. * etc/login.defs: @@ -2332,7 +2803,7 @@ ENV_SUPATH to PATH=/sbin:/bin:/usr/sbin:/usr/bin and ENV_PATH to PATH=/bin:/usr/bin - * old/Attic/Makefile.am, old/Attic/Makefile.linux, old/Attic/Makefile.sun4, old/Attic/Makefile.svr4, old/Attic/Makefile.xenix, old/Attic/config.h.linux, old/Attic/config.h.sun4, old/Attic/config.h.svr4, old/Attic/config.h.xenix, old/Attic/orig-config.h, old/Attic/pwconv-old.8, old/Attic/pwconv-old.c, old/Attic/pwconv.8, old/Attic/pwd.h.m4, old/Attic/pwunconv-old.8, old/Attic/pwunconv-old.c, old/Attic/pwunconv.8, old/Attic/scologin.c, old/Attic/vipw.8: + * old/Makefile.am, old/Makefile.linux, old/Makefile.sun4, old/Makefile.svr4, old/Makefile.xenix, old/config.h.linux, old/config.h.sun4, old/config.h.svr4, old/config.h.xenix, old/orig-config.h, old/pwconv-old.8, old/pwconv-old.c, old/pwconv.8, old/pwd.h.m4, old/pwunconv-old.8, old/pwunconv-old.c, old/pwunconv.8, old/scologin.c, old/vipw.8: Removed old stuff. 2003-04-30 Tomasz K這czko @@ -2344,7 +2815,7 @@ * man/ko/passwd.5: Remove ^M from end of line. - * src/chage.c, src/chpasswd.c, src/login.c, src/newusers.c, src/passwd.c, src/pwunconv.c, src/su.c, src/useradd.c, Attic/acconfig.h, NEWS, configure.in: + * src/chage.c, src/chpasswd.c, src/login.c, src/newusers.c, src/passwd.c, src/pwunconv.c, src/su.c, src/useradd.c, acconfig.h, NEWS, configure.in: Removed old ATT_AGE (account ageing in passwd file) dependent code. * po/pl.po: Fix chage and lastlog messages. @@ -2370,7 +2841,7 @@ * src/groupadd.c: Typo (s/nut/not/). - * man/Attic/shadowconfig.8: Merge changes from Debian. + * man/shadowconfig.8: Merge changes from Debian. * NEWS, man/passwd.5: Remove text about password aging from passwd(5) (based on Debian changes). @@ -2401,7 +2872,7 @@ * NEWS, configure.in, man/Makefile.am, man/ru/Makefile.am, man/ru/passwd.5: Added ru passwd(1) man page from KSI resources. - * man/zh_CN/Makefile.am, man/zh_CN/chfn.1, man/zh_CN/chsh.1, man/zh_TW/Makefile.am, man/zh_TW/chfn.1, man/zh_TW/chsh.1, man/ja/Attic/dpasswd.8, man/ja/Attic/mkpasswd.8, man/ja/Attic/pwauth.8, man/ja/Attic/shadowconfig.8, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/expiry.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/limits.5, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/newgrp.1, man/ja/newusers.8, man/ja/passwd.1, man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/pwconv.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8, NEWS, man/cs/Makefile.am, man/cs/id.1: + * man/zh_CN/Makefile.am, man/zh_CN/chfn.1, man/zh_CN/chsh.1, man/zh_TW/Makefile.am, man/zh_TW/chfn.1, man/zh_TW/chsh.1, man/ja/dpasswd.8, man/ja/mkpasswd.8, man/ja/pwauth.8, man/ja/shadowconfig.8, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/expiry.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/limits.5, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/newgrp.1, man/ja/newusers.8, man/ja/passwd.1, man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/pwconv.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8, NEWS, man/cs/Makefile.am, man/cs/id.1: Added chch(1), chfn(1) man pages from chinese man pages translation project. Added id(1) man page czech man pages translation project. @@ -2422,7 +2893,7 @@ * NEWS: Ready for gettext 0.11.5, automake 1.7.4, autoconf 2.57. Many cleanups and unifications in man pages. - * man/pt_BR/gpasswd.1, man/pt_BR/groupadd.8, man/pt_BR/groupdel.8, man/pt_BR/groupmod.8, man/pt_BR/shadow.5, man/zh_CN/chpasswd.8, man/zh_CN/groupadd.8, man/zh_CN/groupdel.8, man/zh_CN/groupmod.8, man/zh_CN/useradd.8, man/zh_CN/userdel.8, man/zh_CN/usermod.8, man/zh_TW/groupadd.8, man/zh_TW/groupdel.8, man/zh_TW/groupmod.8, man/zh_TW/useradd.8, man/zh_TW/userdel.8, man/zh_TW/usermod.8, man/ko/login.1, man/ko/su.1, man/pl/chage.1, man/pl/chfn.1, man/pl/chsh.1, man/pl/expiry.1, man/pl/gpasswd.1, man/pl/groupmems.8, man/pl/groups.1, man/pl/id.1, man/pl/lastlog.8, man/pl/login.1, man/pl/newgrp.1, man/pl/passwd.1, man/pl/su.1, man/pl/sulogin.8, man/pl/useradd.8, man/pl/usermod.8, man/ja/Attic/mkpasswd.8, man/ja/chage.1, man/ja/chfn.1, man/ja/chsh.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/limits.5, man/ja/login.1, man/ja/login.access.5, man/ja/logoutd.8, man/ja/newgrp.1, man/ja/passwd.1, man/ja/passwd.5, man/ja/porttime.5, man/ja/pwck.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/hu/chsh.1, man/hu/gpasswd.1, man/hu/groups.1, man/hu/login.1, man/hu/newgrp.1, man/hu/passwd.1, man/it/gpasswd.1, man/it/groupadd.8, man/it/groupdel.8, man/it/groupmod.8, man/it/grpck.8, man/it/lastlog.8, man/it/shadow.5, man/it/useradd.8, man/it/userdel.8, man/it/usermod.8, man/cs/shadow.5, man/es/su.1, man/fr/chage.1, man/fr/faillog.5, man/fr/gpasswd.1, man/fr/shadow.5, man/fr/su.1, man/fr/userdel.8, man/fr/usermod.8, man/Attic/dpasswd.8, man/Attic/mkpasswd.8, man/chage.1, man/chfn.1, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/limits.5, man/login.1, man/login.access.5, man/logoutd.8, man/newgrp.1, man/passwd.1, man/passwd.5, man/porttime.5, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8: + * man/pt_BR/gpasswd.1, man/pt_BR/groupadd.8, man/pt_BR/groupdel.8, man/pt_BR/groupmod.8, man/pt_BR/shadow.5, man/zh_CN/chpasswd.8, man/zh_CN/groupadd.8, man/zh_CN/groupdel.8, man/zh_CN/groupmod.8, man/zh_CN/useradd.8, man/zh_CN/userdel.8, man/zh_CN/usermod.8, man/zh_TW/groupadd.8, man/zh_TW/groupdel.8, man/zh_TW/groupmod.8, man/zh_TW/useradd.8, man/zh_TW/userdel.8, man/zh_TW/usermod.8, man/ko/login.1, man/ko/su.1, man/pl/chage.1, man/pl/chfn.1, man/pl/chsh.1, man/pl/expiry.1, man/pl/gpasswd.1, man/pl/groupmems.8, man/pl/groups.1, man/pl/id.1, man/pl/lastlog.8, man/pl/login.1, man/pl/newgrp.1, man/pl/passwd.1, man/pl/su.1, man/pl/sulogin.8, man/pl/useradd.8, man/pl/usermod.8, man/ja/mkpasswd.8, man/ja/chage.1, man/ja/chfn.1, man/ja/chsh.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/limits.5, man/ja/login.1, man/ja/login.access.5, man/ja/logoutd.8, man/ja/newgrp.1, man/ja/passwd.1, man/ja/passwd.5, man/ja/porttime.5, man/ja/pwck.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/hu/chsh.1, man/hu/gpasswd.1, man/hu/groups.1, man/hu/login.1, man/hu/newgrp.1, man/hu/passwd.1, man/it/gpasswd.1, man/it/groupadd.8, man/it/groupdel.8, man/it/groupmod.8, man/it/grpck.8, man/it/lastlog.8, man/it/shadow.5, man/it/useradd.8, man/it/userdel.8, man/it/usermod.8, man/cs/shadow.5, man/es/su.1, man/fr/chage.1, man/fr/faillog.5, man/fr/gpasswd.1, man/fr/shadow.5, man/fr/su.1, man/fr/userdel.8, man/fr/usermod.8, man/dpasswd.8, man/mkpasswd.8, man/chage.1, man/chfn.1, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/limits.5, man/login.1, man/login.access.5, man/logoutd.8, man/newgrp.1, man/passwd.1, man/passwd.5, man/porttime.5, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8: Fixes: correct utmp/wtmp paths. Unifications: bold commnanda and italify other file names. Other minor changes and cleanups and unifications. @@ -2455,7 +2926,7 @@ 2003-04-22 Tomasz K這czko - * libmisc/Attic/getdate.c, libmisc/Attic/login_access.c, libmisc/Attic/login_desrpc.c, libmisc/Attic/login_krb.c, libmisc/Attic/nscd.c, libmisc/Attic/setup.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/motd.c, libmisc/myname.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/pwd2spwd.c, libmisc/pwd_init.c, libmisc/pwdcheck.c, libmisc/rlogin.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, libmisc/Attic/chkshell.c, libmisc/addgrps.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c: + * libmisc/getdate.c, libmisc/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/nscd.c, libmisc/setup.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/motd.c, libmisc/myname.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/pwd2spwd.c, libmisc/pwd_init.c, libmisc/pwdcheck.c, libmisc/rlogin.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, libmisc/chkshell.c, libmisc/addgrps.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c: Indent all using current .indent.pro settings. * po/Makevars: New file neccessary for gettext >=0.11.5. @@ -2504,7 +2975,7 @@ fixed making vigr symlink to vipw (not vipw to vigr) in install-exec-hook (fix submited by Dimitar Zhekov ). - * debian/Attic/login.copyright, debian/Attic/login.postinst, debian/Attic/login.postrm, debian/Attic/login.preinst, debian/Attic/login.prerm, debian/Attic/logoutd.init, debian/Attic/passwd.conffiles, debian/Attic/passwd.copyright, debian/Attic/passwd.cron, debian/Attic/passwd.init, debian/Attic/passwd.postinst, debian/Attic/passwd.postrm, debian/Attic/porttime, debian/Attic/rules, debian/Attic/secure-su.README, debian/Attic/secure-su.conffiles, debian/Attic/secure-su.copyright, debian/Attic/secure-su.postrm, debian/Attic/secure-su.preinst, debian/Attic/securetty, debian/Attic/shadowconfig.sh, debian/Attic/Makefile.am, debian/Attic/changelog, debian/Attic/checksums, debian/Attic/control, debian/Attic/control.gnu, debian/Attic/control.linux, debian/Attic/login.conffiles, Makefile.am, configure.in: + * debian/login.copyright, debian/login.postinst, debian/login.postrm, debian/login.preinst, debian/login.prerm, debian/logoutd.init, debian/passwd.conffiles, debian/passwd.copyright, debian/passwd.cron, debian/passwd.init, debian/passwd.postinst, debian/passwd.postrm, debian/porttime, debian/rules, debian/secure-su.README, debian/secure-su.conffiles, debian/secure-su.copyright, debian/secure-su.postrm, debian/secure-su.preinst, debian/securetty, debian/shadowconfig.sh, debian/Makefile.am, debian/changelog, debian/checksums, debian/control, debian/control.gnu, debian/control.linux, debian/login.conffiles, Makefile.am, configure.in: removed debian directory. 2002-10-12 Tomasz K這czko @@ -2538,7 +3009,7 @@ 2002-03-18 Andrzej Krzysztofowicz - * man/ja/Attic/dpasswd.8, man/ja/Attic/shadowconfig.8, man/ja/chpasswd.8, man/ja/faillog.8, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/id.1, man/ja/lastlog.8, man/ja/login.defs.5, man/ja/newusers.8, man/ja/su.1, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8: + * man/ja/dpasswd.8, man/ja/shadowconfig.8, man/ja/chpasswd.8, man/ja/faillog.8, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/id.1, man/ja/lastlog.8, man/ja/login.defs.5, man/ja/newusers.8, man/ja/su.1, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8: - updated to man-pages-ja-20020315 (except cvs tags) 2002-03-15 Andrzej Krzysztofowicz @@ -2554,7 +3025,7 @@ * TODO: updated. - * man/it/Makefile.am, man/id/Attic/adduser.8, man/id/Makefile.am, man/id/useradd.8, man/Makefile.am, man/cs/Makefile.am, man/fr/Makefile.am, configure.in, NEWS: + * man/it/Makefile.am, man/id/adduser.8, man/id/Makefile.am, man/id/useradd.8, man/Makefile.am, man/cs/Makefile.am, man/fr/Makefile.am, configure.in, NEWS: added cs, de, fr, id, it, ko man pages to ac/am. 2002-03-12 Tomasz K這czko @@ -2569,7 +3040,7 @@ 2002-03-10 Tomasz K這czko - * man/it/usermod.8, man/it/vigr.8, man/it/vipw.8, man/it/Attic/adduser.8, man/it/chfn.1, man/it/chsh.1, man/it/gpasswd.1, man/it/groupadd.8, man/it/groupdel.8, man/it/groupmod.8, man/it/groups.1, man/it/grpck.8, man/it/grpconv.8, man/it/grpunconv.8, man/it/id.1, man/it/lastlog.8, man/it/login.1, man/it/newgrp.1, man/it/passwd.1, man/it/passwd.5, man/it/pwconv.8, man/it/pwunconv.8, man/it/shadow.5, man/it/useradd.8, man/it/userdel.8, man/id/Attic/adduser.8, man/id/chsh.1, man/id/login.1, man/fr/Attic/adduser.8, man/fr/chage.1, man/fr/chpasswd.8, man/fr/chsh.1, man/fr/faillog.5, man/fr/gpasswd.1, man/fr/groups.1, man/fr/id.1, man/fr/newgrp.1, man/fr/passwd.1, man/fr/passwd.5, man/fr/shadow.5, man/fr/su.1, man/fr/useradd.8, man/fr/userdel.8, man/fr/usermod.8, man/es/login.1, man/es/passwd.1, man/es/su.1, man/de/chsh.1, man/de/groups.1, man/de/login.1, man/de/passwd.1, man/de/su.1, man/cs/passwd.5, man/cs/shadow.5: + * man/it/usermod.8, man/it/vigr.8, man/it/vipw.8, man/it/adduser.8, man/it/chfn.1, man/it/chsh.1, man/it/gpasswd.1, man/it/groupadd.8, man/it/groupdel.8, man/it/groupmod.8, man/it/groups.1, man/it/grpck.8, man/it/grpconv.8, man/it/grpunconv.8, man/it/id.1, man/it/lastlog.8, man/it/login.1, man/it/newgrp.1, man/it/passwd.1, man/it/passwd.5, man/it/pwconv.8, man/it/pwunconv.8, man/it/shadow.5, man/it/useradd.8, man/it/userdel.8, man/id/adduser.8, man/id/chsh.1, man/id/login.1, man/fr/adduser.8, man/fr/chage.1, man/fr/chpasswd.8, man/fr/chsh.1, man/fr/faillog.5, man/fr/gpasswd.1, man/fr/groups.1, man/fr/id.1, man/fr/newgrp.1, man/fr/passwd.1, man/fr/passwd.5, man/fr/shadow.5, man/fr/su.1, man/fr/useradd.8, man/fr/userdel.8, man/fr/usermod.8, man/es/login.1, man/es/passwd.1, man/es/su.1, man/de/chsh.1, man/de/groups.1, man/de/login.1, man/de/passwd.1, man/de/su.1, man/cs/passwd.5, man/cs/shadow.5: added some raw cs, de, es, fr, id, it man pages from national man pages translation projects (all man pages not yet added to Makefile.am files because all need some work). @@ -2589,9 +3060,9 @@ remove suauth.c from libmisc_la_SOURCES (varialbles and functions from this file are usesd only in su). - * libmisc/Attic/suauth.c, src/suauth.c: move suauth.c o src/. + * libmisc/suauth.c, src/suauth.c: move suauth.c o src/. - * libmisc/Attic/suauth.c: + * libmisc/suauth.c: move "struct passwd pwent" outside #ifdef SU_ACCESS. 2002-03-09 Andrzej Krzysztofowicz @@ -2609,17 +3080,17 @@ 2002-03-09 Andrzej Krzysztofowicz - * man/pt_BR/groupadd.8, man/pt_BR/groupdel.8, man/pt_BR/groupmod.8, man/pt_BR/shadow.5, man/pl/userdel.8, man/pl/usermod.8, man/pl/sulogin.8, man/pl/useradd.8, man/pl/pwconv.8, man/pl/su.1, man/pl/Attic/mkpasswd.8, man/pl/Attic/pwauth.8, man/pl/newgrp.1, man/pl/passwd.5, man/pl/login.defs.5, man/pl/chpasswd.8, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmems.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/login.1, man/hu/groups.1, man/hu/newgrp.1, man/ja/Attic/mkpasswd.8, man/ja/Attic/pwauth.8, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/login.1, man/ja/login.defs.5, man/ja/newgrp.1, man/ja/passwd.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/shadow.5, man/ja/su.1, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8: + * man/pt_BR/groupadd.8, man/pt_BR/groupdel.8, man/pt_BR/groupmod.8, man/pt_BR/shadow.5, man/pl/userdel.8, man/pl/usermod.8, man/pl/sulogin.8, man/pl/useradd.8, man/pl/pwconv.8, man/pl/su.1, man/pl/mkpasswd.8, man/pl/pwauth.8, man/pl/newgrp.1, man/pl/passwd.5, man/pl/login.defs.5, man/pl/chpasswd.8, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmems.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/login.1, man/hu/groups.1, man/hu/newgrp.1, man/ja/mkpasswd.8, man/ja/pwauth.8, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/login.1, man/ja/login.defs.5, man/ja/newgrp.1, man/ja/passwd.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/shadow.5, man/ja/su.1, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8: - further "SEE ALSO" references sorting 2002-03-08 Tomasz K這czko - * man/pwck.8, man/pwconv.8, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8, man/Attic/mkpasswd.8, man/Attic/pwauth.8, man/Makefile.am, man/chpasswd.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/login.1, man/login.defs.5, man/newgrp.1, man/newusers.8, man/passwd.5, man/pw_auth.3: + * man/pwck.8, man/pwconv.8, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8, man/mkpasswd.8, man/pwauth.8, man/Makefile.am, man/chpasswd.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/login.1, man/login.defs.5, man/newgrp.1, man/newusers.8, man/passwd.5, man/pw_auth.3: merged shadow-4.0.0-owl-man.patch by Solar Designer . * NEWS: updated for 4.0.3. - * libmisc/Attic/suauth.c, libmisc/utmp.c, src/login.c, src/su.c: + * libmisc/suauth.c, libmisc/utmp.c, src/login.c, src/su.c: swapped utent dnd pwent efinition/extern and now shadow source can be configured --with-shared (fix by Dimitar Zhekov ). @@ -2645,7 +3116,7 @@ * man/hu/passwd.1: missing "-" - * man/ja/Attic/shadowconfig.8, man/ja/passwd.5, man/ja/shadow.5: + * man/ja/shadowconfig.8, man/ja/passwd.5, man/ja/shadow.5: - updated to man-pages-ja-20020215 2002-02-23 Andrzej Krzysztofowicz @@ -2661,7 +3132,7 @@ 2002-02-17 Tomasz K這czko - * Attic/shadow-utils.spec.in, Makefile.am, configure.in, shadow.spec.in: + * shadow-utils.spec.in, Makefile.am, configure.in, shadow.spec.in: rename spec file s/shadow-utils.spec/shadow.spec/ * po/cs.po, po/el.po, po/fr.po, po/ja.po, po/ko.po, po/sv.po, po/uk.po: @@ -2671,7 +3142,7 @@ 2002-02-01 Tomasz K這czko - * man/pl/Attic/adduser.8, man/pl/grpconv.8, man/pl/grpunconv.8, man/pl/pwunconv.8, man/pl/sg.1, man/pl/vigr.8, man/ja/Attic/adduser.8, man/ja/grpconv.8, man/ja/grpunconv.8, man/ja/pwunconv.8, man/ja/sg.1, man/ja/vigr.8, man/hu/sg.1, man/Attic/adduser.8, man/grpconv.8, man/grpunconv.8, man/pwunconv.8, man/sg.1, man/vigr.8: + * man/pl/adduser.8, man/pl/grpconv.8, man/pl/grpunconv.8, man/pl/pwunconv.8, man/pl/sg.1, man/pl/vigr.8, man/ja/adduser.8, man/ja/grpconv.8, man/ja/grpunconv.8, man/ja/pwunconv.8, man/ja/sg.1, man/ja/vigr.8, man/hu/sg.1, man/adduser.8, man/grpconv.8, man/grpunconv.8, man/pwunconv.8, man/sg.1, man/vigr.8: placa ".so man/." in roff .so includes (seems some man page viewers do not handles correctly man documents without subdirectory name in roff .so incude). @@ -2741,7 +3212,7 @@ * po/sv.po, po/uk.po, po/cs.po, po/el.po, po/fr.po, po/ja.po, po/ko.po, po/pl.po: update. - * src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, src/vipw.c, src/Attic/dpasswd.c, src/Attic/mkpasswd.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupmems.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c: + * src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, src/vipw.c, src/dpasswd.c, src/mkpasswd.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupmems.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c: Add -pcs to .indent.pro file and reindent all code. Remove "\n" from all SYSLOG() messages. @@ -2760,10 +3231,10 @@ * po/uk.po: typo. - * man/pl/passwd.1, man/ja/passwd.1, man/Attic/dpasswd.8, man/chpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1: + * man/pl/passwd.1, man/ja/passwd.1, man/dpasswd.8, man/chpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1: cleanups. - * src/Attic/dpasswd.c, src/Attic/mkpasswd.c, src/expiry.c, src/grpck.c, src/id.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/chfn.c, src/chsh.c, po/ja.po, po/ko.po, po/pl.po, po/sv.po, po/uk.po, po/cs.po, po/el.po, po/fr.po, man/useradd.8: + * src/dpasswd.c, src/mkpasswd.c, src/expiry.c, src/grpck.c, src/id.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/chfn.c, src/chsh.c, po/ja.po, po/ko.po, po/pl.po, po/sv.po, po/uk.po, po/cs.po, po/el.po, po/fr.po, man/useradd.8: standarize usage messages syntax. * man/pl/useradd.8, man/pl/usermod.8, man/pl/vipw.8, man/pl/userdel.8: @@ -2783,7 +3254,7 @@ 2001-12-20 Andrzej Krzysztofowicz - * man/ja/Attic/adduser.8, man/ja/Makefile.am, man/ja/limits.5, man/ja/pwconv.8: + * man/ja/adduser.8, man/ja/Makefile.am, man/ja/limits.5, man/ja/pwconv.8: - updated to man-pages-ja-20011215 2001-11-19 Tomasz K這czko @@ -2830,7 +3301,7 @@ 2001-11-16 Andrzej Krzysztofowicz - * man/ja/Attic/pwauth.8, man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/Attic/dpasswd.8, man/ja/Attic/mkpasswd.8, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/grpck.8, man/ja/lastlog.8, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/newgrp.1, man/ja/passwd.1: + * man/ja/pwauth.8, man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/dpasswd.8, man/ja/mkpasswd.8, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/grpck.8, man/ja/lastlog.8, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/newgrp.1, man/ja/passwd.1: - updated to man-pages-ja-20011115.tar.gz * man/ja/groups.1: 3c26de91cfd359c0b7c36ca3cd3e170d groups.1 @@ -2845,7 +3316,7 @@ * man/ja/pwunconv.8: 402190c04b8df45e20afd01e3acd0da4 pwunconv.8 - * man/ja/Attic/shadowconfig.8: + * man/ja/shadowconfig.8: f79300c0db64fd961443177c88605087 shadowconfig.8 * man/ja/useradd.8: 3333b9a2e5a388a472fb05106d65a596 useradd.8 @@ -2900,11 +3371,11 @@ 2001-11-06 Tomasz K這czko - * src/Attic/dpasswd.c, src/gpasswd.c, src/groupadd.c, src/groupmod.c, src/grpck.c, src/lastlog.c, src/login.c, src/passwd.c, src/pwck.c, src/userdel.c, src/usermod.c, src/chage.c, src/chfn.c, src/chsh.c, libmisc/utmp.c: + * src/dpasswd.c, src/gpasswd.c, src/groupadd.c, src/groupmod.c, src/grpck.c, src/lastlog.c, src/login.c, src/passwd.c, src/pwck.c, src/userdel.c, src/usermod.c, src/chage.c, src/chfn.c, src/chsh.c, libmisc/utmp.c: removed prototypes which are defined in libc header files (Thorsten Kukuk ). - * libmisc/Attic/nscd.c, libmisc/Makefile.am, lib/commonio.c: + * libmisc/nscd.c, libmisc/Makefile.am, lib/commonio.c: implemetn better reloading the nscd cache (per NSS map) by Thorsten Kukuk @@ -2928,7 +3399,7 @@ * src/useradd.c: sort alphabetically *flg variables. - * debian/Attic/Makefile.am, debian/Attic/tar.c: removed. + * debian/Makefile.am, debian/tar.c: removed. 2001-10-10 Tomasz K這czko @@ -3008,14 +3479,14 @@ remove limit to 6 chars logged tty name (apply 012_libmisc_sulog.c.diff Debian patch). - * man/pl/Attic/shadowconfig.8, man/Attic/shadowconfig.8: + * man/pl/shadowconfig.8, man/shadowconfig.8: - aply 021_man_shadowconfig_usr_doc.diff debian patch. * src/Makefile.am, lib/Makefile.am: use $(top_builddir) in .la files paths (for allow correct compile if $(top_builddir) isn't the same as $(top_srcdir)). - * po/Attic/ChangeLog: removed ChangeLog. + * po/ChangeLog: removed ChangeLog. 2001-08-18 Micha Moskal @@ -3042,7 +3513,7 @@ 2001-08-06 Tomasz K這czko - * po/Attic/ChangeLog, po/uk.po, configure.in: + * po/ChangeLog, po/uk.po, configure.in: added uk translation (Roman Festchook ). * src/logoutd.c (mani): @@ -3051,7 +3522,7 @@ 2001-07-27 Tomasz K這czko - * Attic/acconfig.h: - added missing USG. + * acconfig.h: - added missing USG. 2001-07-04 Marek Micha趾iewicz @@ -3062,7 +3533,7 @@ * NEWS: entry about dropping support one argument pam_strerror(). - * libmisc/pam_pass.c, src/login.c, src/su.c, Attic/acconfig.h, configure.in, lib/defines.h, lib/pam_defs.h: + * libmisc/pam_pass.c, src/login.c, src/su.c, acconfig.h, configure.in, lib/defines.h, lib/pam_defs.h: drop detecting is pam_strerror() need one or two arguments. Instead using PAM_STRERROR() macro use directly pam_strerror() function with two arguments. pam_strerror() with one argument is obsoleted. @@ -3089,7 +3560,7 @@ In current version ndling md5 functionality is included conditionaly inside md5.c and md5crypt.c source files. - * lib/Attic/md5.c: added comments for #endif. + * lib/md5.c: added comments for #endif. * configure.in: also do not use SU_ACCESS when PAM is used. @@ -3145,12 +3616,12 @@ * po/pl.po: fixed charset (must be iso-8859-2). - * man/Makefile.am, man/ja/Attic/dpasswd.8, man/ja/Attic/mkpasswd.8, man/ja/Attic/pwauth.8, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/grpck.8, man/ja/lastlog.8, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/newgrp.1, man/ja/passwd.1, man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/pwconv.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/userdel.8, man/ja/usermod.8, configure.in, NEWS: + * man/Makefile.am, man/ja/dpasswd.8, man/ja/mkpasswd.8, man/ja/pwauth.8, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/grpck.8, man/ja/lastlog.8, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/newgrp.1, man/ja/passwd.1, man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/pwconv.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/userdel.8, man/ja/usermod.8, configure.in, NEWS: added ja man pages. 2001-05-30 Tomasz K這czko - * src/Attic/shadowconfig.sh, src/Makefile.am, debian/Attic/Makefile.am, debian/Attic/shadowconfig.sh: + * src/shadowconfig.sh, src/Makefile.am, debian/Makefile.am, debian/shadowconfig.sh: move shadowconfig.sh to debian/ * src/Makefile.am: added missing -I${top_srcdir} to INCLUDES. @@ -3168,7 +3639,7 @@ 2001-02-04 Tomasz K這czko - * shlib/Attic/Makefile.am, shlib/Attic/Makefile.in.saved: - removed. + * shlib/Makefile.am, shlib/Makefile.in.saved: - removed. * src/Makefile.am, libmisc/Makefile.am, lib/Makefile.am: Rewrited automake suit for building lib, libmisc and src (now this look much @@ -3195,14 +3666,14 @@ * TODO: - updated. - * man/pl/Attic/dpasswd.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/login.1, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/su.1, man/pl/useradd.8, man/pl/userdel.8, man/pl/vipw.8, man/Attic/dpasswd.8, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/id.1, man/lastlog.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/su.1, man/useradd.8, man/usermod.8, man/vipw.8: + * man/pl/dpasswd.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/login.1, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/su.1, man/pl/useradd.8, man/pl/userdel.8, man/pl/vipw.8, man/dpasswd.8, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/id.1, man/lastlog.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/su.1, man/useradd.8, man/usermod.8, man/vipw.8: many small cleanups, fixes also removed commented obsoleted texts. 2001-01-25 Tomasz K這czko * autogen.sh: add to conf_flags --disable-shared. - * man/pl/Attic/d_passwd.5, man/pl/Attic/dialups.5, man/pl/Attic/dpasswd.8, man/pl/Attic/mkpasswd.8, man/pl/Attic/pwauth.8, man/pl/Attic/shadowconfig.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/limits.5, man/pl/login.1, man/pl/login.access.5, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/passwd.5, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/su.1, man/pl/suauth.5, man/pl/sulogin.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/pl/vipw.8, man/Attic/mkpasswd.8, man/Attic/pwauth.8, man/Attic/shadowconfig.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8, man/Attic/dpasswd.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/limits.5, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8: + * man/pl/d_passwd.5, man/pl/dialups.5, man/pl/dpasswd.8, man/pl/mkpasswd.8, man/pl/pwauth.8, man/pl/shadowconfig.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/limits.5, man/pl/login.1, man/pl/login.access.5, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/passwd.5, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/su.1, man/pl/suauth.5, man/pl/sulogin.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/pl/vipw.8, man/mkpasswd.8, man/pwauth.8, man/shadowconfig.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8, man/dpasswd.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/limits.5, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8: put or move to top cemmented Id cvs keyword, (passwd.1): documment -e option (patch from Debian), (userdel.1): remove commented obsoleted options. @@ -3277,7 +3748,7 @@ primary group. groupmems was written by George Kraft IV and this tool have BSD license. - * src/Attic/patchlevel.h, src/Makefile.am: + * src/patchlevel.h, src/Makefile.am: patchlevel.h, Makefile.am: removed patchlevel.h file, Makefile.am: removed bindir, sbindir (this comes with autoconf). @@ -3287,12 +3758,12 @@ 2000-10-16 Tomasz K這czko - * old/Attic/pwconv-old.8, old/Attic/pwconv.8, old/Attic/pwunconv-old.8, old/Attic/pwunconv.8, man/pl/Attic/mkpasswd.8, man/pl/Attic/pwauth.8, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/shadow.3, man/pl/su.1, man/pl/sulogin.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/pl/Attic/dpasswd.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/login.1, man/Attic/dpasswd.8, man/Attic/mkpasswd.8, man/Attic/pwauth.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, debian/Attic/login.copyright, debian/Attic/passwd.copyright, debian/Attic/secure-su.copyright, doc/Attic/ANNOUNCE, doc/LSM, doc/README, doc/README.linux: + * old/pwconv-old.8, old/pwconv.8, old/pwunconv-old.8, old/pwunconv.8, man/pl/mkpasswd.8, man/pl/pwauth.8, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/shadow.3, man/pl/su.1, man/pl/sulogin.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/pl/dpasswd.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/login.1, man/dpasswd.8, man/mkpasswd.8, man/pwauth.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, debian/login.copyright, debian/passwd.copyright, debian/secure-su.copyright, doc/ANNOUNCE, doc/LSM, doc/README, doc/README.linux: Julianne F. Haugh new contact adress. * NEWS: - summary chanfes for 20001016. - * doc/Attic/README.shadow-paper, doc/Makefile.am: + * doc/README.shadow-paper, doc/Makefile.am: - removed outdated README.shadow-paper. * configure.in: - release 20001016. @@ -3329,7 +3800,7 @@ * libmisc/Makefile.am: - removed pwdcheck.c from libmisc_a_SOURCES. - * debian/Attic/Makefile.am: - removed FILES from EXTRA_DIST. + * debian/Makefile.am: - removed FILES from EXTRA_DIST. * contrib/Makefile.am: - s/udbachk.v012.tgz/udbachk.tgz/ @@ -3337,7 +3808,7 @@ 2000-10-10 Tomasz K這czko - * po/Attic/ChangeLog: - add empty file (gettext requires this). + * po/ChangeLog: - add empty file (gettext requires this). 2000-10-10 Arkadiusz Mi鄂iewicz @@ -3347,9 +3818,9 @@ * Makefile.am: - added shadow-utils.spec.in to EXTR_DIST. - * redhat/Attic/shadow-utils.spec.in: - obsoleted. + * redhat/shadow-utils.spec.in: - obsoleted. - * Attic/stamp-h.in: - removed (this file is autogenerated by autoconf). + * stamp-h.in: - removed (this file is autogenerated by autoconf). * po/pl.po, po/sv.po, po/cs.po, po/el.po, po/fr.po: - update before release. @@ -3360,7 +3831,7 @@ * README: - added README with all shadow sites and resources details. - * Attic/shadow-utils.spec.in: - partialy rewrited. + * shadow-utils.spec.in: - partialy rewrited. * configure.in: - change version to 20001010. @@ -3368,11 +3839,11 @@ * Makefile.am, TODO: - added TODO. - * doc/Attic/CHANGES, NEWS: - rename doc/CHANGES -> NEWS. + * doc/CHANGES, NEWS: - rename doc/CHANGES -> NEWS. 2000-10-09 Tomasz K這czko - * redhat/Attic/Makefile.am, redhat/Attic/README, redhat/Attic/shadow-970616-fix.patch, redhat/Attic/shadow-970616-glibc.patch, redhat/Attic/shadow-970616-rh.patch, redhat/Attic/shadow-970616-utuser.patch, redhat/Attic/shadow-970616.login.defs, redhat/Attic/shadow-970616.useradd, redhat/Attic/shadow-utils-970616.spec, Attic/shadow-utils.spec.in, Makefile.am, configure.in: + * redhat/Makefile.am, redhat/README, redhat/shadow-970616-fix.patch, redhat/shadow-970616-glibc.patch, redhat/shadow-970616-rh.patch, redhat/shadow-970616-utuser.patch, redhat/shadow-970616.login.defs, redhat/shadow-970616.useradd, redhat/shadow-utils-970616.spec, shadow-utils.spec.in, Makefile.am, configure.in: - remove redhat/ directory with obsoleted files. * man/Makefile.am: - removed redundant ${man_MANS} from EXTRA_DIST. @@ -3388,15 +3859,15 @@ - added man pages for grpconv(8), grpunconv(8), pwunconv(8) (.so link to pwconv(8)) - * man/pl/Attic/adduser.8, man/pl/Makefile.am, man/Attic/adduser.8, man/Makefile.am: + * man/pl/adduser.8, man/pl/Makefile.am, man/adduser.8, man/Makefile.am: - added man page for adduser(8) (.so link to useradd(8)). - * po/Attic/doit: + * po/doit: - removed (in po/Makefile.in.in exist special update-po target). * etc/pam.d/passwd, etc/pam.d/su: - cosmetics. - * etc/pam.d/Attic/shadow: - sample PAM config file for shadow utils. + * etc/pam.d/shadow: - sample PAM config file for shadow utils. * etc/pam.d/Makefile.am: - added shadow to EXTRA_DIST @@ -3433,96 +3904,96 @@ 2000-09-05 Marek Micha趾iewicz - * man/pl/sulogin.8, man/pl/vipw.8, po/el.po, po/fr.po, po/pl.po, po/sv.po, man/pl/Attic/d_passwd.5, man/pl/Attic/dialups.5, man/pl/Attic/dpasswd.8, man/pl/Attic/mkpasswd.8, man/pl/Attic/pwauth.8, man/pl/Attic/shadowconfig.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/limits.5, man/pl/login.1, man/pl/login.access.5, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/passwd.5, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/su.1, man/pl/suauth.5: + * man/pl/sulogin.8, man/pl/vipw.8, po/el.po, po/fr.po, po/pl.po, po/sv.po, man/pl/d_passwd.5, man/pl/dialups.5, man/pl/dpasswd.8, man/pl/mkpasswd.8, man/pl/pwauth.8, man/pl/shadowconfig.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/limits.5, man/pl/login.1, man/pl/login.access.5, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/passwd.5, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/su.1, man/pl/suauth.5: *** empty log message *** 2000-09-02 Marek Micha趾iewicz - * src/groupmod.c, src/grpck.c, src/login.c, src/logoutd.c, src/newgrp.c, src/passwd.c, src/pwck.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/commonio.h, lib/defines.h, lib/groupio.c, lib/pwio.c, lib/sgroupio.c, lib/shadowio.c, man/usermod.8, po/el.po, po/fr.po, po/pl.po, po/sv.po, redhat/Attic/shadow-utils.spec.in, src/Attic/dpasswd.c, src/chage.c, src/chfn.c, src/chsh.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, configure.in, debian/Attic/rules, doc/Attic/CHANGES, doc/LSM, lib/commonio.c: + * src/groupmod.c, src/grpck.c, src/login.c, src/logoutd.c, src/newgrp.c, src/passwd.c, src/pwck.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/commonio.h, lib/defines.h, lib/groupio.c, lib/pwio.c, lib/sgroupio.c, lib/shadowio.c, man/usermod.8, po/el.po, po/fr.po, po/pl.po, po/sv.po, redhat/shadow-utils.spec.in, src/dpasswd.c, src/chage.c, src/chfn.c, src/chsh.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, configure.in, debian/rules, doc/CHANGES, doc/LSM, lib/commonio.c: *** empty log message *** 2000-08-26 Marek Micha趾iewicz - * contrib/Makefile.am, contrib/groupmems.shar, doc/LSM, po/el.po, po/fr.po, po/pl.po, po/sv.po, doc/Attic/README.mirrors, src/vipw.c, src/Attic/dpasswd.c, src/Attic/mkpasswd.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/Attic/dialchk.h, lib/Attic/dialup.h, lib/Attic/rad64.c, lib/Attic/tcfsio.h, lib/Makefile.am, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/getdef.c, lib/getdef.h, lib/groupio.c, lib/groupio.h, lib/prototypes.h, lib/pwauth.c, lib/pwio.c, lib/pwio.h, lib/sgroupio.c, lib/sgroupio.h, lib/shadowio.h, libmisc/Attic/suauth.c, libmisc/chkname.h, libmisc/chowndir.c, libmisc/copydir.c, libmisc/entry.c, libmisc/failure.h, libmisc/getdate.h, libmisc/hushed.c, libmisc/loginprompt.c, libmisc/setupenv.c, libmisc/sulog.c, man/Attic/dpasswd.8, man/Attic/mkpasswd.8, man/Attic/pwauth.8, man/Makefile.am, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/pl/Makefile.am, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/porttime.5, man/pw_auth.3, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, etc/login.defs.hurd, etc/login.defs.linux, doc/Attic/ANNOUNCE, doc/Attic/CHANGES, doc/README, doc/README.linux, doc/README.pam, doc/WISHLIST, debian/Attic/login.copyright, debian/Attic/passwd.copyright, debian/Attic/secure-su.copyright, Attic/mkinstalldirs, configure.in, Makefile.am: + * contrib/Makefile.am, contrib/groupmems.shar, doc/LSM, po/el.po, po/fr.po, po/pl.po, po/sv.po, doc/README.mirrors, src/vipw.c, src/dpasswd.c, src/mkpasswd.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/dialchk.h, lib/dialup.h, lib/rad64.c, lib/tcfsio.h, lib/Makefile.am, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/getdef.c, lib/getdef.h, lib/groupio.c, lib/groupio.h, lib/prototypes.h, lib/pwauth.c, lib/pwio.c, lib/pwio.h, lib/sgroupio.c, lib/sgroupio.h, lib/shadowio.h, libmisc/suauth.c, libmisc/chkname.h, libmisc/chowndir.c, libmisc/copydir.c, libmisc/entry.c, libmisc/failure.h, libmisc/getdate.h, libmisc/hushed.c, libmisc/loginprompt.c, libmisc/setupenv.c, libmisc/sulog.c, man/dpasswd.8, man/mkpasswd.8, man/pwauth.8, man/Makefile.am, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/pl/Makefile.am, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/porttime.5, man/pw_auth.3, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, etc/login.defs.hurd, etc/login.defs.linux, doc/ANNOUNCE, doc/CHANGES, doc/README, doc/README.linux, doc/README.pam, doc/WISHLIST, debian/login.copyright, debian/passwd.copyright, debian/secure-su.copyright, mkinstalldirs, configure.in, Makefile.am: *** empty log message *** 1999-08-27 Marek Micha趾iewicz - * doc/LSM, po/el.po, po/fr.po, po/pl.po, po/sv.po, debian/Attic/passwd.postinst, lib/Attic/dialchk.c, lib/getdef.c, lib/getpass.c, lib/pwauth.c, libmisc/limits.c, libmisc/rlogin.c, man/limits.5, man/newgrp.1, src/Attic/dpasswd.c, src/chage.c, src/gpasswd.c, src/login.c, src/logoutd.c, src/newgrp.c, src/passwd.c, src/sulogin.c, Attic/acconfig.h, configure.in, debian/Attic/Makefile.am, debian/Attic/changelog, debian/Attic/control.gnu, debian/Attic/control.linux, debian/Attic/login.postrm, debian/Attic/logoutd, debian/Attic/logoutd.init, debian/Attic/passwd.conffiles, debian/Attic/passwd.cron, debian/Attic/passwd.init, debian/Attic/passwd.postrm, debian/Attic/rules, doc/Attic/CHANGES, doc/Attic/README.mirrors, doc/WISHLIST, etc/Makefile.am, etc/login.defs.hurd, etc/login.defs.linux, lib/defines.h: + * doc/LSM, po/el.po, po/fr.po, po/pl.po, po/sv.po, debian/passwd.postinst, lib/dialchk.c, lib/getdef.c, lib/getpass.c, lib/pwauth.c, libmisc/limits.c, libmisc/rlogin.c, man/limits.5, man/newgrp.1, src/dpasswd.c, src/chage.c, src/gpasswd.c, src/login.c, src/logoutd.c, src/newgrp.c, src/passwd.c, src/sulogin.c, acconfig.h, configure.in, debian/Makefile.am, debian/changelog, debian/control.gnu, debian/control.linux, debian/login.postrm, debian/logoutd, debian/logoutd.init, debian/passwd.conffiles, debian/passwd.cron, debian/passwd.init, debian/passwd.postrm, debian/rules, doc/CHANGES, doc/README.mirrors, doc/WISHLIST, etc/login.defs.hurd, etc/login.defs.linux, etc/Makefile.am, lib/defines.h: *** empty log message *** 1999-07-09 Marek Micha趾iewicz - * configure.in, contrib/Makefile.am, debian/Attic/changelog, doc/Attic/CHANGES, doc/LSM, doc/WISHLIST, lib/Attic/strcasecmp.c, lib/prototypes.h, libmisc/Makefile.am, man/faillog.8, po/el.po, po/pl.po, src/Makefile.am, src/chfn.c, src/chsh.c, src/faillog.c, src/groupmod.c, src/grpconv.c, src/grpunconv.c, src/newgrp.c, src/passwd.c, src/vipw.c: + * configure.in, contrib/Makefile.am, debian/changelog, doc/CHANGES, doc/LSM, doc/WISHLIST, lib/strcasecmp.c, lib/prototypes.h, libmisc/Makefile.am, man/faillog.8, po/el.po, po/pl.po, src/Makefile.am, src/chfn.c, src/chsh.c, src/faillog.c, src/groupmod.c, src/grpconv.c, src/grpunconv.c, src/newgrp.c, src/passwd.c, src/vipw.c: *** empty log message *** 1999-06-07 Marek Micha趾iewicz - * redhat/Attic/shadow-utils.spec.in, src/Attic/dpasswd.c, src/Attic/mkpasswd.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, contrib/Makefile.am, contrib/README, contrib/udbachk.tgz, debian/Attic/changelog, debian/Attic/rules, doc/Attic/CHANGES, doc/Attic/README.mirrors, doc/LSM, doc/README.linux, doc/README.platforms, doc/WISHLIST, lib/Makefile.am, lib/fputsx.c, lib/getpass.c, lib/pam_defs.h, lib/prototypes.h, lib/rcsid.h, libmisc/Attic/login_desrpc.c, libmisc/pam_pass.c, libmisc/utmp.c, man/login.1, po/el.po, po/pl.po, Attic/acconfig.h, configure.in: + * redhat/shadow-utils.spec.in, src/dpasswd.c, src/mkpasswd.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, contrib/Makefile.am, contrib/README, contrib/udbachk.tgz, debian/changelog, debian/rules, doc/CHANGES, doc/README.mirrors, doc/LSM, doc/README.linux, doc/README.platforms, doc/WISHLIST, lib/rcsid.h, lib/Makefile.am, lib/fputsx.c, lib/getpass.c, lib/pam_defs.h, lib/prototypes.h, libmisc/login_desrpc.c, libmisc/pam_pass.c, libmisc/utmp.c, man/login.1, po/el.po, po/pl.po, acconfig.h, configure.in: *** empty log message *** 1999-03-07 Marek Micha趾iewicz - * po/pl.po, po/el.po, doc/LSM, src/useradd.c, src/su.c, src/pwconv.c, src/pwck.c, src/passwd.c, src/newusers.c, src/newgrp.c, src/logoutd.c, src/login.c, src/grpconv.c, src/grpck.c, src/groupadd.c, src/gpasswd.c, src/Attic/dpasswd.c, src/chfn.c, src/chage.c, man/usermod.8, man/useradd.8, man/limits.5, man/chage.1, libmisc/valid.c, libmisc/sub.c, libmisc/strtoday.c, libmisc/setupenv.c, libmisc/obscure.c, libmisc/limits.c, libmisc/env.c, lib/Attic/snprintf.h, lib/getdef.c, lib/encrypt.c, lib/defines.h, etc/login.defs.linux, doc/WISHLIST, doc/README.nls, doc/README.pam, doc/README.platforms, doc/Attic/README.mirrors, doc/README.linux, doc/Makefile.am, doc/Attic/CHANGES, debian/Attic/tar.c, debian/Attic/rules, debian/Attic/logoutd, debian/Attic/control, debian/Attic/changelog, configure.in: + * po/pl.po, po/el.po, doc/LSM, src/useradd.c, src/su.c, src/pwconv.c, src/pwck.c, src/passwd.c, src/newusers.c, src/newgrp.c, src/logoutd.c, src/login.c, src/grpconv.c, src/grpck.c, src/groupadd.c, src/gpasswd.c, src/dpasswd.c, src/chfn.c, src/chage.c, man/usermod.8, man/useradd.8, man/limits.5, man/chage.1, libmisc/valid.c, libmisc/sub.c, libmisc/strtoday.c, libmisc/setupenv.c, libmisc/obscure.c, libmisc/limits.c, libmisc/env.c, lib/snprintf.h, lib/getdef.c, lib/encrypt.c, lib/defines.h, etc/login.defs.linux, doc/WISHLIST, doc/README.nls, doc/README.pam, doc/README.platforms, doc/README.mirrors, doc/README.linux, doc/Makefile.am, doc/CHANGES, debian/tar.c, debian/rules, debian/logoutd, debian/control, debian/changelog, configure.in: *** empty log message *** 1998-12-28 Marek Micha趾iewicz - * src/usermod.c, src/userdel.c, src/useradd.c, src/sulogin.c, src/su.c, src/pwunconv.c, src/pwconv.c, src/pwck.c, src/passwd.c, src/newusers.c, src/newgrp.c, src/Attic/mkpasswd.c, src/logoutd.c, src/login.c, src/lastlog.c, src/id.c, src/grpunconv.c, src/grpconv.c, src/grpck.c, src/groups.c, src/groupmod.c, src/groupdel.c, src/groupadd.c, src/gpasswd.c, src/faillog.c, src/expiry.c, src/Attic/dpasswd.c, src/chsh.c, src/chpasswd.c, src/chfn.c, src/chage.c, po/Attic/doit, po/POTFILES.in, po/el.po, src/Makefile.am, man/usermod.8, man/userdel.8, man/useradd.8, man/sulogin.8, man/su.1, man/shadow.5, man/shadow.3, man/pwck.8, man/Attic/pwauth.8, man/pw_auth.3, man/porttime.5, man/passwd.5, man/passwd.1, man/newusers.8, man/newgrp.1, man/Attic/mkpasswd.8, man/logoutd.8, man/login.defs.5, man/login.1, man/lastlog.8, man/id.1, man/grpck.8, man/groups.1, man/groupmod.8, man/groupdel.8, man/groupadd.8, man/faillog.8, man/faillog.5, man/Attic/dpasswd.8, man/chsh.1, man/chpasswd.8, man/chfn.1, man/chage.1, libmisc/xmalloc.c, libmisc/sub.c, libmisc/Attic/suauth.c, libmisc/shell.c, libmisc/setupenv.c, libmisc/pam_pass.c, libmisc/obscure.c, libmisc/mail.c, libmisc/Attic/login_desrpc.c, libmisc/limits.c, libmisc/failure.c, libmisc/env.c, libmisc/console.c, libmisc/chowntty.c, libmisc/age.c, libmisc/addgrps.c, libmisc/Makefile.am, lib/Attic/strerror.c, lib/pwauth.c, lib/prototypes.h, lib/getpass.c, lib/getdef.c, lib/Attic/dialchk.c, lib/defines.h, lib/Makefile.am, doc/WISHLIST, doc/README.platforms, doc/Attic/README.mirrors, doc/README.linux, doc/README, doc/LSM, doc/Attic/CHANGES, debian/Attic/secure-su.copyright, debian/Attic/passwd.copyright, debian/Attic/login.copyright, debian/Attic/control, debian/Attic/changelog, configure.in, Attic/acconfig.h, Makefile.am: + * src/usermod.c, src/userdel.c, src/useradd.c, src/sulogin.c, src/su.c, src/pwunconv.c, src/pwconv.c, src/pwck.c, src/passwd.c, src/newusers.c, src/newgrp.c, src/mkpasswd.c, src/logoutd.c, src/login.c, src/lastlog.c, src/id.c, src/grpunconv.c, src/grpconv.c, src/grpck.c, src/groups.c, src/groupmod.c, src/groupdel.c, src/groupadd.c, src/gpasswd.c, src/faillog.c, src/expiry.c, src/dpasswd.c, src/chsh.c, src/chpasswd.c, src/chfn.c, src/chage.c, po/doit, po/POTFILES.in, po/el.po, src/Makefile.am, man/usermod.8, man/userdel.8, man/useradd.8, man/sulogin.8, man/su.1, man/shadow.5, man/shadow.3, man/pwck.8, man/pwauth.8, man/pw_auth.3, man/porttime.5, man/passwd.5, man/passwd.1, man/newusers.8, man/newgrp.1, man/mkpasswd.8, man/logoutd.8, man/login.defs.5, man/login.1, man/lastlog.8, man/id.1, man/grpck.8, man/groups.1, man/groupmod.8, man/groupdel.8, man/groupadd.8, man/faillog.8, man/faillog.5, man/dpasswd.8, man/chsh.1, man/chpasswd.8, man/chfn.1, man/chage.1, libmisc/xmalloc.c, libmisc/sub.c, libmisc/suauth.c, libmisc/shell.c, libmisc/setupenv.c, libmisc/pam_pass.c, libmisc/obscure.c, libmisc/mail.c, libmisc/login_desrpc.c, libmisc/limits.c, libmisc/failure.c, libmisc/env.c, libmisc/console.c, libmisc/chowntty.c, libmisc/age.c, libmisc/addgrps.c, libmisc/Makefile.am, lib/strerror.c, lib/pwauth.c, lib/prototypes.h, lib/getpass.c, lib/getdef.c, lib/dialchk.c, lib/defines.h, lib/Makefile.am, doc/WISHLIST, doc/README.platforms, doc/README.mirrors, doc/README.linux, doc/README, doc/LSM, doc/CHANGES, debian/secure-su.copyright, debian/passwd.copyright, debian/login.copyright, debian/control, debian/changelog, configure.in, acconfig.h, Makefile.am: *** empty log message *** 1998-07-24 Marek Micha趾iewicz - * src/passwd.c, src/su.c, src/userdel.c, src/Makefile.am, src/chage.c, src/faillog.c, src/login.c, lib/Attic/tcfsio.c, lib/Attic/tcfsio.h, lib/pwauth.c, libmisc/chowntty.c, libmisc/pam_pass.c, libmisc/setugid.c, etc/pam.d/passwd, etc/pam.d/su, lib/Makefile.am, lib/commonio.c, lib/defines.h, lib/prototypes.h, doc/Attic/README.mirrors, doc/Makefile.am, doc/README.linux, doc/README.platforms, doc/WISHLIST, etc/Makefile.am, etc/pam.d/Makefile.am, doc/Attic/CHANGES, debian/Attic/changelog, configure.in, Attic/acconfig.h: + * src/passwd.c, src/su.c, src/userdel.c, src/Makefile.am, src/chage.c, src/faillog.c, src/login.c, lib/tcfsio.c, lib/tcfsio.h, lib/pwauth.c, libmisc/chowntty.c, libmisc/pam_pass.c, libmisc/setugid.c, etc/pam.d/passwd, etc/pam.d/su, lib/Makefile.am, lib/commonio.c, lib/defines.h, lib/prototypes.h, doc/README.mirrors, doc/Makefile.am, doc/README.linux, doc/README.platforms, doc/WISHLIST, etc/Makefile.am, etc/pam.d/Makefile.am, doc/CHANGES, debian/changelog, configure.in, acconfig.h: *** empty log message *** 1998-06-26 Marek Micha趾iewicz - * src/passwd.c, src/usermod.c, man/faillog.8, man/pwconv.8, src/logoutd.c, lib/getpass.c, libmisc/copydir.c, doc/Attic/README.mirrors, doc/README.linux, doc/WISHLIST, lib/commonio.c, debian/Attic/changelog, doc/Attic/CHANGES, configure.in: + * src/passwd.c, src/usermod.c, man/faillog.8, man/pwconv.8, src/logoutd.c, lib/getpass.c, libmisc/copydir.c, doc/README.mirrors, doc/README.linux, doc/WISHLIST, lib/commonio.c, debian/changelog, doc/CHANGES, configure.in: *** empty log message *** 1998-05-29 Marek Micha趾iewicz - * man/lastlog.8, man/login.1, src/usermod.c, doc/Attic/CHANGES, doc/README.linux, etc/login.defs.linux, lib/defines.h, debian/Attic/changelog, debian/Attic/login.copyright, debian/Attic/login.postinst, debian/Attic/passwd.copyright, debian/Attic/rules, debian/Attic/secure-su.copyright, configure.in, contrib/Makefile.am, contrib/shadow-anonftp.patch: + * man/lastlog.8, man/login.1, src/usermod.c, doc/CHANGES, doc/README.linux, etc/login.defs.linux, lib/defines.h, debian/changelog, debian/login.copyright, debian/login.postinst, debian/passwd.copyright, debian/rules, debian/secure-su.copyright, configure.in, contrib/Makefile.am, contrib/shadow-anonftp.patch: *** empty log message *** 1998-04-16 Marek Micha趾iewicz - * src/useradd.c, src/userdel.c, src/usermod.c, src/passwd.c, src/sulogin.c, src/groupdel.c, src/login.c, src/logoutd.c, src/newgrp.c, src/Attic/dpasswd.c, src/chage.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, redhat/Attic/shadow-970616-rh.patch, redhat/Attic/shadow-970616-utuser.patch, redhat/Attic/shadow-970616.login.defs, redhat/Attic/shadow-970616.useradd, redhat/Attic/shadow-utils-970616.spec, src/Makefile.am, libmisc/utmp.c, redhat/Attic/Makefile.am, redhat/Attic/README, redhat/Attic/shadow-970616-fix.patch, redhat/Attic/shadow-970616-glibc.patch, libmisc/Attic/login_desrpc.c, libmisc/limits.c, libmisc/log.c, libmisc/loginprompt.c, libmisc/obscure.c, libmisc/strtoday.c, libmisc/chkname.c, libmisc/chowndir.c, libmisc/copydir.c, libmisc/failure.c, lib/Attic/dialchk.c, lib/Attic/pwpack.c, lib/defines.h, lib/pwauth.c, doc/Attic/CHANGES, doc/README.linux, doc/WISHLIST, doc/cracklib26.diff, lib/commonio.c, Attic/acconfig.h, configure.in, debian/Attic/tar.c: + * src/useradd.c, src/userdel.c, src/usermod.c, src/passwd.c, src/sulogin.c, src/groupdel.c, src/login.c, src/logoutd.c, src/newgrp.c, src/dpasswd.c, src/chage.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, redhat/shadow-970616-rh.patch, redhat/shadow-970616-utuser.patch, redhat/shadow-970616.login.defs, redhat/shadow-970616.useradd, redhat/shadow-utils-970616.spec, src/Makefile.am, libmisc/utmp.c, redhat/Makefile.am, redhat/README, redhat/shadow-970616-fix.patch, redhat/shadow-970616-glibc.patch, libmisc/login_desrpc.c, libmisc/limits.c, libmisc/log.c, libmisc/loginprompt.c, libmisc/obscure.c, libmisc/strtoday.c, libmisc/chkname.c, libmisc/chowndir.c, libmisc/copydir.c, libmisc/failure.c, lib/dialchk.c, lib/pwpack.c, lib/defines.h, lib/pwauth.c, doc/CHANGES, doc/README.linux, doc/WISHLIST, doc/cracklib26.diff, lib/commonio.c, acconfig.h, configure.in, debian/tar.c: *** empty log message *** 1998-04-02 Marek Micha趾iewicz - * src/groupmod.c, libmisc/sulog.c, lib/sgetspent.c, lib/sgetpwent.c, lib/sgetgrent.c, lib/Attic/putgrent.c, lib/gshadow.c, lib/getdef.c, lib/fputsx.c, lib/commonio.c, doc/Attic/README.mirrors, doc/README.linux, doc/Attic/CHANGES, configure.in: + * src/groupmod.c, libmisc/sulog.c, lib/sgetspent.c, lib/sgetpwent.c, lib/sgetgrent.c, lib/putgrent.c, lib/gshadow.c, lib/getdef.c, lib/fputsx.c, lib/commonio.c, doc/README.mirrors, doc/README.linux, doc/CHANGES, configure.in: *** empty log message *** 1998-01-30 Marek Micha趾iewicz - * Attic/install-sh, src/userdel.c, src/usermod.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/useradd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/groupmod.c, src/login.c, src/logoutd.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, redhat/Attic/README, redhat/Attic/shadow-utils.spec.in, src/Makefile.am, src/chage.c, man/login.defs.5, man/useradd.8, man/usermod.8, redhat/Attic/Makefile.am, libmisc/pam_pass.c, libmisc/strtoday.c, libmisc/tz.c, libmisc/Attic/login_access.c, libmisc/Attic/login_desrpc.c, libmisc/Attic/login_krb.c, libmisc/obscure.c, libmisc/age.c, libmisc/env.c, libmisc/limits.c, lib/Attic/strstr.c, lib/shadow.c, lib/shadowio.c, lib/shadowio.h, lib/utent.c, lib/Attic/rmdir.c, lib/pwio.c, lib/pwio.h, lib/sgetspent.c, lib/sgroupio.c, lib/Attic/mkdir.c, lib/Attic/putgrent.c, lib/prototypes.h, lib/pwauth.c, lib/Attic/md5crypt.c, lib/getpass.c, lib/groupio.c, lib/gshadow.c, lib/lockpw.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/getdef.c, lib/getdef.h, doc/Attic/README.mirrors, doc/Attic/automake-1.0.diff, doc/WISHLIST, lib/Makefile.am, lib/commonio.c, doc/Attic/ANNOUNCE, doc/Attic/CHANGES, doc/Makefile.am, doc/README.limits, doc/README.linux, debian/Attic/Makefile.am, debian/Attic/changelog, debian/Attic/login.copyright, debian/Attic/rules, Attic/mkinstalldirs, Attic/shadow-utils.spec, contrib/README, Attic/acconfig.h, Attic/aclocal.m4, configure.in, Makefile.am: + * install-sh, src/userdel.c, src/usermod.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/useradd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/groupmod.c, src/login.c, src/logoutd.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, redhat/README, redhat/shadow-utils.spec.in, src/Makefile.am, src/chage.c, man/login.defs.5, man/useradd.8, man/usermod.8, redhat/Makefile.am, libmisc/pam_pass.c, libmisc/strtoday.c, libmisc/tz.c, libmisc/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/obscure.c, libmisc/age.c, libmisc/env.c, libmisc/limits.c, lib/strstr.c, lib/shadow.c, lib/shadowio.c, lib/shadowio.h, lib/utent.c, lib/rmdir.c, lib/pwio.c, lib/pwio.h, lib/sgetspent.c, lib/sgroupio.c, lib/mkdir.c, lib/putgrent.c, lib/prototypes.h, lib/pwauth.c, lib/md5crypt.c, lib/getpass.c, lib/groupio.c, lib/gshadow.c, lib/lockpw.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/getdef.c, lib/getdef.h, doc/README.mirrors, doc/automake-1.0.diff, doc/WISHLIST, lib/Makefile.am, lib/commonio.c, doc/ANNOUNCE, doc/CHANGES, doc/Makefile.am, doc/README.limits, doc/README.linux, debian/Makefile.am, debian/changelog, debian/login.copyright, debian/rules, mkinstalldirs, shadow-utils.spec, contrib/README, acconfig.h, aclocal.m4, configure.in, Makefile.am: *** empty log message *** 1998-01-25 Marek Micha趾iewicz - * Attic/acconfig.h: *** empty log message *** + * acconfig.h: *** empty log message *** 1997-12-14 Marek Micha趾iewicz - * doc/Attic/CHANGES, debian/Attic/checksums, debian/Attic/rules, debian/Attic/Makefile.am, src/Makefile.am, src/userdel.c, src/usermod.c, src/pwck.c, src/useradd.c, src/Attic/mkpasswd.c, src/gpasswd.c, src/grpck.c, src/login.c, src/chage.c, src/chfn.c, src/chsh.c, man/Attic/shadowconfig.8, man/vipw.8, old/Attic/Makefile.am, old/Attic/pwunconv.8, man/Makefile.am, man/login.defs.5, man/pwconv.8, man/pwunconv.8, libmisc/limits.c, libmisc/rlogin.c, lib/Attic/pwdbm.c, lib/Attic/pwent.c, lib/prototypes.h, lib/shadow.c, doc/LSM, doc/WISHLIST, etc/limits, lib/Attic/grent.c, Attic/shadow-utils.spec, debian/Attic/changelog, configure.in: + * doc/CHANGES, debian/checksums, debian/rules, debian/Makefile.am, src/Makefile.am, src/userdel.c, src/usermod.c, src/pwck.c, src/useradd.c, src/mkpasswd.c, src/gpasswd.c, src/grpck.c, src/login.c, src/chage.c, src/chfn.c, src/chsh.c, man/shadowconfig.8, man/vipw.8, old/Makefile.am, old/pwunconv.8, man/Makefile.am, man/login.defs.5, man/pwconv.8, man/pwunconv.8, libmisc/limits.c, libmisc/rlogin.c, lib/pwdbm.c, lib/pwent.c, lib/prototypes.h, lib/shadow.c, doc/LSM, doc/WISHLIST, etc/limits, lib/grent.c, shadow-utils.spec, debian/changelog, configure.in: *** empty log message *** 1997-12-08 Marek Micha趾iewicz - * src/userdel.c, src/usermod.c, src/Attic/shadowconfig.sh, src/su.c, src/sulogin.c, src/useradd.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/newgrp.c, src/newusers.c, src/Attic/mkpasswd.c, src/logoutd.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/Attic/dpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, old/Attic/Makefile.am, old/Attic/pwconv.8, old/Attic/vipw.8, man/Attic/shadowconfig.8, man/Makefile.am, man/limits.5, man/pwconv.8, man/vipw.8, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, libmisc/Attic/suauth.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/Attic/setup.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/rlogin.c, libmisc/motd.c, libmisc/myname.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/pwd2spwd.c, libmisc/pwd_init.c, libmisc/Attic/login_access.c, libmisc/Attic/login_desrpc.c, libmisc/Attic/login_krb.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/Attic/getdate.c, libmisc/failure.h, libmisc/fields.c, libmisc/getdate.h, libmisc/getdate.y, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, libmisc/Attic/chkshell.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chkname.h, lib/Attic/strdup.c, lib/Attic/strerror.c, lib/Attic/strstr.c, lib/utent.c, libmisc/Makefile.am, libmisc/addgrps.c, lib/Attic/spdbm.c, lib/Attic/sppack.c, lib/sgroupio.c, lib/shadow.c, lib/shadowio.c, lib/Attic/rename.c, lib/Attic/rmdir.c, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/Attic/rad64.c, lib/Attic/pwdbm.c, lib/Attic/pwent.c, lib/Attic/pwpack.c, lib/pwauth.c, lib/pwio.c, lib/Attic/mkdir.c, lib/Attic/putgrent.c, lib/Attic/putpwent.c, lib/Attic/putspent.c, lib/port.c, lib/prototypes.h, lib/Attic/gsdbm.c, lib/Attic/gspack.c, lib/Attic/md5.c, lib/Attic/md5crypt.c, lib/gshadow.c, lib/lockpw.c, lib/Attic/grdbm.c, lib/Attic/grent.c, lib/Attic/grpack.c, lib/groupio.c, lib/getpass.c, lib/Attic/dialup.c, lib/encrypt.c, lib/fputsx.c, lib/getdef.c, lib/Attic/dialchk.c, lib/Attic/dialchk.h, lib/commonio.c, lib/commonio.h, lib/defines.h, doc/Attic/automake-1.0.diff, etc/limits, etc/login.defs.linux, lib/Makefile.am, doc/Attic/CHANGES, doc/Attic/README.mirrors, doc/README.linux, doc/WISHLIST, debian/Attic/login.conffiles, debian/Attic/login.postinst, debian/Attic/passwd.postinst, debian/Attic/porttime, debian/Attic/rules, debian/Attic/secure-su.README, debian/Attic/securetty, contrib/pwdauth.c, debian/Attic/changelog, debian/Attic/control, Attic/acconfig.h, Attic/aclocal.m4, Attic/shadow-utils.spec, configure.in, Makefile.am: + * src/userdel.c, src/usermod.c, src/shadowconfig.sh, src/su.c, src/sulogin.c, src/useradd.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/newgrp.c, src/newusers.c, src/mkpasswd.c, src/logoutd.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/dpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, old/Makefile.am, old/pwconv.8, old/vipw.8, man/shadowconfig.8, man/Makefile.am, man/limits.5, man/pwconv.8, man/vipw.8, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, libmisc/suauth.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/setup.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/rlogin.c, libmisc/motd.c, libmisc/myname.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/pwd2spwd.c, libmisc/pwd_init.c, libmisc/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/getdate.c, libmisc/failure.h, libmisc/fields.c, libmisc/getdate.h, libmisc/getdate.y, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, libmisc/chkshell.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chkname.h, lib/strdup.c, lib/strerror.c, lib/strstr.c, lib/utent.c, libmisc/Makefile.am, libmisc/addgrps.c, lib/spdbm.c, lib/sppack.c, lib/sgroupio.c, lib/shadow.c, lib/shadowio.c, lib/rename.c, lib/rmdir.c, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/rad64.c, lib/pwdbm.c, lib/pwent.c, lib/pwpack.c, lib/pwauth.c, lib/pwio.c, lib/mkdir.c, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/port.c, lib/prototypes.h, lib/gsdbm.c, lib/gspack.c, lib/md5.c, lib/md5crypt.c, lib/gshadow.c, lib/lockpw.c, lib/grdbm.c, lib/grent.c, lib/grpack.c, lib/groupio.c, lib/getpass.c, lib/dialup.c, lib/encrypt.c, lib/fputsx.c, lib/getdef.c, lib/dialchk.c, lib/dialchk.h, lib/commonio.c, lib/commonio.h, lib/defines.h, doc/automake-1.0.diff, etc/login.defs.linux, etc/limits, lib/Makefile.am, doc/CHANGES, doc/README.mirrors, doc/README.linux, doc/WISHLIST, debian/login.conffiles, debian/login.postinst, debian/passwd.postinst, debian/porttime, debian/rules, debian/secure-su.README, debian/securetty, contrib/pwdauth.c, debian/changelog, debian/control, acconfig.h, aclocal.m4, shadow-utils.spec, configure.in, Makefile.am: *** empty log message *** 1997-10-01 Marek Micha趾iewicz - * debian/Attic/changelog, src/chpasswd.c, libmisc/Attic/login_access.c, lib/commonio.h, lib/sgroupio.c, lib/shadowio.c, etc/login.defs.linux, doc/Attic/CHANGES, doc/Attic/README.mirrors, doc/LSM, doc/WISHLIST, Attic/shadow-utils.spec: + * debian/changelog, src/chpasswd.c, libmisc/login_access.c, lib/commonio.h, lib/sgroupio.c, lib/shadowio.c, etc/login.defs.linux, doc/CHANGES, doc/README.mirrors, doc/LSM, doc/WISHLIST, shadow-utils.spec: *** empty log message *** 1997-09-30 Marek Micha趾iewicz - * src/useradd.c, src/userdel.c, src/usermod.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/newusers.c, src/passwd.c, src/pwck.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/login.c, src/groupmod.c, src/Attic/dpasswd.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/Makefile.am, old/Attic/install-sh, old/Attic/pwconv-old.8, old/Attic/pwunconv-old.8, old/Attic/Makefile.am, man/pwconv.8, man/pwunconv.8, libmisc/setugid.c, libmisc/shell.c, libmisc/utmp.c, libmisc/mail.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/salt.c, libmisc/Attic/login_access.c, libmisc/isexpired.c, libmisc/env.c, libmisc/fields.c, libmisc/addgrps.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, lib/Attic/strerror.c, lib/Attic/snprintf.c, lib/Attic/snprintf.h, lib/sgroupio.c, lib/sgroupio.h, lib/shadowio.c, lib/shadowio.h, lib/Attic/putgrent.c, lib/Attic/pwent.c, lib/pwauth.c, lib/Attic/grent.c, lib/getpass.c, lib/prototypes.h, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/getdef.c, lib/Makefile.am, etc/login.defs.linux, doc/Attic/README.mirrors, doc/README.linux, doc/WISHLIST, doc/Attic/CHANGES, doc/LSM, doc/Makefile.am, debian/Attic/rules, debian/Attic/changelog, contrib/adduser.c, configure.in, Attic/acconfig.h: + * src/useradd.c, src/userdel.c, src/usermod.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/newusers.c, src/passwd.c, src/pwck.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/login.c, src/groupmod.c, src/dpasswd.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/Makefile.am, old/install-sh, old/pwconv-old.8, old/pwunconv-old.8, old/Makefile.am, man/pwconv.8, man/pwunconv.8, libmisc/setugid.c, libmisc/shell.c, libmisc/utmp.c, libmisc/mail.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/salt.c, libmisc/login_access.c, libmisc/isexpired.c, libmisc/env.c, libmisc/fields.c, libmisc/addgrps.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, lib/strerror.c, lib/snprintf.c, lib/snprintf.h, lib/sgroupio.c, lib/sgroupio.h, lib/shadowio.c, lib/shadowio.h, lib/putgrent.c, lib/pwent.c, lib/pwauth.c, lib/grent.c, lib/getpass.c, lib/prototypes.h, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/getdef.c, lib/Makefile.am, etc/login.defs.linux, doc/README.mirrors, doc/README.linux, doc/WISHLIST, doc/CHANGES, doc/LSM, doc/Makefile.am, debian/rules, debian/changelog, contrib/adduser.c, configure.in, acconfig.h: *** empty log message *** 1997-09-29 Marek Micha趾iewicz @@ -3532,57 +4003,57 @@ 1997-06-16 Marek Micha趾iewicz - * doc/Attic/console.c.spec, doc/Makefile.am, doc/WISHLIST, doc/console.c.spec.txt, doc/Attic/CHANGES, debian/Attic/changelog, src/Attic/shadowconfig.sh, redhat/Attic/Makefile.am, redhat/Attic/README, redhat/Attic/shadow-970502-config.patch, redhat/Attic/shadow-utils.spec, doc/Attic/README.mirrors, doc/Attic/README.shadow-paper, doc/README.linux, debian/Attic/login.copyright, debian/Attic/passwd.copyright, debian/Attic/secure-su.copyright, Attic/shadow-utils.spec, Makefile.am, configure.in: + * doc/console.c.spec, doc/Makefile.am, doc/WISHLIST, doc/console.c.spec.txt, doc/CHANGES, debian/changelog, src/shadowconfig.sh, redhat/Makefile.am, redhat/README, redhat/shadow-970502-config.patch, redhat/shadow-utils.spec, doc/README.mirrors, doc/README.shadow-paper, doc/README.linux, debian/login.copyright, debian/passwd.copyright, debian/secure-su.copyright, shadow-utils.spec, Makefile.am, configure.in: *** empty log message *** 1997-06-01 Marek Micha趾iewicz - * debian/Attic/changelog, src/userdel.c, src/usermod.c, src/pwck.c, src/pwunconv.c, src/useradd.c, src/grpunconv.c, src/newusers.c, src/passwd.c, src/expiry.c, src/grpconv.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/Makefile.am, redhat/Attic/Makefile.am, redhat/Attic/README, redhat/Attic/shadow-970502-config.patch, redhat/Attic/shadow-utils.spec, libmisc/mail.c, libmisc/Attic/login_desrpc.c, lib/pwio.h, lib/shadowio.c, lib/shadowio.h, lib/prototypes.h, lib/pwauth.c, lib/pwio.c, lib/commonio.c, lib/defines.h, doc/README.linux, doc/WISHLIST, doc/Attic/CHANGES, doc/Attic/INSTALL, Attic/install-sh, Attic/mkinstalldirs, Attic/acconfig.h, Makefile.am, configure.in: + * debian/changelog, src/userdel.c, src/usermod.c, src/pwck.c, src/pwunconv.c, src/useradd.c, src/grpunconv.c, src/newusers.c, src/passwd.c, src/expiry.c, src/grpconv.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/Makefile.am, redhat/Makefile.am, redhat/README, redhat/shadow-970502-config.patch, redhat/shadow-utils.spec, libmisc/mail.c, libmisc/login_desrpc.c, lib/pwio.h, lib/shadowio.c, lib/shadowio.h, lib/prototypes.h, lib/pwauth.c, lib/pwio.c, lib/commonio.c, lib/defines.h, doc/README.linux, doc/WISHLIST, doc/CHANGES, doc/INSTALL, install-sh, mkinstalldirs, acconfig.h, Makefile.am, configure.in: *** empty log message *** 1997-05-02 Marek Micha趾iewicz - * src/Attic/shadowconfig.sh, src/Makefile.am, man/Makefile.am, libmisc/mail.c, libmisc/salt.c, lib/sgroupio.c, lib/shadowio.c, lib/groupio.c, lib/pwio.c, etc/Makefile.am, doc/WISHLIST, doc/Attic/CHANGES, debian/Attic/shadowconfig, debian/Attic/Makefile.am, debian/Attic/changelog, debian/Attic/control, debian/Attic/rules, configure.in, Attic/configure, shlib/Attic/Makefile.in, man/Attic/Makefile.in, libmisc/Attic/Makefile.in, lib/Attic/Makefile.in, etc/Attic/Makefile.in, doc/Attic/Makefile.in, contrib/Attic/Makefile.in, Attic/Makefile.in, man/userdel.8, man/usermod.8, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/Attic/pwauth.8, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/shadow.3, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/Attic/mkpasswd.8, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/limits.5, man/login.1, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/Attic/dpasswd.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, libmisc/valid.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/utmp.c, libmisc/Attic/setup.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/setugid.c, libmisc/obscure.c, libmisc/pwd2spwd.c, libmisc/rlogin.c, libmisc/Attic/login_access.c, libmisc/loginprompt.c, libmisc/motd.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/copydir.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/age.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, lib/utent.c, lib/Attic/shadow_.h, lib/Attic/spdbm.c, lib/Attic/sppack.c, lib/Attic/strstr.c, lib/shadow.c, lib/sgetpwent.c, lib/sgetspent.c, lib/Attic/pwpack.c, lib/Attic/rad64.c, lib/Attic/rename.c, lib/Attic/rmdir.c, lib/sgetgrent.c, lib/Attic/pwdbm.c, lib/Attic/pwent.c, lib/pwauth.h, lib/Attic/putgrent.c, lib/Attic/putpwent.c, lib/Attic/putspent.c, lib/port.h, lib/pwauth.c, lib/Attic/lastlog_.h, lib/Attic/mkdir.c, lib/lockpw.c, lib/port.c, lib/Attic/grpack.c, lib/Attic/gsdbm.c, lib/Attic/gspack.c, lib/gshadow.c, lib/gshadow_.h, lib/Attic/grdbm.c, lib/Attic/grent.c, lib/getdef.c, lib/getpass.c, lib/Attic/dialup.h, lib/encrypt.c, lib/faillog.h, lib/fputsx.c, lib/Attic/dialchk.c, lib/Attic/dialup.c, lib/commonio.c, lib/defines.h, etc/login.defs, etc/login.defs.linux, doc/README.linux, doc/LICENSE, doc/Makefile.am, doc/README, doc/HOWTO, doc/Attic/ANNOUNCE, debian/Attic/secure-su.README, debian/Attic/secure-su.conffiles, debian/Attic/secure-su.copyright, debian/Attic/secure-su.postrm, debian/Attic/secure-su.preinst, debian/Attic/securetty, debian/Attic/passwd.conffiles, debian/Attic/passwd.copyright, debian/Attic/passwd.postinst, debian/Attic/porttime, debian/Attic/login.conffiles, debian/Attic/login.copyright, debian/Attic/login.postinst, debian/Attic/login.postrm, debian/Attic/login.preinst, debian/Attic/login.prerm, debian/Attic/logoutd, Attic/acconfig.h, Attic/config.h.in, Makefile.am, old/Attic/Makefile.in, old/Attic/scologin.c, old/Attic/orig-config.h, old/Attic/pwconv-old.c, old/Attic/pwd.h.m4, old/Attic/pwunconv-old.c, old/Attic/config.h.sun4, old/Attic/config.h.svr4, old/Attic/config.h.xenix, old/Attic/config.h.linux, old/Attic/Makefile.sun4, old/Attic/Makefile.svr4, old/Attic/Makefile.xenix, old/Attic/Makefile.am, old/Attic/Makefile.linux, src/Attic/Makefile.in, src/pwconv.c, src/userdel.c, src/usermod.c, src/useradd.c, src/su.c, src/sulogin.c, src/Attic/pwconv5.c, src/Attic/scologin.c, src/pwck.c, src/pwunconv.c, src/Attic/patchlevel.h, src/newusers.c, src/passwd.c, src/Attic/mkpasswd.c, src/logoutd.c, src/newgrp.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/grpck.c, src/grpconv.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/Attic/dpasswd.c, src/chsh.c, src/expiry.c, src/chfn.c, src/chpasswd.c, src/chage.c: + * src/shadowconfig.sh, src/Makefile.am, man/Makefile.am, libmisc/mail.c, libmisc/salt.c, lib/sgroupio.c, lib/shadowio.c, lib/groupio.c, lib/pwio.c, etc/Makefile.am, doc/WISHLIST, doc/CHANGES, debian/shadowconfig, debian/Makefile.am, debian/changelog, debian/control, debian/rules, configure.in, configure, shlib/Makefile.in, man/Makefile.in, libmisc/Makefile.in, lib/Makefile.in, etc/Makefile.in, doc/Makefile.in, contrib/Makefile.in, Makefile.in, man/userdel.8, man/usermod.8, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/pwauth.8, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/shadow.3, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/mkpasswd.8, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/limits.5, man/login.1, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/dpasswd.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, libmisc/valid.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/utmp.c, libmisc/setup.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/setugid.c, libmisc/obscure.c, libmisc/pwd2spwd.c, libmisc/rlogin.c, libmisc/login_access.c, libmisc/loginprompt.c, libmisc/motd.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/copydir.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/age.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, lib/utent.c, lib/shadow_.h, lib/spdbm.c, lib/sppack.c, lib/strstr.c, lib/shadow.c, lib/sgetpwent.c, lib/sgetspent.c, lib/pwpack.c, lib/rad64.c, lib/rename.c, lib/rmdir.c, lib/sgetgrent.c, lib/pwdbm.c, lib/pwent.c, lib/pwauth.h, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/port.h, lib/pwauth.c, lib/lastlog_.h, lib/mkdir.c, lib/lockpw.c, lib/port.c, lib/grpack.c, lib/gsdbm.c, lib/gspack.c, lib/gshadow.c, lib/gshadow_.h, lib/grdbm.c, lib/grent.c, lib/getdef.c, lib/getpass.c, lib/dialup.h, lib/encrypt.c, lib/faillog.h, lib/fputsx.c, lib/dialchk.c, lib/dialup.c, lib/commonio.c, lib/defines.h, etc/login.defs.linux, etc/login.defs, doc/README.linux, doc/LICENSE, doc/Makefile.am, doc/README, doc/HOWTO, doc/ANNOUNCE, debian/secure-su.README, debian/secure-su.conffiles, debian/secure-su.copyright, debian/secure-su.postrm, debian/secure-su.preinst, debian/securetty, debian/passwd.conffiles, debian/passwd.copyright, debian/passwd.postinst, debian/porttime, debian/login.conffiles, debian/login.copyright, debian/login.postinst, debian/login.postrm, debian/login.preinst, debian/login.prerm, debian/logoutd, acconfig.h, config.h.in, Makefile.am, old/Makefile.in, old/scologin.c, old/orig-config.h, old/pwconv-old.c, old/pwd.h.m4, old/pwunconv-old.c, old/config.h.sun4, old/config.h.svr4, old/config.h.xenix, old/config.h.linux, old/Makefile.sun4, old/Makefile.svr4, old/Makefile.xenix, old/Makefile.am, old/Makefile.linux, src/Makefile.in, src/pwconv.c, src/userdel.c, src/usermod.c, src/useradd.c, src/su.c, src/sulogin.c, src/pwconv5.c, src/scologin.c, src/pwck.c, src/pwunconv.c, src/patchlevel.h, src/newusers.c, src/passwd.c, src/mkpasswd.c, src/logoutd.c, src/newgrp.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/grpck.c, src/grpconv.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/dpasswd.c, src/chsh.c, src/expiry.c, src/chfn.c, src/chpasswd.c, src/chage.c: *** empty log message *** 1997-02-11 Marek Micha趾iewicz - * src/groupadd.c, src/useradd.c, libmisc/setupenv.c, lib/sgroupio.c, lib/shadowio.c, lib/groupio.c, lib/pwio.c, lib/Makefile.am, lib/commonio.c, doc/Attic/CHANGES, doc/HOWTO, README, configure.in: + * src/groupadd.c, src/useradd.c, libmisc/setupenv.c, lib/sgroupio.c, lib/shadowio.c, lib/groupio.c, lib/pwio.c, lib/Makefile.am, lib/commonio.c, doc/CHANGES, doc/HOWTO, README, configure.in: *** empty log message *** 1997-01-08 Marek Micha趾iewicz - * src/groupadd.c, lib/commonio.c, README, src/useradd.c, src/userdel.c, src/usermod.c, src/Attic/pwconv5.c, src/pwconv.c, src/su.c, src/passwd.c, src/pwck.c, src/grpunconv.c, src/login.c, src/logoutd.c, src/newgrp.c, src/grpck.c, src/grpconv.c, src/faillog.c, src/gpasswd.c, src/groupmod.c, src/chage.c, src/chfn.c, src/chsh.c, src/expiry.c, libmisc/ttytype.c, libmisc/utmp.c, libmisc/Attic/suauth.c, libmisc/strtoday.c, libmisc/shell.c, libmisc/failure.c, libmisc/log.c, libmisc/loginprompt.c, libmisc/myname.c, lib/shadowio.h, libmisc/Makefile.am, libmisc/chkname.c, lib/sgetpwent.c, lib/sgroupio.c, lib/sgroupio.h, lib/shadow.c, lib/shadowio.c, lib/Attic/pwent.c, lib/pwio.c, lib/pwio.h, lib/Attic/putgrent.c, lib/groupio.c, lib/groupio.h, lib/gshadow.c, lib/prototypes.h, lib/defines.h, lib/faillog.h, lib/getdef.c, doc/README.linux, doc/WISHLIST, etc/login.defs.linux, lib/Makefile.am, doc/Attic/CHANGES, doc/HOWTO, Attic/acconfig.h, configure.in: + * src/groupadd.c, lib/commonio.c, README, src/useradd.c, src/userdel.c, src/usermod.c, src/pwconv5.c, src/pwconv.c, src/su.c, src/passwd.c, src/pwck.c, src/grpunconv.c, src/login.c, src/logoutd.c, src/newgrp.c, src/grpck.c, src/grpconv.c, src/faillog.c, src/gpasswd.c, src/groupmod.c, src/chage.c, src/chfn.c, src/chsh.c, src/expiry.c, libmisc/ttytype.c, libmisc/utmp.c, libmisc/suauth.c, libmisc/strtoday.c, libmisc/shell.c, libmisc/failure.c, libmisc/log.c, libmisc/loginprompt.c, libmisc/myname.c, lib/shadowio.h, libmisc/Makefile.am, libmisc/chkname.c, lib/sgetpwent.c, lib/sgroupio.c, lib/sgroupio.h, lib/shadow.c, lib/shadowio.c, lib/pwent.c, lib/pwio.c, lib/pwio.h, lib/putgrent.c, lib/groupio.c, lib/groupio.h, lib/gshadow.c, lib/prototypes.h, lib/defines.h, lib/faillog.h, lib/getdef.c, doc/README.linux, doc/WISHLIST, etc/login.defs.linux, lib/Makefile.am, doc/CHANGES, doc/HOWTO, acconfig.h, configure.in: *** empty log message *** 1996-10-27 Marek Micha趾iewicz - * src/usermod.c, src/grpck.c, src/useradd.c, src/userdel.c, src/chsh.c, src/gpasswd.c, libmisc/isexpired.c, libmisc/limits.c, lib/sgroupio.c, lib/shadowio.c, lib/commonio.c, lib/groupio.c, lib/pwio.c, doc/Attic/CHANGES, doc/README.linux, doc/WISHLIST, Attic/configure, configure.in: + * src/usermod.c, src/grpck.c, src/useradd.c, src/userdel.c, src/chsh.c, src/gpasswd.c, libmisc/isexpired.c, libmisc/limits.c, lib/sgroupio.c, lib/shadowio.c, lib/commonio.c, lib/groupio.c, lib/pwio.c, doc/CHANGES, doc/README.linux, doc/WISHLIST, configure, configure.in: *** empty log message *** 1996-09-25 Marek Micha趾iewicz - * src/usermod.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/su.c, src/Attic/pwconv5.c, src/newgrp.c, src/passwd.c, src/pwck.c, src/grpck.c, src/login.c, src/logoutd.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/chfn.c, src/chsh.c, src/chage.c, libmisc/strtoday.c, libmisc/env.c, libmisc/fields.c, libmisc/isexpired.c, libmisc/setupenv.c, lib/Attic/rad64.c, lib/getdef.c, lib/prototypes.h, lib/defines.h, etc/login.defs.linux, doc/README.linux, doc/WISHLIST, doc/Attic/CHANGES, Attic/configure, configure.in, Attic/config.h.in: + * src/usermod.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/su.c, src/pwconv5.c, src/newgrp.c, src/passwd.c, src/pwck.c, src/grpck.c, src/login.c, src/logoutd.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/chfn.c, src/chsh.c, src/chage.c, libmisc/strtoday.c, libmisc/env.c, libmisc/fields.c, libmisc/isexpired.c, libmisc/setupenv.c, lib/rad64.c, lib/getdef.c, lib/prototypes.h, lib/defines.h, etc/login.defs.linux, doc/README.linux, doc/WISHLIST, doc/CHANGES, configure, configure.in, config.h.in: *** empty log message *** 1996-09-20 Marek Micha趾iewicz - * src/usermod.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/newusers.c, src/passwd.c, src/pwck.c, src/grpck.c, src/login.c, src/logoutd.c, src/newgrp.c, src/groupdel.c, src/groupmod.c, src/Attic/dpasswd.c, src/chsh.c, src/gpasswd.c, src/groupadd.c, src/Attic/Makefile.in, src/chage.c, src/chfn.c, src/Makefile.am, libmisc/Attic/suauth.c, libmisc/shell.c, libmisc/sub.c, libmisc/ttytype.c, libmisc/env.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/chowntty.c, lib/prototypes.h, lib/getdef.c, doc/Attic/CHANGES, doc/WISHLIST: + * src/usermod.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/newusers.c, src/passwd.c, src/pwck.c, src/grpck.c, src/login.c, src/logoutd.c, src/newgrp.c, src/groupdel.c, src/groupmod.c, src/dpasswd.c, src/chsh.c, src/gpasswd.c, src/groupadd.c, src/Makefile.in, src/chage.c, src/chfn.c, src/Makefile.am, libmisc/suauth.c, libmisc/shell.c, libmisc/sub.c, libmisc/ttytype.c, libmisc/env.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/chowntty.c, lib/prototypes.h, lib/getdef.c, doc/CHANGES, doc/WISHLIST: *** empty log message *** 1996-09-10 Marek Micha趾iewicz - * src/su.c, src/sulogin.c, src/usermod.c, src/logoutd.c, src/newgrp.c, src/passwd.c, src/pwconv.c, src/Attic/Makefile.in, src/chfn.c, src/chsh.c, src/grpunconv.c, src/login.c, src/Makefile.am, man/useradd.8, man/userdel.8, man/usermod.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/Attic/pwauth.8, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/Attic/mkpasswd.8, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.access.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/Attic/dpasswd.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, libmisc/isexpired.c, libmisc/obscure.c, libmisc/setupenv.c, libmisc/utmp.c, libmisc/age.c, lib/defines.h, lib/getdef.c, lib/getpass.c, etc/limits, etc/login.access, etc/login.defs.linux, doc/Attic/CHANGES, doc/README.linux, doc/WISHLIST, contrib/Attic/Makefile.in, contrib/Makefile.am, Attic/configure, configure.in: + * src/su.c, src/sulogin.c, src/usermod.c, src/logoutd.c, src/newgrp.c, src/passwd.c, src/pwconv.c, src/Makefile.in, src/chfn.c, src/chsh.c, src/grpunconv.c, src/login.c, src/Makefile.am, man/useradd.8, man/userdel.8, man/usermod.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/pwauth.8, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/mkpasswd.8, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.access.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/dpasswd.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, libmisc/isexpired.c, libmisc/obscure.c, libmisc/setupenv.c, libmisc/utmp.c, libmisc/age.c, lib/defines.h, lib/getdef.c, lib/getpass.c, etc/login.defs.linux, etc/limits, etc/login.access, doc/CHANGES, doc/README.linux, doc/WISHLIST, contrib/Makefile.in, contrib/Makefile.am, configure, configure.in: *** empty log message *** 1996-08-10 Marek Micha趾iewicz - * old/Attic/Makefile.am, old/Attic/Makefile.linux, old/Attic/Makefile.sun4, old/Attic/Makefile.svr4, old/Attic/Makefile.xenix, old/Attic/config.h.linux, old/Attic/config.h.sun4, old/Attic/config.h.svr4, old/Attic/config.h.xenix, old/Attic/install-sh, old/Attic/orig-config.h, old/Attic/pwd.h.m4, shlib/Attic/Makefile.am, shlib/Attic/Makefile.in, shlib/Attic/Makefile.in.saved: + * old/Makefile.am, old/Makefile.linux, old/Makefile.sun4, old/Makefile.svr4, old/Makefile.xenix, old/config.h.linux, old/config.h.sun4, old/config.h.svr4, old/config.h.xenix, old/install-sh, old/orig-config.h, old/pwd.h.m4, shlib/Makefile.am, shlib/Makefile.in, shlib/Makefile.in.saved: New file. * contrib/adduser-old.c, contrib/adduser.sh, contrib/adduser2.sh, contrib/atudel: 960810 - first version under cvs - * contrib/Attic/Makefile.in, contrib/Makefile.am, contrib/README, contrib/adduser.c, contrib/pwdauth.c, doc/Attic/ANNOUNCE, doc/Attic/CHANGES, doc/Attic/Makefile.in, doc/Attic/README.sun4, doc/Attic/automake-1.0.diff, doc/Attic/console.c.spec, doc/HOWTO, doc/LICENSE, doc/Makefile.am, doc/README, doc/README.limits, doc/README.linux, doc/WISHLIST, etc/Attic/Makefile.in, etc/Makefile.am, etc/login.access, etc/login.defs, etc/login.defs.linux, old/Attic/Makefile.in, src/Attic/patchlevel.h, src/Attic/pwconv5.c, src/Attic/scologin.c, src/chage.c, src/chfn.c, src/chsh.c, src/expiry.c, src/gpasswd.c, src/groups.c, src/grpconv.c, src/id.c, src/login.c, src/newgrp.c, src/passwd.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, lib/Attic/dialup.h, lib/Attic/grdbm.c, lib/Attic/grent.c, lib/Attic/grpack.c, lib/Attic/gsdbm.c, lib/Attic/gspack.c, lib/Attic/lastlog_.h, lib/Attic/md5.c, lib/Attic/md5.h, lib/Attic/md5crypt.c, lib/Attic/mkdir.c, lib/Attic/putgrent.c, lib/Attic/putpwent.c, lib/Attic/putspent.c, lib/Attic/pwdbm.c, lib/Attic/pwent.c, lib/Attic/pwpack.c, lib/Attic/rename.c, lib/Attic/rmdir.c, lib/Attic/shadow_.h, lib/Attic/spdbm.c, lib/Attic/sppack.c, lib/Attic/strdup.c, lib/Attic/strstr.c, lib/defines.h, lib/faillog.h, lib/getdef.h, lib/groupio.h, lib/gshadow_.h, lib/port.h, lib/prototypes.h, lib/pwauth.h, lib/pwio.h, lib/rcsid.h, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/sgroupio.h, lib/shadow.c, lib/shadowio.c, lib/shadowio.h, lib/utent.c, src/Attic/Makefile.in, src/Attic/dpasswd.c, src/Attic/mkpasswd.c, src/Makefile.am, src/chpasswd.c, src/faillog.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/grpck.c, src/lastlog.c, src/logoutd.c, src/newusers.c, src/pwck.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/Attic/Makefile.in, lib/Attic/dialchk.c, lib/Attic/dialup.c, lib/Attic/rad64.c, lib/Makefile.am, lib/commonio.c, lib/encrypt.c, lib/fputsx.c, lib/getdef.c, lib/getpass.c, lib/groupio.c, lib/gshadow.c, lib/lockpw.c, lib/port.c, lib/pwauth.c, lib/pwio.c, lib/sgroupio.c, libmisc/Attic/login_access.c, libmisc/Attic/login_desrpc.c, libmisc/Attic/login_krb.c, libmisc/Attic/setup.c, libmisc/Attic/suauth.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/motd.c, libmisc/obscure.c, libmisc/pwd2spwd.c, libmisc/rlogin.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, man/Attic/Makefile.in, man/Attic/dpasswd.8, man/Attic/mkpasswd.8, man/Attic/pwauth.8, man/Makefile.am, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, Attic/Makefile.in, Attic/acconfig.h, Attic/aclocal.m4, Attic/config.h.in, Attic/configure, Attic/install-sh, Attic/mkinstalldirs, Attic/stamp-h.in, Makefile.am, README, configure.in, libmisc/Attic/Makefile.in, libmisc/Makefile.am, libmisc/addgrps.c: + * contrib/Makefile.in, contrib/Makefile.am, contrib/README, contrib/adduser.c, contrib/pwdauth.c, doc/ANNOUNCE, doc/CHANGES, doc/Makefile.in, doc/README.sun4, doc/automake-1.0.diff, doc/console.c.spec, doc/HOWTO, doc/LICENSE, doc/Makefile.am, doc/README, doc/README.limits, doc/README.linux, doc/WISHLIST, etc/Makefile.in, etc/login.defs.linux, etc/Makefile.am, etc/login.access, etc/login.defs, old/Makefile.in, src/patchlevel.h, src/pwconv5.c, src/scologin.c, src/chage.c, src/chfn.c, src/chsh.c, src/expiry.c, src/gpasswd.c, src/groups.c, src/grpconv.c, src/id.c, src/login.c, src/newgrp.c, src/passwd.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, lib/dialup.h, lib/grdbm.c, lib/grent.c, lib/grpack.c, lib/gsdbm.c, lib/gspack.c, lib/lastlog_.h, lib/md5.c, lib/md5.h, lib/md5crypt.c, lib/mkdir.c, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/pwdbm.c, lib/pwent.c, lib/pwpack.c, lib/rcsid.h, lib/rename.c, lib/rmdir.c, lib/shadow_.h, lib/spdbm.c, lib/sppack.c, lib/strdup.c, lib/strstr.c, lib/defines.h, lib/faillog.h, lib/getdef.h, lib/groupio.h, lib/gshadow_.h, lib/port.h, lib/prototypes.h, lib/pwauth.h, lib/pwio.h, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/sgroupio.h, lib/shadow.c, lib/shadowio.c, lib/shadowio.h, lib/utent.c, src/Makefile.in, src/dpasswd.c, src/mkpasswd.c, src/Makefile.am, src/chpasswd.c, src/faillog.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/grpck.c, src/lastlog.c, src/logoutd.c, src/newusers.c, src/pwck.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/Makefile.in, lib/dialchk.c, lib/dialup.c, lib/rad64.c, lib/Makefile.am, lib/commonio.c, lib/encrypt.c, lib/fputsx.c, lib/getdef.c, lib/getpass.c, lib/groupio.c, lib/gshadow.c, lib/lockpw.c, lib/port.c, lib/pwauth.c, lib/pwio.c, lib/sgroupio.c, libmisc/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/setup.c, libmisc/suauth.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/motd.c, libmisc/obscure.c, libmisc/pwd2spwd.c, libmisc/rlogin.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, man/Makefile.in, man/dpasswd.8, man/mkpasswd.8, man/pwauth.8, man/Makefile.am, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, Makefile.in, acconfig.h, aclocal.m4, config.h.in, configure, install-sh, mkinstalldirs, stamp-h.in, Makefile.am, README, configure.in, libmisc/Makefile.in, libmisc/Makefile.am, libmisc/addgrps.c: New file. diff --git a/Makefile.in b/Makefile.in index d2cebf67..f1fa4b42 100644 --- a/Makefile.in +++ b/Makefile.in @@ -42,7 +42,8 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ depcomp install-sh ltmain.sh missing mkinstalldirs subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ @@ -98,6 +99,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -109,6 +112,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -148,6 +152,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ diff --git a/NEWS b/NEWS index 4c61575d..d380acf3 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,60 @@ -$Id: NEWS,v 1.249 2005/08/21 12:42:51 kloczek Exp $ +$Id: NEWS,v 1.281 2005/10/10 18:24:59 kloczek Exp $ + +shadow-4.0.12 -> shadow-4.0.13 10-10-2005 + +*** general: +- chage: removed duplicated pam_start(), +- chfn, chsh: finished PAM support usin pam_start() and co., +- userdel: userdel should not remove the group which is primary for someone else + (fix by Nicolas Fran癟ois + http://bugs.debian.org/295416), +- login: use "%c" in strftime() output (based on patch from + http://bugs.debian.org/89902 by Christian Perrier ), +- fixedlib/commonio.c: don't assume selinux is enabled if is_selinux_enabled() + returns -1 (merge isSelinuxEnabled FC patch by Jeremy Katz ), +- login, su (non-PAM case): fixed setup max address space limits (added missing break + statement in case) spoted by Lasse Collin , +- auditing support added. Patch prepared by Peter Vrabec basing + on work by Steve Grubb from http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=159215 + Now auditing support have commands: chage, gpasswd, groupadd, groupdel, groupmod, + useradd, userdel, usermod. +- chage, chfn, chsh, passwd: change to use new selinux API for + selinux_check_passwd_access() (patch from Fedora by Dan Walsh ), +- use #ident preprocesor directive istead RCID macro with content similar + to example described in ident(1) man page (modern compilers like latest GCC + removes not used functions by global optimization). + So "ident /usr/bin/passwd" will show again some useable informations +- su: fixed twice copy enviroment which causes auth problems + (bug was introduced in 4.0.12; fix by Nicolas Fran癟ois ), +- chage: differentiate the different failure causes by the exit value + This will permit to adduser Debian script to detect if chage failed because the + system doesn't have shadowed passwords (fix for http://bugs.debian.org/317012), +- merge 010_more-i18ned-messages Debian patch which adds i18n support for few + more messages (orginaly patch was prepared by Guillem Jover ), +- lastlog: added handle -b option which allow print only lastlog records older than + specified DAYS (fix by ), +- chpasswd, gpasswd, newusers: fixed libmisc/salt.c for use login.defs::MD5_CRYPT_ENAB + only if PAM support is disabled (fix by John Gatewood Ham ), +- passwd: rewrited for use getopt_long(), +- newgrp: when newgrp process sits between parent and child shells, it should + propagate STOPs from child to parent and CONTs from parent to child, + otherwise e.g. bash's "suspend" command won't work + Fixed Debian http://bugs.debian.org/314727 +- updated translations: da, es, fr, pt, ro, ru. +*** documentation: +- chsh(1), groupadd(8), newusers(8), pwconv(8), useradd(8), userdel(8), usermod(8): + added missing references to /etc/login.defs and login.defs(5) + (Christian Perrier ), +- passwd(5): rewrited based on work by Greg Wooledge + http://bugs.debian.org/328113 +- login(1): added securetty(5) to SEE ALSO section + (fixed Debian bug http://bugs.debian.org/325773), +- groupadd(8), useradd(8): fix regular expression describing alloved login/group + names (pointed by Nicolas Fran癟ois ) + (correct is [a-z_][a-z0-9_-]*[$]), +- groupadd(8), useradd(8): documents in CAVEATS section the limitations shadow + places on user and group names (fix by Mike Frysinger ). +- chage(1), groupadd(8): document -h,--help option. shadow-4.0.11.1 -> shadow-4.0.12 22-08-2005 @@ -49,10 +105,11 @@ shadow-4.0.11.1 -> shadow-4.0.12 22-08-2005 on "passwd -e" (fix by Christian Perrier shadow-4.0.11.1 21-07-2005 diff --git a/acinclude.m4 b/acinclude.m4 new file mode 100644 index 00000000..dd01f165 --- /dev/null +++ b/acinclude.m4 @@ -0,0 +1,54 @@ +# Checks the location of the XML Catalog +# Usage: +# JH_PATH_XML_CATALOG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# Defines XMLCATALOG and XML_CATALOG_FILE substitutions +AC_DEFUN([JH_PATH_XML_CATALOG], +[ + # check for the presence of the XML catalog + AC_ARG_WITH([xml-catalog], + AC_HELP_STRING([--with-xml-catalog=CATALOG], + [path to xml catalog to use]),, + [with_xml_catalog=/etc/xml/catalog]) + jh_found_xmlcatalog=true + XML_CATALOG_FILE="$with_xml_catalog" + AC_SUBST([XML_CATALOG_FILE]) + AC_MSG_CHECKING([for XML catalog ($XML_CATALOG_FILE)]) + if test -f "$XML_CATALOG_FILE"; then + AC_MSG_RESULT([found]) + else + jh_found_xmlcatalog=false + AC_MSG_RESULT([not found]) + fi + + # check for the xmlcatalog program + AC_PATH_PROG(XMLCATALOG, xmlcatalog, no) + if test "x$XMLCATALOG" = xno; then + jh_found_xmlcatalog=false + fi + + if $jh_found_xmlcatalog; then + ifelse([$1],,[:],[$1]) + else + ifelse([$2],,[AC_MSG_ERROR([could not find XML catalog])],[$2]) + fi +]) + +# Checks if a particular URI appears in the XML catalog +# Usage: +# JH_CHECK_XML_CATALOG(URI, [FRIENDLY-NAME], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +AC_DEFUN([JH_CHECK_XML_CATALOG], +[ + AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl + AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog]) + if $jh_found_xmlcatalog && \ + AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then + AC_MSG_RESULT([found]) + ifelse([$3],,,[$3 +])dnl + else + AC_MSG_RESULT([not found]) + ifelse([$4],, + [AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])], + [$4]) + fi +]) diff --git a/aclocal.m4 b/aclocal.m4 index 7006c990..7f6eb3f9 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -11,7 +11,7 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. -# gettext.m4 serial 36 (gettext-0.14.3) +# gettext.m4 serial 37 (gettext-0.14.4) dnl Copyright (C) 1995-2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -152,7 +152,7 @@ changequote([,])dnl ], [])[extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings;], [bindtextdomain ("", ""); -return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings], +return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings], gt_cv_func_gnugettext_libc=yes, gt_cv_func_gnugettext_libc=no)]) @@ -188,7 +188,7 @@ extern #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); -return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")], +return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")], gt_cv_func_gnugettext_libintl=yes, gt_cv_func_gnugettext_libintl=no) dnl Now see whether libintl exists and depends on libiconv. @@ -209,7 +209,7 @@ extern #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); -return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")], +return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" gt_cv_func_gnugettext_libintl=yes @@ -1614,7 +1614,7 @@ rm="rm -f" default_ofile=libtool can_build_shared=yes -# All known linkers require a `.a' archive for static linking (except M$VC, +# All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a ltmain="$ac_aux_dir/ltmain.sh" @@ -1830,8 +1830,8 @@ if test "X${echo_test_string+set}" != Xset; then # find a string as large as possible, as long as the shell can cope with it for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string="`eval $cmd`") 2>/dev/null && - echo_test_string="`eval $cmd`" && + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null then break @@ -2000,7 +2000,7 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - case "`/usr/bin/file conftest.o`" in + case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*linux*) @@ -2082,7 +2082,7 @@ AC_CACHE_CHECK([$1], [$2], # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) @@ -2121,7 +2121,7 @@ AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], LDFLAGS="$LDFLAGS $3" printf "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The compiler can only warn and ignore the option if not recognized + # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. @@ -2196,7 +2196,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else - lt_cv_sys_max_cmd_len=65536 # usable default for *BSD + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` @@ -2208,7 +2208,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 - # + # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; @@ -2325,7 +2325,7 @@ int main () }] EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) 2>/dev/null + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; @@ -2474,7 +2474,7 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) @@ -2492,7 +2492,7 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi - chmod u+w . + chmod u+w . 2>&AS_MESSAGE_LOG_FD $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation @@ -2752,7 +2752,8 @@ cygwin* | mingw* | pw32*) dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $rm \$dlpath' @@ -2805,7 +2806,7 @@ darwin* | rhapsody*) soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)' + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. if test "$GCC" = yes; then sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` @@ -2843,7 +2844,14 @@ kfreebsd*-gnu) freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[123]]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) @@ -2888,7 +2896,7 @@ hpux9* | hpux10* | hpux11*) version_type=sunos need_lib_prefix=no need_version=no - case "$host_cpu" in + case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes @@ -3301,7 +3309,7 @@ AC_DEFUN([AC_LIBTOOL_DLOPEN], # AC_LIBTOOL_WIN32_DLL # -------------------- -# declare package support for building win32 dll's +# declare package support for building win32 DLLs AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) ])# AC_LIBTOOL_WIN32_DLL @@ -3475,7 +3483,7 @@ dnl not every word. This closes a longstanding sh security hole. if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) - file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then @@ -3585,7 +3593,7 @@ AC_CACHE_VAL(lt_cv_path_LD, if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. + # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null && - echo_test_string="`eval $cmd`" && + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null then break @@ -462,7 +462,7 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE LN_S YACC CPP EGREP U ANSI2KNR build build_cpu build_vendor build_os host host_cpu host_vendor host_os ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS LIBCRYPT LIBCRACK LIBSELINUX LIBPAM LIBSKEY LIBMD MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE INTL_MACOSX_LIBS LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE LN_S YACC CPP EGREP U ANSI2KNR build build_cpu build_vendor build_os host host_cpu host_vendor host_os ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS XSLTPROC XML_CATALOG_FILE XMLCATALOG ENABLE_REGENERATE_MAN_TRUE ENABLE_REGENERATE_MAN_FALSE LIBCRYPT LIBAUDIT LIBCRACK LIBSELINUX LIBPAM LIBSKEY LIBMD MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE INTL_MACOSX_LIBS LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -1034,7 +1034,9 @@ Optional Features: optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --disable-largefile omit support for large files - --enable-shadowgrp enable shadow group support default=yes + --enable-shadowgrp enable shadow group support [default=yes] + --enable-man regenerate roff man pages from Docbook + [default=no] --disable-nls do not use Native Language Support --disable-rpath do not hardcode runtime library paths @@ -1046,10 +1048,15 @@ Optional Packages: both] --with-tags[=TAGS] include additional configurations [automatic] - --with-libcrack try to use libcrack (default if found) - --with-libpam use libpam for PAM support - --with-selinux use SELinux support - --with-skey use S/Key support + --with-audit use auditing support [default=yes if found] + --with-libpam use libpam for PAM support [default=yes if + found] + --with-selinux use SELinux support [default=autodetect] + --with-skey use S/Key support [default=no] + --with-libcrack use libcrack [default=yes if found and if PAM not + enabled] + --with-xml-catalog=CATALOG + path to xml catalog to use --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir @@ -1815,7 +1822,7 @@ fi # Define the identity of the package. PACKAGE=shadow - VERSION=4.0.12 + VERSION=4.0.13 cat >>confdefs.h <<_ACEOF @@ -4176,7 +4183,7 @@ else if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. + # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &6 if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - # I'd rather use --version here, but apparently some GNU ld's only accept -v. + # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 conftest.$ac_ext + echo '#line 4524 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -4557,7 +4564,7 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then - case "`/usr/bin/file conftest.o`" in + case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*linux*) @@ -5620,7 +5627,7 @@ fi # Provide some information about the compiler. -echo "$as_me:5623:" \ +echo "$as_me:5630:" \ "checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 @@ -5817,7 +5824,7 @@ else elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else - lt_cv_sys_max_cmd_len=65536 # usable default for *BSD + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` @@ -6132,7 +6139,7 @@ rm="rm -f" default_ofile=libtool can_build_shared=yes -# All known linkers require a `.a' archive for static linking (except M$VC, +# All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a ltmain="$ac_aux_dir/ltmain.sh" @@ -6453,7 +6460,7 @@ else if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) - file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then @@ -6515,7 +6522,7 @@ else if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) - file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then @@ -6664,7 +6671,7 @@ else LDFLAGS="$LDFLAGS $lt_prog_compiler_static" printf "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The compiler can only warn and ignore the option if not recognized + # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. @@ -6715,14 +6722,14 @@ else # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:6721: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6728: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6725: \$? = $ac_status" >&5 + echo "$as_me:6732: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -6805,7 +6812,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. - case "$host_cpu" in + case $host_cpu in hppa*64*|ia64*) # +Z the default ;; @@ -6852,7 +6859,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. - case "$host_cpu" in + case $host_cpu in hppa*64*|ia64*) # +Z the default ;; @@ -6882,12 +6889,12 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; - pgcc* | pgf77* | pgf90*) + pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-static' + lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' @@ -6977,14 +6984,14 @@ else # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:6983: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6990: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6987: \$? = $ac_status" >&5 + echo "$as_me:6994: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7011,7 +7018,7 @@ else fi fi -case "$host_os" in +case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= @@ -7039,14 +7046,14 @@ else # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7045: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7052: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:7049: \$? = $ac_status" >&5 + echo "$as_me:7056: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -7057,7 +7064,7 @@ else lt_cv_prog_compiler_c_o=yes fi fi - chmod u+w . + chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation @@ -7257,11 +7264,11 @@ EOF tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${wl}--whole-archive,`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; - pgf77* | pgf90* ) # Portland Group f77 and f90 compilers - whole_archive_flag_spec='${wl}--whole-archive,`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; @@ -7569,7 +7576,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec=' ' archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds it's shared libraries. + # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi @@ -7609,7 +7616,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; darwin* | rhapsody*) - case "$host_os" in + case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag='${wl}-undefined ${wl}suppress' ;; @@ -7638,7 +7645,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi output_verbose_link_cmd='echo' archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else @@ -7647,7 +7654,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi output_verbose_link_cmd='echo' archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; @@ -7713,7 +7720,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hpux10* | hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case "$host_cpu" in + case $host_cpu in hppa*64*|ia64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; @@ -7722,7 +7729,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; esac else - case "$host_cpu" in + case $host_cpu in hppa*64*|ia64*) archive_cmds='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' ;; @@ -7732,7 +7739,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi esac fi if test "$with_gnu_ld" = no; then - case "$host_cpu" in + case $host_cpu in hppa*64*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_flag_spec_ld='+b $libdir' @@ -8191,7 +8198,8 @@ cygwin* | mingw* | pw32*) dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $rm \$dlpath' @@ -8244,7 +8252,7 @@ darwin* | rhapsody*) soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)' + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. if test "$GCC" = yes; then sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` @@ -8282,7 +8290,14 @@ kfreebsd*-gnu) freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) @@ -8327,7 +8342,7 @@ hpux9* | hpux10* | hpux11*) version_type=sunos need_lib_prefix=no need_version=no - case "$host_cpu" in + case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes @@ -8428,7 +8443,7 @@ linux*) libsuff= case "$host_cpu" in x86_64*|s390x*|powerpc64*) - echo '#line 8431 "configure"' > conftest.$ac_ext + echo '#line 8446 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -9303,7 +9318,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) 2>/dev/null + (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; @@ -9401,7 +9416,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) 2>/dev/null + (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; @@ -9517,7 +9532,7 @@ test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. -case "$host_os" in +case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then @@ -10120,7 +10135,7 @@ postdeps_CXX= compiler_lib_search_path_CXX= # Source file extension for C++ test sources. -ac_ext=cc +ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o @@ -10256,7 +10271,7 @@ else if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. + # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &6 if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - # I'd rather use --version here, but apparently some GNU ld's only accept -v. + # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 # The `*' in the case matches for architectures that use `case' in # $output_verbose_cmd can trigger glob expansion during the loop # eval without this substitution. - output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`" + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` for p in `eval $output_verbose_link_cmd`; do case $p in @@ -11347,6 +11355,20 @@ fi $rm -f confest.$objext +# PORTME: override above test on systems where it is broken +case $host_os in +solaris*) + case $cc_basename in + CC*) + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + postdeps_CXX='-lCstd -lCrun' + ;; + esac +esac + + case " $postdeps_CXX " in *" -lc "*) archive_cmds_need_lc_CXX=no ;; esac @@ -11402,7 +11424,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. - case "$host_cpu" in + case $host_cpu in hppa*64*|ia64*) ;; *) @@ -11471,7 +11493,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 aCC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" - case "$host_cpu" in + case $host_cpu in hppa*64*|ia64*) # +Z the default ;; @@ -11512,7 +11534,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 # Portland Group C++ compiler. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fpic' - lt_prog_compiler_static_CXX='-static' + lt_prog_compiler_static_CXX='-Bstatic' ;; cxx*) # Compaq C++ @@ -11646,14 +11668,14 @@ else # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:11652: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11674: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:11656: \$? = $ac_status" >&5 + echo "$as_me:11678: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -11680,7 +11702,7 @@ else fi fi -case "$host_os" in +case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= @@ -11708,14 +11730,14 @@ else # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:11714: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11736: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:11718: \$? = $ac_status" >&5 + echo "$as_me:11740: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -11726,7 +11748,7 @@ else lt_cv_prog_compiler_c_o_CXX=yes fi fi - chmod u+w . + chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation @@ -11989,7 +12011,8 @@ cygwin* | mingw* | pw32*) dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $rm \$dlpath' @@ -12042,7 +12065,7 @@ darwin* | rhapsody*) soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)' + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. if test "$GCC" = yes; then sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` @@ -12080,7 +12103,14 @@ kfreebsd*-gnu) freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) @@ -12125,7 +12155,7 @@ hpux9* | hpux10* | hpux11*) version_type=sunos need_lib_prefix=no need_version=no - case "$host_cpu" in + case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes @@ -12226,7 +12256,7 @@ linux*) libsuff= case "$host_cpu" in x86_64*|s390x*|powerpc64*) - echo '#line 12229 "configure"' > conftest.$ac_ext + echo '#line 12259 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -13101,7 +13131,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) 2>/dev/null + (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; @@ -13199,7 +13229,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) 2>/dev/null + (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; @@ -13821,7 +13851,7 @@ test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. -case "$host_os" in +case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then @@ -13909,7 +13939,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. - case "$host_cpu" in + case $host_cpu in hppa*64*|ia64*) # +Z the default ;; @@ -13956,7 +13986,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 lt_prog_compiler_wl_F77='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. - case "$host_cpu" in + case $host_cpu in hppa*64*|ia64*) # +Z the default ;; @@ -13986,12 +14016,12 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-static' ;; - pgcc* | pgf77* | pgf90*) + pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-fpic' - lt_prog_compiler_static_F77='-static' + lt_prog_compiler_static_F77='-Bstatic' ;; ccc*) lt_prog_compiler_wl_F77='-Wl,' @@ -14081,14 +14111,14 @@ else # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14087: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14117: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:14091: \$? = $ac_status" >&5 + echo "$as_me:14121: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -14115,7 +14145,7 @@ else fi fi -case "$host_os" in +case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_F77= @@ -14143,14 +14173,14 @@ else # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14149: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14179: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:14153: \$? = $ac_status" >&5 + echo "$as_me:14183: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -14161,7 +14191,7 @@ else lt_cv_prog_compiler_c_o_F77=yes fi fi - chmod u+w . + chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation @@ -14361,11 +14391,11 @@ EOF tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler - whole_archive_flag_spec_F77='${wl}--whole-archive,`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; - pgf77* | pgf90* ) # Portland Group f77 and f90 compilers - whole_archive_flag_spec_F77='${wl}--whole-archive,`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; @@ -14653,7 +14683,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_F77=' ' archive_cmds_need_lc_F77=yes - # This is similar to how AIX traditionally builds it's shared libraries. + # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi @@ -14693,7 +14723,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; darwin* | rhapsody*) - case "$host_os" in + case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' ;; @@ -14722,7 +14752,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi output_verbose_link_cmd='echo' archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else @@ -14731,7 +14761,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi output_verbose_link_cmd='echo' archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; @@ -14797,7 +14827,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hpux10* | hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case "$host_cpu" in + case $host_cpu in hppa*64*|ia64*) archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; @@ -14806,7 +14836,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; esac else - case "$host_cpu" in + case $host_cpu in hppa*64*|ia64*) archive_cmds_F77='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' ;; @@ -14816,7 +14846,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi esac fi if test "$with_gnu_ld" = no; then - case "$host_cpu" in + case $host_cpu in hppa*64*) hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_flag_spec_ld_F77='+b $libdir' @@ -15275,7 +15305,8 @@ cygwin* | mingw* | pw32*) dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $rm \$dlpath' @@ -15328,7 +15359,7 @@ darwin* | rhapsody*) soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)' + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. if test "$GCC" = yes; then sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` @@ -15366,7 +15397,14 @@ kfreebsd*-gnu) freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) @@ -15411,7 +15449,7 @@ hpux9* | hpux10* | hpux11*) version_type=sunos need_lib_prefix=no need_version=no - case "$host_cpu" in + case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes @@ -15512,7 +15550,7 @@ linux*) libsuff= case "$host_cpu" in x86_64*|s390x*|powerpc64*) - echo '#line 15515 "configure"' > conftest.$ac_ext + echo '#line 15553 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -16286,14 +16324,14 @@ else # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16292: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16330: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16296: \$? = $ac_status" >&5 + echo "$as_me:16334: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -16376,7 +16414,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. - case "$host_cpu" in + case $host_cpu in hppa*64*|ia64*) # +Z the default ;; @@ -16423,7 +16461,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 lt_prog_compiler_wl_GCJ='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. - case "$host_cpu" in + case $host_cpu in hppa*64*|ia64*) # +Z the default ;; @@ -16453,12 +16491,12 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-static' ;; - pgcc* | pgf77* | pgf90*) + pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-fpic' - lt_prog_compiler_static_GCJ='-static' + lt_prog_compiler_static_GCJ='-Bstatic' ;; ccc*) lt_prog_compiler_wl_GCJ='-Wl,' @@ -16548,14 +16586,14 @@ else # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16554: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16592: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16558: \$? = $ac_status" >&5 + echo "$as_me:16596: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -16582,7 +16620,7 @@ else fi fi -case "$host_os" in +case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_GCJ= @@ -16610,14 +16648,14 @@ else # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16616: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16654: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:16620: \$? = $ac_status" >&5 + echo "$as_me:16658: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -16628,7 +16666,7 @@ else lt_cv_prog_compiler_c_o_GCJ=yes fi fi - chmod u+w . + chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation @@ -16828,11 +16866,11 @@ EOF tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler - whole_archive_flag_spec_GCJ='${wl}--whole-archive,`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; - pgf77* | pgf90* ) # Portland Group f77 and f90 compilers - whole_archive_flag_spec_GCJ='${wl}--whole-archive,`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; @@ -17140,7 +17178,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_GCJ=' ' archive_cmds_need_lc_GCJ=yes - # This is similar to how AIX traditionally builds it's shared libraries. + # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi @@ -17180,7 +17218,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; darwin* | rhapsody*) - case "$host_os" in + case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' ;; @@ -17209,7 +17247,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi output_verbose_link_cmd='echo' archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else @@ -17218,7 +17256,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi output_verbose_link_cmd='echo' archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; @@ -17284,7 +17322,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hpux10* | hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case "$host_cpu" in + case $host_cpu in hppa*64*|ia64*) archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; @@ -17293,7 +17331,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; esac else - case "$host_cpu" in + case $host_cpu in hppa*64*|ia64*) archive_cmds_GCJ='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' ;; @@ -17303,7 +17341,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi esac fi if test "$with_gnu_ld" = no; then - case "$host_cpu" in + case $host_cpu in hppa*64*) hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' @@ -17762,7 +17800,8 @@ cygwin* | mingw* | pw32*) dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $rm \$dlpath' @@ -17815,7 +17854,7 @@ darwin* | rhapsody*) soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)' + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. if test "$GCC" = yes; then sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` @@ -17853,7 +17892,14 @@ kfreebsd*-gnu) freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) @@ -17898,7 +17944,7 @@ hpux9* | hpux10* | hpux11*) version_type=sunos need_lib_prefix=no need_version=no - case "$host_cpu" in + case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes @@ -17999,7 +18045,7 @@ linux*) libsuff= case "$host_cpu" in x86_64*|s390x*|powerpc64*) - echo '#line 18002 "configure"' > conftest.$ac_ext + echo '#line 18048 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -18874,7 +18920,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) 2>/dev/null + (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; @@ -18972,7 +19018,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) 2>/dev/null + (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; @@ -23207,29 +23253,54 @@ else fi; +# Check whether --enable-man or --disable-man was given. +if test "${enable_man+set}" = set; then + enableval="$enable_man" + enable_man=yes +else + enable_man=no -# Check whether --with-libcrack or --without-libcrack was given. -if test "${with_libcrack+set}" = set; then - withval="$with_libcrack" +fi; + +# Check whether --with-audit or --without-audit was given. +if test "${with_audit+set}" = set; then + withval="$with_audit" + with_audit=$withval +else + with_audit=yes fi; # Check whether --with-libpam or --without-libpam was given. if test "${with_libpam+set}" = set; then withval="$with_libpam" - + with_libpam=$withval +else + with_libpam=yes fi; # Check whether --with-selinux or --without-selinux was given. if test "${with_selinux+set}" = set; then withval="$with_selinux" - + with_selinux=$withval +else + with_selinux=yes fi; # Check whether --with-skey or --without-skey was given. if test "${with_skey+set}" = set; then withval="$with_skey" + with_skey=$withval +else + with_skey=no +fi; +# Check whether --with-libcrack or --without-libcrack was given. +if test "${with_libcrack+set}" = set; then + withval="$with_libcrack" + with_libcrack=$withval +else + with_libcrack=no fi; @@ -23620,6 +23691,171 @@ _ACEOF fi +if test "$enable_man" = "yes"; then + # Extract the first word of "xsltproc", so it can be a program name with args. +set dummy xsltproc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_XSLTPROC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $XSLTPROC in + [\\/]* | ?:[\\/]*) + ac_cv_path_XSLTPROC="$XSLTPROC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_XSLTPROC="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + ;; +esac +fi +XSLTPROC=$ac_cv_path_XSLTPROC + +if test -n "$XSLTPROC"; then + echo "$as_me:$LINENO: result: $XSLTPROC" >&5 +echo "${ECHO_T}$XSLTPROC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + if test -z "$XSLTPROC"; then + enable_man=no + fi + + + # check for the presence of the XML catalog + +# Check whether --with-xml-catalog or --without-xml-catalog was given. +if test "${with_xml_catalog+set}" = set; then + withval="$with_xml_catalog" + +else + with_xml_catalog=/etc/xml/catalog +fi; + jh_found_xmlcatalog=true + XML_CATALOG_FILE="$with_xml_catalog" + + echo "$as_me:$LINENO: checking for XML catalog ($XML_CATALOG_FILE)" >&5 +echo $ECHO_N "checking for XML catalog ($XML_CATALOG_FILE)... $ECHO_C" >&6 + if test -f "$XML_CATALOG_FILE"; then + echo "$as_me:$LINENO: result: found" >&5 +echo "${ECHO_T}found" >&6 + else + jh_found_xmlcatalog=false + echo "$as_me:$LINENO: result: not found" >&5 +echo "${ECHO_T}not found" >&6 + fi + + # check for the xmlcatalog program + # Extract the first word of "xmlcatalog", so it can be a program name with args. +set dummy xmlcatalog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_XMLCATALOG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $XMLCATALOG in + [\\/]* | ?:[\\/]*) + ac_cv_path_XMLCATALOG="$XMLCATALOG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_XMLCATALOG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_path_XMLCATALOG" && ac_cv_path_XMLCATALOG="no" + ;; +esac +fi +XMLCATALOG=$ac_cv_path_XMLCATALOG + +if test -n "$XMLCATALOG"; then + echo "$as_me:$LINENO: result: $XMLCATALOG" >&5 +echo "${ECHO_T}$XMLCATALOG" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + if test "x$XMLCATALOG" = xno; then + jh_found_xmlcatalog=false + fi + + if $jh_found_xmlcatalog; then + : + else + : + fi + + + echo "$as_me:$LINENO: checking for DocBook XML DTD V4.1.2 in XML catalog" >&5 +echo $ECHO_N "checking for DocBook XML DTD V4.1.2 in XML catalog... $ECHO_C" >&6 + if $jh_found_xmlcatalog && \ + { (echo "$as_me:$LINENO: \$XMLCATALOG --noout \"\$XML_CATALOG_FILE\" \"-//OASIS//DTD DocBook XML V4.1.2//EN\" >&2") >&5 + ($XMLCATALOG --noout "$XML_CATALOG_FILE" "-//OASIS//DTD DocBook XML V4.1.2//EN" >&2) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + echo "$as_me:$LINENO: result: found" >&5 +echo "${ECHO_T}found" >&6 + else + echo "$as_me:$LINENO: result: not found" >&5 +echo "${ECHO_T}not found" >&6 + enable_man=no + fi + + + echo "$as_me:$LINENO: checking for DocBook XSL Stylesheets in XML catalog" >&5 +echo $ECHO_N "checking for DocBook XSL Stylesheets in XML catalog... $ECHO_C" >&6 + if $jh_found_xmlcatalog && \ + { (echo "$as_me:$LINENO: \$XMLCATALOG --noout \"\$XML_CATALOG_FILE\" \"http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\" >&2") >&5 + ($XMLCATALOG --noout "$XML_CATALOG_FILE" "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" >&2) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + echo "$as_me:$LINENO: result: found" >&5 +echo "${ECHO_T}found" >&6 + else + echo "$as_me:$LINENO: result: not found" >&5 +echo "${ECHO_T}not found" >&6 + enable_man=no + fi + +fi + + +if test x$enable_man != xno; then + ENABLE_REGENERATE_MAN_TRUE= + ENABLE_REGENERATE_MAN_FALSE='#' +else + ENABLE_REGENERATE_MAN_TRUE='#' + ENABLE_REGENERATE_MAN_FALSE= +fi + + echo "$as_me:$LINENO: checking for crypt in -lcrypt" >&5 echo $ECHO_N "checking for crypt in -lcrypt... $ECHO_C" >&6 @@ -23695,6 +23931,229 @@ fi +if test "$with_audit" = "yes"; then + if test "${ac_cv_header_libaudit_h+set}" = set; then + echo "$as_me:$LINENO: checking for libaudit.h" >&5 +echo $ECHO_N "checking for libaudit.h... $ECHO_C" >&6 +if test "${ac_cv_header_libaudit_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: $ac_cv_header_libaudit_h" >&5 +echo "${ECHO_T}$ac_cv_header_libaudit_h" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking libaudit.h usability" >&5 +echo $ECHO_N "checking libaudit.h usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking libaudit.h presence" >&5 +echo $ECHO_N "checking libaudit.h presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: libaudit.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: libaudit.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: libaudit.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: libaudit.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: libaudit.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: libaudit.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: libaudit.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: libaudit.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: libaudit.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: libaudit.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: libaudit.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: libaudit.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: libaudit.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: libaudit.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: libaudit.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: libaudit.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------------ ## +## Report this to the AC_PACKAGE_NAME lists. ## +## ------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for libaudit.h" >&5 +echo $ECHO_N "checking for libaudit.h... $ECHO_C" >&6 +if test "${ac_cv_header_libaudit_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_libaudit_h=$ac_header_preproc +fi +echo "$as_me:$LINENO: result: $ac_cv_header_libaudit_h" >&5 +echo "${ECHO_T}$ac_cv_header_libaudit_h" >&6 + +fi +if test $ac_cv_header_libaudit_h = yes; then + audit_header="yes" +else + audit_header="no" +fi + + + if test "$audit_header" = "yes"; then + echo "$as_me:$LINENO: checking for audit_send_message_if_enabled in -laudit" >&5 +echo $ECHO_N "checking for audit_send_message_if_enabled in -laudit... $ECHO_C" >&6 +if test "${ac_cv_lib_audit_audit_send_message_if_enabled+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-laudit $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char audit_send_message_if_enabled (); +int +main () +{ +audit_send_message_if_enabled (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_audit_audit_send_message_if_enabled=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_audit_audit_send_message_if_enabled=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_audit_audit_send_message_if_enabled" >&5 +echo "${ECHO_T}$ac_cv_lib_audit_audit_send_message_if_enabled" >&6 +if test $ac_cv_lib_audit_audit_send_message_if_enabled = yes; then + +cat >>confdefs.h <<\_ACEOF +#define WITH_AUDIT 1 +_ACEOF + + LIBAUDIT="-laudit" +fi + + fi +fi + + if test "$with_libcrack" = "yes"; then echo "checking cracklib flavour, don't be surprised by the results" echo "$as_me:$LINENO: checking for FascistCheck in -lcrack" >&5 @@ -23983,7 +24442,9 @@ echo "${ECHO_T}$ac_cv_lib_selinux_is_selinux_enabled" >&6 if test $ac_cv_lib_selinux_is_selinux_enabled = yes; then LIBSELINUX="-lselinux" else - SELinux enabled but libselinux not found + { { echo "$as_me:$LINENO: error: libselinux not found" >&5 +echo "$as_me: error: libselinux not found" >&2;} + { (exit 1); exit 1; }; } fi @@ -24312,7 +24773,7 @@ fi -if test "$with_libskey" = "yes"; then +if test "$with_skey" = "yes"; then echo "$as_me:$LINENO: checking for MD5Init in -lmd" >&5 echo $ECHO_N "checking for MD5Init in -lmd... $ECHO_C" >&6 if test "${ac_cv_lib_md_MD5Init+set}" = set; then @@ -25521,7 +25982,7 @@ int main () { bindtextdomain ("", ""); -return (int) gettext ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_domain_bindings +return * gettext ("") + * ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_domain_bindings ; return 0; } @@ -26131,7 +26592,7 @@ int main () { bindtextdomain ("", ""); -return (int) gettext ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_expand_alias ("") +return * gettext ("") + * ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } @@ -26186,7 +26647,7 @@ int main () { bindtextdomain ("", ""); -return (int) gettext ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_expand_alias ("") +return * gettext ("") + * ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } @@ -26464,6 +26925,13 @@ echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi +if test -z "${ENABLE_REGENERATE_MAN_TRUE}" && test -z "${ENABLE_REGENERATE_MAN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"ENABLE_REGENERATE_MAN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"ENABLE_REGENERATE_MAN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files @@ -27100,7 +27568,13 @@ s,@FFLAGS@,$FFLAGS,;t t s,@ac_ct_F77@,$ac_ct_F77,;t t s,@LIBTOOL@,$LIBTOOL,;t t s,@LIBOBJS@,$LIBOBJS,;t t +s,@XSLTPROC@,$XSLTPROC,;t t +s,@XML_CATALOG_FILE@,$XML_CATALOG_FILE,;t t +s,@XMLCATALOG@,$XMLCATALOG,;t t +s,@ENABLE_REGENERATE_MAN_TRUE@,$ENABLE_REGENERATE_MAN_TRUE,;t t +s,@ENABLE_REGENERATE_MAN_FALSE@,$ENABLE_REGENERATE_MAN_FALSE,;t t s,@LIBCRYPT@,$LIBCRYPT,;t t +s,@LIBAUDIT@,$LIBAUDIT,;t t s,@LIBCRACK@,$LIBCRACK,;t t s,@LIBSELINUX@,$LIBSELINUX,;t t s,@LIBPAM@,$LIBPAM,;t t @@ -27947,3 +28421,14 @@ if test "$no_create" != yes; then $ac_cs_success || { (exit 1); exit 1; } fi + +echo +echo "shadow will be compiled with the followig feactures:" +echo +echo " auditing support: $with_audit" +echo " CrackLib support: $with_libcrack" +echo " PAM support: $with_libpam" +echo " SELinux support: $with_selinux" +echo " shadow group support: $enable_shadowgrp" +echo " S/Key support: $with_skey" +echo diff --git a/configure.in b/configure.in index 3ec82291..1aace9ab 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT -AM_INIT_AUTOMAKE(shadow, 4.0.12) +AM_INIT_AUTOMAKE(shadow, 4.0.13) AC_CONFIG_HEADERS([config.h]) dnl Some hacks... @@ -202,7 +202,7 @@ AC_DEFINE(getpass, libshadow_getpass, [Define to libshadow_getpass to use our own version of getpass().]) AC_ARG_ENABLE(shadowgrp, - [ --enable-shadowgrp enable shadow group support [default=yes]], + [AC_HELP_STRING([--enable-shadowgrp], [enable shadow group support @<:@default=yes@:>@])], [case "${enableval}" in yes) enable_shadowgrp="yes" ;; no) enable_shadowgrp="no" ;; @@ -211,10 +211,28 @@ AC_ARG_ENABLE(shadowgrp, [enable_shadowgrp="yes"] ) -AC_ARG_WITH(libcrack, [ --with-libcrack try to use libcrack (default if found)]) -AC_ARG_WITH(libpam, [ --with-libpam use libpam for PAM support]) -AC_ARG_WITH(selinux, [ --with-selinux use SELinux support]) -AC_ARG_WITH(skey, [ --with-skey use S/Key support]) +AC_ARG_ENABLE(man, + [AC_HELP_STRING([--enable-man], + [regenerate roff man pages from Docbook @<:@default=no@:>@])], + [enable_man=yes], + [enable_man=no] +) + +AC_ARG_WITH(audit, + [AC_HELP_STRING([--with-audit], [use auditing support @<:@default=yes if found@:>@])], + [with_audit=$withval], [with_audit=yes]) +AC_ARG_WITH(libpam, + [AC_HELP_STRING([--with-libpam], [use libpam for PAM support @<:@default=yes if found@:>@])], + [with_libpam=$withval], [with_libpam=yes]) +AC_ARG_WITH(selinux, + [AC_HELP_STRING([--with-selinux], [use SELinux support @<:@default=autodetect@:>@])], + [with_selinux=$withval], [with_selinux=yes]) +AC_ARG_WITH(skey, + [AC_HELP_STRING([--with-skey], [use S/Key support @<:@default=no@:>@])], + [with_skey=$withval], [with_skey=no]) +AC_ARG_WITH(libcrack, + [AC_HELP_STRING([--with-libcrack], [use libcrack @<:@default=yes if found and if PAM not enabled@:>@])], + [with_libcrack=$withval], [with_libcrack=no]) dnl Check for some functions in libc first, only if not found check for dnl other libraries. This should prevent linking libnsl if not really @@ -228,10 +246,37 @@ if test "$enable_shadowgrp" = "yes"; then AC_DEFINE(SHADOWGRP, 1, [Define to support the shadow group file.]) fi +if test "$enable_man" = "yes"; then + dnl + dnl Check for xsltproc + dnl + AC_PATH_PROG([XSLTPROC], [xsltproc]) + if test -z "$XSLTPROC"; then + enable_man=no + fi + + dnl check for DocBook DTD and stylesheets in the local catalog. + JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN], + [DocBook XML DTD V4.1.2], [], enable_man=no) + JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl], + [DocBook XSL Stylesheets], [], enable_man=no) +fi +AM_CONDITIONAL(ENABLE_REGENERATE_MAN, test x$enable_man != xno) + AC_SUBST(LIBCRYPT) AC_CHECK_LIB(crypt, crypt, [LIBCRYPT=-lcrypt], [AC_MSG_ERROR([crypt() not found])]) +AC_SUBST(LIBAUDIT) +if test "$with_audit" = "yes"; then + AC_CHECK_HEADER(libaudit.h, [audit_header="yes"], [audit_header="no"]) + if test "$audit_header" = "yes"; then + AC_CHECK_LIB(audit, audit_send_message_if_enabled, + [AC_DEFINE(WITH_AUDIT, 1, [Define if you want to enable Audit messages]) + LIBAUDIT="-laudit"]) + fi +fi + AC_SUBST(LIBCRACK) if test "$with_libcrack" = "yes"; then echo "checking cracklib flavour, don't be surprised by the results" @@ -244,7 +289,9 @@ if test "$with_libcrack" = "yes"; then fi if test "$with_selinux" = "yes"; then - AC_CHECK_LIB(selinux, is_selinux_enabled, [LIBSELINUX="-lselinux"], [SELinux enabled but libselinux not found]) + AC_CHECK_LIB(selinux, is_selinux_enabled, + [LIBSELINUX="-lselinux"], + [AC_MSG_ERROR([libselinux not found])]) AC_SUBST(LIBSELINUX) AC_CHECK_HEADERS(selinux/selinux.h, [], [selinux/selinux.h is missing]) AC_DEFINE(WITH_SELINUX, 1, [Build shadow with SELinux support]) @@ -272,7 +319,7 @@ fi AC_SUBST(LIBSKEY) AC_SUBST(LIBMD) -if test "$with_libskey" = "yes"; then +if test "$with_skey" = "yes"; then AC_CHECK_LIB(md, MD5Init, [LIBMD=-lmd]) AC_CHECK_LIB(skey, skeychallenge, [LIBSKEY=-lskey], [AC_MSG_ERROR([liskey missing. You can download S/Key source code from http://rsync1.it.gentoo.org/gentoo/distfiles/skey-1.1.5.tar.bz2])]) @@ -310,3 +357,14 @@ AC_CONFIG_FILES([ shadow.spec ]) AC_OUTPUT + +echo +echo "shadow will be compiled with the followig feactures:" +echo +echo " auditing support: $with_audit" +echo " CrackLib support: $with_libcrack" +echo " PAM support: $with_libpam" +echo " SELinux support: $with_selinux" +echo " shadow group support: $enable_shadowgrp" +echo " S/Key support: $with_skey" +echo diff --git a/contrib/Makefile.in b/contrib/Makefile.in index 8394d645..7a945567 100644 --- a/contrib/Makefile.in +++ b/contrib/Makefile.in @@ -41,7 +41,8 @@ host_triplet = @host@ subdir = contrib DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -76,6 +77,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -87,6 +90,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -126,6 +130,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -186,9 +193,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu contrib/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign contrib/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu contrib/Makefile + $(AUTOMAKE) --foreign contrib/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/doc/Makefile.in b/doc/Makefile.in index 48b9f332..4c944a7b 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -41,7 +41,8 @@ host_triplet = @host@ subdir = doc DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -76,6 +77,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -87,6 +90,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -126,6 +130,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -186,9 +193,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/Makefile + $(AUTOMAKE) --foreign doc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/etc/Makefile.am b/etc/Makefile.am index 2191f65f..c63ce3f4 100644 --- a/etc/Makefile.am +++ b/etc/Makefile.am @@ -5,8 +5,6 @@ EXTRA_DIST = \ limits \ login.access \ login.defs \ - login.defs.hurd \ - login.defs.linux \ useradd SUBDIRS = pam.d diff --git a/etc/Makefile.in b/etc/Makefile.in index bcc74803..02c6ced2 100644 --- a/etc/Makefile.in +++ b/etc/Makefile.in @@ -41,7 +41,8 @@ host_triplet = @host@ subdir = etc DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -85,6 +86,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -96,6 +99,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -135,6 +139,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -183,8 +190,6 @@ EXTRA_DIST = \ limits \ login.access \ login.defs \ - login.defs.hurd \ - login.defs.linux \ useradd SUBDIRS = pam.d @@ -200,9 +205,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu etc/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign etc/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu etc/Makefile + $(AUTOMAKE) --foreign etc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/etc/login.defs b/etc/login.defs index cc002abf..8cff417d 100644 --- a/etc/login.defs +++ b/etc/login.defs @@ -1,20 +1,13 @@ # -# /etc/login.defs - Configuration control definitions for the login package. +# /etc/login.defs - Configuration control definitions for the shadow package. # -# $Id: login.defs,v 1.6 2005/03/07 10:09:06 kloczek Exp $ -# -# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. -# If unspecified, some arbitrary (and possibly incorrect) value will -# be assumed. All other items are optional - if not specified then -# the described action or option will be inhibited. -# -# Comment lines (lines beginning with "#") and blank lines are ignored. +# $Id: login.defs,v 1.8 2005/09/01 19:57:45 kloczek Exp $ # # # Delay in seconds before being allowed another attempt after a login failure # -FAIL_DELAY 5 +FAIL_DELAY 3 # # Enable logging and display of /var/log/faillog login failure info. @@ -24,7 +17,12 @@ FAILLOG_ENAB yes # # Enable display of unknown usernames when login failures are recorded. # -LOG_UNKFAIL_ENAB yes +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no # # Enable logging and display of /var/log/lastlog login time info. @@ -34,6 +32,9 @@ LASTLOG_ENAB yes # # Enable checking and display of mailbox status upon login. # +# Disable if the shell startup files already check for mail +# ("mailx -e" or equivalent). +# MAIL_CHECK_ENAB yes # @@ -55,21 +56,21 @@ QUOTAS_ENAB yes # Enable "syslog" logging of su activity - in addition to sulog file logging. # SYSLOG_SG_ENAB does the same for newgrp and sg. # -SYSLOG_SU_ENAB no -SYSLOG_SG_ENAB no +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes # # If defined, either full pathname of a file containing device names or # a ":" delimited list of device names. Root logins will be allowed only # upon these devices. # -CONSOLE /etc/consoles +CONSOLE /etc/securetty #CONSOLE console:tty01:tty02:tty03:tty04 # # If defined, all su activity is logged to this file. # -SULOG_FILE /var/log/sulog +#SULOG_FILE /var/log/sulog # # If defined, ":" delimited list of "message of the day" files to @@ -87,19 +88,20 @@ MOTD_FILE /etc/motd # If defined, file which maps tty line to TERM environment parameter. # Each line of the file is in a format something like "vt100 tty01". # -TTYTYPE_FILE /etc/ttytype +#TTYTYPE_FILE /etc/ttytype # # If defined, login failures will be logged here in a utmp format. +# last, when invoked as lastb, will read /var/log/btmp, so... # -FTMP_FILE /etc/ftmp +FTMP_FILE /var/log/btmp # # If defined, name of file whose presence which will inhibit non-root # logins. The contents of this file should be a message indicating # why logins are inhibited. # -NOLOGINS_FILE /etc/nologins +NOLOGINS_FILE /etc/nologin # # If defined, the command name to display when running "su -". For @@ -113,10 +115,8 @@ SU_NAME su # *REQUIRED* # Directory where mailboxes reside, _or_ name of file, relative to the # home directory. If you _do_ define both, MAIL_DIR takes precedence. -# MAILDIR is for Qmail # -#MAILDIR Maildir -MAIL_DIR /var/mail +MAIL_DIR /var/spool/mail #MAIL_FILE .mail # @@ -125,24 +125,28 @@ MAIL_DIR /var/mail # user's name or shell are found in the file. If not a full pathname, then # hushed mode will be enabled if the file exists in the user's home directory. # -#HUSHLOGIN_FILE .hushlogin -HUSHLOGIN_FILE /etc/hushlogins +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins # # If defined, either a TZ environment parameter spec or the # fully-rooted pathname of a file containing such a spec. # -ENV_TZ TZ=CST6CDT +#ENV_TZ TZ=CST6CDT #ENV_TZ /etc/tzname # # If defined, an HZ environment parameter spec. # -ENV_HZ HZ=50 +# for Linux/x86 +ENV_HZ HZ=100 +# For Linux/Alpha... +#ENV_HZ HZ=1024 # # *REQUIRED* The default PATH settings, for superuser and normal users. # +# (they are minimal, add the rest in the shell startup files) ENV_SUPATH PATH=/sbin:/bin:/usr/sbin:/usr/bin ENV_PATH PATH=/bin:/usr/bin @@ -157,9 +161,8 @@ ENV_PATH PATH=/bin:/usr/bin # TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign # TTYPERM to either 622 or 600. # -#TTYGROUP 7 -#TTYPERM 0620 -TTYPERM 0622 +TTYGROUP tty +TTYPERM 0600 # # Login configuration initializations: @@ -171,13 +174,14 @@ TTYPERM 0622 # # The ERASECHAR and KILLCHAR are used only on System V machines. # The ULIMIT is used only if the system supports it. +# (now it works with setrlimit too; ulimit is in 512-byte units) # # Prefix these values with "0" to get octal, "0x" to get hexadecimal. # -ERASECHAR 010 +ERASECHAR 0177 KILLCHAR 025 UMASK 022 -ULIMIT 2097152 +#ULIMIT 2097152 # # Password aging controls: @@ -193,15 +197,144 @@ PASS_MIN_LEN 5 PASS_WARN_AGE 7 # -# Only allow group 0 members to "su" to root. +# If "yes", the user must be listed as a member of the first gid 0 group +# in /etc/group (called "root" on most Linux systems) to be able to "su" +# to uid 0 accounts. If the group doesn't exist or is empty, no one +# will be able to "su" to uid 0. # SU_WHEEL_ONLY no # # If compiled with cracklib support, where are the dictionaries # -#CRACKLIB_DICTPATH /usr/share/lib/pw_dict +CRACKLIB_DICTPATH /var/cache/cracklib/cracklib_dict -# chkpasswd uses this one -MD5_CRYPT_ENAB yes +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Maximum number of attempts to change password if rejected (too easy) +# +PASS_CHANGE_TRIES 5 + +# +# Warn about weak passwords (but still allow them) if you are root. +# +PASS_ALWAYS_WARN yes + +# +# Number of significant characters in the password for crypt(). +# Default is 8, don't change unless your crypt() is better. +# Ignored if MD5_CRYPT_ENAB set to "yes". +# +#PASS_MAX_LEN 8 + +# +# Require password before chfn/chsh can make any changes. +# +CHFN_AUTH yes + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Password prompt (%s will be replaced by user name). +# +# XXX - it doesn't work correctly yet, for now leave it commented out +# to use the default which is just "Password: ". +#LOGIN_STRING "%s's Password: " + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +#MD5_CRYPT_ENAB no + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If this file exists and is readable, login environment will be +# read from it. Every line should be in the form name=value. +# +ENVIRON_FILE /etc/environment + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# When prompting for password without echo, getpass() can optionally +# display a random number (in the range 1 to GETPASS_ASTERISKS) of '*' +# characters for each character typed. This feature is designed to +# confuse people looking over your shoulder when you enter a password :-). +# Also, the new getpass() accepts both Backspace (8) and Delete (127) +# keys to delete previous character (to cope with different terminal +# types), Control-U to delete all characters, and beeps when there are +# no more characters to delete, or too many characters entered. +# +# Setting GETPASS_ASTERISKS to 1 results in more traditional behaviour - +# exactly one '*' displayed for each character typed. +# +# Setting GETPASS_ASTERISKS to 0 disables the '*' characters (Backspace, +# Delete, Control-U and beep continue to work as described above). +# +# Setting GETPASS_ASTERISKS to -1 reverts to the traditional getpass() +# without any new features. This is the default. +# +#GETPASS_ASTERISKS 1 + +# +# Enable setting of the umask group bits to be the same as owner bits +# (examples: 022 -> 002, 077 -> 007) for non-root users, if the uid is +# the same as gid, and username is the same as the primary group name. +# +# This also enables userdel to remove user groups if no members exist. +# +USERGROUPS_ENAB yes diff --git a/etc/login.defs.hurd b/etc/login.defs.hurd deleted file mode 100644 index a8e6ba72..00000000 --- a/etc/login.defs.hurd +++ /dev/null @@ -1,141 +0,0 @@ -# -# /etc/login.defs - Configuration control definitions for the login package. -# -# $Id: login.defs.hurd,v 1.3 2005/08/09 18:09:41 kloczek Exp $ -# -# One item must be defined: MAIL_DIR. -# If unspecified, some arbitrary (and possibly incorrect) value will -# be assumed. All other items are optional - if not specified then -# the described action or option will be inhibited. -# -# Comment lines (lines beginning with "#") and blank lines are ignored. -# -# Modified for the Hurd. --brinkmd - -# -# Enable additional checks upon password changes. -# -OBSCURE_CHECKS_ENAB yes - -# -# *REQUIRED* -# Directory where mailboxes reside, _or_ name of file, relative to the -# home directory. If you _do_ define both, MAIL_DIR takes precedence. -# -MAIL_DIR /var/spool/mail -#MAIL_FILE .mail - -# -# Password aging controls: -# -# PASS_MAX_DAYS Maximum number of days a password may be used. -# PASS_MIN_DAYS Minimum number of days allowed between password changes. -# PASS_MIN_LEN Minimum acceptable password length. -# PASS_WARN_AGE Number of days warning given before a password expires. -# -PASS_MAX_DAYS 99999 -PASS_MIN_DAYS 0 -PASS_MIN_LEN 5 -PASS_WARN_AGE 7 - -# -# If compiled with cracklib support, where are the dictionaries -# -#CRACKLIB_DICTPATH /usr/lib/passwd/pw_dict - -# -# Min/max values for automatic uid selection in useradd -# -UID_MIN 1000 -UID_MAX 60000 - -# -# Min/max values for automatic gid selection in groupadd -# -GID_MIN 100 -GID_MAX 60000 - -# -# Maximum number of attempts to change password if rejected (too easy) -# -PASS_CHANGE_TRIES 5 - -# -# Warn about weak passwords (but still allow them) if you are root. -# -PASS_ALWAYS_WARN yes - -# -# Number of significant characters in the password for crypt(). -# Default is 8, don't change unless your crypt() is better. -# Ignored if MD5_CRYPT_ENAB set to "yes". -# -#PASS_MAX_LEN 8 - -# -# Require password before chfn/chsh can make any changes. -# -CHFN_AUTH yes - -# -# Which fields may be changed by regular users using chfn - use -# any combination of letters "frwh" (full name, room number, work -# phone, home phone). If not defined, no changes are allowed. -# For backward compatibility, "yes" = "rwh" and "no" = "frwh". -# -CHFN_RESTRICT rwh - -# -# Password prompt (%s will be replaced by user name). -# -# XXX - it doesn't work correctly yet, for now leave it commented out -# to use the default which is just "Password: ". -#LOGIN_STRING "%s's Password: " - -# -# Only works if compiled with MD5_CRYPT defined: -# If set to "yes", new passwords will be encrypted using the MD5-based -# algorithm compatible with the one used by recent releases of FreeBSD. -# It supports passwords of unlimited length and longer salt strings. -# Set to "no" if you need to copy encrypted passwords to other systems -# which don't understand the new algorithm. Default is "no". -# -#MD5_CRYPT_ENAB no - -# -# If defined, this command is run when removing a user. -# It should remove any at/cron/print jobs etc. owned by -# the user to be removed (passed as the first argument). -# -#USERDEL_CMD /usr/sbin/userdel_local - -# -# When prompting for password without echo, getpass() can optionally -# display a random number (in the range 1 to GETPASS_ASTERISKS) of '*' -# characters for each character typed. This feature is designed to -# confuse people looking over your shoulder when you enter a password :-). -# Also, the new getpass() accepts both Backspace (8) and Delete (127) -# keys to delete previous character (to cope with different terminal -# types), Control-U to delete all characters, and beeps when there are -# no more characters to delete, or too many characters entered. -# -# Setting GETPASS_ASTERISKS to 1 results in more traditional behaviour - -# exactly one '*' displayed for each character typed. -# -# Setting GETPASS_ASTERISKS to 0 disables the '*' characters (Backspace, -# Delete, Control-U and beep continue to work as described above). -# -# Setting GETPASS_ASTERISKS to -1 reverts to the traditional getpass() -# without any new features. This is the default. -# -#GETPASS_ASTERISKS 1 - -# -# Enable setting of the umask group bits to be the same as owner bits -# (examples: 022 -> 002, 077 -> 007) for non-root users, if the uid is -# the same as gid, and username is the same as the primary group name. -# -# This also enables userdel to remove user groups if no members exist. -# -USERGROUPS_ENAB yes - diff --git a/etc/login.defs.linux b/etc/login.defs.linux deleted file mode 100644 index 6a2fa0d0..00000000 --- a/etc/login.defs.linux +++ /dev/null @@ -1,348 +0,0 @@ -# -# /etc/login.defs - Configuration control definitions for the login package. -# -# $Id: login.defs.linux,v 1.16 2005/08/09 18:09:41 kloczek Exp $ -# -# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. -# If unspecified, some arbitrary (and possibly incorrect) value will -# be assumed. All other items are optional - if not specified then -# the described action or option will be inhibited. -# -# Comment lines (lines beginning with "#") and blank lines are ignored. -# -# Modified for Linux. --marekm - -# -# Delay in seconds before being allowed another attempt after a login failure -# -FAIL_DELAY 3 - -# -# Enable logging and display of /var/log/faillog login failure info. -# -FAILLOG_ENAB yes - -# -# Enable display of unknown usernames when login failures are recorded. -# -LOG_UNKFAIL_ENAB no - -# -# Enable logging of successful logins -# -LOG_OK_LOGINS no - -# -# Enable logging and display of /var/log/lastlog login time info. -# -LASTLOG_ENAB yes - -# -# Enable checking and display of mailbox status upon login. -# -# Disable if the shell startup files already check for mail -# ("mailx -e" or equivalent). -# -MAIL_CHECK_ENAB yes - -# -# Enable additional checks upon password changes. -# -OBSCURE_CHECKS_ENAB yes - -# -# Enable checking of time restrictions specified in /etc/porttime. -# -PORTTIME_CHECKS_ENAB yes - -# -# Enable setting of ulimit, umask, and niceness from passwd gecos field. -# -QUOTAS_ENAB yes - -# -# Enable "syslog" logging of su activity - in addition to sulog file logging. -# SYSLOG_SG_ENAB does the same for newgrp and sg. -# -SYSLOG_SU_ENAB yes -SYSLOG_SG_ENAB yes - -# -# If defined, either full pathname of a file containing device names or -# a ":" delimited list of device names. Root logins will be allowed only -# upon these devices. -# -CONSOLE /etc/securetty -#CONSOLE console:tty01:tty02:tty03:tty04 - -# -# If defined, all su activity is logged to this file. -# -#SULOG_FILE /var/log/sulog - -# -# If defined, ":" delimited list of "message of the day" files to -# be displayed upon login. -# -MOTD_FILE /etc/motd -#MOTD_FILE /etc/motd:/usr/lib/news/news-motd - -# -# If defined, this file will be output before each login prompt. -# -#ISSUE_FILE /etc/issue - -# -# If defined, file which maps tty line to TERM environment parameter. -# Each line of the file is in a format something like "vt100 tty01". -# -#TTYTYPE_FILE /etc/ttytype - -# -# If defined, login failures will be logged here in a utmp format. -# last, when invoked as lastb, will read /var/log/btmp, so... -# -FTMP_FILE /var/log/btmp - -# -# If defined, name of file whose presence which will inhibit non-root -# logins. The contents of this file should be a message indicating -# why logins are inhibited. -# -NOLOGINS_FILE /etc/nologin - -# -# If defined, the command name to display when running "su -". For -# example, if this is defined as "su" then a "ps" will display the -# command is "-su". If not defined, then "ps" would display the -# name of the shell actually being run, e.g. something like "-sh". -# -SU_NAME su - -# -# *REQUIRED* -# Directory where mailboxes reside, _or_ name of file, relative to the -# home directory. If you _do_ define both, MAIL_DIR takes precedence. -# -MAIL_DIR /var/spool/mail -#MAIL_FILE .mail - -# -# If defined, file which inhibits all the usual chatter during the login -# sequence. If a full pathname, then hushed mode will be enabled if the -# user's name or shell are found in the file. If not a full pathname, then -# hushed mode will be enabled if the file exists in the user's home directory. -# -HUSHLOGIN_FILE .hushlogin -#HUSHLOGIN_FILE /etc/hushlogins - -# -# If defined, either a TZ environment parameter spec or the -# fully-rooted pathname of a file containing such a spec. -# -#ENV_TZ TZ=CST6CDT -#ENV_TZ /etc/tzname - -# -# If defined, an HZ environment parameter spec. -# -# for Linux/x86 -ENV_HZ HZ=100 -# For Linux/Alpha... -#ENV_HZ HZ=1024 - -# -# *REQUIRED* The default PATH settings, for superuser and normal users. -# -# (they are minimal, add the rest in the shell startup files) -ENV_SUPATH PATH=/sbin:/bin:/usr/sbin:/usr/bin -ENV_PATH PATH=/bin:/usr/bin - -# -# Terminal permissions -# -# TTYGROUP Login tty will be assigned this group ownership. -# TTYPERM Login tty will be set to this permission. -# -# If you have a "write" program which is "setgid" to a special group -# which owns the terminals, define TTYGROUP to the group number and -# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign -# TTYPERM to either 622 or 600. -# -TTYGROUP tty -TTYPERM 0600 - -# -# Login configuration initializations: -# -# ERASECHAR Terminal ERASE character ('\010' = backspace). -# KILLCHAR Terminal KILL character ('\025' = CTRL/U). -# UMASK Default "umask" value. -# ULIMIT Default "ulimit" value. -# -# The ERASECHAR and KILLCHAR are used only on System V machines. -# The ULIMIT is used only if the system supports it. -# (now it works with setrlimit too; ulimit is in 512-byte units) -# -# Prefix these values with "0" to get octal, "0x" to get hexadecimal. -# -ERASECHAR 0177 -KILLCHAR 025 -UMASK 022 -#ULIMIT 2097152 - -# -# Password aging controls: -# -# PASS_MAX_DAYS Maximum number of days a password may be used. -# PASS_MIN_DAYS Minimum number of days allowed between password changes. -# PASS_MIN_LEN Minimum acceptable password length. -# PASS_WARN_AGE Number of days warning given before a password expires. -# -PASS_MAX_DAYS 99999 -PASS_MIN_DAYS 0 -PASS_MIN_LEN 5 -PASS_WARN_AGE 7 - -# -# If "yes", the user must be listed as a member of the first gid 0 group -# in /etc/group (called "root" on most Linux systems) to be able to "su" -# to uid 0 accounts. If the group doesn't exist or is empty, no one -# will be able to "su" to uid 0. -# -SU_WHEEL_ONLY no - -# -# If compiled with cracklib support, where are the dictionaries -# -CRACKLIB_DICTPATH /var/cache/cracklib/cracklib_dict - -# -# Min/max values for automatic uid selection in useradd -# -UID_MIN 1000 -UID_MAX 60000 - -# -# Min/max values for automatic gid selection in groupadd -# -GID_MIN 100 -GID_MAX 60000 - -# -# Max number of login retries if password is bad -# -LOGIN_RETRIES 5 - -# -# Max time in seconds for login -# -LOGIN_TIMEOUT 60 - -# -# Maximum number of attempts to change password if rejected (too easy) -# -PASS_CHANGE_TRIES 5 - -# -# Warn about weak passwords (but still allow them) if you are root. -# -PASS_ALWAYS_WARN yes - -# -# Number of significant characters in the password for crypt(). -# Default is 8, don't change unless your crypt() is better. -# Ignored if MD5_CRYPT_ENAB set to "yes". -# -#PASS_MAX_LEN 8 - -# -# Require password before chfn/chsh can make any changes. -# -CHFN_AUTH yes - -# -# Which fields may be changed by regular users using chfn - use -# any combination of letters "frwh" (full name, room number, work -# phone, home phone). If not defined, no changes are allowed. -# For backward compatibility, "yes" = "rwh" and "no" = "frwh". -# -CHFN_RESTRICT rwh - -# -# Password prompt (%s will be replaced by user name). -# -# XXX - it doesn't work correctly yet, for now leave it commented out -# to use the default which is just "Password: ". -#LOGIN_STRING "%s's Password: " - -# -# Only works if compiled with MD5_CRYPT defined: -# If set to "yes", new passwords will be encrypted using the MD5-based -# algorithm compatible with the one used by recent releases of FreeBSD. -# It supports passwords of unlimited length and longer salt strings. -# Set to "no" if you need to copy encrypted passwords to other systems -# which don't understand the new algorithm. Default is "no". -# -#MD5_CRYPT_ENAB no - -# -# List of groups to add to the user's supplementary group set -# when logging in on the console (as determined by the CONSOLE -# setting). Default is none. -# -# Use with caution - it is possible for users to gain permanent -# access to these groups, even when not logged in on the console. -# How to do it is left as an exercise for the reader... -# -#CONSOLE_GROUPS floppy:audio:cdrom - -# -# Should login be allowed if we can't cd to the home directory? -# Default in no. -# -DEFAULT_HOME yes - -# -# If this file exists and is readable, login environment will be -# read from it. Every line should be in the form name=value. -# -ENVIRON_FILE /etc/environment - -# -# If defined, this command is run when removing a user. -# It should remove any at/cron/print jobs etc. owned by -# the user to be removed (passed as the first argument). -# -#USERDEL_CMD /usr/sbin/userdel_local - -# -# When prompting for password without echo, getpass() can optionally -# display a random number (in the range 1 to GETPASS_ASTERISKS) of '*' -# characters for each character typed. This feature is designed to -# confuse people looking over your shoulder when you enter a password :-). -# Also, the new getpass() accepts both Backspace (8) and Delete (127) -# keys to delete previous character (to cope with different terminal -# types), Control-U to delete all characters, and beeps when there are -# no more characters to delete, or too many characters entered. -# -# Setting GETPASS_ASTERISKS to 1 results in more traditional behaviour - -# exactly one '*' displayed for each character typed. -# -# Setting GETPASS_ASTERISKS to 0 disables the '*' characters (Backspace, -# Delete, Control-U and beep continue to work as described above). -# -# Setting GETPASS_ASTERISKS to -1 reverts to the traditional getpass() -# without any new features. This is the default. -# -#GETPASS_ASTERISKS 1 - -# -# Enable setting of the umask group bits to be the same as owner bits -# (examples: 022 -> 002, 077 -> 007) for non-root users, if the uid is -# the same as gid, and username is the same as the primary group name. -# -# This also enables userdel to remove user groups if no members exist. -# -USERGROUPS_ENAB yes - diff --git a/etc/pam.d/Makefile.in b/etc/pam.d/Makefile.in index e3ae5616..797abc36 100644 --- a/etc/pam.d/Makefile.in +++ b/etc/pam.d/Makefile.in @@ -41,7 +41,8 @@ host_triplet = @host@ subdir = etc/pam.d DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -76,6 +77,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -87,6 +90,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -126,6 +130,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -196,9 +203,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu etc/pam.d/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign etc/pam.d/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu etc/pam.d/Makefile + $(AUTOMAKE) --foreign etc/pam.d/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/lib/Makefile.am b/lib/Makefile.am index 46d5ed76..a9259a3a 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -33,7 +33,6 @@ libshadow_la_SOURCES = \ pwauth.h \ pwio.c \ pwio.h \ - rcsid.h \ sgetgrent.c \ sgetpwent.c \ sgroupio.c \ diff --git a/lib/Makefile.in b/lib/Makefile.in index 7b82a4a4..5838641c 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -39,7 +39,8 @@ host_triplet = @host@ subdir = lib DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -105,6 +106,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -116,6 +119,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -155,6 +159,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -228,7 +235,6 @@ libshadow_la_SOURCES = \ pwauth.h \ pwio.c \ pwio.h \ - rcsid.h \ sgetgrent.c \ sgetpwent.c \ sgroupio.c \ diff --git a/lib/commonio.c b/lib/commonio.c index 5ecf7d7c..a588bd8f 100644 --- a/lib/commonio.c +++ b/lib/commonio.c @@ -1,8 +1,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: commonio.c,v 1.28 2005/03/31 05:14:49 kloczek Exp $") +#ident "$Id: commonio.c,v 1.30 2005/09/24 12:22:50 kloczek Exp $" + #include "defines.h" #include #include @@ -432,7 +432,7 @@ int commonio_open (struct commonio_db *db, int mode) } #ifdef WITH_SELINUX db->scontext = NULL; - if (is_selinux_enabled () && (!db->readonly)) { + if ((is_selinux_enabled () > 0) && (!db->readonly)) { if (fgetfilecon (fileno (db->fp), &db->scontext) < 0) { goto cleanup_errno; } diff --git a/lib/defines.h b/lib/defines.h index 68e74b3c..c4f118f6 100644 --- a/lib/defines.h +++ b/lib/defines.h @@ -1,4 +1,4 @@ -/* $Id: defines.h,v 1.27 2005/08/03 18:11:27 kloczek Exp $ */ +/* $Id: defines.h,v 1.29 2005/09/05 16:22:03 kloczek Exp $ */ /* some useful defines */ #ifndef _DEFINES_H_ @@ -331,4 +331,15 @@ extern char *strerror (); #define SHADOW_PASSWD_STRING "x" #endif +#ifdef WITH_AUDIT +#ifdef __u8 /* in case we use pam < 0.80 */ +#undef __u8 +#endif +#ifdef __u32 +#undef __u32 +#endif + +#include +#endif + #endif /* _DEFINES_H_ */ diff --git a/lib/encrypt.c b/lib/encrypt.c index 74a33bb1..fd54cf7c 100644 --- a/lib/encrypt.c +++ b/lib/encrypt.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: encrypt.c,v 1.13 2005/05/25 19:31:50 kloczek Exp $") +#ident "$Id: encrypt.c,v 1.14 2005/08/31 17:24:56 kloczek Exp $" + #include #include "prototypes.h" #include "defines.h" diff --git a/lib/exitcodes.h b/lib/exitcodes.h index 98db848e..232b7452 100644 --- a/lib/exitcodes.h +++ b/lib/exitcodes.h @@ -1,9 +1,13 @@ -/* $Id: exitcodes.h,v 1.3 2005/07/27 10:10:31 kloczek Exp $ */ +/* $Id: exitcodes.h,v 1.7 2005/08/31 17:36:11 kloczek Exp $ */ /* * Exit codes used by shadow programs */ -#define E_SUCCESS 0 /* success */ -#define E_NOPERM 1 /* permission denied */ -#define E_USAGE 2 /* invalid command syntax */ -#define E_BAD_ARG 3 /* invalid argument to option */ +#define E_SUCCESS 0 /* success */ +#define E_NOPERM 1 /* permission denied */ +#define E_USAGE 2 /* invalid command syntax */ +#define E_BAD_ARG 3 /* invalid argument to option */ +#define E_PASSWD_NOTFOUND 14 /* not found password file */ +#define E_SHADOW_NOTFOUND 15 /* not found shadow password file */ +#define E_GROUP_NOTFOUND 16 /* not found group file */ +#define E_GSHADOW_NOTFOUND 17 /* not found shadow group file */ diff --git a/lib/fputsx.c b/lib/fputsx.c index d3b997db..1495cb90 100644 --- a/lib/fputsx.c +++ b/lib/fputsx.c @@ -32,8 +32,8 @@ #include #include "defines.h" -#include "rcsid.h" -RCSID ("$Id: fputsx.c,v 1.6 2005/03/31 05:14:49 kloczek Exp $") +#ident "$Id: fputsx.c,v 1.7 2005/08/31 17:24:56 kloczek Exp $" + char *fgetsx (char *buf, int cnt, FILE * f) { diff --git a/lib/getdef.c b/lib/getdef.c index 4f72a089..ca35ade7 100644 --- a/lib/getdef.c +++ b/lib/getdef.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: getdef.c,v 1.35 2005/08/11 11:26:11 kloczek Exp $") +#ident "$Id: getdef.c,v 1.36 2005/08/31 17:24:56 kloczek Exp $" + #include "prototypes.h" #include "defines.h" #include diff --git a/lib/getpass.c b/lib/getpass.c index 42d1cf9b..db45998a 100644 --- a/lib/getpass.c +++ b/lib/getpass.c @@ -30,8 +30,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: getpass.c,v 1.13 2005/03/31 05:14:49 kloczek Exp $") +#ident "$Id: getpass.c,v 1.14 2005/08/31 17:24:56 kloczek Exp $" + #include "defines.h" #include #include diff --git a/lib/groupio.c b/lib/groupio.c index 235e2e90..4c30cf43 100644 --- a/lib/groupio.c +++ b/lib/groupio.c @@ -1,8 +1,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: groupio.c,v 1.12 2005/06/20 09:56:37 kloczek Exp $") +#ident "$Id: groupio.c,v 1.13 2005/08/31 17:24:56 kloczek Exp $" + #include "prototypes.h" #include "defines.h" #include "commonio.h" diff --git a/lib/gshadow.c b/lib/gshadow.c index a9c95c25..867bdfe7 100644 --- a/lib/gshadow.c +++ b/lib/gshadow.c @@ -32,8 +32,8 @@ /* Newer versions of Linux libc already have shadow support. */ #if defined(SHADOWGRP) && !defined(HAVE_SHADOWGRP) /*{ */ -#include "rcsid.h" -RCSID ("$Id: gshadow.c,v 1.10 2005/05/25 19:31:50 kloczek Exp $") +#ident "$Id: gshadow.c,v 1.11 2005/08/31 17:24:56 kloczek Exp $" + #include #include "prototypes.h" #include "defines.h" diff --git a/lib/lockpw.c b/lib/lockpw.c index 54a0a2e6..fdec03db 100644 --- a/lib/lockpw.c +++ b/lib/lockpw.c @@ -31,8 +31,8 @@ #ifndef HAVE_LCKPWDF -#include "rcsid.h" -RCSID ("$Id: lockpw.c,v 1.6 2005/05/25 18:20:22 kloczek Exp $") +#ident "$Id: lockpw.c,v 1.7 2005/08/31 17:24:56 kloczek Exp $" + #include "prototypes.h" #include "defines.h" #include "pwio.h" diff --git a/lib/port.c b/lib/port.c index 5a939991..e92e4cbc 100644 --- a/lib/port.c +++ b/lib/port.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: port.c,v 1.4 2005/03/31 05:14:49 kloczek Exp $") +#ident "$Id: port.c,v 1.5 2005/08/31 17:24:56 kloczek Exp $" + #include #include #include diff --git a/lib/prototypes.h b/lib/prototypes.h index 0ffd513c..0153613b 100644 --- a/lib/prototypes.h +++ b/lib/prototypes.h @@ -6,7 +6,7 @@ * Juha Virtanen, ; November 1995 */ /* - * $Id: prototypes.h,v 1.22 2005/08/02 10:50:51 kloczek Exp $ + * $Id: prototypes.h,v 1.24 2005/09/05 16:22:03 kloczek Exp $ * * Added a macro to work around ancient (non-ANSI) compilers, just in case * someone ever tries to compile this with SunOS cc... --marekm @@ -87,6 +87,18 @@ extern int putgrent (const struct group *, FILE *); /* hushed.c */ extern int hushed (const struct passwd *); +/* audit_help.c */ +#ifdef WITH_AUDIT +extern int audit_fd; +#endif +void audit_help_open (void); +void audit_help_log (const char *, ...) +#ifdef __GNUC__ + __attribute__ ((format (printf, 1, 2))); +#else +; +#endif + /* limits.c */ extern void setup_limits (const struct passwd *); diff --git a/lib/pwauth.c b/lib/pwauth.c index e7b741a1..63013b9e 100644 --- a/lib/pwauth.c +++ b/lib/pwauth.c @@ -30,8 +30,8 @@ #include #ifndef USE_PAM -#include "rcsid.h" -RCSID ("$Id: pwauth.c,v 1.18 2005/07/07 18:53:14 kloczek Exp $") +#ident "$Id: pwauth.c,v 1.19 2005/08/31 17:24:56 kloczek Exp $" + #include #include #include diff --git a/lib/pwio.c b/lib/pwio.c index ac21ac4e..5ffc9b4e 100644 --- a/lib/pwio.c +++ b/lib/pwio.c @@ -1,8 +1,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: pwio.c,v 1.15 2005/06/20 10:01:57 kloczek Exp $") +#ident "$Id: pwio.c,v 1.16 2005/08/31 17:24:56 kloczek Exp $" + #include "prototypes.h" #include "defines.h" #include diff --git a/lib/rcsid.h b/lib/rcsid.h deleted file mode 100644 index 60ba0dbe..00000000 --- a/lib/rcsid.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * $Id: rcsid.h,v 1.3 2005/03/31 05:14:49 kloczek Exp $ - */ -#define PKG_VER " $Package: " PACKAGE " $ $Version: " VERSION " $ " -#if defined(NO_RCSID) || defined(lint) -#define RCSID(x) /* empty */ -#else -#if __STDC__ -/* - * This function is never called from anywhere, but it calls itself - * recursively only to fool gcc to not generate warnings :-). - */ -static const char *rcsid (const char *); - -#define RCSID(x) \ - static const char *rcsid(const char *s) { \ - return rcsid(x); } -#else /* ! __STDC__ */ -#define RCSID(x) \ - static char *rcsid(s) char *s; { \ - return rcsid(x); } -#endif /* ! __STDC__ */ -#endif diff --git a/lib/sgetgrent.c b/lib/sgetgrent.c index d42b7c07..7fefc05c 100644 --- a/lib/sgetgrent.c +++ b/lib/sgetgrent.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: sgetgrent.c,v 1.5 2005/03/31 05:14:49 kloczek Exp $") +#ident "$Id: sgetgrent.c,v 1.6 2005/08/31 17:24:56 kloczek Exp $" + #include #include #include "defines.h" diff --git a/lib/sgetpwent.c b/lib/sgetpwent.c index b721a777..71a02e25 100644 --- a/lib/sgetpwent.c +++ b/lib/sgetpwent.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: sgetpwent.c,v 1.7 2005/03/31 05:14:49 kloczek Exp $") +#ident "$Id: sgetpwent.c,v 1.8 2005/08/31 17:24:56 kloczek Exp $" + #include #include "defines.h" #include diff --git a/lib/sgroupio.c b/lib/sgroupio.c index 5b24efa0..389b9ba0 100644 --- a/lib/sgroupio.c +++ b/lib/sgroupio.c @@ -3,8 +3,8 @@ #ifdef SHADOWGRP -#include "rcsid.h" -RCSID ("$Id: sgroupio.c,v 1.13 2005/03/31 05:14:49 kloczek Exp $") +#ident "$Id: sgroupio.c,v 1.14 2005/08/31 17:24:56 kloczek Exp $" + #include "prototypes.h" #include "defines.h" #include "commonio.h" diff --git a/lib/shadow.c b/lib/shadow.c index 3b8f82b5..ee4562d7 100644 --- a/lib/shadow.c +++ b/lib/shadow.c @@ -32,8 +32,8 @@ /* Newer versions of Linux libc already have shadow support. */ #ifndef HAVE_GETSPNAM -#include "rcsid.h" -RCSID ("$Id: shadow.c,v 1.11 2005/05/25 19:31:50 kloczek Exp $") +#ident "$Id: shadow.c,v 1.12 2005/08/31 17:24:56 kloczek Exp $" + #include #include "prototypes.h" #include "defines.h" diff --git a/lib/shadowio.c b/lib/shadowio.c index 3355c64c..f362e335 100644 --- a/lib/shadowio.c +++ b/lib/shadowio.c @@ -1,8 +1,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: shadowio.c,v 1.15 2005/05/25 18:20:22 kloczek Exp $") +#ident "$Id: shadowio.c,v 1.16 2005/08/31 17:24:56 kloczek Exp $" + #include "prototypes.h" #include "defines.h" #ifdef HAVE_SHADOW_H diff --git a/libmisc/Makefile.am b/libmisc/Makefile.am index f7ac91ea..803be7f7 100644 --- a/libmisc/Makefile.am +++ b/libmisc/Makefile.am @@ -8,6 +8,7 @@ noinst_LIBRARIES = libmisc.a libmisc_a_SOURCES = \ addgrps.c \ age.c \ + audit_help.c \ basename.c \ chkname.c \ chkname.h \ @@ -20,8 +21,8 @@ libmisc_a_SOURCES = \ failure.c \ failure.h \ fields.c \ - getdate.y \ getdate.h \ + getdate.y \ hushed.c \ isexpired.c \ limits.c \ diff --git a/libmisc/Makefile.in b/libmisc/Makefile.in index 66bbda76..c62fa024 100644 --- a/libmisc/Makefile.in +++ b/libmisc/Makefile.in @@ -39,7 +39,8 @@ host_triplet = @host@ subdir = libmisc DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in getdate.c ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -50,19 +51,20 @@ ARFLAGS = cru libmisc_a_AR = $(AR) $(ARFLAGS) libmisc_a_LIBADD = am_libmisc_a_OBJECTS = addgrps.$(OBJEXT) age.$(OBJEXT) \ - basename.$(OBJEXT) chkname.$(OBJEXT) chowndir.$(OBJEXT) \ - chowntty.$(OBJEXT) console.$(OBJEXT) copydir.$(OBJEXT) \ - entry.$(OBJEXT) env.$(OBJEXT) failure.$(OBJEXT) \ - fields.$(OBJEXT) getdate.$(OBJEXT) hushed.$(OBJEXT) \ - isexpired.$(OBJEXT) limits.$(OBJEXT) list.$(OBJEXT) \ - log.$(OBJEXT) loginprompt.$(OBJEXT) mail.$(OBJEXT) \ - motd.$(OBJEXT) myname.$(OBJEXT) obscure.$(OBJEXT) \ - pam_pass.$(OBJEXT) pwd2spwd.$(OBJEXT) pwdcheck.$(OBJEXT) \ - pwd_init.$(OBJEXT) rlogin.$(OBJEXT) salt.$(OBJEXT) \ - setugid.$(OBJEXT) setupenv.$(OBJEXT) shell.$(OBJEXT) \ - strtoday.$(OBJEXT) sub.$(OBJEXT) sulog.$(OBJEXT) \ - ttytype.$(OBJEXT) tz.$(OBJEXT) ulimit.$(OBJEXT) utmp.$(OBJEXT) \ - valid.$(OBJEXT) xmalloc.$(OBJEXT) + audit_help.$(OBJEXT) basename.$(OBJEXT) chkname.$(OBJEXT) \ + chowndir.$(OBJEXT) chowntty.$(OBJEXT) console.$(OBJEXT) \ + copydir.$(OBJEXT) entry.$(OBJEXT) env.$(OBJEXT) \ + failure.$(OBJEXT) fields.$(OBJEXT) getdate.$(OBJEXT) \ + hushed.$(OBJEXT) isexpired.$(OBJEXT) limits.$(OBJEXT) \ + list.$(OBJEXT) log.$(OBJEXT) loginprompt.$(OBJEXT) \ + mail.$(OBJEXT) motd.$(OBJEXT) myname.$(OBJEXT) \ + obscure.$(OBJEXT) pam_pass.$(OBJEXT) pwd2spwd.$(OBJEXT) \ + pwdcheck.$(OBJEXT) pwd_init.$(OBJEXT) rlogin.$(OBJEXT) \ + salt.$(OBJEXT) setugid.$(OBJEXT) setupenv.$(OBJEXT) \ + shell.$(OBJEXT) strtoday.$(OBJEXT) sub.$(OBJEXT) \ + sulog.$(OBJEXT) ttytype.$(OBJEXT) tz.$(OBJEXT) \ + ulimit.$(OBJEXT) utmp.$(OBJEXT) valid.$(OBJEXT) \ + xmalloc.$(OBJEXT) libmisc_a_OBJECTS = $(am_libmisc_a_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp @@ -109,6 +111,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -120,6 +124,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -159,6 +164,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -209,6 +217,7 @@ noinst_LIBRARIES = libmisc.a libmisc_a_SOURCES = \ addgrps.c \ age.c \ + audit_help.c \ basename.c \ chkname.c \ chkname.h \ @@ -221,8 +230,8 @@ libmisc_a_SOURCES = \ failure.c \ failure.h \ fields.c \ - getdate.y \ getdate.h \ + getdate.y \ hushed.c \ isexpired.c \ limits.c \ @@ -264,9 +273,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libmisc/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libmisc/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu libmisc/Makefile + $(AUTOMAKE) --foreign libmisc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -300,6 +309,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addgrps.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/age.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/audit_help.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chkname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chowndir.Po@am__quote@ diff --git a/libmisc/addgrps.c b/libmisc/addgrps.c index feb313fb..652d4d77 100644 --- a/libmisc/addgrps.c +++ b/libmisc/addgrps.c @@ -9,8 +9,8 @@ #include #include -#include "rcsid.h" -RCSID ("$Id: addgrps.c,v 1.7 2005/03/31 05:14:50 kloczek Exp $") +#ident "$Id: addgrps.c,v 1.8 2005/08/31 17:24:57 kloczek Exp $" + #define SEP ",:" /* * Add groups with names from LIST (separated by commas or colons) diff --git a/libmisc/age.c b/libmisc/age.c index 517b70c6..57e9c1d8 100644 --- a/libmisc/age.c +++ b/libmisc/age.c @@ -38,8 +38,8 @@ #include #include -#include "rcsid.h" -RCSID ("$Id: age.c,v 1.11 2005/05/25 18:20:22 kloczek Exp $") +#ident "$Id: age.c,v 1.12 2005/08/31 17:24:57 kloczek Exp $" + #ifndef PASSWD_PROGRAM #define PASSWD_PROGRAM "/bin/passwd" #endif diff --git a/libmisc/audit_help.c b/libmisc/audit_help.c new file mode 100644 index 00000000..0558bdec --- /dev/null +++ b/libmisc/audit_help.c @@ -0,0 +1,96 @@ +/* + * Audit helper functions used throughout shadow + * + * Copyright (C) 2005, Red Hat, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of Julianne F. Haugh nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + + +#include + +#ifdef WITH_AUDIT + +#include +#include +#include +#include +#include +#include +int audit_fd; + +void audit_help_open (void) +{ + audit_fd = audit_open (); + if (audit_fd < 0) { + /* You get these only when the kernel doesn't have + * audit compiled in. */ + if (errno == EINVAL || errno == EPROTONOSUPPORT || + errno == EAFNOSUPPORT) + return; + fprintf (stderr, "Cannot open audit interface - aborting.\n"); + exit (1); + } +} + +/* + * This function will log a message to the audit system using a predefined + * message format. Parameter usage is as follows: + * + * type - type of message: AUDIT_USER_CHAUTHTOK for changing any account + * attributes. + * pgname - program's name + * op - operation. "adding user", "changing finger info", "deleting group" + * name - user's account or group name. If not available use NULL. + * id - uid or gid that the operation is being performed on. This is used + * only when user is NULL. + * result - 1 is "success" and 0 is "failed" + */ +void audit_logger (int type, const char *pgname, const char *op, + const char *name, unsigned int id, int result) +{ + if (audit_fd < 0) + return; + else { + char buf[PATH_MAX]; + const char *success; + + if (result) + success = "success"; + else + success = "failed"; + + if (name) + snprintf (buf, sizeof (buf), "%s: op=%s acct=%s res=%s", + pgname, op, name, success); + else + snprintf (buf, sizeof (buf), "%s: op=%s id=%u res=%s", + pgname, op, id, success); + + audit_send_user_message (audit_fd, type, buf); + } +} + +#endif /* WITH_AUDIT */ diff --git a/libmisc/basename.c b/libmisc/basename.c index ae8432f6..38d53af5 100644 --- a/libmisc/basename.c +++ b/libmisc/basename.c @@ -7,8 +7,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: basename.c,v 1.3 2003/04/22 10:59:21 kloczek Exp $") +#ident "$Id: basename.c,v 1.4 2005/08/31 17:24:57 kloczek Exp $" + #include "defines.h" #include "prototypes.h" char *Basename (char *str) diff --git a/libmisc/chkname.c b/libmisc/chkname.c index 1d6f90d9..be97b893 100644 --- a/libmisc/chkname.c +++ b/libmisc/chkname.c @@ -5,8 +5,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: chkname.c,v 1.8 2003/05/12 05:29:14 kloczek Exp $") +#ident "$Id: chkname.c,v 1.11 2005/08/31 17:24:57 kloczek Exp $" + #include #include "defines.h" #include "chkname.h" @@ -18,7 +18,7 @@ RCSID ("$Id: chkname.c,v 1.8 2003/05/12 05:29:14 kloczek Exp $") static int good_name (const char *name) { /* - * User/group names must match [a-z_][a-z0-9_-]* + * User/group names must match [a-z_][a-z0-9_-]*[$] */ if (!*name || !((*name >= 'a' && *name <= 'z') || *name == '_')) return 0; diff --git a/libmisc/chowndir.c b/libmisc/chowndir.c index 4af7b432..055b89f1 100644 --- a/libmisc/chowndir.c +++ b/libmisc/chowndir.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: chowndir.c,v 1.8 2005/03/31 05:14:50 kloczek Exp $") +#ident "$Id: chowndir.c,v 1.9 2005/08/31 17:24:57 kloczek Exp $" + #include #include #include "prototypes.h" diff --git a/libmisc/chowntty.c b/libmisc/chowntty.c index e4703204..bb5a6036 100644 --- a/libmisc/chowntty.c +++ b/libmisc/chowntty.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: chowntty.c,v 1.12 2005/08/09 18:03:15 kloczek Exp $") +#ident "$Id: chowntty.c,v 1.13 2005/08/31 17:24:57 kloczek Exp $" + #include #include #include diff --git a/libmisc/console.c b/libmisc/console.c index d73b423e..92f3b2bc 100644 --- a/libmisc/console.c +++ b/libmisc/console.c @@ -32,8 +32,8 @@ #include #include "getdef.h" -#include "rcsid.h" -RCSID ("$Id: console.c,v 1.6 2003/04/22 10:59:21 kloczek Exp $") +#ident "$Id: console.c,v 1.7 2005/08/31 17:24:57 kloczek Exp $" + /* * This is now rather generic function which decides if "tty" is listed diff --git a/libmisc/copydir.c b/libmisc/copydir.c index fe56b5af..ccbae419 100644 --- a/libmisc/copydir.c +++ b/libmisc/copydir.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: copydir.c,v 1.12 2005/03/31 05:14:50 kloczek Exp $") +#ident "$Id: copydir.c,v 1.13 2005/08/31 17:24:57 kloczek Exp $" + #include #include #include diff --git a/libmisc/entry.c b/libmisc/entry.c index 773b7383..51b030b4 100644 --- a/libmisc/entry.c +++ b/libmisc/entry.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: entry.c,v 1.8 2005/06/20 09:18:50 kloczek Exp $") +#ident "$Id: entry.c,v 1.9 2005/08/31 17:24:57 kloczek Exp $" + #include #include #include "prototypes.h" diff --git a/libmisc/env.c b/libmisc/env.c index 175c0410..cf738a26 100644 --- a/libmisc/env.c +++ b/libmisc/env.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: env.c,v 1.11 2005/03/31 05:14:50 kloczek Exp $") +#ident "$Id: env.c,v 1.12 2005/08/31 17:24:57 kloczek Exp $" + #include #include #include diff --git a/libmisc/failure.c b/libmisc/failure.c index 6cd7507f..6434fa5c 100644 --- a/libmisc/failure.c +++ b/libmisc/failure.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: failure.c,v 1.15 2005/06/20 10:02:02 kloczek Exp $") +#ident "$Id: failure.c,v 1.17 2005/09/26 18:46:11 kloczek Exp $" + #include #include #include "defines.h" @@ -183,7 +183,6 @@ void failprint (const struct faillog *fail) #if HAVE_STRFTIME char lasttimeb[256]; char *lasttime = lasttimeb; - const char *fmt; #else char *lasttime; #endif @@ -197,24 +196,15 @@ void failprint (const struct faillog *fail) #if HAVE_STRFTIME /* - * Only print as much date and time info as it needed to - * know when the failure was. + * Print all information we have. */ - - if (NOW - fail->fail_time >= YEAR) - fmt = "%Y"; - else if (NOW - fail->fail_time >= DAY) - fmt = "%A %T"; - else - fmt = "%T"; - strftime (lasttimeb, sizeof lasttimeb, fmt, tp); + strftime (lasttimeb, sizeof lasttimeb, "%c", tp); #else /* * Do the same thing, but don't use strftime since it * probably doesn't exist on this system */ - lasttime = asctime (tp); lasttime[24] = '\0'; diff --git a/libmisc/fields.c b/libmisc/fields.c index 16b044b5..fcb4e049 100644 --- a/libmisc/fields.c +++ b/libmisc/fields.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: fields.c,v 1.6 2003/04/22 10:59:22 kloczek Exp $") +#ident "$Id: fields.c,v 1.7 2005/08/31 17:24:57 kloczek Exp $" + #include #include #include diff --git a/libmisc/hushed.c b/libmisc/hushed.c index 2d2a22a7..b3426a3e 100644 --- a/libmisc/hushed.c +++ b/libmisc/hushed.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: hushed.c,v 1.6 2005/03/31 05:14:50 kloczek Exp $") +#ident "$Id: hushed.c,v 1.7 2005/08/31 17:24:57 kloczek Exp $" + #include #include #include "defines.h" diff --git a/libmisc/isexpired.c b/libmisc/isexpired.c index bc0c2ee8..14e0e7ab 100644 --- a/libmisc/isexpired.c +++ b/libmisc/isexpired.c @@ -39,9 +39,9 @@ #include "defines.h" #include #include -#include "rcsid.h" -RCSID ("$Id: isexpired.c,v 1.14 2005/05/25 19:31:50 kloczek Exp $") +#ident "$Id: isexpired.c,v 1.15 2005/08/31 17:24:57 kloczek Exp $" + /* * isexpired - determine if account is expired yet diff --git a/libmisc/limits.c b/libmisc/limits.c index 4b80686c..65593f12 100644 --- a/libmisc/limits.c +++ b/libmisc/limits.c @@ -36,8 +36,8 @@ #ifndef USE_PAM -#include "rcsid.h" -RCSID ("$Id: limits.c,v 1.18 2005/06/20 10:02:02 kloczek Exp $") +#ident "$Id: limits.c,v 1.20 2005/09/05 17:32:17 kloczek Exp $" + #include #include #include @@ -210,6 +210,7 @@ static int do_user_limits (const char *buf, const char *name) case 'A': /* RLIMIT_AS - max address space (KB) */ retval |= setrlimit_value (RLIMIT_AS, pp, 1024); + break; #endif #ifdef RLIMIT_CPU case 't': diff --git a/libmisc/list.c b/libmisc/list.c index 2ba0e4b8..dcc379b5 100644 --- a/libmisc/list.c +++ b/libmisc/list.c @@ -32,8 +32,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: list.c,v 1.4 2003/04/22 10:59:22 kloczek Exp $") +#ident "$Id: list.c,v 1.5 2005/08/31 17:24:57 kloczek Exp $" + #include "prototypes.h" #include "defines.h" /* diff --git a/libmisc/log.c b/libmisc/log.c index 22119f28..6b4f2c40 100644 --- a/libmisc/log.c +++ b/libmisc/log.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: log.c,v 1.9 2005/04/02 11:31:39 kloczek Exp $") +#ident "$Id: log.c,v 1.10 2005/08/31 17:24:57 kloczek Exp $" + #include #include #include diff --git a/libmisc/loginprompt.c b/libmisc/loginprompt.c index b501e6ab..f263695a 100644 --- a/libmisc/loginprompt.c +++ b/libmisc/loginprompt.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: loginprompt.c,v 1.8 2005/03/31 05:14:50 kloczek Exp $") +#ident "$Id: loginprompt.c,v 1.9 2005/08/31 17:24:57 kloczek Exp $" + #include #include #include diff --git a/libmisc/mail.c b/libmisc/mail.c index 111752c2..b9ca3beb 100644 --- a/libmisc/mail.c +++ b/libmisc/mail.c @@ -36,8 +36,8 @@ #include "getdef.h" -#include "rcsid.h" -RCSID ("$Id: mail.c,v 1.8 2003/04/22 10:59:22 kloczek Exp $") +#ident "$Id: mail.c,v 1.9 2005/08/31 17:24:57 kloczek Exp $" + void mailcheck (void) { diff --git a/libmisc/motd.c b/libmisc/motd.c index 7c26f54c..5b1d8018 100644 --- a/libmisc/motd.c +++ b/libmisc/motd.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: motd.c,v 1.5 2005/03/31 05:14:50 kloczek Exp $") +#ident "$Id: motd.c,v 1.6 2005/08/31 17:24:57 kloczek Exp $" + #include #include "prototypes.h" #include "defines.h" diff --git a/libmisc/myname.c b/libmisc/myname.c index bd6d9caa..d6b9a034 100644 --- a/libmisc/myname.c +++ b/libmisc/myname.c @@ -10,8 +10,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: myname.c,v 1.3 2003/04/22 10:59:22 kloczek Exp $") +#ident "$Id: myname.c,v 1.4 2005/08/31 17:24:57 kloczek Exp $" + #include "defines.h" #include #include "prototypes.h" diff --git a/libmisc/obscure.c b/libmisc/obscure.c index 092a93ae..7f20a317 100644 --- a/libmisc/obscure.c +++ b/libmisc/obscure.c @@ -31,8 +31,8 @@ #ifndef USE_PAM -#include "rcsid.h" -RCSID ("$Id: obscure.c,v 1.12 2005/03/24 04:29:23 kloczek Exp $") +#ident "$Id: obscure.c,v 1.14 2005/08/31 17:24:57 kloczek Exp $" + /* * This version of obscure.c contains modifications to support "cracklib" @@ -158,7 +158,7 @@ static const char *password_check (const char *old, const char *new, #endif if (strcmp (new, old) == 0) - return "no change"; + return _("no change"); newmono = str_lower (xstrdup (new)); oldmono = str_lower (xstrdup (old)); @@ -167,19 +167,19 @@ static const char *password_check (const char *old, const char *new, strcat (wrapped, oldmono); if (palindrome (oldmono, newmono)) - msg = "a palindrome"; + msg = _("a palindrome"); if (!msg && strcmp (oldmono, newmono) == 0) - msg = "case changes only"; + msg = _("case changes only"); if (!msg && similar (oldmono, newmono)) - msg = "too similar"; + msg = _("too similar"); if (!msg && simple (old, new)) - msg = "too simple"; + msg = _("too simple"); if (!msg && strstr (wrapped, newmono)) - msg = "rotated"; + msg = _("rotated"); #ifdef HAVE_LIBCRACK /* @@ -215,7 +215,7 @@ static const char *password_check (const char *old, const char *new, newlen = strlen (new); if (newlen < getdef_num ("PASS_MIN_LEN", 0)) - return "too short"; + return _("too short"); /* * Remaining checks are optional. diff --git a/libmisc/pam_pass.c b/libmisc/pam_pass.c index 2a50ed14..3955650f 100644 --- a/libmisc/pam_pass.c +++ b/libmisc/pam_pass.c @@ -2,8 +2,8 @@ #ifdef USE_PAM -#include "rcsid.h" -RCSID ("$Id: pam_pass.c,v 1.10 2005/03/31 05:14:50 kloczek Exp $") +#ident "$Id: pam_pass.c,v 1.11 2005/08/31 17:24:57 kloczek Exp $" + /* * Change the user's password using PAM. Requires libpam and libpam_misc diff --git a/libmisc/pwd2spwd.c b/libmisc/pwd2spwd.c index 5ce06cae..0a381987 100644 --- a/libmisc/pwd2spwd.c +++ b/libmisc/pwd2spwd.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: pwd2spwd.c,v 1.6 2005/05/25 18:20:22 kloczek Exp $") +#ident "$Id: pwd2spwd.c,v 1.7 2005/08/31 17:24:57 kloczek Exp $" + #include #include "prototypes.h" #include "defines.h" diff --git a/libmisc/pwd_init.c b/libmisc/pwd_init.c index 6930ae46..49e8e053 100644 --- a/libmisc/pwd_init.c +++ b/libmisc/pwd_init.c @@ -1,8 +1,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: pwd_init.c,v 1.2 2003/04/22 10:59:22 kloczek Exp $") +#ident "$Id: pwd_init.c,v 1.3 2005/08/31 17:24:58 kloczek Exp $" + #include "defines.h" #include #include diff --git a/libmisc/pwdcheck.c b/libmisc/pwdcheck.c index 706188bd..c772ab44 100644 --- a/libmisc/pwdcheck.c +++ b/libmisc/pwdcheck.c @@ -1,7 +1,7 @@ #include -#include "rcsid.h" -RCSID ("$Id: pwdcheck.c,v 1.7 2005/07/18 12:55:36 kloczek Exp $") +#ident "$Id: pwdcheck.c,v 1.8 2005/08/31 17:24:58 kloczek Exp $" + #include #include #include "prototypes.h" diff --git a/libmisc/rlogin.c b/libmisc/rlogin.c index ec7ff2c4..6dac04d0 100644 --- a/libmisc/rlogin.c +++ b/libmisc/rlogin.c @@ -31,8 +31,8 @@ #ifdef RLOGIN -#include "rcsid.h" -RCSID ("$Id: rlogin.c,v 1.9 2005/03/31 05:14:50 kloczek Exp $") +#ident "$Id: rlogin.c,v 1.10 2005/08/31 17:24:58 kloczek Exp $" + #include "prototypes.h" #include "defines.h" #include diff --git a/libmisc/salt.c b/libmisc/salt.c index ab5b2b44..562452f7 100644 --- a/libmisc/salt.c +++ b/libmisc/salt.c @@ -7,8 +7,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: salt.c,v 1.8 2005/05/25 19:31:50 kloczek Exp $") +#ident "$Id: salt.c,v 1.10 2005/08/31 17:24:58 kloczek Exp $" + #include #include #include "prototypes.h" @@ -26,9 +26,11 @@ char *crypt_make_salt (void) static char result[40]; result[0] = '\0'; +#ifndef USE_PAM if (getdef_bool ("MD5_CRYPT_ENAB")) { strcpy (result, "$1$"); /* magic for the new MD5 crypt() */ } +#endif /* * Generate 8 chars of salt, the old crypt() will use only first 2. diff --git a/libmisc/setugid.c b/libmisc/setugid.c index 9eadc564..4df9565e 100644 --- a/libmisc/setugid.c +++ b/libmisc/setugid.c @@ -33,8 +33,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: setugid.c,v 1.9 2005/03/31 05:14:50 kloczek Exp $") +#ident "$Id: setugid.c,v 1.10 2005/08/31 17:24:58 kloczek Exp $" + #include #include #include "prototypes.h" diff --git a/libmisc/setupenv.c b/libmisc/setupenv.c index 87173f8b..006f83c3 100644 --- a/libmisc/setupenv.c +++ b/libmisc/setupenv.c @@ -33,8 +33,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: setupenv.c,v 1.18 2005/08/09 18:09:42 kloczek Exp $") +#ident "$Id: setupenv.c,v 1.20 2005/09/30 14:29:11 kloczek Exp $" + #include #include #include @@ -234,10 +234,6 @@ void setup_env (struct passwd *info) addenv ("SHELL", info->pw_shell); - /* - * Create the PATH environmental variable and export it. - */ - /* * Export the user name. For BSD derived systems, it's "USER", for * all others it's "LOGNAME". We set both of them. @@ -247,6 +243,10 @@ void setup_env (struct passwd *info) addenv ("LOGNAME", info->pw_name); #ifndef USE_PAM + /* + * Create the PATH environmental variable and export it. + */ + cp = getdef_str ((info->pw_uid == 0) ? "ENV_SUPATH" : "ENV_PATH"); if (!cp) { diff --git a/libmisc/shell.c b/libmisc/shell.c index 08095b1d..632d740e 100644 --- a/libmisc/shell.c +++ b/libmisc/shell.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: shell.c,v 1.10 2005/03/31 05:14:50 kloczek Exp $") +#ident "$Id: shell.c,v 1.11 2005/08/31 17:24:58 kloczek Exp $" + #include #include #include "prototypes.h" diff --git a/libmisc/strtoday.c b/libmisc/strtoday.c index 4a220f45..2df8ded0 100644 --- a/libmisc/strtoday.c +++ b/libmisc/strtoday.c @@ -33,8 +33,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: strtoday.c,v 1.10 2005/03/31 05:14:50 kloczek Exp $") +#ident "$Id: strtoday.c,v 1.11 2005/08/31 17:24:58 kloczek Exp $" + #include "defines.h" #ifndef USE_GETDATE #define USE_GETDATE 1 diff --git a/libmisc/sub.c b/libmisc/sub.c index 87e82170..c8de35ab 100644 --- a/libmisc/sub.c +++ b/libmisc/sub.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: sub.c,v 1.8 2005/07/18 13:19:05 kloczek Exp $") +#ident "$Id: sub.c,v 1.9 2005/08/31 17:24:58 kloczek Exp $" + #include #include #include diff --git a/libmisc/sulog.c b/libmisc/sulog.c index 3a5fa916..46762d86 100644 --- a/libmisc/sulog.c +++ b/libmisc/sulog.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: sulog.c,v 1.8 2005/03/31 05:14:50 kloczek Exp $") +#ident "$Id: sulog.c,v 1.9 2005/08/31 17:24:58 kloczek Exp $" + #include #include #include diff --git a/libmisc/ttytype.c b/libmisc/ttytype.c index 56250a3c..4da3c038 100644 --- a/libmisc/ttytype.c +++ b/libmisc/ttytype.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: ttytype.c,v 1.9 2005/03/31 05:14:50 kloczek Exp $") +#ident "$Id: ttytype.c,v 1.10 2005/08/31 17:24:58 kloczek Exp $" + #include #include "prototypes.h" #include "defines.h" diff --git a/libmisc/tz.c b/libmisc/tz.c index 43605f16..eaa1c1f5 100644 --- a/libmisc/tz.c +++ b/libmisc/tz.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: tz.c,v 1.6 2005/07/06 11:33:05 kloczek Exp $") +#ident "$Id: tz.c,v 1.7 2005/08/31 17:24:58 kloczek Exp $" + #include #include #include "defines.h" diff --git a/libmisc/ulimit.c b/libmisc/ulimit.c index 5efb47e6..e9b7452e 100644 --- a/libmisc/ulimit.c +++ b/libmisc/ulimit.c @@ -1,7 +1,7 @@ #include -#include "rcsid.h" -RCSID ("$Id: ulimit.c,v 1.3 2003/04/22 10:59:22 kloczek Exp $") +#ident "$Id: ulimit.c,v 1.4 2005/08/31 17:24:58 kloczek Exp $" + #if HAVE_ULIMIT_H #include #ifndef UL_SETFSIZE diff --git a/libmisc/utmp.c b/libmisc/utmp.c index eb832da3..d86a596a 100644 --- a/libmisc/utmp.c +++ b/libmisc/utmp.c @@ -40,8 +40,8 @@ #include #include -#include "rcsid.h" -RCSID ("$Id: utmp.c,v 1.16 2005/07/05 20:17:51 kloczek Exp $") +#ident "$Id: utmp.c,v 1.18 2005/08/31 17:24:58 kloczek Exp $" + #if HAVE_UTMPX_H struct utmpx utxent; #endif @@ -53,9 +53,9 @@ extern void setutent (); extern void endutent (); #define NO_UTENT \ - "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" + _("No utmp entry. You must exec \"login\" from the lowest level \"sh\"") #define NO_TTY \ - "Unable to determine your tty name." + _("Unable to determine your tty name.") /* * checkutmp - see if utmp file is correct for this process diff --git a/libmisc/valid.c b/libmisc/valid.c index 5bde285c..9ab28132 100644 --- a/libmisc/valid.c +++ b/libmisc/valid.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: valid.c,v 1.5 2003/04/22 10:59:22 kloczek Exp $") +#ident "$Id: valid.c,v 1.6 2005/08/31 17:24:58 kloczek Exp $" + #include #include #include "prototypes.h" diff --git a/libmisc/xmalloc.c b/libmisc/xmalloc.c index d21592cc..881ae7a7 100644 --- a/libmisc/xmalloc.c +++ b/libmisc/xmalloc.c @@ -9,8 +9,8 @@ #include -#include "rcsid.h" -RCSID ("$Id: xmalloc.c,v 1.6 2005/03/31 05:14:50 kloczek Exp $") +#ident "$Id: xmalloc.c,v 1.7 2005/08/31 17:24:58 kloczek Exp $" + #include #include "defines.h" char *xmalloc (size_t size) diff --git a/ltmain.sh b/ltmain.sh index bc489012..9e71d27d 100644 --- a/ltmain.sh +++ b/ltmain.sh @@ -43,8 +43,8 @@ EXIT_FAILURE=1 PROGRAM=ltmain.sh PACKAGE=libtool -VERSION=1.5.18 -TIMESTAMP=" (1.1220.2.246 2005/05/16 10:00:18)" +VERSION=1.5.20 +TIMESTAMP=" (1.1220.2.287 2005/08/31 18:54:15)" # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. @@ -88,14 +88,15 @@ rm="rm -f" Xsed="${SED}"' -e 1s/^X//' sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' # test EBCDIC or ASCII -case `echo A|tr A '\301'` in - A) # EBCDIC based system - SP2NL="tr '\100' '\n'" - NL2SP="tr '\r\n' '\100\100'" +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + SP2NL='tr \040 \012' + NL2SP='tr \015\012 \040\040' ;; - *) # Assume ASCII based system - SP2NL="tr '\040' '\012'" - NL2SP="tr '\015\012' '\040\040'" + *) # EBCDIC based system + SP2NL='tr \100 \n' + NL2SP='tr \r\n \100\100' ;; esac @@ -133,7 +134,6 @@ show_help= execute_dlfiles= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" -quote_scanset='[[~#^*{};<>?'"'"' ]' ##################################### # Shell function definitions: @@ -192,7 +192,7 @@ func_infer_tag () CC_quoted= for arg in $CC; do case $arg in - *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac @@ -213,7 +213,7 @@ func_infer_tag () for arg in $CC; do # Double-quote args containing other shell metacharacters. case $arg in - *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac @@ -337,7 +337,7 @@ func_extract_archives () func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches fi # $run - ;; + ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; @@ -576,7 +576,7 @@ if test -z "$show_help"; then for arg do - case "$arg_mode" in + case $arg_mode in arg ) # do not "continue". Instead, add this to base_compile lastarg="$arg" @@ -627,7 +627,7 @@ if test -z "$show_help"; then # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. case $arg in - *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac @@ -662,7 +662,7 @@ if test -z "$show_help"; then # in scan sets (worked around with variable expansion), # and furthermore cannot handle '|' '&' '(' ')' in scan sets # at all, so we specify them separately. - *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") lastarg="\"$lastarg\"" ;; esac @@ -737,13 +737,12 @@ if test -z "$show_help"; then qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` case $qlibobj in - *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qlibobj="\"$qlibobj\"" ;; esac - if test "X$libobj" != "X$qlibobj"; then - $echo "$modename: libobj name \`$libobj' may not contain shell special characters." - exit $EXIT_FAILURE - fi + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` if test "X$xdir" = "X$obj"; then @@ -824,7 +823,7 @@ compiler." fi qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` case $qsrcfile in - *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qsrcfile="\"$qsrcfile\"" ;; esac @@ -1111,7 +1110,7 @@ EOF arg="$1" shift case $arg in - *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test ;; *) qarg=$arg ;; @@ -1420,7 +1419,7 @@ EOF continue ;; - -framework) + -framework|-arch) prev=darwin_framework compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" @@ -1543,7 +1542,7 @@ EOF # to be aesthetically quoted because they are evaled later. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in - *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac @@ -1659,7 +1658,7 @@ EOF for flag in $args; do IFS="$save_ifs" case $flag in - *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") flag="\"$flag\"" ;; esac @@ -1677,7 +1676,7 @@ EOF for flag in $args; do IFS="$save_ifs" case $flag in - *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") flag="\"$flag\"" ;; esac @@ -1710,7 +1709,7 @@ EOF # to be aesthetically quoted because they are evaled later. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in - *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac @@ -1844,7 +1843,7 @@ EOF # to be aesthetically quoted because they are evaled later. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in - *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac @@ -2409,7 +2408,7 @@ EOF case "$temp_rpath " in *" $dir "*) ;; *" $absdir "*) ;; - *) temp_rpath="$temp_rpath $dir" ;; + *) temp_rpath="$temp_rpath $absdir" ;; esac fi @@ -2595,7 +2594,7 @@ EOF add_dir="-L$dir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then - case "$libdir" in + case $libdir in [\\/]*) add_dir="$add_dir -L$inst_prefix_dir$libdir" ;; @@ -2668,7 +2667,7 @@ EOF add_dir="-L$libdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then - case "$libdir" in + case $libdir in [\\/]*) add_dir="$add_dir -L$inst_prefix_dir$libdir" ;; @@ -2729,8 +2728,6 @@ EOF fi fi else - convenience="$convenience $dir/$old_library" - old_convenience="$old_convenience $dir/$old_library" deplibs="$dir/$old_library $deplibs" link_static=yes fi @@ -3420,7 +3417,7 @@ EOF if test "$?" -eq 0 ; then ldd_output=`ldd conftest` for i in $deplibs; do - name="`expr $i : '-l\(.*\)'`" + name=`expr $i : '-l\(.*\)'` # If $name is empty we are operating on a -L argument. if test "$name" != "" && test "$name" -ne "0"; then if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then @@ -3457,7 +3454,7 @@ EOF # Error occurred in the first compile. Let's try to salvage # the situation: Compile a separate program for each library. for i in $deplibs; do - name="`expr $i : '-l\(.*\)'`" + name=`expr $i : '-l\(.*\)'` # If $name is empty we are operating on a -L argument. if test "$name" != "" && test "$name" != "0"; then $rm conftest @@ -3509,7 +3506,7 @@ EOF set dummy $deplibs_check_method file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` for a_deplib in $deplibs; do - name="`expr $a_deplib : '-l\(.*\)'`" + name=`expr $a_deplib : '-l\(.*\)'` # If $name is empty we are operating on a -L argument. if test "$name" != "" && test "$name" != "0"; then if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then @@ -3578,7 +3575,7 @@ EOF set dummy $deplibs_check_method match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` for a_deplib in $deplibs; do - name="`expr $a_deplib : '-l\(.*\)'`" + name=`expr $a_deplib : '-l\(.*\)'` # If $name is empty we are operating on a -L argument. if test -n "$name" && test "$name" != "0"; then if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then @@ -3819,6 +3816,9 @@ EOF # The command line is too long to execute in one step. $show "using reloadable object file for export list..." skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break fi done IFS="$save_ifs" @@ -3888,7 +3888,8 @@ EOF fi fi - if test "X$skipped_export" != "X:" && len=`expr "X$test_cmds" : ".*"` && + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else @@ -3923,7 +3924,7 @@ EOF do eval test_cmds=\"$reload_cmds $objlist $last_robj\" if test "X$objlist" = X || - { len=`expr "X$test_cmds" : ".*"` && + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && test "$len" -le "$max_cmd_len"; }; then objlist="$objlist $obj" else @@ -4013,13 +4014,30 @@ EOF IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" - $run eval "$cmd" || exit $? + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } done IFS="$save_ifs" # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi + fi + exit $EXIT_SUCCESS fi @@ -4364,7 +4382,7 @@ extern \"C\" { if test -z "$export_symbols"; then export_symbols="$output_objdir/$outputname.exp" $run $rm $export_symbols - $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' else $run eval "${SED} -e 's/\([ ][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' @@ -4766,6 +4784,7 @@ EOF EOF cat >> $cwrappersource <<"EOF" + return 127; } void * @@ -5029,13 +5048,13 @@ else # Backslashes separate directories on plain windows *-*-mingw | *-*-os2*) $echo >> $output "\ - exec \$progdir\\\\\$program \${1+\"\$@\"} + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} " ;; *) $echo >> $output "\ - exec \$progdir/\$program \${1+\"\$@\"} + exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac @@ -5045,7 +5064,7 @@ else fi else # The program doesn't exist. - \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2 + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 \$echo \"This script is just a wrapper for \$program.\" 1>&2 $echo \"See the $PACKAGE documentation for more information.\" 1>&2 exit $EXIT_FAILURE @@ -5168,7 +5187,7 @@ fi\ oldobjs="$objlist $obj" objlist="$objlist $obj" eval test_cmds=\"$old_archive_cmds\" - if len=`expr "X$test_cmds" : ".*"` && + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && test "$len" -le "$max_cmd_len"; then : else @@ -5365,11 +5384,11 @@ relink_command=\"$relink_command\"" # install_prog (especially on Windows NT). if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || # Allow the use of GNU shtool's install command. - $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then + $echo "X$nonopt" | grep shtool > /dev/null; then # Aesthetically quote it. arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` case $arg in - *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac @@ -5378,14 +5397,14 @@ relink_command=\"$relink_command\"" shift else install_prog= - arg="$nonopt" + arg=$nonopt fi # The real first argument should be the name of the installation program. # Aesthetically quote it. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in - *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac @@ -5403,28 +5422,31 @@ relink_command=\"$relink_command\"" do if test -n "$dest"; then files="$files $dest" - dest="$arg" + dest=$arg continue fi case $arg in -d) isdir=yes ;; - -f) prev="-f" ;; - -g) prev="-g" ;; - -m) prev="-m" ;; - -o) prev="-o" ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; -s) stripme=" -s" continue ;; - -*) ;; - + -*) + ;; *) # If the previous option needed an argument, then skip it. if test -n "$prev"; then prev= else - dest="$arg" + dest=$arg continue fi ;; @@ -5433,7 +5455,7 @@ relink_command=\"$relink_command\"" # Aesthetically quote the argument. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in - *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac @@ -5602,11 +5624,14 @@ relink_command=\"$relink_command\"" if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. for linkname do if test "$linkname" != "$realname"; then - $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" - $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" fi done fi @@ -5619,7 +5644,16 @@ relink_command=\"$relink_command\"" IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" - $run eval "$cmd" || exit $? + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } done IFS="$save_ifs" fi @@ -5713,17 +5747,15 @@ relink_command=\"$relink_command\"" notinst_deplibs= relink_command= - # To insure that "foo" is sourced, and not "foo.exe", - # finese the cygwin/MSYS system by explicitly sourcing "foo." - # which disallows the automatic-append-.exe behavior. - case $build in - *cygwin* | *mingw*) wrapperdot=${wrapper}. ;; - *) wrapperdot=${wrapper} ;; - esac + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # # If there is no directory component, then add one. - case $file in - */* | *\\*) . ${wrapperdot} ;; - *) . ./${wrapperdot} ;; + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; esac # Check the variables that should have been set. @@ -5751,17 +5783,15 @@ relink_command=\"$relink_command\"" done relink_command= - # To insure that "foo" is sourced, and not "foo.exe", - # finese the cygwin/MSYS system by explicitly sourcing "foo." - # which disallows the automatic-append-.exe behavior. - case $build in - *cygwin* | *mingw*) wrapperdot=${wrapper}. ;; - *) wrapperdot=${wrapper} ;; - esac + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # # If there is no directory component, then add one. - case $file in - */* | *\\*) . ${wrapperdot} ;; - *) . ./${wrapperdot} ;; + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; esac outputname= @@ -5802,7 +5832,7 @@ relink_command=\"$relink_command\"" fi # remove .exe since cygwin /usr/bin/install will append another - # one anyways + # one anyway case $install_prog,$host in */usr/bin/install*,*cygwin*) case $file:$destfile in diff --git a/man/Makefile.am b/man/Makefile.am index 92c45ad1..27c3f189 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -24,6 +24,7 @@ man_XMANS = \ login.access.5.xml \ login.defs.5.xml \ logoutd.8.xml \ + newgrp.1.xml \ newusers.8.xml \ passwd.1.xml \ passwd.5.xml \ @@ -32,6 +33,7 @@ man_XMANS = \ pwconv.8.xml \ shadow.3.xml \ shadow.5.xml \ + sg.1.xml \ su.1.xml \ suauth.5.xml \ useradd.8.xml \ @@ -94,6 +96,131 @@ EXTRA_DIST = $(man_MANS) \ all: -shadow-man-pages.pot: +shadow-man-pages.pot: $(man_XMANS) xml2po -o $@ $(man_XMANS) +if ENABLE_REGENERATE_MAN + +chage.1: chage.1.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +chfn.1: chfn.1.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +chpasswd.8: chpasswd.8.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +chsh.1: chsh.1.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +expiry.1: expiry.1.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +faillog.5: faillog.5.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +faillog.8: faillog.8.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +gpasswd.1: gpasswd.1.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +groupadd.8: groupadd.8.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +groupdel.8: groupdel.8.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +groupmems.8: groupmems.8.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +groupmod.8: groupmod.8.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +groups.1: groups.1.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +grpck.8: grpck.8.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +gshadow.5: gshadow.5.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +id.1: id.1.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +lastlog.8: lastlog.8.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +limits.5: limits.5.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +login.1: login.1.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +login.access.5: login.access.5.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +login.defs.5: login.defs.5.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +logoutd.8: logoutd.8.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +newgrp.1: newgrp.1.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +newusers.8: newusers.8.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +passwd.1: passwd.1.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +passwd.5: passwd.5.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +porttime.5: porttime.5.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +pw_auth.3: pw_auth.3.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +pwck.8: pwck.8.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +grpconv.8 grpunconv.8 pwconv.8 pwunconv.8: pwconv.8.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +shadow.3 getspnam.3: shadow.3.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +shadow.5: shadow.5.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +sg.1: sg.1.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +su.1: su.1.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +sulogin.8: sulogin.8.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +suauth.5: suauth.5.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +useradd.8: useradd.8.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +userdel.8: userdel.8.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +usermod.8: usermod.8.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +vigr.8 vipw.8: vipw.8.xml + $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +CLEANFILES = $(man_MANS) + +endif diff --git a/man/Makefile.in b/man/Makefile.in index a119b11f..32225ea1 100644 --- a/man/Makefile.in +++ b/man/Makefile.in @@ -38,7 +38,8 @@ host_triplet = @host@ subdir = man DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -90,6 +91,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -101,6 +104,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -140,6 +144,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -209,6 +216,7 @@ man_XMANS = \ login.access.5.xml \ login.defs.5.xml \ logoutd.8.xml \ + newgrp.1.xml \ newusers.8.xml \ passwd.1.xml \ passwd.5.xml \ @@ -217,6 +225,7 @@ man_XMANS = \ pwconv.8.xml \ shadow.3.xml \ shadow.5.xml \ + sg.1.xml \ su.1.xml \ suauth.5.xml \ useradd.8.xml \ @@ -277,6 +286,7 @@ EXTRA_DIST = $(man_MANS) \ sulogin.8.xml \ sulogin.8.xml +@ENABLE_REGENERATE_MAN_TRUE@CLEANFILES = $(man_MANS) all: all-recursive .SUFFIXES: @@ -289,9 +299,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/Makefile + $(AUTOMAKE) --foreign man/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -699,6 +709,7 @@ install-strip: mostlyclean-generic: clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) @@ -776,8 +787,128 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ all: -shadow-man-pages.pot: +shadow-man-pages.pot: $(man_XMANS) xml2po -o $@ $(man_XMANS) + +@ENABLE_REGENERATE_MAN_TRUE@chage.1: chage.1.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@chfn.1: chfn.1.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@chpasswd.8: chpasswd.8.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@chsh.1: chsh.1.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@expiry.1: expiry.1.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@faillog.5: faillog.5.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@faillog.8: faillog.8.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@gpasswd.1: gpasswd.1.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@groupadd.8: groupadd.8.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@groupdel.8: groupdel.8.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@groupmems.8: groupmems.8.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@groupmod.8: groupmod.8.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@groups.1: groups.1.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@grpck.8: grpck.8.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@gshadow.5: gshadow.5.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@id.1: id.1.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@lastlog.8: lastlog.8.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@limits.5: limits.5.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@login.1: login.1.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@login.access.5: login.access.5.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@login.defs.5: login.defs.5.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@logoutd.8: logoutd.8.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@newgrp.1: newgrp.1.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@newusers.8: newusers.8.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@passwd.1: passwd.1.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@passwd.5: passwd.5.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@porttime.5: porttime.5.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@pw_auth.3: pw_auth.3.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@pwck.8: pwck.8.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@grpconv.8 grpunconv.8 pwconv.8 pwunconv.8: pwconv.8.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@shadow.3 getspnam.3: shadow.3.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@shadow.5: shadow.5.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@sg.1: sg.1.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@su.1: su.1.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@sulogin.8: sulogin.8.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@suauth.5: suauth.5.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@useradd.8: useradd.8.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@userdel.8: userdel.8.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@usermod.8: usermod.8.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +@ENABLE_REGENERATE_MAN_TRUE@vigr.8 vipw.8: vipw.8.xml +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/man/chage.1 b/man/chage.1 index f94df8c7..3db7c993 100644 --- a/man/chage.1 +++ b/man/chage.1 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "CHAGE" "1" "08/09/2005" "User Commands" "User Commands" +.TH "CHAGE" "1" "10/10/2005" "User Commands" "User Commands" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -14,37 +14,38 @@ chage \- change user password expiry information \fBchage\fR [\fIoptions\fR] \fIuser\fR .SH "DESCRIPTION" .PP -\fBchage\fR +\fBchage\fR command changes the number of days between password changes and the date of the last password change. This information is used by the system to determine when a user must change her password. .SH "OPTIONS" .PP -The options which apply to the -\fBchage\fR +The options which apply to the +\fBchage\fR command are: .TP \fB\-d\fR, \fB\-\-lastday\fR \fILAST_DAY\fR Set the number of days since January 1st, 1970 when the password was last changed. The date may also be expressed in the format YYYY\-MM\-DD (or the format more commonly used in your area). .TP \fB\-E\fR, \fB\-\-expiredate\fR \fIEXPIRE_DATE\fR -Set the date on which the user's account will no longer be accessible. The -\fIEXPIRE_DATE\fR -option is the number of days since January 1, 1970 on which the accounted is locked. The date may also be expressed in the format YYYY\-MM\-DD (or the format more commonly used in your area). A user whose account is locked must contact the system administrator before being able to use the system again. - -Passing the number -\fI\-1\fR -as the -\fIEXPIRE_DATE\fR +Set the date number of days since January 1, 1970 on which the user's account will no longer be accessible. The date may also be expressed in the format YYYY\-MM\-DD (or the format more commonly used in your area). A user whose account is locked must contact the system administrator before being able to use the system again. +.sp +Passing the number +\fI\-1\fR +as the +\fIEXPIRE_DATE\fR will remove an account expiration date. .TP +\fB\-h\fR, \fB\-\-help\fR +Display help message and exit. +.TP \fB\-I\fR, \fB\-\-inactive\fR \fIINACTIVE\fR -Set the number of days of inactivity after a password has expired before the account is locked. The -\fIINACTIVE\fR +Set the number of days of inactivity after a password has expired before the account is locked. The +\fIINACTIVE\fR option is the number of days of inactivity. A user whose account is locked must contact the system administrator before being able to use the system again. - -Passing the number -\fI\-1\fR -as the -\fIINACTIVE\fR +.sp +Passing the number +\fI\-1\fR +as the +\fIINACTIVE\fR will remove an accounts inactivity. .TP \fB\-l\fR, \fB\-\-list\fR @@ -54,40 +55,40 @@ Show account aging information. Set the minimum number of days between password changes. A value of zero for this field indicates that the user may change her password at any time. .TP \fB\-M\fR, \fB\-\-maxdays\fR \fIMAX_DAYS\fR -Set maximum number of days during which a password is valid. When -\fIMAX_DAYS\fR -plus -\fILAST_DAY\fR -is less than the current day, the user will be required to change her password before being able to use her account. This occurence can be planned for in advance by use of the -\fB\-W\fR +Set maximum number of days during which a password is valid. When +\fIMAX_DAYS\fR +plus +\fILAST_DAY\fR +is less than the current day, the user will be required to change her password before being able to use her account. This occurence can be planned for in advance by use of the +\fB\-W\fR option, which provides the user with advance warning. - -Passing the number -\fI\-1\fR -as the -\fIMAX_DAYS\fR +.sp +Passing the number +\fI\-1\fR +as the +\fIMAX_DAYS\fR will remove checking a password validation. .TP -\fB\-W\fR, \fBwarndays\fR \fIWARN_DAYS\fR -Set the number of days of warning before a password change is required. The -\fIWARN_DAYS\fR +\fB\-W\fR, \fB\-\-warndays\fR \fIWARN_DAYS\fR +Set the number of days of warning before a password change is required. The +\fIWARN_DAYS\fR option is the number of days prior to the password expiring that a user will be warned her password is about to expire. .PP -If none of the options are selected, -\fBchage\fR -operates in an interactive fashion, prompting the user with the current values for all of the fields. Enter the new value to change the field, or leave the line blank to use the current value. The current value is displayed between a pair of -\fI[ ]\fR +If none of the options are selected, +\fBchage\fR +operates in an interactive fashion, prompting the user with the current values for all of the fields. Enter the new value to change the field, or leave the line blank to use the current value. The current value is displayed between a pair of +\fI[ ]\fR marks. .SH "NOTE" .PP -The -\fBchage\fR +The +\fBchage\fR program requires shadow password file to be available. Its functionality is not available when passwords are stored in the passwd file. .PP -The -\fBchage\fR -command is restricted to the root user, except for the -\fB\-l\fR +The +\fBchage\fR +command is restricted to the root user, except for the +\fB\-l\fR option, which may be used by an unprivileged user to determine when her password or account is due to expire. .SH "FILES" .TP @@ -96,9 +97,26 @@ user account information .TP \fI/etc/shadow\fR secure user account information +.SH "EXIT VALUES" +.PP +The +\fBchage\fR +command exits with the following values: +.TP +\fI0\fR +success +.TP +\fI1\fR +permission denied +.TP +\fI2\fR +invalid command syntax +.TP +\fI15\fR +can't find the shadow password file .SH "SEE ALSO" .PP -\fBpasswd\fR(5), +\fBpasswd\fR(5), \fBshadow\fR(5). .SH "AUTHOR" .PP diff --git a/man/chage.1.xml b/man/chage.1.xml index 514f1093..c360adf7 100644 --- a/man/chage.1.xml +++ b/man/chage.1.xml @@ -2,7 +2,7 @@ - + chage 1 @@ -21,16 +21,17 @@ user - + DESCRIPTION - chage command changes the number of days - between password changes and the date of the last password change. - This information is used by the system to determine when a user must - change her password. + + chage command changes the number of days between + password changes and the date of the last password change. This + information is used by the system to determine when a user must change + her password. - + OPTIONS @@ -38,108 +39,117 @@ - - , LAST_DAY - - - - Set the number of days since January 1st, 1970 when the password - was last changed. The date may also be expressed in the format - YYYY-MM-DD (or the format more commonly used in your area). - - + + , LAST_DAY + + + + Set the number of days since January 1st, 1970 when the password + was last changed. The date may also be expressed in the format + YYYY-MM-DD (or the format more commonly used in your area). + + - - , EXPIRE_DATE - - - Set the date on which the user's account will no longer be - accessible. The EXPIRE_DATE 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. + + , EXPIRE_DATE + + + + Set the date number of days since January 1, 1970 on which the + user's account will no longer be accessible. The date may also + be expressed in the format YYYY-MM-DD (or the format more + commonly used in your area). A user whose account is locked must + contact the system administrator before being able to use the + system again. - Passing the number -1 as the EXPIRE_DATE will remove an account expiration date. - - + Passing the number -1 as the + EXPIRE_DATE will remove an account + expiration date. + + - - , INACTIVE - - - - Set the number of days of inactivity after a password has - expired before the account is locked. The INACTIVE option is the number of days of - inactivity. A user whose account is locked must contact the system - administrator before being able to use the system again. + , + + Display help message and exit. + + + + + , INACTIVE + + + + Set the number of days of inactivity after a password has + expired before the account is locked. The + INACTIVE option is the number of days + of inactivity. A user whose account is locked must contact the + system administrator before being able to use the system again. - Passing the number -1 as the INACTIVE will remove an accounts inactivity. - - + Passing the number -1 as the + INACTIVE will remove an accounts + inactivity. + + - - , - - - + + , + + + Show account aging information. - - + + - - , MIN_DAYS - - - - Set the minimum number of days between password changes. A value - of zero for this field indicates that the user may change her - password at any time. - - - - - - , MAX_DAYS - - - - Set maximum number of days during which a password is valid. - When MAX_DAYS plus LAST_DAY is less than the current day, the - user will be required to change her password before being able - to use her account. This occurence can be planned for in - advance by use of the option, which provides - the user with advance warning. - + + , MIN_DAYS + + - Passing the number -1 as the MAX_DAYS will remove checking a password validation. - - + Set the minimum number of days between password changes. A value + of zero for this field indicates that the user may change her + password at any time. + + - - , WARN_DAYS - - - - Set the number of days of warning before a password change is - required. The WARN_DAYS option is - the number of days prior to the password expiring that a user - will be warned her password is about to expire. - - + + , MAX_DAYS + + + + Set maximum number of days during which a password is valid. + When MAX_DAYS plus + LAST_DAY is less than the current + day, the user will be required to change her password before + being able to use her account. This occurence can be planned for + in advance by use of the option, which + provides the user with advance warning. + + + Passing the number -1 as the + MAX_DAYS will remove checking a + password validation. + + + + + + , WARN_DAYS + + + + Set the number of days of warning before a password change is + required. The WARN_DAYS option is the + number of days prior to the password expiring that a user will + be warned her password is about to expire. + + @@ -147,7 +157,7 @@ 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 [ ] marks. + displayed between a pair of [ ] marks. @@ -163,37 +173,74 @@ to expire. - + FILES - - /etc/passwd - - user account information + + /etc/passwd + + + user account information + - - /etc/shadow - - secure user account information + + /etc/shadow + + + secure user account information + - - + + + EXIT VALUES + + The chage command exits with the following values: + + + 0 + + success + + + + 1 + + permission denied + + + + 2 + + invalid command syntax + + + + 15 + + can't find the shadow password file + + + + + + SEE ALSO - - passwd5 + + + passwd5 , - shadow5 + shadow5 . - + AUTHOR Julianne Frances Haugh <jockgrrl@ix.netcom.com> diff --git a/man/chfn.1 b/man/chfn.1 index ba2c9796..3448373b 100644 --- a/man/chfn.1 +++ b/man/chfn.1 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "CHFN" "1" "08/10/2005" "User Commands" "User Commands" +.TH "CHFN" "1" "10/03/2005" "User Commands" "User Commands" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -14,33 +14,35 @@ chfn \- change real user name and information \fBchfn\fR [\-f\ \fIfull_name\fR] [\-r\ \fIroom_no\fR] [\-w\ \fIwork_ph\fR] [\-h\ \fIhome_ph\fR] [\-o\ \fIother\fR] [\fIuser\fR] .SH "DESCRIPTION" .PP -\fBchfn\fR -changes user fullname, office number, office extension, and home phone number information for a user's account. This information is typically printed by -\fBfinger\fR(1) -and similar programs. A normal user may only change the fields for her own account, subject to the restrictions in -\fI/etc/login.defs\fR. (The default configuration is to prevent users from changing their fullname.) The super user may change any field for any account. Additionally, only the super user may use the -\fB\-o\fR +\fBchfn\fR +changes user fullname, office number, office extension, and home phone number information for a user's account. This information is typically printed by +\fBfinger\fR(1) +and similar programs. A normal user may only change the fields for her own account, subject to the restrictions in +\fI/etc/login.defs\fR. (The default configuration is to prevent users from changing their fullname.) The super user may change any field for any account. Additionally, only the super user may use the +\fB\-o\fR option to change the undefined portions of the GECOS field. .PP -The only restriction placed on the contents of the fields is that no control characters may be present, nor any of comma, colon, or equal sign. The -\fIother\fR +The only restriction placed on the contents of the fields is that no control characters may be present, nor any of comma, colon, or equal sign. The +\fIother\fR field does not have this restriction, and is used to store accounting information used by other applications. .PP -If none of the options are selected, -\fBchfn\fR -operates in an interactive fashion, prompting the user with the current values for all of the fields. Enter the new value to change the field, or leave the line blank to use the current value. The current value is displayed between a pair of -\fI[ ]\fR +If none of the options are selected, +\fBchfn\fR +operates in an interactive fashion, prompting the user with the current values for all of the fields. Enter the new value to change the field, or leave the line blank to use the current value. The current value is displayed between a pair of +\fI[ ]\fR marks. Without options, chfn prompts for the current user account. .SH "FILES" .TP +\fI/etc/login.defs\fR +shadow password suite configuration +.TP \fI/etc/passwd\fR user account information -.TP -\fI/etc/login.defs\fR -runtime configuration .SH "SEE ALSO" .PP -\fBpasswd\fR(5) +\fBchsh\fR(1), +\fBlogin.defs\fR(5), +\fBpasswd\fR(5). .SH "AUTHOR" .PP Julianne Frances Haugh diff --git a/man/chfn.1.xml b/man/chfn.1.xml index 1c68ac4d..80d9ef84 100644 --- a/man/chfn.1.xml +++ b/man/chfn.1.xml @@ -1,8 +1,8 @@ + "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> - + chfn 1 @@ -15,7 +15,7 @@ - chfn + chfn -f full_name -r room_no -w work_ph @@ -24,7 +24,7 @@ user - + DESCRIPTION chfn changes user fullname, office number, @@ -39,46 +39,57 @@ the option to change the undefined portions of the GECOS field. - + The only restriction placed on the contents of the fields is that no control characters may be present, nor any of comma, colon, or equal sign. The other field does not have this restriction, and is used to store accounting information used by other applications. - + If none of the options are selected, chfn 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 [ - ] marks. Without options, chfn prompts for the current + ] marks. Without options, chfn prompts for the current user account. - + FILES - /etc/passwd - user account information + /etc/login.defs + + shadow password suite configuration + - /etc/login.defs - runtime configuration + /etc/passwd + + user account information + - + SEE ALSO - - passwd5 - + + + chsh1 + , + + login.defs5 + , + + passwd5 + . - + AUTHOR Julianne Frances Haugh <jockgrrl@ix.netcom.com> diff --git a/man/chpasswd.8 b/man/chpasswd.8 index 2b781209..71280f41 100644 --- a/man/chpasswd.8 +++ b/man/chpasswd.8 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "CHPASSWD" "8" "08/03/2005" "" "" +.TH "CHPASSWD" "8" "10/01/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -14,18 +14,18 @@ chpasswd \- update passwords in batch mode \fBchpasswd\fR [\fIoptions\fR] .SH "DESCRIPTION" .PP -\fBchpasswd\fR +\fBchpasswd\fR reads a list of user name and password pairs from standard input and uses this information to update a group of existing users. Each line is of the format: .PP - \fIuser_name\fR:\fIpassword\fR +\fIuser_name\fR:\fIpassword\fR .PP By default the supplied password must be in clear\-text. Default encription algoritm is DES. Also the password age will be updated, if present. .PP This command is intended to be used in a large system environment where many accounts are created at a single time. .SH "OPTIONS" .PP -The options which apply to the -\fBchpasswd\fR +The options which apply to the +\fBchpasswd\fR command are: .TP \fB\-e\fR, \fB\-\-encrypted\fR @@ -38,14 +38,14 @@ Display help message and exit. Use MD5 encryption instead DES when the supplied passwords are not encrypted. .SH "CAVEATS" .PP -Remember keep protected for reading by others fille passed to standard input -\fBchpasswd\fR +Remember keep protected for reading by others fille passed to standard input +\fBchpasswd\fR command if it contains unencrypted passwords. .SH "SEE ALSO" .PP -\fBpasswd\fR(1), -\fBnewusers\fR(8), -\fBuseradd\fR(8) +\fBpasswd\fR(1), +\fBnewusers\fR(8), +\fBuseradd\fR(8). .SH "AUTHOR" .PP Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/chpasswd.8.xml b/man/chpasswd.8.xml index 86ed1218..9a1ffde8 100644 --- a/man/chpasswd.8.xml +++ b/man/chpasswd.8.xml @@ -1,8 +1,8 @@ + "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> - + chpasswd 8 @@ -16,14 +16,15 @@ chpasswd - options + options - + DESCRIPTION - chpasswd reads a list of user name and password + + chpasswd reads a list of user name and password pairs from standard input and uses this information to update a group of existing users. Each line is of the format: @@ -31,15 +32,17 @@ user_name:password - By default the supplied password must be in clear-text. Default + + By default the supplied password must be in clear-text. Default encription algoritm is DES. Also the password age will be updated, if present. - This command is intended to be used in a large system environment + + This command is intended to be used in a large system environment where many accounts are created at a single time. - + OPTIONS @@ -48,50 +51,53 @@ - , - - Supplied passwords are in encrypted form. - + , + + Supplied passwords are in encrypted form. + - , - - Display help message and exit. - + , + + Display help message and exit. + - , - - Use MD5 encryption instead DES when the supplied passwords - are not encrypted. - - + , + + + Use MD5 encryption instead DES when the supplied passwords are + not encrypted. + + - + CAVEATS - Remember keep protected for reading by others fille passed to - standard input chpasswd command if it contains - unencrypted passwords. + + Remember keep protected for reading by others fille passed to standard + input chpasswd command if it contains unencrypted + passwords. - + SEE ALSO - - passwd1 + + + passwd1 , - newusers8 + newusers8 , - useradd8 - + useradd8 + . - + AUTHOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/chsh.1 b/man/chsh.1 index 61c262da..d4845a70 100644 --- a/man/chsh.1 +++ b/man/chsh.1 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "CHSH" "1" "08/03/2005" "User Commands" "User Commands" +.TH "CHSH" "1" "10/03/2005" "User Commands" "User Commands" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -14,23 +14,23 @@ chsh \- change login shell \fBchsh\fR [\-s\ \fIlogin_shell\fR] [\fIuser\fR] .SH "DESCRIPTION" .PP -\fBchsh\fR +\fBchsh\fR changes the user login shell. This determines the name of the user's initial login command. A normal user may only change the login shell for her own account, the super user may change the login shell for any account. .PP -The only restrictions placed on the login shell is that the command name must be listed in -\fI/etc/shells\fR, unless the invoker is the super\-user, and then any value may be added. An account with a restricted login shell may not change her login shell. For this reason, placing -\fI/bin/rsh\fR -in -\fI/etc/shells\fR -is discouraged since accidentally changing to a restricted shell would prevent the user from every changing her login shell back to its original value. +The only restriction placed on the login shell is that the command name must be listed in +\fI/etc/shells\fR, unless the invoker is the super\-user, and then any value may be added. An account with a restricted login shell may not change her login shell. For this reason, placing +\fI/bin/rsh\fR +in +\fI/etc/shells\fR +is discouraged since accidentally changing to a restricted shell would prevent the user from ever changing her login shell back to its original value. .SH "OPTIONS" .PP -If the -\fB\-s\fR -option is not selected, -\fBchsh\fR -operates in an interactive fashion, prompting the user with the current login shell. Enter the new value to change the shell, or leave the line blank to use the current one. The current shell is displayed between a pair of -\fI[ ]\fR +If the +\fB\-s\fR +option is not selected, +\fBchsh\fR +operates in an interactive fashion, prompting the user with the current login shell. Enter the new value to change the shell, or leave the line blank to use the current one. The current shell is displayed between a pair of +\fI[ ]\fR marks. .SH "FILES" .TP @@ -39,10 +39,14 @@ user account information .TP \fI/etc/shells\fR list of valid login shells +.TP +\fI/etc/login.defs\fR +shadow password suite configuration .SH "SEE ALSO" .PP -\fBchfn\fR(1), -\fBpasswd\fR(5) +\fBchfn\fR(1), +\fBlogin.defs\fR(5), +\fBpasswd\fR(5). .SH "AUTHOR" .PP Julianne Frances Haugh diff --git a/man/chsh.1.xml b/man/chsh.1.xml index cef1a164..dc7f2920 100644 --- a/man/chsh.1.xml +++ b/man/chsh.1.xml @@ -1,8 +1,8 @@ - - + + chsh 1 @@ -15,68 +15,84 @@ - chsh + chsh -s login_shell user - + DESCRIPTION - chsh changes the user login shell. This determines + + chsh changes the user login shell. This determines the name of the user's initial login command. A normal user may only change the login shell for her own account, the super user may change the login shell for any account. - - The only restrictions placed on the login shell is that the - command name must be listed in /etc/shells, - unless the invoker is the super-user, and then any value may be added. - An account with a restricted login shell may not change her login - shell. For this reason, placing /bin/rsh in + + + The only restriction placed on the login shell is that the command + name must be listed in /etc/shells, unless the + invoker is the super-user, and then any value may be added. An + account with a restricted login shell may not change her login shell. + For this reason, placing /bin/rsh in /etc/shells is discouraged since accidentally - changing to a restricted shell would prevent the user from every + changing to a restricted shell would prevent the user from ever changing her login shell back to its original value. - + OPTIONS - If the option is not selected, + + If the option is not selected, chsh operates in an interactive fashion, prompting the user with the current login shell. Enter the new value to change the shell, or leave the line blank to use the current one. The current - shell is displayed between a pair of [ ] - marks. + shell is displayed between a pair of [ ] marks. - + FILES - /etc/passwd - user account information + /etc/passwd + + user account information + - /etc/shells - list of valid login shells + /etc/shells + + list of valid login shells + + + + /etc/login.defs + + shadow password suite configuration + - + SEE ALSO - - chfn1 + + + chfn1 , - passwd5 - + login.defs5 + , + + passwd5 + . - + AUTHOR Julianne Frances Haugh <jockgrrl@ix.netcom.com> diff --git a/man/cs/Makefile.in b/man/cs/Makefile.in index cda3bb5f..d55ffb47 100644 --- a/man/cs/Makefile.in +++ b/man/cs/Makefile.in @@ -38,7 +38,8 @@ host_triplet = @host@ subdir = man/cs DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -80,6 +81,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -91,6 +94,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -130,6 +134,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -195,9 +202,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/cs/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/cs/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/cs/Makefile + $(AUTOMAKE) --foreign man/cs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/man/de/Makefile.in b/man/de/Makefile.in index e04a4182..1d159e54 100644 --- a/man/de/Makefile.in +++ b/man/de/Makefile.in @@ -38,7 +38,8 @@ host_triplet = @host@ subdir = man/de DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -80,6 +81,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -91,6 +94,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -130,6 +134,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -197,9 +204,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/de/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/de/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/de/Makefile + $(AUTOMAKE) --foreign man/de/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/man/es/Makefile.in b/man/es/Makefile.in index 3d3625b6..65d8f593 100644 --- a/man/es/Makefile.in +++ b/man/es/Makefile.in @@ -38,7 +38,8 @@ host_triplet = @host@ subdir = man/es DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -77,6 +78,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -88,6 +91,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -127,6 +131,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -189,9 +196,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/es/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/es/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/es/Makefile + $(AUTOMAKE) --foreign man/es/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/man/expiry.1 b/man/expiry.1 index 782fd332..a47d09da 100644 --- a/man/expiry.1 +++ b/man/expiry.1 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "EXPIRY" "1" "08/03/2005" "User Commands" "User Commands" +.TH "EXPIRY" "1" "09/30/2005" "User Commands" "User Commands" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -14,7 +14,7 @@ expiry \- check and enforce password expiration policy \fBexpiry\fR [\-c] [\-f] .SH "DESCRIPTION" .PP -\fBexpiry\fR +\fBexpiry\fR checks (\fB\-c\fR) the current password expiration and forces (\fB\-f\fR) changes when required. It is callable as a normal user command. .SH "FILES" .TP @@ -25,8 +25,8 @@ user account information secure user account information .SH "SEE ALSO" .PP -\fBpasswd\fR(5), -\fBshadow\fR(5) +\fBpasswd\fR(5), +\fBshadow\fR(5). .SH "AUTHOR" .PP Ben Collins diff --git a/man/expiry.1.xml b/man/expiry.1.xml index cd72756e..d2bf0381 100644 --- a/man/expiry.1.xml +++ b/man/expiry.1.xml @@ -2,7 +2,7 @@ - + expiry 1 @@ -20,40 +20,46 @@ -f - + DESCRIPTION - expiry checks () the current + + expiry checks () the current password expiration and forces () changes when required. It is callable as a normal user command. - + FILES - /etc/passwd - user account information + /etc/passwd + + user account information + - /etc/shadow - secure user account information + /etc/shadow + + secure user account information + - + SEE ALSO - - passwd5 + + + passwd5 , - shadow5 - + shadow5 + . - + AUTHOR Ben Collins <bcollins@debian.org> diff --git a/man/faillog.5 b/man/faillog.5 index afb1761b..b79f1952 100644 --- a/man/faillog.5 +++ b/man/faillog.5 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "FAILLOG" "5" "08/03/2005" "" "" +.TH "FAILLOG" "5" "09/20/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -11,13 +11,12 @@ faillog \- Login failure logging file .SH "DESCRIPTION" .PP -\fI/var/log/faillog\fR +\fI/var/log/faillog\fR maintains a count of login failures and the limits for each account. The file is fixed length record, indexed by numerical UID. Each record contains the count of login failures since the last successful login; the maximum number of failures before the account is disabled; the line the last login failure occured on; and the date the last login failure occured. .PP The structure of the file is: - +.sp .nf - struct faillog { short fail_cnt; short fail_max; diff --git a/man/faillog.5.xml b/man/faillog.5.xml index c6627ce8..bd62c538 100644 --- a/man/faillog.5.xml +++ b/man/faillog.5.xml @@ -2,7 +2,7 @@ - + faillog 5 @@ -11,7 +11,7 @@ faillog Login failure logging file - + DESCRIPTION /var/log/faillog maintains a count of login @@ -21,7 +21,7 @@ failures before the account is disabled; the line the last login failure occured on; and the date the last login failure occured. - + The structure of the file is: struct faillog { @@ -31,25 +31,28 @@ struct faillog { time_t fail_time; }; - + FILES - /var/log/faillog - login failure log + /var/log/faillog + + login failure log + - + SEE ALSO - - faillog8 + + + faillog8 - + AUTHOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/faillog.8 b/man/faillog.8 index a45db969..e2d0595d 100644 --- a/man/faillog.8 +++ b/man/faillog.8 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "FAILLOG" "8" "08/03/2005" "" "" +.TH "FAILLOG" "8" "10/01/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -14,16 +14,16 @@ faillog \- display faillog records or set login failure limits \fBfaillog\fR [\fIoptions\fR] .SH "DESCRIPTION" .PP -\fBfaillog\fR -formats the contents of the failure log from -\fI/var/log/faillog\fR -database. It also can be used for maintains failure counters and limits. Run -\fBfaillog\fR +\fBfaillog\fR +formats the contents of the failure log from +\fI/var/log/faillog\fR +database. It also can be used for maintains failure counters and limits. Run +\fBfaillog\fR without arguments display only list of user faillog records who have ever had a login failure. .SH "OPTIONS" .PP -The options which apply to the -\fBfaillog\fR +The options which apply to the +\fBfaillog\fR command are: .TP \fB\-a\fR, \fB\-\-all\fR @@ -33,47 +33,47 @@ Display faillog records for all users. Display help message and exit. .TP \fB\-l\fR, \fB\-\-lock\-time\fR \fISEC\fR -Lock accout to -\fISEC\fR +Lock account to +\fISEC\fR seconds after failed login. .TP \fB\-m\fR, \fB\-\-maximum\fR \fIMAX\fR -Set maiximum number of login failures after the account is disabled to -\fIMAX\fR. Selecting -\fIMAX\fR -value of 0 has the effect of not placing a limit on the number of failed logins. The maximum failure count should always be 0 for -\fIroot\fR +Set maximum number of login failures after the account is disabled to +\fIMAX\fR. Selecting +\fIMAX\fR +value of 0 has the effect of not placing a limit on the number of failed logins. The maximum failure count should always be 0 for +\fIroot\fR to prevent a denial of services attack against the system. .TP \fB\-r\fR, \fB\-\-reset\fR -Reset the counters of login failures or one recor if used with \-u -\fILOGIN\fR -option. Write access to -\fI/var/log/faillog\fR +Reset the counters of login failures or one record if used with the \-u +\fILOGIN\fR +option. Write access to +\fI/var/log/faillog\fR is required for this option. .TP \fB\-t\fR, \fB\-\-time\fR \fIDAYS\fR -Display faillog records more recent than -\fIDAYS\fR. The -\fB\-t\fR -flag overrides the use of +Display faillog records more recent than +\fIDAYS\fR. The +\fB\-t\fR +flag overrides the use of \fB\-u\fR. .TP \fB\-u\fR, \fB\-\-user\fR \fILOGIN\fR -Display faillog record or maintains failure counters and limits (if used with -\fB\-l\fR, -\fB\-m\fR -or -\fB\-r\fR -options) only for user with +Display faillog record or maintains failure counters and limits (if used with +\fB\-l\fR, +\fB\-m\fR +or +\fB\-r\fR +options) only for user with \fILOGIN\fR. .SH "CAVEATS" .PP -\fBfaillog\fR -only prints out users with no successful login since the last failure. To print out a user who has had a successful login since their last failure, you must explicitly request the user with the -\fB\-u\fR -flag, or print out all users with the -\fB\-a\fR +\fBfaillog\fR +only prints out users with no successful login since the last failure. To print out a user who has had a successful login since their last failure, you must explicitly request the user with the +\fB\-u\fR +flag, or print out all users with the +\fB\-a\fR flag. .SH "FILES" .TP @@ -81,8 +81,8 @@ flag. failure logging file .SH "SEE ALSO" .PP -\fBlogin\fR(1), -\fBfaillog\fR(5) +\fBlogin\fR(1), +\fBfaillog\fR(5). .SH "AUTHOR" .PP Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/faillog.8.xml b/man/faillog.8.xml index e99d9d86..14d71230 100644 --- a/man/faillog.8.xml +++ b/man/faillog.8.xml @@ -2,7 +2,7 @@ - + faillog 8 @@ -14,23 +14,24 @@ - faillog + faillog - options + options - + DESCRIPTION - faillog formats the contents of the failure log + + faillog formats the contents of the failure log from /var/log/faillog database. It also can be used for maintains failure counters and limits. Run faillog without arguments display only list of user faillog records who have ever had a login failure. - + OPTIONS @@ -39,114 +40,119 @@ - , - - Display faillog records for all users. - + , + + Display faillog records for all users. + - , - - Display help message and exit. - + , + + Display help message and exit. + - - , - SEC - - - - Lock accout to SEC - seconds after failed login. - - + + , + SEC + + + + Lock account to SEC + seconds after failed login. + + - - , - MAX - - - Set maiximum number of login failures after the account is - disabled to MAX. Selecting - MAX 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 root to prevent a denial of services attack - against the system. - - + + , + MAX + + + + Set maximum number of login failures after the account is + disabled to MAX. Selecting + MAX 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 root + to prevent a denial of services attack against the system. + + - , - - Reset the counters of login failures or one recor if used - with -u LOGIN option. Write - access to /var/log/faillog is required for - this option. - - + , + + + Reset the counters of login failures or one record if used with + the -u LOGIN option. Write access to + /var/log/faillog is required for this + option. + + - , - DAYS - - - - Display faillog records more recent than DAYS. The flag overrides - the use of . - - + , + DAYS + + + + Display faillog records more recent than + DAYS. The + flag overrides the use of . + + - - , - LOGIN - - - Display faillog record or maintains failure counters and - limits (if used with , or - options) only for user with LOGIN. - - + + , LOGIN + + + + Display faillog record or maintains failure counters and limits + (if used with , or + options) only for user with + LOGIN. + + - + CAVEATS - faillog only prints out users with no successful + + faillog 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 flag, or print out all users with the flag. - + FILES - /var/log/faillog - failure logging file + /var/log/faillog + + failure logging file + - + SEE ALSO - - login1 + + + login1 , - faillog5 - + faillog5 + . - + AUTHOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/fr/Makefile.in b/man/fr/Makefile.in index 6528293c..8f1b8dc9 100644 --- a/man/fr/Makefile.in +++ b/man/fr/Makefile.in @@ -38,7 +38,8 @@ host_triplet = @host@ subdir = man/fr DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -80,6 +81,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -91,6 +94,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -130,6 +134,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -202,9 +209,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/fr/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/fr/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/fr/Makefile + $(AUTOMAKE) --foreign man/fr/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/man/getspnam.3 b/man/getspnam.3 index 0cd58f93..cd473da3 100644 --- a/man/getspnam.3 +++ b/man/getspnam.3 @@ -1 +1 @@ -.so shadow.3 +.so man3/shadow.3 diff --git a/man/gpasswd.1 b/man/gpasswd.1 index 561f4162..bc666922 100644 --- a/man/gpasswd.1 +++ b/man/gpasswd.1 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "GPASSWD" "1" "08/03/2005" "User Commands" "User Commands" +.TH "GPASSWD" "1" "09/30/2005" "User Commands" "User Commands" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -24,35 +24,35 @@ gpasswd \- administer the /etc/group file \fBgpasswd\fR [\-A\ \fIuser,\fR...] [\-M\ \fIuser,\fR...] \fIgroup\fR .SH "DESCRIPTION" .PP -\fBgpasswd\fR -is used to administer the -\fI/etc/group\fR -file (and -\fI/etc/gshadow\fR -file if compiled with SHADOWGRP defined). Every group can have administrators, members and a password. System administrator can use -\fB\-A\fR -option to define group administrator(s) and -\fB\-M\fR +\fBgpasswd\fR +is used to administer the +\fI/etc/group\fR +file (and +\fI/etc/gshadow\fR +file if compiled with SHADOWGRP defined). Every group can have administrators, members and a password. System administrator can use +\fB\-A\fR +option to define group administrator(s) and +\fB\-M\fR option to define members and has all rights of group administrators and members. .SH "OPTIONS" .PP -Group administrator can add and delete users using -\fB\-a\fR -and -\fB\-d\fR -options respectively. Administrators can use -\fB\-r\fR -option to remove group password. When no password is set only group members can use -\fBnewgrp\fR -to join the group. Option -\fB\-R\fR -disables access via a password to the group through -\fBnewgrp\fR +Group administrator can add and delete users using +\fB\-a\fR +and +\fB\-d\fR +options respectively. Administrators can use +\fB\-r\fR +option to remove group password. When no password is set only group members can use +\fBnewgrp\fR +to join the group. Option +\fB\-R\fR +disables access via a password to the group through +\fBnewgrp\fR command (however members will still be able to switch to this group). .PP -\fBgpasswd\fR -called by a group administrator with group name only prompts for the group password. If password is set the members can still -\fBnewgrp\fR(1) +\fBgpasswd\fR +called by a group administrator with group name only prompts for the group password. If password is set the members can still +\fBnewgrp\fR(1) without a password, non\-members must supply the password. .SH "FILES" .TP @@ -63,13 +63,13 @@ group account information secure group account information .SH "SEE ALSO" .PP -\fBnewgrp\fR(1), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBgrpck\fR(8), -\fBgroup\fR(5), -\fBgshadow\fR(5) +\fBnewgrp\fR(1), +\fBgshadow\fR(5), +\fBgroupadd\fR(8), +\fBgroupdel\fR(8), +\fBgroupmod\fR(8), +\fBgrpck\fR(8), +\fBgroup\fR(5). .SH "AUTHOR" .PP Rafal Maszkowski diff --git a/man/gpasswd.1.xml b/man/gpasswd.1.xml index 071f8adb..521e0c94 100644 --- a/man/gpasswd.1.xml +++ b/man/gpasswd.1.xml @@ -1,8 +1,8 @@ - - + + gpasswd 1 @@ -15,23 +15,23 @@ - gpasswd + gpasswd - group + group - gpasswd + gpasswd -a user group - gpasswd + gpasswd -d user group - gpasswd + gpasswd -R group @@ -39,16 +39,17 @@ -r group - gpasswd + gpasswd -A user, -M user, group - + DESCRIPTION - gpasswd is used to administer the + + 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. @@ -57,7 +58,7 @@ members and has all rights of group administrators and members. - + OPTIONS @@ -69,55 +70,62 @@ to the group through newgrp command (however members will still be able to switch to this group). - - gpasswd called by a group administrator with - group name only prompts for the group password. If password is set the + + + gpasswd called by a group administrator with group + name only prompts for the group password. If password is set the members can still - newgrp1 - without a password, non-members must supply the password. + newgrp1 + without a password, non-members must supply the + password. - + FILES - /etc/group - group account information + /etc/group + + group account information + - /etc/gshadow - secure group account information + /etc/gshadow + + secure group account information + - + SEE ALSO - - newgrp1 + + + newgrp1 , - groupadd8 + gshadow5 , - groupdel8 + groupadd8 , - groupmod8 + groupdel8 , - grpck8 + groupmod8 , - group5 + grpck8 , - gshadow5 - + group5 + . - + AUTHOR Rafal Maszkowski <rzm@pdi.net> diff --git a/man/groupadd.8 b/man/groupadd.8 index 730e327c..ac1c817a 100644 --- a/man/groupadd.8 +++ b/man/groupadd.8 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "GROUPADD" "8" "08/03/2005" "" "" +.TH "GROUPADD" "8" "09/30/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -11,41 +11,46 @@ groupadd \- Create a new group .SH "SYNOPSIS" .HP 9 -\fBgroupadd\fR [\-g\ \fIgid\fR\ [\-o\ ]] [\-f] [\-K\ \fIKEY\fR=\fIVALUE\fR] \fIgroup\fR +\fBgroupadd\fR [\-g\ \fIgid\fR\ [\-o]] [\-f] [\-K\ \fIKEY\fR=\fIVALUE\fR] \fIgroup\fR .SH "DESCRIPTION" .PP -The -\fBgroupadd\fR +The +\fBgroupadd\fR command creates a new group account using the values specified on the command line and the default values from the system. The new group will be entered into the system files as needed. .SH "OPTIONS" .PP -The options which apply to the -\fBgroupadd\fR +The options which apply to the +\fBgroupadd\fR command are: .TP \fB\-f\fR -This option causes to just exit with success status if the specified group already exists. With -\fB\-g\fR, if specified gid already exists, other (unique) gid is chosen (i.e. -\fB\-g\fR +This option causes to just exit with success status if the specified group already exists. With +\fB\-g\fR, if specified gid already exists, other (unique) gid is chosen (i.e. +\fB\-g\fR is turned off). .TP -\fB\-g\fR \fIgid\fR -The numerical value of the group's ID. This value must be unique, unless the -\fB\-o\fR +\fB\-g\fR \fIGID\fR +The numerical value of the group's ID. This value must be unique, unless the +\fB\-o\fR option is used. The value must be non\-negative. The default is to use the smallest ID value greater than 999 and greater than every other group. Values between 0 and 999 are typically reserved for system accounts. .TP +\fB\-h\fR, \fB\-\-help\fR +Display help message and exit. +.TP \fB\-K \fR\fB\fIKEY\fR\fR\fB=\fR\fB\fIVALUE\fR\fR -Overrides /etc/login.defs defaults (GID_MIN, GID_MAX and others). Multiple -\fB\-K\fR -options can be specified, e.g.: -\fB\-K\fR \fIGID_MIN\fR=\fI100\fR \fB\-K\fR \fIGID_MAX\fR=\fI499\fR - -Note: -\fB\-K\fR \fIGID_MIN\fR=\fI10\fR,\fIGID_MAX\fR=\fI499\fR +Overrides /etc/login.defs defaults (GID_MIN, GID_MAX and others). Multiple +\fB\-K\fR +options can be specified. +.sp +Example: +\fB\-K \fR\fIGID_MIN\fR=\fI100\fR\fB \-K \fR\fIGID_MAX\fR=\fI499\fR +.sp +Note: +\fB\-K \fR\fIGID_MIN\fR=\fI10\fR,\fIGID_MAX\fR=\fI499\fR doesn't work yet. .TP \fB\-o\fR -Allow add group wit non\-unique GID. +This option permits to add group with non\-unique GID. .SH "FILES" .TP \fI/etc/group\fR @@ -53,11 +58,19 @@ group account information .TP \fI/etc/gshadow\fR secure group account information +.TP +\fI/etc/login.defs\fR +shadow password suite configuration +.SH "CAVEATS" +.PP +Groupnames must begin with a lower case letter or an underscore, and only lower case letters, underscores, dashes, and dollar signs may follow. In regular expression terms: [a\-z_][a\-z0\-9_\-]*[$] +.PP +Groupnames may only be up to 16 characters long. .SH "EXIT VALUES" .PP -The -\fBgroupadd\fR -command exits with the following values: +The +\fBgroupadd\fR +command exits with the following values: .TP \fI0\fR success @@ -69,7 +82,9 @@ invalid command syntax invalid argument to option .TP \fI4\fR -gid not unique (when \-o not used) +gid not unique (when +\fB\-o\fR +not used) .TP \fI9\fR group name not unique @@ -78,15 +93,16 @@ group name not unique can't update group file .SH "SEE ALSO" .PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8) +\fBchfn\fR(1), +\fBchsh\fR(1), +\fBpasswd\fR(1), +\fBgpasswd\fR(8), +\fBgroupdel\fR(8), +\fBgroupmod\fR(8), +\fBlogin.defs\fR(5), +\fBuseradd\fR(8), +\fBuserdel\fR(8), +\fBusermod\fR(8). .SH "AUTHOR" .PP Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/groupadd.8.xml b/man/groupadd.8.xml index 5b03a78a..1c3324e8 100644 --- a/man/groupadd.8.xml +++ b/man/groupadd.8.xml @@ -2,7 +2,7 @@ - + groupadd 8 @@ -14,19 +14,19 @@ - groupadd + groupadd - -g gid - -o + -g gid + -o -f -K KEY=VALUE - group + group - + DESCRIPTION The groupadd command creates a new group @@ -35,7 +35,7 @@ files as needed. - + OPTIONS @@ -44,140 +44,183 @@ - - - - - This option causes to just exit with success status if the - specified group already exists. With , if - specified gid already exists, other (unique) gid is chosen (i.e. - is turned off). - - + + + + + This option causes to just exit with success status if the + specified group already exists. With , if + specified gid already exists, other (unique) gid is chosen (i.e. + is turned off). + + - - gid - - - The numerical value of the group's ID. This value must be - unique, unless the option is used. The value - must be non-negative. The default is to use the smallest ID - value greater than 999 and greater than every other group. - Values between 0 and 999 are typically reserved for system - accounts. - - + + GID + + + The numerical value of the group's ID. This value must be + unique, unless the option is used. The value + must be non-negative. The default is to use the smallest ID + value greater than 999 and greater than every other group. + Values between 0 and 999 are typically reserved for system + accounts. + + - - - - + , + + Display help message and exit. + + + + + + + Overrides /etc/login.defs defaults (GID_MIN, GID_MAX and others). Multiple - options can be specified, e.g.: - GID_MIN=100 - GID_MAX=499 + options can be specified. - Note: GID_MIN=10,GID_MAX=499 + Example: GID_MIN=100 + GID_MAX=499 + + + Note: + GID_MIN=10,GID_MAX=499 doesn't work yet. - + - - - - - - Allow add group wit non-unique GID. + + + + + + This option permits to add group with non-unique GID. - + - + FILES - /etc/group - group account information + /etc/group + + group account information + - /etc/gshadow - secure group account information + /etc/gshadow + + secure group account information + + + + /etc/login.defs + + shadow password suite configuration + - + + + CAVEATS + Groupnames must begin with a lower case letter or an underscore, and + only lower case letters, underscores, dashes, and dollar signs may + follow. In regular expression terms: [a-z_][a-z0-9_-]*[$] + + Groupnames may only be up to 16 characters long. + + EXIT VALUES The groupadd command exits with the following values: - - 0 - success - - - 2 - invalid command syntax - - - 3 - invalid argument to option - - - 4 - gid not unique (when -o not used) - - - 9 - group name not unique - - - 10 - can't update group file - + + 0 + + success + + + + 2 + + invalid command syntax + + + + 3 + + invalid argument to option + + + + 4 + + gid not unique (when not used) + + + + 9 + + group name not unique + + + + 10 + + can't update group file + + - + SEE ALSO - chfn1 + chfn1 , - chsh1 + chsh1 , - passwd1 + passwd1 , - gpasswd8 + gpasswd8 , - groupdel8 + groupdel8 , - groupmod8 + groupmod8 , - useradd8 + login.defs5 , - userdel8 + useradd8 , - usermod8 - + userdel8 + , + + usermod8 + . - + AUTHOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/groupdel.8 b/man/groupdel.8 index 31410501..7664cbec 100644 --- a/man/groupdel.8 +++ b/man/groupdel.8 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "GROUPDEL" "8" "08/03/2005" "" "" +.TH "GROUPDEL" "8" "09/20/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -14,9 +14,9 @@ groupdel \- Delete a group \fBgroupdel\fR \fIgroup\fR .SH "DESCRIPTION" .PP -The -\fBgroupdel\fR -command modifies the system account files, deleting all entries that refer to +The +\fBgroupdel\fR +command modifies the system account files, deleting all entries that refer to \fIgroup\fR. The named group must exist. .PP You must manually check all file systems to insure that no files remain with the named group as the file group ID. @@ -32,9 +32,9 @@ group account information secure group account information .SH "EXIT VALUES" .PP -The -\fBgroupdel\fR -command exits with the following values: +The +\fBgroupdel\fR +command exits with the following values: .TP \fI0\fR success @@ -49,14 +49,14 @@ can't remove user's primary group can't update group file .SH "SEE ALSO" .PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupmod\fR(8), -\fBuseradd\fR(8), -\fBuserdel\fR(8), +\fBchfn\fR(1), +\fBchsh\fR(1), +\fBpasswd\fR(1), +\fBgpasswd\fR(8), +\fBgroupadd\fR(8), +\fBgroupmod\fR(8), +\fBuseradd\fR(8), +\fBuserdel\fR(8), \fBusermod\fR(8) .SH "AUTHOR" .PP diff --git a/man/groupdel.8.xml b/man/groupdel.8.xml index 9b4f5eae..1397b5b2 100644 --- a/man/groupdel.8.xml +++ b/man/groupdel.8.xml @@ -2,7 +2,7 @@ - + groupdel 8 @@ -14,42 +14,46 @@ - groupdel + groupdel - group + group - + DESCRIPTION The groupdel command modifies the system account files, deleting all entries that refer to group. The named group must exist. - + You must manually check all file systems to insure that no files remain with the named group as the file group ID. - + CAVEATS You may not remove the primary group of any existing user. You must remove the user before you remove the group. - + FILES - /etc/group - group account information + /etc/group + + group account information + - /etc/gshadow - secure group account information + /etc/gshadow + + secure group account information + @@ -59,58 +63,66 @@ The groupdel command exits with the following values: - - 0 - success + + 0 + + success + - - 2 - invalid command syntax + + 2 + + invalid command syntax + - - 8 - can't remove user's primary group + + 8 + + can't remove user's primary group + - - 10 - can't update group file + + 10 + + can't update group file + - + SEE ALSO - chfn1 + chfn1 , - chsh1 + chsh1 , - passwd1 + passwd1 , - gpasswd8 + gpasswd8 , - groupadd8 + groupadd8 , - groupmod8 + groupmod8 , - useradd8 + useradd8 , - userdel8 + userdel8 , - usermod8 + usermod8 - + AUTHOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/groupmems.8.xml b/man/groupmems.8.xml index f42eda42..db48c5a3 100644 --- a/man/groupmems.8.xml +++ b/man/groupmems.8.xml @@ -2,7 +2,7 @@ - + groupmems 8 @@ -14,16 +14,16 @@ - groupmems + groupmems - -a user_name - -d user_name - -l -D - -g group_name + -a user_name + -d user_name + -l -D + -g group_name - + DESCRIPTION @@ -33,12 +33,12 @@ systems that configure its users to be in their own name sake primary group (i.e., guest / guest). - + Only the super user, as administrator, can use groupmems to alter the memberships of other groups. - + OPTIONS @@ -47,104 +47,106 @@ - user_name - - Add a new user to the group membership list. - + user_name + + Add a new user to the group membership list. + - user_name - - Delete a user from the group membership list. - + user_name + + Delete a user from the group membership list. + - - - Delete all users from the group membership list. - + + + Delete all users from the group membership list. + - group_name - - The super user can specify which group membership - list to modify. - - + group_name + + The super user can specify which group membership + list to modify. + + - - - List the group membership list. - + + + List the group membership list. + - + SETUP The groupmems executable should be in mode - 2770 as user root - and in group groups. The system - administrator can add users to group groups to allow or disallow them - using the groupmems utility to manage their own - group membership list. + 2770 as user root and in group + groups. The system administrator can add users to + group groups to allow or disallow them using the + groupmems utility to manage their own group + membership list. - + $ groupadd -r groups - $ chmod 2770 groupmems - $ chown root.groups groupmems - $ groupmems -g groups -a gk4 - + FILES - /etc/group - group account information + /etc/group + + group account information + - /etc/gshadow - secure group account information + /etc/gshadow + + secure group account information + - + SEE ALSO - - chfn1 + + + chfn1 , - chsh1 + chsh1 , - passwd1 + passwd1 , - groupadd8 + groupadd8 , - groupdel8 + groupdel8 , - useradd8 + useradd8 , - userdel8 + userdel8 , - usermod8 - + usermod8 + . - + AUTHOR George Kraft IV (gk4@us.ibm.com) diff --git a/man/groupmod.8 b/man/groupmod.8 index 135ffa7d..e58f44f7 100644 --- a/man/groupmod.8 +++ b/man/groupmod.8 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "GROUPMOD" "8" "08/03/2005" "" "" +.TH "GROUPMOD" "8" "09/30/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -14,24 +14,24 @@ groupmod \- modify a group \fBgroupmod\fR [\-g\ \fIgid\fR\ [\-o\ ]] [\-n\ \fInew_group_name\fR] \fIgroup\fR .SH "DESCRIPTION" .PP -The -\fBgroupmod\fR +The +\fBgroupmod\fR command modifies the system account files to reflect the changes that are specified on the command line. .SH "OPTIONS" .PP -The options which apply to the -\fBgroupmod\fR +The options which apply to the +\fBgroupmod\fR command are: .TP \fB\-g\fR \fIgid\fR -The numerical value of the group's ID. This value must be unique, unless the -\fB\-o\fR +The numerical value of the group's ID. This value must be unique, unless the +\fB\-o\fR option is used. The value must be non\-negative. Values between 0 and 999 are typically reserved for system groups. Any files which the old group ID is the file group ID must have the file group ID changed manually. .TP \fB\-n\fR \fInew_group_name\fR -The name of the group will be changed from -\fIgroup\fR -to +The name of the group will be changed from +\fIgroup\fR +to \fInew_group_name\fR. .SH "FILES" .TP @@ -42,9 +42,9 @@ group account information secure group account information .SH "EXIT VALUES" .PP -The -\fBgroupmod\fR -command exits with the following values: +The +\fBgroupmod\fR +command exits with the following values: .TP \fI0\fR success @@ -68,15 +68,15 @@ group name already in use can't update group file .SH "SEE ALSO" .PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8) +\fBchfn\fR(1), +\fBchsh\fR(1), +\fBpasswd\fR(1), +\fBgpasswd\fR(8), +\fBgroupadd\fR(8), +\fBgroupdel\fR(8), +\fBuseradd\fR(8), +\fBuserdel\fR(8), +\fBusermod\fR(8). .SH "AUTHOR" .PP Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/groupmod.8.xml b/man/groupmod.8.xml index 316f207a..567b42bb 100644 --- a/man/groupmod.8.xml +++ b/man/groupmod.8.xml @@ -2,7 +2,7 @@ - + groupmod 8 @@ -14,16 +14,16 @@ - groupmod + groupmod - -g gid - -o + -g gid + -o -n new_group_name group - + DESCRIPTION @@ -31,7 +31,7 @@ files to reflect the changes that are specified on the command line. - + OPTIONS @@ -40,113 +40,134 @@ - - gid - - - The numerical value of the group's ID. This value must be - unique, unless the option is used. The value - must be non-negative. Values between 0 and 999 are typically - reserved for system groups. Any files which the old group ID is - the file group ID must have the file group ID changed manually. - - + + gid + + + + The numerical value of the group's ID. This value must be + unique, unless the option is used. The value + must be non-negative. Values between 0 and 999 are typically + reserved for system groups. Any files which the old group ID is + the file group ID must have the file group ID changed manually. + + - new_group_name - - The name of the group will be changed from group to new_group_name. - - + new_group_name + + + The name of the group will be changed from group to new_group_name. + + - + FILES - /etc/group - group account information + /etc/group + + group account information + - /etc/gshadow - secure group account information + /etc/gshadow + + secure group account information + - + EXIT VALUES The groupmod command exits with the following values: - - 0 - success + + 0 + + success + - - 2 - invalid command syntax + + 2 + + invalid command syntax + - - 3 - invalid argument to option + + 3 + + invalid argument to option + - - 4 - specified group doesn't exist + + 4 + + specified group doesn't exist + - - 6 - specified group doesn't exist + + 6 + + specified group doesn't exist + - - 9 - group name already in use + + 9 + + group name already in use + - - 10 - can't update group file + + 10 + + can't update group file + - + SEE ALSO - - chfn1 + + + chfn1 , - chsh1 + chsh1 , - passwd1 + passwd1 , - gpasswd8 + gpasswd8 , - groupadd8 + groupadd8 , - groupdel8 + groupdel8 , - useradd8 + useradd8 , - userdel8 + userdel8 , - usermod8 - + usermod8 + . - + AUTHOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/groups.1 b/man/groups.1 index 393de2fb..65fbeda1 100644 --- a/man/groups.1 +++ b/man/groups.1 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "GROUPS" "1" "08/03/2005" "User Commands" "User Commands" +.TH "GROUPS" "1" "09/30/2005" "User Commands" "User Commands" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -14,20 +14,20 @@ groups \- display current group names \fBgroups\fR [\fIuser\fR] .SH "DESCRIPTION" .PP -\fBgroups\fR -displays the current group names or ID values. If the value does not have a corresponding entry in -\fI/etc/group\fR, the value will be displayed as the numerical group value. The optional -\fIuser\fR -parameter will display the groups for the named +\fBgroups\fR +displays the current group names or ID values. If the value does not have a corresponding entry in +\fI/etc/group\fR, the value will be displayed as the numerical group value. The optional +\fIuser\fR +parameter will display the groups for the named \fIuser\fR. .SH "NOTE" .PP -Systems which do not support concurrent group sets will have the information from -\fI/etc/group\fR -reported. The user must use -\fBnewgrp\fR -or -\fBsg\fR +Systems which do not support concurrent group sets will have the information from +\fI/etc/group\fR +reported. The user must use +\fBnewgrp\fR +or +\fBsg\fR to change their current real and effective group ID. .SH "FILES" .TP @@ -35,10 +35,10 @@ to change their current real and effective group ID. group account information .SH "SEE ALSO" .PP -\fBnewgrp\fR(1), -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2) +\fBnewgrp\fR(1), +\fBgetgid\fR(2), +\fBgetgroups\fR(2), +\fBgetuid\fR(2). .SH "AUTHOR" .PP Julianne Frances Haugh diff --git a/man/groups.1.xml b/man/groups.1.xml index 3e0ac2bd..dccd0e76 100644 --- a/man/groups.1.xml +++ b/man/groups.1.xml @@ -2,7 +2,7 @@ - + groups 1 @@ -15,16 +15,17 @@ - groups + groups - user + user - + DESCRIPTION - groups displays the current group names or ID + + groups displays the current group names or ID values. If the value does not have a corresponding entry in /etc/group, the value will be displayed as the numerical group value. The optional user. - + NOTE - Systems which do not support concurrent group sets will have the + + Systems which do not support concurrent group sets will have the information from /etc/group reported. The user must use newgrp or sg to change their current real and effective group ID. - + FILES - /etc/group - group account information + /etc/group + + group account information + - + SEE ALSO - - newgrp1 + + + newgrp1 , - getgid2 + getgid2 , - getgroups2 + getgroups2 , - getuid2 - + getuid2 + . - + AUTHOR Julianne Frances Haugh <jockgrrl@ix.netcom.com> diff --git a/man/grpck.8 b/man/grpck.8 index ad1d9cb3..5c02fcd9 100644 --- a/man/grpck.8 +++ b/man/grpck.8 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "GRPCK" "8" "08/03/2005" "" "" +.TH "GRPCK" "8" "10/01/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -14,11 +14,11 @@ grpck \- verify integrity of group files \fBgrpck\fR [\-r] [\fIgroup\fR\ \fIshadow\fR] .SH "DESCRIPTION" .PP - \fBgrpck\fR -verifies the integrity of the system authentication information. All entries in the -\fI/etc/group\fR -and -\fI/etc/gshadow\fR +\fBgrpck\fR +verifies the integrity of the system authentication information. All entries in the +\fI/etc/group\fR +and +\fI/etc/gshadow\fR are checked to see that the entry has the proper format and valid data in each field. The user is prompted to delete entries that are improperly formatted or which have other uncorrectable errors. .PP Checks are made to verify that each entry has: @@ -32,38 +32,38 @@ a unique group name \(bu a valid list of members and administrators .PP -The checks for correct number of fields and unique group name are fatal. If the entry has the wrong number of fields, the user will be prompted to delete the entire line. If the user does not answer affirmatively, all further checks are bypassed. An entry with a duplicated group name is prompted for deletion, but the remaining checks will still be made. All other errors are warnings and the user is encouraged to run the -\fBgroupmod\fR +The checks for correct number of fields and unique group name are fatal. If the entry has the wrong number of fields, the user will be prompted to delete the entire line. If the user does not answer affirmatively, all further checks are bypassed. An entry with a duplicated group name is prompted for deletion, but the remaining checks will still be made. All other errors are warnings and the user is encouraged to run the +\fBgroupmod\fR command to correct the error. .PP -The commands which operate on the -\fI/etc/group\fR -file are not able to alter corrupted or duplicated entries. -\fBgrpck\fR +The commands which operate on the +\fI/etc/group\fR +file are not able to alter corrupted or duplicated entries. +\fBgrpck\fR should be used in those circumstances to remove the offending entry. .SH "OPTIONS" .PP -By default, -\fBgrpck\fR -operates on the files -\fI/etc/group\fR -and -\fI/etc/gshadow\fR. The user may select alternate files with the -\fIgroup\fR -and -\fIshadow\fR -parameters. Additionally, the user may execute the command in read\-only mode by specifying the -\fB\-r\fR -flag. This causes all questions regarding changes to be answered -\fIno\fR -without user intervention. -\fBgrpck\fR -can also sort entries in -\fI/etc/group\fR -and -\fI/etc/gshadow\fR -by GID. To run it in sort mode pass it -\fB\-s\fR +By default, +\fBgrpck\fR +operates on the files +\fI/etc/group\fR +and +\fI/etc/gshadow\fR. The user may select alternate files with the +\fIgroup\fR +and +\fIshadow\fR +parameters. Additionally, the user may execute the command in read\-only mode by specifying the +\fB\-r\fR +flag. This causes all questions regarding changes to be answered +\fIno\fR +without user intervention. +\fBgrpck\fR +can also sort entries in +\fI/etc/group\fR +and +\fI/etc/gshadow\fR +by GID. To run it in sort mode pass it +\fB\-s\fR flag. No checks are performed then, it just sorts. .SH "FILES" .TP @@ -77,15 +77,15 @@ secure group account information user account information .SH "SEE ALSO" .PP -\fBgroup\fR(5), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBgroupmod\fR(8) +\fBgroup\fR(5), +\fBpasswd\fR(5), +\fBshadow\fR(5), +\fBgroupmod\fR(8). .SH "EXIT VALUES" .PP -The -\fBgrpck\fR -command exits with the following values: +The +\fBgrpck\fR +command exits with the following values: .TP \fI0\fR success diff --git a/man/grpck.8.xml b/man/grpck.8.xml index 2ade41f5..23f6d92e 100644 --- a/man/grpck.8.xml +++ b/man/grpck.8.xml @@ -2,7 +2,7 @@ - + grpck 8 @@ -16,12 +16,12 @@ grpck -r - group - shadow + group + shadow - + DESCRIPTION @@ -32,22 +32,23 @@ in each field. The user is prompted to delete entries that are improperly formatted or which have other uncorrectable errors. - + Checks are made to verify that each entry has: - the correct number of fields + the correct number of fields - a unique group name + a unique group name - a valid list of members and administrators + a valid list of members and administrators - - - The checks for correct number of fields and unique group name are + + + + 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 @@ -56,14 +57,15 @@ is encouraged to run the groupmod command to correct the error. - - The commands which operate on the /etc/group - file are not able to alter corrupted or duplicated entries. + + + The commands which operate on the /etc/group file + are not able to alter corrupted or duplicated entries. grpck should be used in those circumstances to remove the offending entry. - + OPTIONS @@ -73,83 +75,102 @@ remap='I'>group and shadow parameters. Additionally, the user may execute the command in read-only mode by specifying the flag. This causes - all questions regarding changes to be answered no without user intervention. - grpck can also sort entries in - /etc/group and /etc/gshadow - by GID. To run it in sort mode pass it flag. No - checks are performed then, it just sorts. + all questions regarding changes to be answered no + without user intervention. grpck can also sort + entries in /etc/group and + /etc/gshadow by GID. To run it in sort mode pass + it flag. No checks are performed then, it just + sorts. - + FILES - /etc/group - group account information + /etc/group + + group account information + - /etc/gshadow - secure group account information + /etc/gshadow + + secure group account information + - /etc/passwd - user account information + /etc/passwd + + user account information + - + SEE ALSO - - group5 + + + group5 , - passwd5 + passwd5 , - shadow5 + shadow5 , - groupmod8 - + groupmod8 + . - + EXIT VALUES The grpck command exits with the following values: - - 0 - success + + 0 + + success + - - 1 - invalid command syntax + + 1 + + invalid command syntax + - - 2 - one or more bad group entries + + 2 + + one or more bad group entries + - - 3 - can't open group files + + 3 + + can't open group files + - - 4 - can't lock group files + + 4 + + can't lock group files + - - 5 - can't update group files + + 5 + + can't update group files + - + AUTHOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/gshadow.5 b/man/gshadow.5 index ee83e202..4335e22c 100644 --- a/man/gshadow.5 +++ b/man/gshadow.5 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "GSHADOW" "5" "08/03/2005" "" "" +.TH "GSHADOW" "5" "09/30/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -11,7 +11,7 @@ gshadow \- shadowed group file .SH "DESCRIPTION" .PP -\fI/etc/gshadow\fR +\fI/etc/gshadow\fR contains the shadowed information for group accounts. It contains lines with the following colon\-separated fields: .TP 3 \(bu @@ -26,13 +26,13 @@ comma\-separated list of group administrators \(bu comma\-separated list of group members .PP -The group name and password fields must be filled. The encrypted password consists of 13 characters from the 64\-character alphabet a thru z, A thru Z, 0 thru 9, \\. and /. Refer to -\fBcrypt\fR(3) -for details on how this string is interpreted. If the password field contains some string that is not valid result of -\fBcrypt\fR(3), for instance ! or *, the user will not be able to use a unix password to log in, subject to +The group name and password fields must be filled. The encrypted password consists of characters from the 64\-character alphabet a thru z, A thru Z, 0 thru 9, \\. and /. Refer to +\fBcrypt\fR(3) +for details on how this string is interpreted. If the password field contains some string that is not valid result of +\fBcrypt\fR(3), for instance ! or *, the user will not be able to use a unix password to log in, subject to \fBpam\fR(7). .PP -This information supersedes any password present in +This information supersedes any password present in \fI/etc/group\fR. .PP This file must not be readable by regular users if password security is to be maintained. @@ -45,9 +45,9 @@ group account information secure group account information .SH "SEE ALSO" .PP -\fBgroup\fR(5), -\fBgpasswd\fR(5), -\fBnewgrp\fR(5) +\fBgroup\fR(5), +\fBgpasswd\fR(5), +\fBnewgrp\fR(5). .SH "AUTHOR" .PP Nicolas FRANCOIS diff --git a/man/gshadow.5.xml b/man/gshadow.5.xml index 70b3dac2..dac0b476 100644 --- a/man/gshadow.5.xml +++ b/man/gshadow.5.xml @@ -2,7 +2,7 @@ - + gshadow 5 @@ -11,31 +11,33 @@ gshadow shadowed group file - + DESCRIPTION - /etc/gshadow contains the shadowed - information for group accounts. It contains lines with the following + + /etc/gshadow contains the shadowed information + for group accounts. It contains lines with the following colon-separated fields: - group name - + group name + - encrypted password - + encrypted password + - comma-separated list of group administrators - + comma-separated list of group administrators + - comma-separated list of group members - + comma-separated list of group members + - - The group name and password fields must be filled. The encrypted - password consists of 13 characters from the 64-character alphabet a - thru z, A thru Z, 0 thru 9, \. and /. Refer to + + + The group name and password fields must be filled. The encrypted + password consists of characters from the 64-character alphabet a thru + z, A thru Z, 0 thru 9, \. and /. Refer to crypt3 for details on how this string is interpreted. If the password field contains some string that is not valid result of @@ -44,44 +46,51 @@ a unix password to log in, subject to pam7. - - This information supersedes any password present in + + + This information supersedes any password present in /etc/group. - - This file must not be readable by regular users if password - security is to be maintained. + + + This file must not be readable by regular users if password security + is to be maintained. - + FILES - /etc/group - group account information + /etc/group + + group account information + - /etc/gshadow - secure group account information + /etc/gshadow + + secure group account information + - + SEE ALSO - - group5 + + + group5 , - gpasswd5 + gpasswd5 , - newgrp5 - + newgrp5 + . - + AUTHOR Nicolas FRANCOIS diff --git a/man/hu/Makefile.in b/man/hu/Makefile.in index 044a4cf2..c7e0ee39 100644 --- a/man/hu/Makefile.in +++ b/man/hu/Makefile.in @@ -38,7 +38,8 @@ host_triplet = @host@ subdir = man/hu DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -77,6 +78,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -88,6 +91,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -127,6 +131,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -194,9 +201,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/hu/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/hu/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/hu/Makefile + $(AUTOMAKE) --foreign man/hu/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/man/id.1 b/man/id.1 index 9c6e5829..adfada94 100644 --- a/man/id.1 +++ b/man/id.1 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "ID" "1" "08/03/2005" "User Commands" "User Commands" +.TH "ID" "1" "09/30/2005" "User Commands" "User Commands" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -14,12 +14,12 @@ id \- Display current user and group ID names \fBid\fR [\-a] .SH "DESCRIPTION" .PP -\fBid\fR -displays the current real and effective user and group ID names or values. If the value does not have a corresponding entry in -\fI/etc/passwd\fR -or -\fI/etc/group\fR, the value will be displayed without the corresponding name. The optional -\fB\-a\fR +\fBid\fR +displays the current real and effective user and group ID names or values. If the value does not have a corresponding entry in +\fI/etc/passwd\fR +or +\fI/etc/group\fR, the value will be displayed without the corresponding name. The optional +\fB\-a\fR flag will display the group set on systems which support multiple concurrent group membership. .SH "FILES" .TP @@ -30,8 +30,8 @@ group account information user account information .SH "SEE ALSO" .PP -\fBgetgid\fR(2), -\fBgetgroups\fR(2), +\fBgetgid\fR(2), +\fBgetgroups\fR(2), \fBgetuid\fR(2) .SH "AUTHOR" .PP diff --git a/man/id.1.xml b/man/id.1.xml index 704051ba..6a84b036 100644 --- a/man/id.1.xml +++ b/man/id.1.xml @@ -2,7 +2,7 @@ - + id 1 @@ -18,47 +18,53 @@ id -a - + DESCRIPTION - id displays the current real and effective user - and group ID names or values. If the value does not have a - corresponding entry in /etc/passwd or + + id displays the current real and effective user and + group ID names or values. If the value does not have a corresponding + entry in /etc/passwd or /etc/group, the value will be displayed without the corresponding name. The optional flag will display the group set on systems which support multiple concurrent group membership. - + FILES - /etc/group - group account information + /etc/group + + group account information + - /etc/passwd - user account information + /etc/passwd + + user account information + - + SEE ALSO - - getgid2 + + + getgid2 , - getgroups2 + getgroups2 , - getuid2 + getuid2 - + AUTHOR Julianne Frances Haugh <jockgrrl@ix.netcom.com> diff --git a/man/id/Makefile.in b/man/id/Makefile.in index 6d44e99e..72fd9fa5 100644 --- a/man/id/Makefile.in +++ b/man/id/Makefile.in @@ -38,7 +38,8 @@ host_triplet = @host@ subdir = man/id DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -78,6 +79,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -89,6 +92,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -128,6 +132,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -190,9 +197,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/id/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/id/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/id/Makefile + $(AUTOMAKE) --foreign man/id/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/man/id/chsh.1 b/man/id/chsh.1 index 9e27387e..e13a49d9 100644 --- a/man/id/chsh.1 +++ b/man/id/chsh.1 @@ -7,11 +7,11 @@ .\" there is no warranty. .\" .\" $Author: kloczek $ -.\" $Revision: 1.3 $ -.\" $Date: 2005/04/05 19:08:54 $ +.\" $Revision: 1.4 $ +.\" $Date: 2005/08/29 13:59:29 $ .\" .TH CHSH 1 "October 13 1994" "chsh" "Linux Reference Manual" -.SH NAMA PERINTAH/PROGRAM +.SH NAMA chsh \- merubah shell login .SH RINGKASAN .B chsh diff --git a/man/it/Makefile.in b/man/it/Makefile.in index 718a6de0..adef97a2 100644 --- a/man/it/Makefile.in +++ b/man/it/Makefile.in @@ -38,7 +38,8 @@ host_triplet = @host@ subdir = man/it DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -81,6 +82,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -92,6 +95,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -131,6 +135,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -225,9 +232,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/it/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/it/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/it/Makefile + $(AUTOMAKE) --foreign man/it/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/man/ja/Makefile.in b/man/ja/Makefile.in index 05c53028..af9c0bc5 100644 --- a/man/ja/Makefile.in +++ b/man/ja/Makefile.in @@ -38,7 +38,8 @@ host_triplet = @host@ subdir = man/ja DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -80,6 +81,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -91,6 +94,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -130,6 +134,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -232,9 +239,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/ja/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/ja/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/ja/Makefile + $(AUTOMAKE) --foreign man/ja/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/man/ko/Makefile.in b/man/ko/Makefile.in index 5a10dfa7..603c4881 100644 --- a/man/ko/Makefile.in +++ b/man/ko/Makefile.in @@ -38,7 +38,8 @@ host_triplet = @host@ subdir = man/ko DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -78,6 +79,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -89,6 +92,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -128,6 +132,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -193,9 +200,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/ko/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/ko/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/ko/Makefile + $(AUTOMAKE) --foreign man/ko/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/man/lastlog.8 b/man/lastlog.8 index 77b6bfa3..8552f424 100644 --- a/man/lastlog.8 +++ b/man/lastlog.8 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "LASTLOG" "8" "08/10/2005" "" "" +.TH "LASTLOG" "8" "10/01/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -14,45 +14,47 @@ lastlog \- examine lastlog file \fBlastlog\fR [\fIoptions\fR] .SH "DESCRIPTION" .PP -\fBlastlog\fR -formats and prints the contents of the last login log -\fI/var/log/lastlog\fR -file. The -\fI login\-name\fR, -\fIport\fR, and -\fIlast login time\fR -will be printed. The default (no flags) causes lastlog entries to be printed, sorted by their order in +\fBlastlog\fR +formats and prints the contents of the last login log +\fI/var/log/lastlog\fR +file. The +\fIlogin\-name\fR, +\fIport\fR, and +\fIlast login time\fR +will be printed. The default (no flags) causes lastlog entries to be printed, sorted by their order in \fI/etc/passwd\fR. .SH "OPTIONS" +.PP +The options which apply to the +\fBlastlog\fR +command are: .TP -The options which apply to the \fBlastlog\fR command are: +\fB\-b\fR, \fB\-\-before\fR \fIDAYS\fR +Print only lastlog records older than +\fIDAYS\fR. .TP \fB\-h\fR, \fB\-\-help\fR -Print help message and exit. +Display help message and exit. .TP \fB\-t\fR, \fB\-\-time\fR \fIDAYS\fR -Print the lastlog records more recent than +Print the lastlog records more recent than \fIDAYS\fR. .TP \fB\-u\fR, \fB\-\-user\fR \fILOGIN\fR -Print the lastlog record for user with specified -\fILOGIN\fR +Print the lastlog record for user with specified +\fILOGIN\fR only. .TP The \fB\-t\fR flag overrides the use of \fB\-u\fR. - .PP -If the user has never logged in the message -\fI **Never logged in**\fR +If the user has never logged in the message +\fI** Never logged in**\fR will be displayed instead of the port and time. .SH "NOTE" .PP -The -\fBlastlog\fR -file is a database which contains info on the last login of each user. You should not rotate it. It is a sparse file, so its size on the disk is much smaller than the one shown by -\fBls \-l\fR -(which can indicate a really big file if you have a high UID). You can display its real size with -\fBls \-s\fR. +The +\fIlastlog\fR +file is a database which contains info on the last login of each user. You should not rotate it. It is a sparse file, so its size on the disk is much smaller than the one shown by "\fBls \-l\fR" (which can indicate a really big file if you have a high UID). You can display its real size with "\fBls \-s\fR". .SH "FILES" .TP \fI/var/log/lastlog\fR diff --git a/man/lastlog.8.xml b/man/lastlog.8.xml index 57fd15d5..cd11ff4e 100644 --- a/man/lastlog.8.xml +++ b/man/lastlog.8.xml @@ -2,7 +2,7 @@ - + lastlog 8 @@ -14,93 +14,99 @@ - lastlog + lastlog - options + options - + DESCRIPTION - lastlog formats and prints the contents of the last - login log /var/log/lastlog file. The login-name, port, - and last login time will be printed. - The default (no flags) causes lastlog entries to be printed, sorted by - their order in /etc/passwd. + + lastlog formats and prints the contents of the last + login log /var/log/lastlog file. The + login-name, port, and + last login time will be printed. The default (no + flags) causes lastlog entries to be printed, sorted by their order in + /etc/passwd. - + OPTIONS - - - - The options which apply to the lastlog - command are: - - - + + The options which apply to the lastlog command are: + - - , - - - Print help message and exit. - + + , DAYS + + + + Print only lastlog records older than DAYS. + + - - , + + , + + + Display help message and exit. + + + + + , DAYS - - - - Print the lastlog records more recent than + + + + Print the lastlog records more recent than DAYS. - - + + - - , + + , LOGIN - - - Print the lastlog record for user with specified + + + Print the lastlog record for user with specified LOGIN only. - - + + - - The flag overrides the use of . - - - - + + The flag overrides the use of . + + + + - - If the user has never logged in the message - **Never logged in** will be displayed instead of the port and - time. + + + If the user has never logged in the message ** Never logged + in** will be displayed instead of the port and time. - + NOTE - The lastlog file is a database which contains info + The lastlog file is a database which contains info on the last login of each user. You should not rotate it. It is a sparse file, so its size on the disk is much smaller than the one shown by - ls -l (which can indicate a really big file if + "ls -l" (which can indicate a really big file if you have a high UID). You can display its real size with - ls -s. + "ls -s". @@ -108,20 +114,23 @@ FILES - /var/log/lastlog - lastlog logging file + /var/log/lastlog + + lastlog logging file + - + CAVEATS - Large gaps in uid numbers will cause the lastlog program to run + + 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). - + AUTHORS Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/limits.5 b/man/limits.5 index 7cbc875d..13699e72 100644 --- a/man/limits.5 +++ b/man/limits.5 @@ -1,75 +1,65 @@ -.\"$Id: limits.5,v 1.9 2005/04/05 18:47:50 kloczek Exp $ -.TH LIMITS 5 -.SH NAME +.\" ** You probably do not want to edit this file directly ** +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). +.\" Instead of manually editing it, you probably should edit the DocBook XML +.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. +.TH "LIMITS" "5" "10/01/2005" "" "" +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.SH "NAME" limits \- Resource limits definition -.SH DESCRIPTION -The \fIlimits\fR file (/etc/limits by default or LIMITS_FILE defined -config.h) describes the resource limits you wish to impose. It should be -owned by root and readable by root account only. +.SH "DESCRIPTION" .PP -By default no quotas are imposed on 'root'. In fact, there is no way to impose -limits via this procedure to root\-equiv accounts (accounts with UID 0). +The +\fIlimits\fR +file (/etc/limits by default or LIMITS_FILE defined config.h) describes the resource limits you wish to impose. It should be owned by root and readable by root account only. +.PP +By default no quota is imposed on 'root'. In fact, there is no way to impose limits via this procedure to root\-equiv accounts (accounts with UID 0). .PP Each line describes a limit for a user in the form: -.sp -.I user LIMITS_STRING .PP -The \fBLIMITS_STRING\fP is a string of a concatenated list of resource limits. -Each limit consists of a letter identifier followed by a numerical limit. +\fIuser LIMITS_STRING\fR +.PP +The +\fILIMITS_STRING\fR +is a string of a concatenated list of resource limits. Each limit consists of a letter identifier followed by a numerical limit. .PP The valid identifiers are: -.sp -A: max address space (KB) -.br -C: max core file size (KB) -.br -D: max data size (KB) -.br -F: maximum filesize (KB) -.br -M: max locked\-in\-memory address space (KB) -.br -N: max number of open files -.br -R: max resident set size (KB) -.br -S: max stack size (KB) -.br -T: max CPU time (MIN) -.br -U: max number of processes -.br -K: file creation mask, set by \fBumask\fR(2). -.br -L: max number of logins for this user -.br -P: process priority, set by \fBsetpriority\fR(2). .PP -For example, \fIL2D2048N5\fP is a valid \fBLIMITS_STRING\fP. For reading convenience, -the following entries are equivalent: -.sp -username L2D2048N5 -.br -username L2 D2048 N5 +A: max address space (KB) C: max core file size (KB) D: max data size (KB) F: maximum filesize (KB) M: max locked\-in\-memory address space (KB) N: max number of open files R: max resident set size (KB) S: max stack size (KB) T: max CPU time (MIN) U: max number of processes K: file creation mask, set by +\fBumask\fR(2) +. L: max number of logins for this user P: process priority, set by +\fBsetpriority\fR(2). .PP -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. +For example, +\fIL2D2048N5\fR +is a valid +\fILIMITS_STRING \fR. For reading convenience, the following entries are equivalent: .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. +username L2D2048N5username L2 D2048 N5 .PP -To completely disable limits for a user, a single dash "\fB\-\fP" will do. +Be aware that after +\fIusername\fR +the rest of the line is considered a limit string, thus comments are not allowed. A invalid limits string will be rejected (not considered) by the login program. .PP -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 +The default entry is denoted by username "\fI*\fR". If you have multiple +\fIdefault\fR +entries in your +\fILIMITS_FILE\fR, then the last one will be used as the default entry. +.PP +To completely disable limits for a user, a single dash "\fI\-\fR +"will do. +.PP +Also, please note that all limit settings are set PER LOGIN. They are not global, nor are they permanent. Perhaps global limits will come, but for now this will have to do ;) +.SH "FILES" +.TP \fI/etc/limits\fR -.SH SEE ALSO -.BR login (1), -.BR setpriority (2), -.BR setrlimit (2) -.SH AUTHOR +.SH "SEE ALSO" +.PP +\fBlogin\fR(1), +\fBsetpriority\fR(2), +\fBsetrlimit\fR(2). +.SH "AUTHOR" +.PP Cristian Gafton (gafton@sorosis.ro) diff --git a/man/limits.5.xml b/man/limits.5.xml index 84b4fd8f..18266cb6 100644 --- a/man/limits.5.xml +++ b/man/limits.5.xml @@ -1,8 +1,8 @@ - - + + LIMITS 5 @@ -12,130 +12,119 @@ Resource limits definition - + DESCRIPTION - The 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. + The 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. - - 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). + + + By default no quota is imposed on 'root'. In fact, there is no way to + impose limits via this procedure to root-equiv accounts (accounts with + UID 0). - + Each line describes a limit for a user in the form: - + user LIMITS_STRING - + - The LIMITS_STRING is a string of a + The LIMITS_STRING is a string of a concatenated list of resource limits. Each limit consists of a letter identifier followed by a numerical limit. - + The valid identifiers are: - + A: max address space (KB) - C: max core file size (KB) - D: max data size (KB) - F: maximum filesize (KB) - M: max locked-in-memory address space (KB) - N: max number of open files - R: max resident set size (KB) - S: max stack size (KB) - T: max CPU time (MIN) - U: max number of processes - - K: file creation mask, set by + K: file creation mask, set by - umask2 + umask2 . - L: max number of logins for this user - - P: process priority, set by + P: process priority, set by - setpriority2 - - . + setpriority2 + . - - For example, L2D2048N5 is a valid - LIMITS_STRING . For reading - convenience, the following entries are equivalent: + + + For example, L2D2048N5 is a valid + LIMITS_STRING . For reading convenience, the + following entries are equivalent: - + username L2D2048N5 username L2 D2048 N5 - - Be aware that after username the - rest of the line is considered a limit string, thus comments are not + + + Be aware that after username 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. - - The default entry is denoted by username "*". If you have multiple default entries in your LIMITS_FILE, then the last one will be used as - the default entry. + + + The default entry is denoted by username "*". If + you have multiple default entries in + your LIMITS_FILE, then the last one will be used + as the default entry. - - To completely disable limits for a user, a single dash "- "will do. - - - 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 ;) + + + To completely disable limits for a user, a single dash + "- "will do. + + 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 ;) - + FILES - /etc/limits - + /etc/limits + - + SEE ALSO - - login1 + + + login1 , - setpriority2 + setpriority2 , - setrlimit2 - + setrlimit2 + . - + AUTHOR Cristian Gafton (gafton@sorosis.ro) diff --git a/man/login.1 b/man/login.1 index a44c3bcf..271bfdc4 100644 --- a/man/login.1 +++ b/man/login.1 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "LOGIN" "1" "08/03/2005" "User Commands" "User Commands" +.TH "LOGIN" "1" "10/01/2005" "User Commands" "User Commands" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -18,62 +18,61 @@ login \- begin session on the system \fBlogin\fR [\-p] \-r\ \fIhost\fR .SH "DESCRIPTION" .PP -\fBlogin\fR -is used to establish a new session with the system. It is normally invoked automatically by responding to the -\fIlogin:\fR -prompt on the user\(aas terminal. -\fBlogin\fR -may be special to the shell and may not be invoked as a sub\-process. Typically, -\fBlogin\fR -is treated by the shell as -\fIexec login\fR -which causes the user to exit from the current shell. Attempting to execute -\fBlogin\fR +\fBlogin\fR +is used to establish a new session with the system. It is normally invoked automatically by responding to the +\fIlogin:\fR +prompt on the user\(aas terminal. +\fBlogin\fR +may be special to the shell and may not be invoked as a sub\-process. Typically, +\fBlogin\fR +is treated by the shell as +\fIexec login\fR +which causes the user to exit from the current shell. Attempting to execute +\fBlogin\fR from any shell but the login shell will produce an error message. .PP -The user is then prompted for a password, where appropriate. Echoing is disabled to prevent revealing the password. Only a small number of password failures are permitted before -\fBlogin\fR +The user is then prompted for a password, where appropriate. Echoing is disabled to prevent revealing the password. Only a small number of password failures are permitted before +\fBlogin\fR exits and the communications link is severed. .PP -If password aging has been enabled for your account, you may be prompted for a new password before proceeding. You will be forced to provide your old password and the new password before continuing. Please refer to -\fBpasswd\fR(1) +If password aging has been enabled for your account, you may be prompted for a new password before proceeding. You will be forced to provide your old password and the new password before continuing. Please refer to +\fBpasswd\fR(1) for more information. .PP -After a successful login, you will be informed of any system messages and the presence of mail. You may turn off the printing of the system message file, -\fI/etc/motd\fR, by creating a zero\-length file -.hushlogin -in your login directory. The mail message will be one of "\fIYou have new mail.\fR -", "\fIYou have mail.\fR", or "\fINo Mail.\fR +After a successful login, you will be informed of any system messages and the presence of mail. You may turn off the printing of the system message file, +\fI/etc/motd\fR, by creating a zero\-length file +.hushlogin +in your login directory. The mail message will be one of "\fIYou have new mail.\fR", "\fIYou have mail.\fR", or "\fINo Mail.\fR "according to the condition of your mailbox. .PP -Your user and group ID will be set according to their values in the -\fI/etc/passwd\fR -file. The value for -\fI$HOME\fR, -\fI$SHELL\fR, -\fI$PATH\fR, -\fI$LOGNAME\fR, and -\fI$MAIL\fR +Your user and group ID will be set according to their values in the +\fI/etc/passwd\fR +file. The value for +\fI$HOME\fR, +\fI$SHELL\fR, +\fI$PATH\fR, +\fI$LOGNAME\fR, and +\fI$MAIL\fR are set according to the appropriate fields in the password entry. Ulimit, umask and nice values may also be set according to entries in the GECOS field. .PP -On some installations, the environmental variable -\fI$TERM\fR -will be initialized to the terminal type on your tty line, as specified in +On some installations, the environmental variable +\fI$TERM\fR +will be initialized to the terminal type on your tty line, as specified in \fI/etc/ttytype\fR. .PP An initialization script for your command interpreter may also be executed. Please see the appropriate manual section for more information on this function. .PP A subsystem login is indicated by the presence of a "*" as the first character of the login shell. The given home directory will be used as the root of a new file system which the user is actually logged into. .PP -The -\fBlogin\fR -program is NOT responsible for removing users from the utmp file. It is the responsibility of -getty(8) -and -init(8) -to clean up apparent ownership of a terminal session. If you use -\fBlogin\fR -from the shell prompt without +The +\fBlogin\fR +program is NOT responsible for removing users from the utmp file. It is the responsibility of +\fBgetty\fR(8) +and +\fBinit\fR(8) +to clean up apparent ownership of a terminal session. If you use +\fBlogin\fR +from the shell prompt without \fBexec\fR, the user you use will continue to appear to be logged in even after you log out of the "subsession". .SH "OPTIONS" .TP @@ -89,18 +88,18 @@ Preserve environment. \fB\-r\fR Perform autologin protocol for rlogin. .PP -The -\fB\-r\fR, -\fB\-h\fR -and -\fB\-f\fR -options are only used when -\fBlogin\fR +The +\fB\-r\fR, +\fB\-h\fR +and +\fB\-f\fR +options are only used when +\fBlogin\fR is invoked by root. .SH "CAVEATS" .PP -This version of -\fBlogin\fR +This version of +\fBlogin\fR has many compilation options, only some of which may be in use at any particular site. .PP The location of files is subject to differences in system configuration. @@ -131,14 +130,15 @@ list of terminal types suppress printing of system messages .SH "SEE ALSO" .PP -\fBmail\fR(1), -\fBpasswd\fR(1), -\fBsh\fR(1), -\fBsu\fR(1), -\fBlogin.defs\fR(5), -\fBnologin\fR(5), -\fBpasswd\fR(5), -\fBgetty\fR(8) +\fBmail\fR(1), +\fBpasswd\fR(1), +\fBsh\fR(1), +\fBsu\fR(1), +\fBlogin.defs\fR(5), +\fBnologin\fR(5), +\fBpasswd\fR(5), +\fBsecuretty\fR(5), +\fBgetty\fR(8). .SH "AUTHOR" .PP Julianne Frances Haugh diff --git a/man/login.1.xml b/man/login.1.xml index ec2087dc..960c8876 100644 --- a/man/login.1.xml +++ b/man/login.1.xml @@ -2,7 +2,7 @@ - + LOGIN 1 @@ -33,10 +33,11 @@ -r host - + DESCRIPTION - login is used to establish a new session with the + + login is used to establish a new session with the system. It is normally invoked automatically by responding to the login: prompt on the user´s terminal. login may be special to the shell and may @@ -46,192 +47,220 @@ execute login from any shell but the login shell will produce an error message. - - 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 - login exits and the communications link is severed. + + + 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 login exits + and the communications link is severed. - - If password aging has been enabled for your account, you may be + + + 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 passwd1 for more information. - - 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, /etc/motd, by creating a + + + 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, /etc/motd, by creating a zero-length file .hushlogin in your login directory. - The mail message will be one of "You have new - mail. ", "You have mail.", - or "No Mail. "according to the - condition of your mailbox. - - - Your user and group ID will be set according to their values in - the /etc/passwd file. The value for $HOME, $SHELL, - $PATH, $LOGNAME, - and $MAIL 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. - - - On some installations, the environmental variable $TERM will be initialized to the terminal type on - your tty line, as specified in /etc/ttytype. - - - An initialization script for your command interpreter may also be - executed. Please see the appropriate manual section for more - information on - this function. - - - A subsystem login is indicated by the presence of a "*" as the - first character of the login shell. The given home directory will be - used as the root of a new file system which the user is actually - logged into. + The mail message will be one of "You have new + mail.", "You have mail.", or + "No Mail. "according to the condition of your + mailbox. - The login program is NOT responsible for - removing users from the utmp file. It is the responsibility of - getty8 and - init8 to clean - up apparent ownership of a terminal session. If you use - login from the shell prompt without - exec, the user you use will continue to appear to - be logged in even after you log out of the "subsession". + + Your user and group ID will be set according to their values in the + /etc/passwd file. The value for + $HOME, $SHELL, + $PATH, $LOGNAME, and + $MAIL 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. + + + + On some installations, the environmental variable + $TERM will be initialized to the terminal type on + your tty line, as specified in /etc/ttytype. + + + + An initialization script for your command interpreter may also be + executed. Please see the appropriate manual section for more + information on this function. + + + + A subsystem login is indicated by the presence of a "*" as the first + character of the login shell. The given home directory will be used as + the root of a new file system which the user is actually logged into. + + + + The login program is NOT responsible for removing + users from the utmp file. It is the responsibility of + getty + 8 and + init + 8 to clean up apparent ownership + of a terminal session. If you use login from the + shell prompt without exec, the user you use will + continue to appear to be logged in even after you log out of the + "subsession". - + OPTIONS - - - - - Do not perform authentication, user is preauthenticated. - - + + + + + Do not perform authentication, user is preauthenticated. + + - - - - - Name of the remote host for this login. - + + + + + Name of the remote host for this login. + - - - - - Preserve environment. - + + + + + Preserve environment. + - - - - - Perform autologin protocol for rlogin. - + + + + + Perform autologin protocol for rlogin. + - + The , and options are only used when login is invoked by root. - + CAVEATS This version of login has many compilation options, only some of which may be in use at any particular site. - + The location of files is subject to differences in system configuration. - + FILES - /var/run/utmp - list of current login sessions + /var/run/utmp + + list of current login sessions + - /var/log/wtmp - list of previous login sessions + /var/log/wtmp + + list of previous login sessions + - /etc/passwd - user account information + /etc/passwd + + user account information + - /etc/shadow - secure user account information + /etc/shadow + + secure user account information + - /etc/motd - system message of the day file + /etc/motd + + system message of the day file + - /etc/nologin - prevent non-root users from logging in + /etc/nologin + + prevent non-root users from logging in + - /etc/ttytype - list of terminal types + /etc/ttytype + + list of terminal types + - $HOME/.hushlogin - suppress printing of system messages + $HOME/.hushlogin + + suppress printing of system messages + SEE ALSO - - mail1 + + + mail1 , - passwd1 + passwd1 , - sh1 + sh1 , - su1 + su1 , - login.defs5 + login.defs5 , - nologin5 + nologin5 , - passwd5 + passwd5 , - getty8 - + securetty5 + , + + getty8 + . - + AUTHOR Julianne Frances Haugh <jockgrrl@ix.netcom.com> diff --git a/man/login.access.5 b/man/login.access.5 index c4007a18..46327825 100644 --- a/man/login.access.5 +++ b/man/login.access.5 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "LOGIN.ACCESS" "5" "08/03/2005" "" "" +.TH "LOGIN.ACCESS" "5" "10/01/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -11,38 +11,38 @@ login.access \- Login access control table .SH "DESCRIPTION" .PP -The -\fIlogin.access\fR +The +\fIlogin.access\fR file specifies (user, host) combinations and/or (user, tty) combinations for which a login will be either accepted or refused. .PP -When someone logs in, the -\fIlogin.access\fR +When someone logs in, the +\fIlogin.access\fR is scanned for the first entry that matches the (user, host) combination, or, in case of non\-networked logins, the first entry that matches the (user, tty) combination. The permissions field of that table entry determines whether the login will be accepted or refused. .PP Each line of the login access control table has three fields separated by a ":" character: .PP - \fIpermission\fR:\fIusers\fR:\fI origins \fR +\fIpermission\fR:\fIusers\fR:\fI origins \fR .PP -The first field should be a "\fI+\fR" (access granted) or "\fI\-\fR" (access denied) character. The second field should be a list of one or more login names, group names, or -\fIALL\fR -(always matches). The third field should be a list of one or more tty names (for non\-networked logins), host names, domain names (begin with "."), host addresses, internet network numbers (end with "."), -\fIALL\fR -(always matches) or -\fI LOCAL \fR +The first field should be a "\fI+\fR" (access granted) or "\fI\-\fR" (access denied) character. The second field should be a list of one or more login names, group names, or +\fIALL\fR +(always matches). The third field should be a list of one or more tty names (for non\-networked logins), host names, domain names (begin with "."), host addresses, internet network numbers (end with "."), +\fIALL\fR +(always matches) or +\fILOCAL\fR (matches any string that does not contain a "." character). If you run NIS you can use @netgroupname in host or user patterns. .PP -The -\fIEXCEPT\fR +The +\fIEXCEPT\fR operator makes it possible to write very compact rules. .PP The group file is searched only when a name does not match that of the logged\-in user. Only groups are matched in which users are explicitly listed: the program does not look at a user's primary group id value. .SH "FILES" -.PP - \fI/etc/loginn.defs\fR -\- shadow password suite configuration +.TP +\fI/etc/login.defs\fR +shadow password suite configuration .SH "SEE ALSO" .PP -\fBlogin\fR(1) +\fBlogin\fR(1). .SH "AUTHOR" .PP Guido van Rooij diff --git a/man/login.access.5.xml b/man/login.access.5.xml index d3d9cf2c..aacdf053 100644 --- a/man/login.access.5.xml +++ b/man/login.access.5.xml @@ -1,8 +1,8 @@ - - + + LOGIN.ACCESS @@ -13,89 +13,81 @@ Login access control table - + DESCRIPTION - The login.access file specifies - (user, host) combinations and/or - (user, tty) combinations for which a login will be either accepted - or - refused. + The login.access file specifies (user, + host) combinations and/or (user, tty) combinations for which a login + will be either accepted or refused. - + - When someone logs in, the 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. + When someone logs in, the 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. - - Each line of the login access control table has three fields - separated by a - ":" character: + + + Each line of the login access control table has three fields separated + by a ":" character: - + permission:users: - origins + origins - + - The first field should be a "+" - (access granted) or "-" (access - denied) character. The second field should be a list of one or more - login - names, group names, or ALL (always - matches). The third field should be - a list of one or more tty names (for non-networked logins), host - names, + The first field should be a "+" (access granted) + or "-" (access denied) character. The second + field should be a list of one or more login names, group names, or + 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 "."), host addresses, - internet network - numbers (end with "."), ALL (always matches) or - LOCAL - - (matches any string that does not contain a "." - character). If you run - NIS you can use @netgroupname in host or user patterns. + internet network numbers (end with "."), + ALL (always matches) or + LOCAL (matches any string that does not contain a + "." character). If you run NIS you can use + @netgroupname in host or user patterns. - + - The EXCEPT operator makes it - possible to write very compact rules. + The EXCEPT operator makes it possible to write + very compact rules. - - 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. + + + 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. - + FILES - - /etc/loginn.defs - shadow password suite - configuration - + + + /etc/login.defs + + shadow password suite configuration + + + - + SEE ALSO - - login1 - + + + login1 + . - + AUTHOR Guido van Rooij diff --git a/man/login.defs.5 b/man/login.defs.5 index 5f5387c5..d4696225 100644 --- a/man/login.defs.5 +++ b/man/login.defs.5 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "LOGIN.DEFS" "5" "08/03/2005" "" "" +.TH "LOGIN.DEFS" "5" "09/30/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -11,8 +11,8 @@ login.defs \- shadow password suite configuration .SH "DESCRIPTION" .PP -The -\fI/etc/login.defs\fR +The +\fI/etc/login.defs\fR file defines the site\-specific configuration for the shadow password suite. This file is required. Absence of this file will not prevent system operation, but will probably result in undesirable operation. .PP This file is a readable text file, each line of the file describing one configuration parameter. The lines consist of a configuration name and value, separated by whitespace. Blank lines and comment lines are ignored. Comments are introduced with a `#' pound sign and the pound sign must be the first non\-white character of the line. @@ -22,36 +22,37 @@ Parameter values may be of four types: strings, booleans, numbers, and long numb The following configuration items are provided: .TP CHFN_AUTH (boolean) -If -\fIyes\fR, the -\fBchfn\fR -and -\fBchsh\fR +If +\fIyes\fR, the +\fBchfn\fR +and +\fBchsh\fR programs will require authentication before making any changes, unless run by the superuser. .TP CHFN_RESTRICT (string) -This parameter specifies which values in the -\fIgecos\fR -field of the -\fI/etc/passwd\fR -file may be changed by regular users using the -\fBchfn\fR -program. It can be any combination of letters -\fIf\fR -,\fIr\fR, -\fIw\fR, +This parameter specifies which values in the +\fIgecos\fR +field of the +\fI/etc/passwd\fR +file may be changed by regular users using the +\fBchfn\fR +program. It can be any combination of letters +\fIf\fR +,\fIr\fR, +\fIw\fR, \fIh\fR, for Full name, Room number, Work phone, and Home phone, respectively. For backward compatibility, "yes" is equivalent to "rwh" and "no" is equivalent to "frwh". If not specified, only the superuser can make any changes. The most restrictive setting is better achieved by not installing chfn SUID. .TP CREATE_HOME (boolean) -This defines whether useradd should create home directories for users by default. This option is OR'ed with the -\fB\-m\fR +This defines whether useradd should create home directories for users by default. This option is OR'ed with the +\fB\-m\fR flag on useradd command line. .TP GID_MAX (number), GID_MIN (number) -Range of group IDs to choose from for the -\fBuseradd\fR -and -\fBgroupadd\fRprograms. +Range of group IDs to choose from for the +\fBuseradd\fR +and +\fBgroupadd\fR +programs. .TP MAIL_DIR (string) The mail spool directory. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted. If not specified, a compile\-time default is used. @@ -68,8 +69,8 @@ The number of days warning given before a password expires. A zero means warning PASS_MAX_DAYS, PASS_MIN_DAYS and PASS_WARN_AGE are only used at the time of account creation. Any changes to these settings won't affect existing accounts. .TP UID_MAX (number), UID_MIN (number) -Range of user IDs to choose from for the -\fBuseradd\fR +Range of user IDs to choose from for the +\fBuseradd\fR program. .TP UMASK (number) @@ -106,20 +107,20 @@ usermod MAIL_DIR .SH "BUGS" .PP -Much of the functionality that used to be provided by the shadow password suite is now handled by PAM. Thus, -\fI/etc/login.defs\fR -is no longer used by programs such as: -\fBlogin\fR(1), -\fBpasswd\fR(1), +Much of the functionality that used to be provided by the shadow password suite is now handled by PAM. Thus, +\fI/etc/login.defs\fR +is no longer used by programs such as: +\fBlogin\fR(1), +\fBpasswd\fR(1), \fBsu\fR(1). Please refer to the corresponding PAM configuration files instead. .SH "SEE ALSO" .PP -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBsu\fR(1), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBpam\fR(8) +\fBlogin\fR(1), +\fBpasswd\fR(1), +\fBsu\fR(1), +\fBpasswd\fR(5), +\fBshadow\fR(5), +\fBpam\fR(8). .SH "AUTHORS" .PP Julianne Frances Haugh (jockgrrl@ix.netcom.com) Chip Rosenthal (chip@unicom.com) diff --git a/man/login.defs.5.xml b/man/login.defs.5.xml index 897cbc02..95e51c57 100644 --- a/man/login.defs.5.xml +++ b/man/login.defs.5.xml @@ -2,7 +2,7 @@ - + login.defs 5 @@ -11,26 +11,28 @@ login.defs shadow password suite configuration - + DESCRIPTION - The /etc/login.defs file defines the + + The /etc/login.defs file defines the site-specific configuration for the shadow password suite. This file is required. Absence of this file will not prevent system operation, but will probably result in undesirable operation. - - This file is a readable text file, each line of the file - describing one configuration parameter. The lines consist of a - configuration name and value, separated by whitespace. Blank lines and - comment lines are ignored. Comments are introduced with a `#' pound - sign and the pound sign must be the first non-white character of the - line. + + + This file is a readable text file, each line of the file describing + one configuration parameter. The lines consist of a configuration name + and value, separated by whitespace. Blank lines and comment lines are + ignored. Comments are introduced with a `#' pound sign and the pound + sign must be the first non-white character of the line. - - 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 + + + 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 @@ -38,244 +40,254 @@ value with “0x”). The maximum value of the regular and long numeric parameters is machine-dependent. - + The following configuration items are provided: - + - CHFN_AUTH (boolean) - - If yes, the - chfn and chsh programs - will require authentication before making any changes, unless - run by the superuser. - - + CHFN_AUTH (boolean) + + + If yes, the + chfn and chsh programs + will require authentication before making any changes, unless + run by the superuser. + + - CHFN_RESTRICT (string) - - This parameter specifies which values in the gecos field of the - /etc/passwd file may be changed by regular - users using the chfn program. It can be any - combination of letters f - ,r, w, - h, for Full name, Room number, - Work phone, and Home phone, respectively. For backward - compatibility, "yes" is equivalent to "rwh" and "no" is - equivalent to "frwh". If not specified, only the superuser can - make any changes. The most restrictive setting is better - achieved by not installing chfn SUID. - - + CHFN_RESTRICT (string) + + + This parameter specifies which values in the gecos field of the + /etc/passwd file may be changed by regular + users using the chfn program. It can be any + combination of letters f + ,r, w, + h, for Full name, Room number, + Work phone, and Home phone, respectively. For backward + compatibility, "yes" is equivalent to "rwh" and "no" is + equivalent to "frwh". If not specified, only the superuser can + make any changes. The most restrictive setting is better + achieved by not installing chfn SUID. + + - CREATE_HOME (boolean) - - This defines whether useradd should create home directories - for users by default. This option is OR'ed with the - flag on useradd command line. - - + CREATE_HOME (boolean) + + + This defines whether useradd should create home directories for + users by default. This option is OR'ed with the + flag on useradd command line. + + - GID_MAX (number) - GID_MIN (number) - - - Range of group IDs to choose from for the - useradd and - groupaddprograms. - - + GID_MAX (number) + GID_MIN (number) + + + Range of group IDs to choose from for the + useradd and groupadd + programs. + + - MAIL_DIR (string) - - The mail spool directory. This is needed to manipulate the - mailbox when its corresponding user account is modified or - deleted. If not specified, a compile-time default is used. - - + MAIL_DIR (string) + + + The mail spool directory. This is needed to manipulate the + mailbox when its corresponding user account is modified or + deleted. If not specified, a compile-time default is used. + + - PASS_MAX_DAYS (number) - - The maximum number of days a password may be used. If the - password is older than this, a password change will be forced. - If not specified, -1 will be assumed (which disables the - restriction). - - + PASS_MAX_DAYS (number) + + + The maximum number of days a password may be used. If the + password is older than this, a password change will be forced. + If not specified, -1 will be assumed (which disables the + restriction). + + - 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, -1 will be assumed (which disables - the restriction). - - + 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, -1 will be assumed (which disables + the restriction). + + - 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. - - + 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. + + - - PASS_MAX_DAYS, PASS_MIN_DAYS and PASS_WARN_AGE are only used at - the time of account creation. Any changes to these settings won't - affect existing accounts. + + + PASS_MAX_DAYS, PASS_MIN_DAYS and PASS_WARN_AGE are only used at the + time of account creation. Any changes to these settings won't affect + existing accounts. - UID_MAX (number) - UID_MIN (number) - - - Range of user IDs to choose from for the - useradd program. - - + UID_MAX (number) + UID_MIN (number) + + + Range of user IDs to choose from for the + useradd program. + + - UMASK (number) - - The permission mask is initialized to this value. If not - specified, the permission mask will be initialized to 077. - - + UMASK (number) + + + The permission mask is initialized to this value. If not + specified, the permission mask will be initialized to 077. + + - USERDEL_CMD (string) - - 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 (string) + + + 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). + + - + CROSS REFERENCE - The following cross reference shows which programs in the shadow + + The following cross reference shows which programs in the shadow password suite use which parameters. - chfn - - CHFN_AUTH CHFN_RESTRICT - + chfn + + CHFN_AUTH CHFN_RESTRICT + - chsh - - CHFN_AUTH - + chsh + + CHFN_AUTH + - groupadd - - GID_MAX GID_MIN - + groupadd + + GID_MAX GID_MIN + - newusers - - PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE - UMASK - - + newusers + + PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE + UMASK + + - pwconv - - PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE - + pwconv + + PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE + - useradd - - CREATE_HOME - GID_MAX GID_MIN - PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE - UID_MAX UID_MIN - UMASK - - + useradd + + CREATE_HOME + GID_MAX GID_MIN + PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE + UID_MAX UID_MIN + UMASK + + - userdel - - MAIL_DIR - USERDEL_CMD - - + userdel + + MAIL_DIR + USERDEL_CMD + + - usermod - - MAIL_DIR - - + usermod + + MAIL_DIR + + - + BUGS - Much of the functionality that used to be provided by the shadow + + Much of the functionality that used to be provided by the shadow password suite is now handled by PAM. Thus, /etc/login.defs is no longer used by programs - such as: - - login1 - , - - passwd1 - , - - su1 - . - Please refer to the corresponding PAM configuration files instead. + such as: + login1 + , + passwd1 + , + su1 + . Please refer to the corresponding PAM configuration + files instead. - + SEE ALSO - - login1 + + + login1 , - passwd1 + passwd1 , - su1 + su1 , - passwd5 + passwd5 , - shadow5 + shadow5 , - pam8 - + pam8 + . - + AUTHORS Julianne Frances Haugh (jockgrrl@ix.netcom.com) Chip Rosenthal (chip@unicom.com) diff --git a/man/logoutd.8 b/man/logoutd.8 index 9ae8d372..432c9f82 100644 --- a/man/logoutd.8 +++ b/man/logoutd.8 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "LOGOUTD" "8" "08/03/2005" "" "" +.TH "LOGOUTD" "8" "09/30/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -14,15 +14,15 @@ logoutd \- Enforce login time restrictions \fBlogoutd\fR .SH "DESCRIPTION" .PP -\fBlogoutd\fR -enforces the login time and port restrictions specified in -\fI/etc/porttime\fR. -\fBlogoutd\fR -should be started from -\fI/etc/rc\fR. The -\fI/var/run/utmp\fR -file is scanned periodically and each user name is checked to see if the named user is permitted on the named port at the current time. Any login session which is violating the restrictions in -\fI/etc/porttime\fR +\fBlogoutd\fR +enforces the login time and port restrictions specified in +\fI/etc/porttime\fR. +\fBlogoutd\fR +should be started from +\fI/etc/rc\fR. The +\fI/var/run/utmp\fR +file is scanned periodically and each user name is checked to see if the named user is permitted on the named port at the current time. Any login session which is violating the restrictions in +\fI/etc/porttime\fR is terminated. .SH "FILES" .TP diff --git a/man/logoutd.8.xml b/man/logoutd.8.xml index 7dfab703..c124b3a7 100644 --- a/man/logoutd.8.xml +++ b/man/logoutd.8.xml @@ -1,8 +1,8 @@ - - + + LOGOUTD 8 @@ -14,14 +14,15 @@ - logoutd + logoutd - + DESCRIPTION - logoutd enforces the login time and port - restrictions specified in /etc/porttime. + + logoutd enforces the login time and port + restrictions specified in /etc/porttime. logoutd should be started from /etc/rc. The /var/run/utmp file is scanned periodically and each user name is checked to see if @@ -30,21 +31,25 @@ /etc/porttime is terminated. - + FILES - /etc/porttime - login and port permissions + /etc/porttime + + login and port permissions + - /var/run/utmp - list of current login sessions + /var/run/utmp + + list of current login sessions + - + AUTHOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/newgrp.1 b/man/newgrp.1 index 7dec9d29..1e5048e3 100644 --- a/man/newgrp.1 +++ b/man/newgrp.1 @@ -1,78 +1,58 @@ -.\"$Id: newgrp.1,v 1.23 2005/04/12 18:08:46 kloczek Exp $ -.\" Copyright 1991, Julianne Frances Haugh -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.TH NEWGRP 1 -.SH NAME +.\" ** You probably do not want to edit this file directly ** +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). +.\" Instead of manually editing it, you probably should edit the DocBook XML +.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. +.TH "NEWGRP" "1" "10/10/2005" "" "" +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.SH "NAME" newgrp \- log in to a new group -.br -sg \- execute command as different group ID -.SH SYNOPSIS -\fBnewgrp\fR [\fB\-\fR] [\fIgroup\fR] -.br -\fBsg\fR [\fB\-\fR] [\fIgroup\fR [[\fB\-c\fR] \fIcommand\fR]] -.SH DESCRIPTION -\fBnewgrp\fR is used to change the current group ID during a login session. -If the optional \fB\-\fR flag is given, the user's environment will be -reinitialized as though the user had logged in, otherwise the current -environment, including current working directory, remains unchanged. +.SH "SYNOPSIS" +.HP 7 +\fBnewgrp\fR [\-] [\fIgroup\fR] +.SH "DESCRIPTION" .PP -\fBnewgrp\fR changes the current real group ID to the named group, or to the -default group listed in \fI/etc/passwd\fR if no group name is given. -\fBnewgrp\fR also tries to add the group to the user groupset. If not root, -the user will be prompted for a password if she do not have a password and -the group does, or if the user is not listed as a member and the group has -a password. The user will be denied access if the group password is empty -and the user is not listed as a member. -If compiled with SHADOWPWD (respectively SHADOWGRP) defined, the password -of the user (respectively, the password and the members of the group) will -be overwritten by the value defined in \fI/etc/shadow\fR (respectively in -\fI/etc/gshadow\fR) if an entry exists for this user (resp. group). +\fBnewgrp\fR +is used to change the current group ID during a login session. If the optional +\fB\-\fR +flag is given, the user's environment will be reinitialized as though the user had logged in, otherwise the current environment, including current working directory, remains unchanged. +.PP +\fBnewgrp\fR +changes the current real group ID to the named group, or to the default group listed in +\fI/etc/passwd\fR +if no group name is given. +\fBnewgrp\fR +also tries to add the group to the user groupset. If not root, the user will be prompted for a password if she does not have a password (in +\fI/etc/shadow\fR +if this user has an entry in the shadowed password file, or in /etc/passwd otherwise) and the group does, or if the user is not listed as a member and the group has a password. The user will be denied access if the group password is empty and the user is not listed as a member. +.PP +If there is an entry for this group in +\fI/etc/gshadow\fR, then the list of members and the password of this group will be taken from this file, otherwise, the entry in +\fI/etc/group\fR +is considered. +.SH "FILES" +.TP +\fI/etc/passwd\fR +user account information +.TP +\fI/etc/shadow\fR +secure user account information +.TP +\fI/etc/group\fR +group account information +.TP +\fI/etc/gshadow\fR +shadow group file +.SH "SEE ALSO" +.PP +\fBid\fR(1), +\fBlogin\fR(1), +\fBsu\fR(1), +\fBgpasswd\fR(1), +\fBgroup\fR(5), +\fBgshadow\fR(5). +.SH "AUTHOR" .PP -The \fBsg\fR command works similar to \fBnewgrp\fR but accepts a command. -The command will be executed with the \fB/bin/sh\fR shell. With most shells you -may run \fBsg\fR from, you need to enclose multi\-word commands in quotes. -Another difference between \fBnewgrp\fR and \fBsg\fR is that some shells -treat \fBnewgrp\fR specially, replacing themselves with a new instance of a -shell that \fBnewgrp\fR creates. This doesn't happen with \fBsg\fR, so upon -exit from a \fBsg\fR command you are returned to your previous group ID. -.SH FILES -\fI/etc/passwd\fR \- user account information -.br -\fI/etc/shadow\fR \- secure user account information -.br -\fI/etc/group\fR \- group account information -.br -\fI/etc/gshadow\fR \- shadow group file -.SH SEE ALSO -.BR id (1), -.BR login (1), -.BR su (1), -.BR gpasswd (1), -.BR group (5), -.BR gshadow (5) -.SH AUTHOR Julianne Frances Haugh diff --git a/man/newgrp.1.xml b/man/newgrp.1.xml new file mode 100644 index 00000000..cd3ddfcf --- /dev/null +++ b/man/newgrp.1.xml @@ -0,0 +1,112 @@ + + + + + + NEWGRP + 1 + + + newgrp + log in to a new group + + + + + newgrp - + group + + + + + DESCRIPTION + + newgrp is used to change the current group ID + during a login session. If the optional 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. + + + + newgrp changes the current real group ID to the + named group, or to the default group listed in + /etc/passwd if no group name is given. + newgrp also tries to add the group to the user + groupset. If not root, the user will be prompted for a password if she + does not have a password (in /etc/shadow if this + user has an entry in the shadowed password file, or in + /etc/passwd otherwise) and the group does, or if the user is not + listed as a member and the group has a password. The user will + be denied access if the group password is empty and the user is + not listed as a member. + + + + If there is an entry for this group in + /etc/gshadow, then the list of members and the + password of this group will be taken from this file, otherwise, the + entry in /etc/group is considered. + + + + + FILES + + + /etc/passwd + + user account information + + + + /etc/shadow + + secure user account information + + + + /etc/group + + group account information + + + + /etc/gshadow + + shadow group file + + + + + + + SEE ALSO + + + id1 + , + + login1 + , + + su1 + , + + gpasswd1 + , + + group5 + , + + gshadow5 + . + + + + + AUTHOR + Julianne Frances Haugh <jockgrrl@ix.netcom.com> + + diff --git a/man/newusers.8 b/man/newusers.8 index b50ebfd4..d7542bab 100644 --- a/man/newusers.8 +++ b/man/newusers.8 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "NEWUSERS" "8" "08/03/2005" "" "" +.TH "NEWUSERS" "8" "09/30/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -14,8 +14,8 @@ newusers \- update and create new users in batch \fBnewusers\fR [\fInew_users\fR] .SH "DESCRIPTION" .PP -\fBnewusers\fR -reads a file of user name and clear\-text password pairs and uses this information to update a group of existing users or to create new users. Each line is in the same format as the standard password file (see +\fBnewusers\fR +reads a file of user name and clear\-text password pairs and uses this information to update a group of existing users or to create new users. Each line is in the same format as the standard password file (see \fBpasswd\fR(5)) with the following exceptions: .TP \fIpw_passwd\fR @@ -34,10 +34,15 @@ This command is intended to be used in a large system environment where many acc .SH "CAVEATS" .PP The input file must be protected since it contains unencrypted passwords. +.SH "FILES" +.TP +\fI/etc/login.defs\fR +shadow password suite configuration .SH "SEE ALSO" .PP -\fBpasswd\fR(1), -\fBuseradd\fR(8) +\fBlogin.defs\fR(5), +\fBpasswd\fR(1), +\fBuseradd\fR(8). .SH "AUTHOR" .PP Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/newusers.8.xml b/man/newusers.8.xml index 9c4b6f5e..3fb6d000 100644 --- a/man/newusers.8.xml +++ b/man/newusers.8.xml @@ -1,8 +1,8 @@ - - + + NEWUSERS 8 @@ -14,93 +14,116 @@ - newusers + newusers - new_users + new_users - + DESCRIPTION - newusers reads a file of user name and - clear-text password pairs and uses this information to update a group - of existing users or to create new users. Each line is in the same - format as the standard password file (see + + newusers reads a file of user name and clear-text + password pairs and uses this information to update a group of existing + users or to create new users. Each line is in the same format as the + standard password file (see passwd5 ) with the following exceptions: - - pw_passwd - - - This field will be encrypted and used as the new value of - the encrypted password. - - + + pw_passwd + + + + This field will be encrypted and used as the new value of the + encrypted password. + + - - pw_age - - - This field will be ignored for shadow passwords if the user - already exists. - - + + pw_age + + + + This field will be ignored for shadow passwords if the user + already exists. + + - - pw_gid - - - 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. - - + + pw_gid + + + + 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. + + - - pw_dir - - - 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. - - + + pw_dir + + + + 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. + + - - This command is intended to be used in a large system environment + + + This command is intended to be used in a large system environment where many accounts are updated at a single time. - + CAVEATS - The input file must be protected since it contains unencrypted + + The input file must be protected since it contains unencrypted passwords. - + + + FILES + + + /etc/login.defs + + shadow password suite configuration + + + + + SEE ALSO - - passwd1 + + + login.defs5 , - useradd8 - + passwd1 + , + + useradd8 + . - + AUTHOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/passwd.1 b/man/passwd.1 index 73497037..a96b9c2f 100644 --- a/man/passwd.1 +++ b/man/passwd.1 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "PASSWD" "1" "08/03/2005" "User Commands" "User Commands" +.TH "PASSWD" "1" "10/01/2005" "User Commands" "User Commands" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -20,30 +20,30 @@ passwd \- change user password \fBpasswd\fR [\-l \-u \-d \-S \-e] \fIlogin\fR .SH "DESCRIPTION" .PP -\fBpasswd\fR -changes passwords for user and group accounts. A normal user may only change the password for his/her own account, the super user may change the password for any account. The administrator of a group may change the password for the group. -\fBpasswd\fR +\fBpasswd\fR +changes passwords for user and group accounts. A normal user may only change the password for his/her own account, the super user may change the password for any account. The administrator of a group may change the password for the group. +\fBpasswd\fR also changes account information, such as the full name of the user, user's login shell, or password expiry date and interval. .PP -The -\fB\-s\fR -option makes -\fBpasswd\fR -call -\fBchsh\fR -to change the user's shell. The -\fB\-f\fR -option makes -\fBpasswd\fR -call -\fBchfn\fR +The +\fB\-s\fR +option makes +\fBpasswd\fR +call +\fBchsh\fR +to change the user's shell. The +\fB\-f\fR +option makes +\fBpasswd\fR +call +\fBchfn\fR to change the user's gecos information. These two options are only meant for compatibility, since the other programs can be called directly. .SS "Password Changes" .PP The user is first prompted for his/her old password, if one is present. This password is then encrypted and compared against the stored password. The user has only one chance to enter the correct password. The super user is permitted to bypass this step so that forgotten passwords may be changed. .PP -After the password has been entered, password aging information is checked to see if the user is permitted to change the password at this time. If not, -\fBpasswd\fR +After the password has been entered, password aging information is checked to see if the user is permitted to change the password at this time. If not, +\fBpasswd\fR refuses to change the password and exits. .PP The user is then prompted for a replacement password. This password is tested for complexity. As a general guideline, passwords should consist of 6 to 8 characters including one or more from each of following sets: @@ -57,77 +57,30 @@ digits 0 thru 9 \(bu punctuation marks .PP -Care must be taken not to include the system default erase or kill characters. -\fBpasswd\fR +Care must be taken not to include the system default erase or kill characters. +\fBpasswd\fR will reject any password which is not suitably complex. .PP -If the password is accepted, -\fBpasswd\fR +If the password is accepted, +\fBpasswd\fR will prompt again and compare the second entry against the first. Both entries are required to match in order for the password to be changed. .SS "Group passwords" .PP -When the -\fB\-g\fR -option is used, the password for the named group is changed. The user must either be the super user, or a group administrator for the named group. The current group password is not prompted for. The -\fB\-r\fR -option is used with the -\fB\-g\fR -option to remove the current password from the named group. This allows group access to all members. The -\fB\-R\fR -option is used with the -\fB\-g\fR +When the +\fB\-g\fR +option is used, the password for the named group is changed. The user must either be the super user, or a group administrator for the named group. The current group password is not prompted for. The +\fB\-r\fR +option is used with the +\fB\-g\fR +option to remove the current password from the named group. This allows group access to all members. The +\fB\-R\fR +option is used with the +\fB\-g\fR option to restrict the named group for all users. -.SS "Password expiry information" -.PP -The password aging information may be changed by the super user with the -\fB\-x\fR, -\fB\-n\fR, -\fB\-w\fR, and -\fB\-i\fR -options. The -\fB\-x\fR -option is used to set the maximum number of days a password remains valid. After -\fImax\fR -days, the password is required to be changed. The -\fB\-n\fR -option is used to set the minimum number of days before a password may be changed. The user will not be permitted to change the password until -\fImin\fR -days have elapsed. The -\fB\-w\fR -option is used to set the number of days of warning the user will receive before his/her password will expire. The warning occurs -\fIwarn\fR -days before the expiration, telling the user how many days remain until the password is set to expire. The -\fB\-i\fR -option is used to disable an account after the password has been expired for a number of days. After a user account has had an expired password for -\fIinact\fR -days, the user may no longer sign on to the account. -.PP -If you wish to immediately expire an account's password, you can use the -\fB\-e\fR -option. This in effect can force a user to change his/her password at the user's next login. You can also use the -\fB\-d\fR -option to delete a user's password (make it empty). Use caution with this option since it can make an account not require a password at all to login, leaving your system open to intruders. -.SS "Account maintenance" -.PP -User accounts may be locked and unlocked with the -\fB\-l\fR -and -\fB\-u\fR -flags. The -\fB\-l\fR -option disables an account by changing the password to a value which matches no possible encrypted value. The -\fB\-u\fR -option re\-enables an account by changing the password back to its previous value. -.PP -The account status may be viewed with the -\fB\-S\fR -option. The status information consists of 7 fields. The first field is the user's login name. The second field indicates if the user account is locked (L), has no password (NP), or has a usable password (P). The third field gives the date of the last password change. The next four fields are the minimum age, maximum age, warning period, and inactivity period for the password. These ages are expressed in days. See -\fIPassword expiry information\fR -above for a discussion of these fields. .SS "Hints for user passwords" .PP -The security of a password depends upon the strength of the encryption algorithm and the size of the key space. The -\fI\\s\-2UNIX\fR +The security of a password depends upon the strength of the encryption algorithm and the size of the key space. The +\fIUNIX\fR System encryption method is based on the NBS DES algorithm and is very secure. The size of the key space depends upon the randomness of the password which is selected. .PP Compromises in password security normally result from careless password selection or handling. For this reason, you should not select a password which appears in a dictionary or which must be written down. The password should also not be a proper name, your license number, birth date, or street address. Any of these may be used as guesses to violate system security. @@ -149,6 +102,64 @@ You may be reasonably sure few crackers will have included this in their diction .SS "Notes about group passwords" .PP Group passwords are an inherent security problem since more than one person is permitted to know the password. However, groups are a useful tool for permitting co\-operation between different users. +.SH "OPTIONS" +.PP +The options which apply to the +\fBpasswd\fR +command are: +.TP +\fB\-a\fR, \fB\-\-all\fR +This option can be used only with +\fB\-S\fR +and causes show status for all users. +.TP +\fB\-d\fR, \fB\-\-delete\fR +Delete a user's password (make it empty). This is a quick way to disable a password for an account. It will set the named account passwordless. +.TP +\fB\-e\fR, \fB\-\-expire\fR +Immediately expire an account\(cqs password. This in effect can force a user to change his/her password at the user\(cqs next login. +.TP +\fB\-h\fR, \fB\-\-help\fR +Display help message and exit. +.TP +\fB\-i\fR, \fB\-\-inactive\fR \fIINACTIVE\fR +This option is used to disable an account after the password has been expired for a number of days. After a user account has had an expired password for +\fIINACTIVE\fR +days, the user may no longer sign on to the account. +.TP +\fB\-k\fR, \fB\-\-keep\-tokens\fR +Indicate change password should be performed only for expired authentication tokens (passwords). The user wishes to keep their non\-expired tokens as before. +.TP +\fB\-l\fR, \fB\-\-lock\fR +Lock the named account. This option disables an account by changing the password to a value which matches no possible encrypted value. +.TP +\fB\-n\fR, \fB\-\-mindays\fR \fIMIN_DAYS\fR +Set the minimum number of days between password changes. A value of zero for this field indicates that the user may change her password at any time. +.TP +\fB\-q\fR, \fB\-\-quiet\fR +quiet mode +.TP +\fB\-r\fR, \fB\-\-repository\fR \fIREPOSITORY\fR +change password in +\fIREPOSITORY\fR +repository +.TP +\fB\-S\fR, \fB\-\-status\fR +Display account status information. The status information consists of 7 fields. The first field is the user\(cqs login name. The second field indicates if the user account is locked (L), has no password (NP), or has a usable password (P). The third field gives the date of the last password change. The next four fields are the minimum age, maximum age, warning period, and inactivity period for the password. These ages are expressed in days. +.TP +\fB\-u\fR, \fB\-\-unlock\fR +Unlock the named account. This option re\-enables an account by changing the password back to its previous value (to value before using +\fB\-l\fR +option). +.TP +\fB\-w\fR, \fB\-\-warndays\fR \fIWARN_DAYS\fR +Set the number of days of warning before a password change is required. The +\fIWARN_DAYS\fR +option is the number of days prior to the password expiring that a user will be warned her password is about to expire. +.TP +\fB\-x\fR, \fB\-\-maxdays\fR \fIMAX_DAYS\fR +Set the maximum number of days a password remains valid. After +\fIMAX_DAYS\fR, the password is required to be changed. .SH "CAVEATS" .PP Not all options may be supported. Password complexity checking may vary from site to site. The user is urged to select a password as complex as he feels comfortable with. Users may not be able to change their password on a system if NIS is enabled and they are not logged into the NIS server. @@ -161,9 +172,9 @@ user account information secure user account information .SH "EXIT VALUES" .PP -The -\fBpasswd\fR -command exits with the following values: +The +\fBpasswd\fR +command exits with the following values: .TP \fI0\fR success @@ -187,9 +198,9 @@ passwd file busy, try again invalid argument to option .SH "SEE ALSO" .PP -\fBgroup\fR(5), -\fBpasswd\fR(5), -\fBshadow\fR(5) +\fBgroup\fR(5), +\fBpasswd\fR(5), +\fBshadow\fR(5). .SH "AUTHOR" .PP Julianne Frances Haugh diff --git a/man/passwd.1.xml b/man/passwd.1.xml index 97060d2a..dadba5c7 100644 --- a/man/passwd.1.xml +++ b/man/passwd.1.xml @@ -2,7 +2,7 @@ - + passwd 1 @@ -15,23 +15,23 @@ - passwd + passwd - -f -s + -f -s - name + name passwd -g - -r + -r -R - group + group @@ -44,29 +44,30 @@ - passwd + passwd - -l + -l -u -d - -S + -S -e login - + DESCRIPTION - passwd changes passwords for user and group + + passwd changes passwords for user and group accounts. A normal user may only change the password for his/her own account, the super user may change the password for any account. The - administrator of a group may change the password for the group. + administrator of a group may change the password for the group. passwd also changes account information, such as the full name of the user, user's login shell, or password expiry date and interval. - + The option makes passwd call chsh to change the user's shell. The @@ -75,251 +76,398 @@ two options are only meant for compatibility, since the other programs can be called directly. - + Password Changes - The user is first prompted for his/her old password, if one is - present. This password is then encrypted and compared against the - stored password. The user has only one chance to enter the correct - password. The super user is permitted to bypass this step so that - forgotten passwords may be changed. - - - After the password has been entered, password aging information - is checked to see if the user is permitted to change the password at - this time. If not, passwd refuses to change the - password and exits. - - - 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: - - - - - lower case alphabetics - - - digits 0 thru 9 - - - punctuation marks - - - - Care must be taken not to include the system default erase or - kill characters. passwd will reject any password - which is not suitably complex. - - - If the password is accepted, passwd will - prompt again and compare the second entry against the first. Both - entries are required to match in order for the password to be - changed. - - - - - Group passwords - When the option is used, the password for the - named group is changed. The user must either be the super user, or a - group administrator for the named group. The current group password - is not prompted for. The option is used with the - option to remove the current password from the - named group. This allows group access to all members. The - option is used with the - option to restrict the named group for all users. + The user is first prompted for his/her old password, if one is + present. This password is then encrypted and compared against the + stored password. The user has only one chance to enter the correct + password. The super user is permitted to bypass this step so that + forgotten passwords may be changed. - - - - Password expiry information - The password aging information may be changed by the super user - with the , , - , and options. The - option is used to set the maximum number of days - a password remains valid. After max - days, the password is required to be changed. The - 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 min days - have elapsed. The option is used to set the - number of days of warning the user will receive before his/her - password will expire. The warning occurs warn days before the expiration, telling the - user how many days remain until the password is set to expire. The - 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 inact - days, the user may no longer sign on to the account. + + + After the password has been entered, password aging information is + checked to see if the user is permitted to change the password at + this time. If not, passwd refuses to change the + password and exits. - - If you wish to immediately expire an account's password, you can - use the option. This in effect can force a user - to change his/her password at the user's next login. You can also - use the option to delete a user's password (make - it empty). Use caution with this option since it can make an account - not require a password at all to login, leaving your system open to - intruders. - - - - - Account maintenance - User accounts may be locked and unlocked with the - and flags. The - option disables an account by changing the - password to a value which matches no possible encrypted value. The - option re-enables an account by changing the - password back to its previous value. - - - The account status may be viewed with the - option. The status information consists of 7 fields. The first - field is the user's login name. The second field indicates if the - user account is locked (L), has no password (NP), or has a usable - password (P). The third field gives the date of the last password - change. The next four fields are the minimum age, maximum age, - warning period, and inactivity period for the password. These ages - are expressed in days. See Password expiry - information above for a discussion of these fields. - - - - - 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 \s-2UNIX 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. - - - Compromises in password security normally result from careless - password selection or handling. For this reason, you should not - select a password which appears in a dictionary or which must be - written down. The password should also not be a proper name, your - license number, birth date, or street address. Any of these may be - used as guesses to violate system security. - - - 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. - - - Other methods of construction involve selecting an easily - remembered phrase from literature and selecting the first or last - letter from each word. An example of this is: + + + 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: - - Ask not for whom the bell tolls - - - which produces - - - An4wtbt - - - - You may be reasonably sure few crackers will have included this - in their dictionaries. You should, however, select your own methods - for constructing passwords and not rely exclusively on the methods - given here. + + lower case alphabetics + + + digits 0 thru 9 + + + punctuation marks + + + + + Care must be taken not to include the system default erase or kill + characters. passwd will reject any password which + is not suitably complex. + + + If the password is accepted, passwd will + prompt again and compare the second entry against the first. Both + entries are required to match in order for the password to be + changed. - + + + Group passwords + + When the option is used, the password for the + named group is changed. The user must either be the super user, or a + group administrator for the named group. The current group password + is not prompted for. The option is used with the + option to remove the current password from the + named group. This allows group access to all members. The + option is used with the + option to restrict the named group for all users. + + + + + 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 + UNIX 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. + + + + Compromises in password security normally result from careless + password selection or handling. For this reason, you should not + select a password which appears in a dictionary or which must be + written down. The password should also not be a proper name, your + license number, birth date, or street address. Any of these may be + used as guesses to violate system security. + + + + 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. + + + + Other methods of construction involve selecting an easily remembered + phrase from literature and selecting the first or last letter from + each word. An example of this is: + + + + + Ask not for whom the bell tolls + + + which produces + + + An4wtbt + + + + + You may be reasonably sure few crackers will have included this in + their dictionaries. You should, however, select your own methods for + constructing passwords and not rely exclusively on the methods given + here. + + + 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. + + 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. - + + + OPTIONS + + The options which apply to the passwd command are: + + + + + , + + + + This option can be used only with and causes show + status for all users. + + + + + + , + + + + Delete a user's password (make it empty). This is a quick way + to disable a password for an account. It will set the named + account passwordless. + + + + + + , + + + + Immediately expire an accounts password. This in effect can + force a user to change his/her password at the users next login. + + + + + , + + Display help message and exit. + + + + + , INACTIVE + + + + This option is used to disable an account after the password has + been expired for a number of days. After a user account has had + an expired password for INACTIVE + days, the user may no longer sign on to the account. + + + + + + , + + + + Indicate change password should be performed only for expired + authentication tokens (passwords). The user wishes to keep their + non-expired tokens as before. + + + + + + , + + + + Lock the named account. This option disables an account by changing + the password to a value which matches no possible encrypted value. + + + + + + , MIN_DAYS + + + + Set the minimum number of days between password changes. A value + of zero for this field indicates that the user may change her + password at any time. + + + + + + , + + + + quiet mode + + + + + + , REPOSITORY + + + + change password in REPOSITORY repository + + + + + + , + + + + Display account status information. The status information + consists of 7 fields. The first field is the users login name. + The second field indicates if the user account is locked (L), + has no password (NP), or has a usable password (P). The third + field gives the date of the last password change. The next four + fields are the minimum age, maximum age, warning period, and + inactivity period for the password. These ages are expressed in + days. + + + + + + , + + + + Unlock the named account. This option re-enables an account by + changing the password back to its previous value (to value before + using option). + + + + + + , WARN_DAYS + + + + Set the number of days of warning before a password change is + required. The WARN_DAYS option is + the number of days prior to the password expiring that a user + will be warned her password is about to expire. + + + + + + , MAX_DAYS + + + + Set the maximum number of days a password remains valid. After + MAX_DAYS, the password is required + to be changed. + + + + + + CAVEATS - Not all options may be supported. Password complexity checking - may vary from site to site. The user is urged to select a password as + + Not all options may be supported. Password complexity checking may + vary from site to site. The user is urged to select a password as complex as he feels comfortable with. Users may not be able to change their password on a system if NIS is enabled and they are not logged into the NIS server. - + FILES - /etc/passwd - user account information + /etc/passwd + + user account information + - /etc/shadow - secure user account information + /etc/shadow + + secure user account information + - + EXIT VALUES The passwd command exits with the following values: - - 0 - success + + 0 + + success + - - 1 - permission denied + + 1 + + permission denied + - - 2 - invalid combination of options + + 2 + + invalid combination of options + - - 3 - unexpected failure, nothing done + + 3 + + unexpected failure, nothing done + - - 4 - unexpected failure, passwd file missing + + 4 + + unexpected failure, passwd file missing + - - 5 - passwd file busy, try again + + 5 + + passwd file busy, try again + - - 6 - invalid argument to option + + 6 + + invalid argument to option + - + SEE ALSO - - group5 + + + group5 , - passwd5 + passwd5 , - shadow5 - + shadow5 + . - + AUTHOR Julianne Frances Haugh <jockgrrl@ix.netcom.com> diff --git a/man/passwd.5 b/man/passwd.5 index 920843ff..ac5f7554 100644 --- a/man/passwd.5 +++ b/man/passwd.5 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "PASSWD" "5" "08/03/2005" "" "" +.TH "PASSWD" "5" "09/30/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -11,8 +11,8 @@ passwd \- The password file .SH "DESCRIPTION" .PP -\fI/etc/passwd\fR -contains various pieces of information for each user account. Included is: +\fI/etc/passwd\fR +contains one line for each user account, with seven fields delimited by colons (\(lq:\(rq). These fields are: .TP 3 \(bu login name @@ -33,41 +33,62 @@ user name or comment field user home directory .TP \(bu -user command interpreter +optional user command interpreter .PP -The password field may not be filled if shadow passwords have been enabled. If shadow passwords are being used, the encrypted password will be found in -\fI/etc/shadow\fR. The encrypted password consists of characters from the 64 characters alphabet a thru z, A thru Z, 0 thru 9, \\. and /. Optionally it can start with a "$" character. This means the encrypted password was generated using another (not DES) algorithm. For example if it starts with "$1$" it means the MD5\-based algorithm was used. Refer to -\fBcrypt\fR(3) -for details on how this string is interpreted. +The encrypted password field may be blank, in which case no password is required to authenticate as the specified login name. However, some applications which read the +\fI/etc/passwd\fR +file may decide not to permit +\fIany\fR +access at all if the +\fIpassword\fR +field is blank. If the +\fIpassword\fR +field is a lower\-case +\(lqx\(rq, then the encrypted password is actually stored in the +\fBshadow\fR(5) +file instead; there +\fImust\fR +be a corresponding line in the +\fIshadow\fR +file, or else the user account is invalid. If the +\fIpassword\fR +field is any other string, then it will be treated as an encrypted password, as specified by +\fBcrypt\fR(3). .PP -The comment field is used by various system utilities, such as +The comment field is used by various system utilities, such as \fBfinger\fR(1). .PP -The home directory field provides the name of the initial working directory. -\fILogin\fR -uses this information to set the value of the -\fB$HOME\fR +The home directory field provides the name of the initial working directory. The +\fBlogin\fR +program uses this information to set the value of the +\fB$HOME\fR environmental variable. .PP -The command interpreter field provides the name of the user's command language interpreter, or the name of the initial program to execute. -\fILogin\fR -uses this information to set the value of the -\fB$SHELL\fR -environmental variable. If this field is empty, it defaults to the value +The command interpreter field provides the name of the user's command language interpreter, or the name of the initial program to execute. The +\fBlogin\fR +program uses this information to set the value of the +\fB$SHELL\fR +environmental variable. If this field is empty, it defaults to the value \fI/bin/sh\fR. .SH "FILES" .TP \fI/etc/passwd\fR user account information +.TP +\fI/etc/shadow\fR +optional encrypted password file .SH "SEE ALSO" .PP -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBsu\fR(1), -\fBshadow\fR(5), -\fBpwconv\fR(8), -\fBpwunconv\fR(8), -\fBsulogin\fR(8) +\fBgetent\fR(1), +\fBlogin\fR(1), +\fBpasswd\fR(1), +\fBsu\fR(1), +\fBcrypt\fR(3), +\fBgetpwnam\fR(3), +\fBshadow\fR(5), +\fBpwconv\fR(8), +\fBpwunconv\fR(8), +\fBsulogin\fR(8). .SH "AUTHOR" .PP Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/passwd.5.xml b/man/passwd.5.xml index e3cd5da3..431ad349 100644 --- a/man/passwd.5.xml +++ b/man/passwd.5.xml @@ -2,7 +2,7 @@ - + passwd 5 @@ -11,106 +11,133 @@ passwd The password file - + DESCRIPTION - /etc/passwd contains various pieces of - information for each user account. Included is: + + /etc/passwd contains one line for each + user account, with seven fields delimited by colons + (:). + These fields are: - login name - + login name + - optional encrypted password - + optional encrypted password + - numerical user ID - + numerical user ID + - numerical group ID - + numerical group ID + - user name or comment field - + user name or comment field + - user home directory - + user home directory + - user command interpreter - + optional user command interpreter + - 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 /etc/shadow. The encrypted - password consists of characters from the 64 characters alphabet a thru - z, A thru Z, 0 thru 9, \. and /. Optionally it can start with a "$" - character. This means the encrypted password was generated using - another (not DES) algorithm. For example if it starts with "$1$" it - means the MD5-based algorithm was used. Refer to + The encrypted password field may be blank, in which case no password + is required to authenticate as the specified login name. However, + some applications which read the /etc/passwd file + may decide not to permit any access at all if the + password field is blank. If the + password field is a lower-case x, + then the encrypted password is actually stored in the + shadow + 5 file instead; there + must be a corresponding line in the + shadow file, or else the user account is invalid. + If the password field is any other string, then + it will be treated as an encrypted password, as specified by crypt - 3 for details on how this string - is interpreted. + 3. + - The comment field is used by various system utilities, such as + + The comment field is used by various system utilities, such as finger 1. - - The home directory field provides the name of the initial working - directory. Login uses this information + + + The home directory field provides the name of the initial working + directory. The login program uses this information to set the value of the $HOME environmental variable. - + - The command interpreter field provides the name of the user's - command language interpreter, or the name of the initial program to - execute. Login uses this information - to set the value of the $SHELL environmental variable. - If this field is empty, it defaults to the value - /bin/sh. + The command interpreter field provides the name of the user's command + language interpreter, or the name of the initial program to execute. + The login program uses this information to set the + value of the $SHELL environmental variable. If this + field is empty, it defaults to the value /bin/sh. - + FILES - /etc/passwd - user account information + /etc/passwd + + user account information + + + + /etc/shadow + + optional encrypted password file + - + SEE ALSO - - login1 + + + getent1 , - passwd1 + login1 , - su1 + passwd1 , - shadow5 + su1 , - pwconv8 + crypt3 , - pwunconv8 + getpwnam3 , - sulogin8 - + shadow5 + , + + pwconv8 + , + + pwunconv8 + , + + sulogin8 + . - + AUTHOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/pl/Makefile.in b/man/pl/Makefile.in index 3b3bef8f..a2c3b9ec 100644 --- a/man/pl/Makefile.in +++ b/man/pl/Makefile.in @@ -38,7 +38,8 @@ host_triplet = @host@ subdir = man/pl DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -80,6 +81,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -91,6 +94,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -130,6 +134,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -232,9 +239,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/pl/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/pl/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/pl/Makefile + $(AUTOMAKE) --foreign man/pl/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/man/porttime.5 b/man/porttime.5 index 81644cff..8dafe0c3 100644 --- a/man/porttime.5 +++ b/man/porttime.5 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "PORTTIME" "5" "08/03/2005" "" "" +.TH "PORTTIME" "5" "10/01/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -11,44 +11,47 @@ porttime \- port access time file .SH "DESCRIPTION" .PP - \fIporttime\fR +\fIporttime\fR contains a list of tty devices, user names, and permitted login times. .PP Each entry consists of three colon separated fields. The first field is a comma separated list of tty devices, or an asterisk to indicate that all tty devices are matched by this entry. The second field is a comma separated list of user names, or an asterisk to indicated that all user names are matched by this entry. The third field is a comma separated list of permitted access times. .PP -Each access time entry consists of zero or more days of the week, abbreviated -\fISu\fR, -\fIMo\fR,\fITu\fR, -\fIWe\fR, -\fITh\fR, -\fIFr\fR, and -\fISa\fR, followed by a pair of times separated by a hyphen. The abbreviation -\fIWk\fR -may be used to represent Monday thru Friday, and -\fIAl\fR -may be used to indicate every day. If no days are given, -\fIAl\fR +Each access time entry consists of zero or more days of the week, abbreviated +\fISu\fR, +\fIMo\fR, +\fITu\fR, +\fIWe\fR, +\fITh\fR, +\fIFr\fR, and +\fISa\fR, followed by a pair of times separated by a hyphen. The abbreviation +\fIWk\fR +may be used to represent Monday thru Friday, and +\fIAl\fR +may be used to indicate every day. If no days are given, +\fIAl\fR is assumed. .SH "EXAMPLES" .PP -The following entry allows access to user -\fIjfh\fR +The following entry allows access to user +\fIjfh\fR on every port during weekdays from 9am to 5pm. .PP *:jfh:Wk0900\-1700 .PP -The following entries allow access only to the users -\fIroot\fR -and -\fIoper\fR -on /dev/console at any time. This illustrates how the -\fI/etc/porttime\fR +The following entries allow access only to the users +\fIroot\fR +and +\fIoper\fR +on +\fI/dev/console\fR +at any time. This illustrates how the +\fI/etc/porttime\fR file is an ordered list of access times. Any other user would match the second entry which does not permit access at any time. .PP -console:root,oper:Al0000\-2400console:*: +console:root,oper:Al0000\-2400 console:*: .PP -The following entry allows access for the user -\fIgames\fR +The following entry allows access for the user +\fIgames\fR on any port during non\-working hours. .PP *:games:Wk1700\-0900,SaSu0000\-2400 @@ -58,7 +61,7 @@ on any port during non\-working hours. file containing port access .SH "SEE ALSO" .PP - \fBlogin\fR(1) +\fBlogin\fR(1). .SH "AUTHOR" .PP Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/porttime.5.xml b/man/porttime.5.xml index a8c1ee58..0cf0689c 100644 --- a/man/porttime.5.xml +++ b/man/porttime.5.xml @@ -2,7 +2,7 @@ - + porttime 5 @@ -11,35 +11,36 @@ porttime port access time file - + DESCRIPTION porttime contains a list of tty devices, user names, and permitted login times. - - 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. + + + 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. - - Each access time entry consists of zero or more days of the week, - abbreviated Su, Mo,Tu, We, Th, Fr, and Sa, - followed by a pair of times separated by a hyphen. The abbreviation - Wk may be used to represent Monday thru - Friday, and Al may be used to indicate - every day. If no days are given, Al is - assumed. + + + Each access time entry consists of zero or more days of the week, + abbreviated Su, Mo, + Tu, We, + Th, Fr, and + Sa, followed by a pair of times separated by a + hyphen. The abbreviation Wk may be used to + represent Monday thru Friday, and Al may be used + to indicate every day. If no days are given, Al + is assumed. - + EXAMPLES @@ -47,54 +48,51 @@ remap='B'>jfh on every port during weekdays from 9am to 5pm. - - + *:jfh:Wk0900-1700 - - - The following entries allow access only to the users root and oper on - /dev/console at any time. This illustrates how the - /etc/porttime file is an ordered list of access - times. Any other user would match the second entry which does not - permit access at any time. + + + The following entries allow access only to the users + root and oper on + /dev/console at any time. This illustrates how + the /etc/porttime file is an ordered list of + access times. Any other user would match the second entry which does + not permit access at any time. - - + console:root,oper:Al0000-2400 - console:*: - - - The following entry allows access for the user games on any port during non-working hours. + + + The following entry allows access for the user + games on any port during non-working hours. - - + *:games:Wk1700-0900,SaSu0000-2400 - - + FILES - /etc/porttime - file containing port access + /etc/porttime + + file containing port access + - + SEE ALSO - login1 - + login1 + . - + AUTHOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/pt_BR/Makefile.in b/man/pt_BR/Makefile.in index a3f30731..486a744a 100644 --- a/man/pt_BR/Makefile.in +++ b/man/pt_BR/Makefile.in @@ -38,7 +38,8 @@ host_triplet = @host@ subdir = man/pt_BR DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -80,6 +81,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -91,6 +94,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -130,6 +134,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -194,9 +201,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/pt_BR/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/pt_BR/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/pt_BR/Makefile + $(AUTOMAKE) --foreign man/pt_BR/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/man/pw_auth.3 b/man/pw_auth.3 index e9261aff..515a95a0 100644 --- a/man/pw_auth.3 +++ b/man/pw_auth.3 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "PW_AUTH" "3" "08/03/2005" "" "" +.TH "PW_AUTH" "3" "09/30/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -13,91 +13,91 @@ pw_auth \- administrator defined password authentication routines .PP \fI#include \fR .PP -\fIint pw_auth (char\fR \fI*command,\fR \fIchar\fR \fI*user,\fR \fIint\fR \fIreason,\fR \fIchar\fR \fI*input)\fR\fI;\fR +\fIint pw_auth (char\fR\fI*command,\fR\fIchar\fR\fI*user,\fR\fIint\fR\fIreason,\fR\fIchar\fR\fI*input)\fR\fI;\fR .SH "DESCRIPTION" .PP -\fIpw_auth\fR +\fIpw_auth\fR invokes the administrator defined functions for a given user. .PP -\fIcommand\fR +\fIcommand\fR is the name of the authentication program. It is retrieved from the user's password file information. The string contains one or more executable file names, delimited by semi\-colons. Each program will be executed in the order given. The command line arguments are given for each of the reasons listed below. .PP -\fIuser\fR -is the name of the user to be authenticated, as given in the -\fI/etc/passwd\fR +\fIuser\fR +is the name of the user to be authenticated, as given in the +\fI/etc/passwd\fR file. User entries are indexed by username. This allows non\-unique user IDs to be present and for each different username associated with that user ID to have a different authentication program and information. .PP -Each of the permissible authentication reasons is handled in a potentially differenent manner. Unless otherwise mentioned, the standard file descriptors 0, 1, and 2 are available for communicating with the user. The real user ID may be used to determine the identity of the user making the authentication request. -\fIreason\fR +Each of the permissible authentication reasons is handled in a potentially differenent manner. Unless otherwise mentioned, the standard file descriptors 0, 1, and 2 are available for communicating with the user. The real user ID may be used to determine the identity of the user making the authentication request. +\fIreason\fR is one of: .TP \fIPW_SU\fR -Perform authentication for the current real user ID attempting to switch real user ID to the named user. The authentication program will be invoked with a -\fB\-s\fR +Perform authentication for the current real user ID attempting to switch real user ID to the named user. The authentication program will be invoked with a +\fB\-s\fR option, followed by the username. .TP \fIPW_LOGIN\fR -Perform authentication for the named user creating a new login session. The authentication program will be invoked with a -\fB\-l\fR +Perform authentication for the named user creating a new login session. The authentication program will be invoked with a +\fB\-l\fR option, followed by the username. .TP \fIPW_ADD\fR -Create a new entry for the named user. This allows an authentication program to initialize storage for a new user. The authentication program will be invoked with a -\fB\-a\fR +Create a new entry for the named user. This allows an authentication program to initialize storage for a new user. The authentication program will be invoked with a +\fB\-a\fR option, followed by the username. .TP \fIPW_CHANGE\fR -Alter an existing entry for the named user. This allows an authentication program to alter the authentication information for an existing user. The authentication program will be invoked with a -\fB\-c\fR +Alter an existing entry for the named user. This allows an authentication program to alter the authentication information for an existing user. The authentication program will be invoked with a +\fB\-c\fR option, followed by the username. .TP \fIPW_DELETE\fR -Delete authentication information for the named user. This allows an authentication program to reclaim storage for a user which is no longer authenticated using the authentication program. The authentication program will be invoked with a -\fB\-d\fR +Delete authentication information for the named user. This allows an authentication program to reclaim storage for a user which is no longer authenticated using the authentication program. The authentication program will be invoked with a +\fB\-d\fR option, followed by the username. .TP \fIPW_TELNET\fR -Authenticate a user who is connecting to the system using the -\fItelnet\fR -command. The authentication program will be invoked with a -\fB\-t\fR +Authenticate a user who is connecting to the system using the +\fBtelnet\fR +command. The authentication program will be invoked with a +\fB\-t\fR option, followed by the username. .TP \fIPW_RLOGIN\fR -Authenticate a user who is connecting to the system using the -\fIrlogin\fR -command. The authentication program will be invoked with a -\fB\-r\fR +Authenticate a user who is connecting to the system using the +\fIrlogin\fR +command. The authentication program will be invoked with a +\fB\-r\fR option, followed by the username. .TP \fIPW_FTP\fR -Authenticate a user who is connecting to the system using the -\fIftp\fR -command. The authentication program will be invoked with a -\fB\-f\fR -option, followed by the username. The standard file descriptors are not available for communicating with the user. The standard input file descriptor will be connected to the parent process, while the other two output file descriptors will be connected to -\fI/dev/null\fR. The -\fIpw_auth\fR +Authenticate a user who is connecting to the system using the +\fIftp\fR +command. The authentication program will be invoked with a +\fB\-f\fR +option, followed by the username. The standard file descriptors are not available for communicating with the user. The standard input file descriptor will be connected to the parent process, while the other two output file descriptors will be connected to +\fI/dev/null\fR. The +\fIpw_auth\fR function will pipe a single line of data to the authentication program using file descriptor 0. .TP \fIPW_REXEC\fR -Authenticate a user who is connecting to the system using the -\fIrexec\fR -command. The authentication program will be invoked with a -\fB\-x\fR -option, followed by the username. The standard file descriptors are not available for communicating with the remote user. The standard input file descriptor will be connected to the parent process, while the other two output file descriptors will be connected to -\fI/dev/null\fR. The -\fIpw_auth\fR +Authenticate a user who is connecting to the system using the +\fIrexec\fR +command. The authentication program will be invoked with a +\fB\-x\fR +option, followed by the username. The standard file descriptors are not available for communicating with the remote user. The standard input file descriptor will be connected to the parent process, while the other two output file descriptors will be connected to +\fI/dev/null\fR. The +\fIpw_auth\fR function will pipe a single line of data to the authentication program using file descriptor 0. .PP -The last argument is the authentication data which is used by the -\fIPW_FTP\fR -and -\fIPW_REXEC\fR -reasons. It is treated as a single line of text which is piped to the authentication program. When the reason is -\fIPW_CHANGE,\fR -the value of -\fIinput\fR +The last argument is the authentication data which is used by the +\fIPW_FTP\fR +and +\fIPW_REXEC\fR +reasons. It is treated as a single line of text which is piped to the authentication program. When the reason is +\fIPW_CHANGE,\fR +the value of +\fIinput\fR is the value of previous user name if the user name is being changed. .SH "CAVEATS" .PP @@ -106,17 +106,17 @@ This function does not create the actual session. It only indicates if the user The network options are untested at this time. .SH "DIAGNOSTICS" .PP -The -\fIpw_auth\fR +The +\fIpw_auth\fR function returns 0 if the authentication program exited with a 0 exit code, and a non\-zero value otherwise. .SH "SEE ALSO" .PP -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBsu\fR(1), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8) +\fBlogin\fR(1), +\fBpasswd\fR(1), +\fBsu\fR(1), +\fBuseradd\fR(8), +\fBuserdel\fR(8), +\fBusermod\fR(8). .SH "AUTHOR" .PP Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/pw_auth.3.xml b/man/pw_auth.3.xml index 27d55d2a..d863a61d 100644 --- a/man/pw_auth.3.xml +++ b/man/pw_auth.3.xml @@ -2,7 +2,7 @@ - + pw_auth 3 @@ -11,45 +11,51 @@ pw_auth administrator defined password authentication routines - + SYNTAX - #include <pwauth.h> + + #include <pwauth.h> - - int pw_auth (char + + + int pw_auth (char *command, - char + char *user, - int + int reason, - char - *input); + char + *input); - + DESCRIPTION - pw_auth - invokes the administrator defined functions for a given user. + + pw_auth invokes the administrator defined + functions for a given user. - - command is the name of the + + + command is the name of the authentication program. It is retrieved from the user's password file information. The string contains one or more executable file names, delimited by semi-colons. Each program will be executed in the order given. The command line arguments are given for each of the reasons listed below. - - user is the name of the user to be + + + user is the name of the user to be authenticated, as given in the /etc/passwd file. User entries are indexed by username. This allows non-unique user IDs to be present and for each different username associated with that user ID to have a different authentication program and information. - - Each of the permissible authentication reasons is handled in a + + + Each of the permissible authentication reasons is handled in a potentially differenent manner. Unless otherwise mentioned, the standard file descriptors 0, 1, and 2 are available for communicating with the user. The real user ID may be used to determine the identity @@ -58,181 +64,190 @@ - - PW_SU - - - Perform authentication for the current real user ID - attempting to switch real user ID to the named user. The - authentication program will be invoked with a - option, followed by the username. - - + + PW_SU + + + + Perform authentication for the current real user ID attempting + to switch real user ID to the named user. The authentication + program will be invoked with a option, + followed by the username. + + - - PW_LOGIN - - - Perform authentication for the named user creating a new - login session. The authentication program will be invoked with a - option, followed by the username. - - + + PW_LOGIN + + + + Perform authentication for the named user creating a new login + session. The authentication program will be invoked with a + option, followed by the username. + + - - PW_ADD - - - Create a new entry for the named user. This allows an - authentication program to initialize storage for a new user. The - authentication program will be invoked with a - option, followed by the username. - - + + PW_ADD + + + + Create a new entry for the named user. This allows an + authentication program to initialize storage for a new user. The + authentication program will be invoked with a + option, followed by the username. + + - - PW_CHANGE - - - Alter an existing entry for the named user. This allows an - authentication program to alter the authentication information - for an existing user. The authentication program will be invoked - with a option, followed by the username. - - + + PW_CHANGE + + + + Alter an existing entry for the named user. This allows an + authentication program to alter the authentication information + for an existing user. The authentication program will be invoked + with a option, followed by the username. + + - - PW_DELETE - - - Delete authentication information for the named user. This - allows an authentication program to reclaim storage for a user - which is no longer authenticated using the authentication - program. The authentication program will be invoked with a - option, followed by the username. - - + + PW_DELETE + + + + Delete authentication information for the named user. This + allows an authentication program to reclaim storage for a user + which is no longer authenticated using the authentication + program. The authentication program will be invoked with a + option, followed by the username. + + - - PW_TELNET - - - Authenticate a user who is connecting to the system using - the telnet command. The - authentication program will be invoked with a - option, followed by the username. - - + + PW_TELNET + + + + Authenticate a user who is connecting to the system using the + telnet command. The authentication program + will be invoked with a option, followed by + the username. + + - - PW_RLOGIN - - - - Authenticate a user who is connecting to the system using the - rlogin command. The - authentication program will be invoked with a - option, followed by the username. - - + + PW_RLOGIN + + + + Authenticate a user who is connecting to the system using the + rlogin command. The + authentication program will be invoked with a + option, followed by the username. + + - - PW_FTP - - - - Authenticate a user who is connecting to the system using the - ftp command. The authentication - program will be invoked with a option, - followed by the username. The standard file descriptors are not - available for communicating with the user. The standard input - file descriptor will be connected to the parent process, while - the other two output file descriptors will be connected to - /dev/null. The pw_auth function will pipe a single line of - data to the authentication program using file descriptor 0. - - + + PW_FTP + + + + Authenticate a user who is connecting to the system using the + ftp command. The authentication program + will be invoked with a option, followed by + the username. The standard file descriptors are not available + for communicating with the user. The standard input file + descriptor will be connected to the parent process, while the + other two output file descriptors will be connected to + /dev/null. The pw_auth + function will pipe a single line of data to the authentication + program using file descriptor 0. + + - - PW_REXEC - - - - Authenticate a user who is connecting to the system using the - rexec command. The authentication - program will be invoked with a option, - followed by the username. The standard file descriptors are not - available for communicating with the remote user. The standard - input file descriptor will be connected to the parent process, - while the other two output file descriptors will be connected to - /dev/null. The pw_auth function will pipe a single line of - data to the authentication program using file descriptor 0. - - + + PW_REXEC + + + + Authenticate a user who is connecting to the system using the + rexec command. The authentication + program will be invoked with a option, + followed by the username. The standard file descriptors are not + available for communicating with the remote user. The standard + input file descriptor will be connected to the parent process, + while the other two output file descriptors will be connected to + /dev/null. The pw_auth + function will pipe a single line of data to the authentication + program using file descriptor 0. + + - - The last argument is the authentication data which is used by the - PW_FTP and PW_REXEC reasons. It is treated as a single line - of text which is piped to the authentication program. When the reason - is PW_CHANGE, the value of + The last argument is the authentication data which is used by the + PW_FTP and PW_REXEC reasons. + It is treated as a single line of text which is piped to the + authentication program. When the reason is + PW_CHANGE, the value of input is the value of previous user name if the user name is being changed. - + CAVEATS - This function does not create the actual session. It only - indicates if the user should be allowed to create the session. + + This function does not create the actual session. It only indicates if + the user should be allowed to create the session. - + The network options are untested at this time. - + DIAGNOSTICS - The pw_auth function returns 0 if the + The pw_auth function returns 0 if the authentication program exited with a 0 exit code, and a non-zero value otherwise. - + SEE ALSO - - login1 + + + login1 , - passwd1 + passwd1 , - su1 + su1 , - useradd8 + useradd8 , - userdel8 + userdel8 , - usermod8 - + usermod8 + . - + AUTHOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/pwck.8 b/man/pwck.8 index dcfe5032..f1d56c22 100644 --- a/man/pwck.8 +++ b/man/pwck.8 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "PWCK" "8" "08/03/2005" "" "" +.TH "PWCK" "8" "09/30/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -16,11 +16,11 @@ pwck \- verify integrity of password files \fBpwck\fR [\-r] [\fIpasswd\fR\ \fIshadow\fR] .SH "DESCRIPTION" .PP -\fBpwck\fR -verifies the integrity of the system authentication information. All entries in the -\fI/etc/passwd\fR -and -\fI/etc/shadow\fR +\fBpwck\fR +verifies the integrity of the system authentication information. All entries in the +\fI/etc/passwd\fR +and +\fI/etc/shadow\fR are checked to see that the entry has the proper format and valid data in each field. The user is prompted to delete entries that are improperly formatted or which have other uncorrectable errors. .PP Checks are made to verify that each entry has: @@ -43,45 +43,45 @@ a valid home directory \(bu a valid login shell .PP -The checks for correct number of fields and unique user name are fatal. If the entry has the wrong number of fields, the user will be prompted to delete the entire line. If the user does not answer affirmatively, all further checks are bypassed. An entry with a duplicated user name is prompted for deletion, but the remaining checks will still be made. All other errors are warning and the user is encouraged to run the -\fBusermod\fR +The checks for correct number of fields and unique user name are fatal. If the entry has the wrong number of fields, the user will be prompted to delete the entire line. If the user does not answer affirmatively, all further checks are bypassed. An entry with a duplicated user name is prompted for deletion, but the remaining checks will still be made. All other errors are warning and the user is encouraged to run the +\fBusermod\fR command to correct the error. .PP -The commands which operate on the -\fI/etc/passwd\fR -file are not able to alter corrupted or duplicated entries. -\fBpwck\fR +The commands which operate on the +\fI/etc/passwd\fR +file are not able to alter corrupted or duplicated entries. +\fBpwck\fR should be used in those circumstances to remove the offending entry. .SH "OPTIONS" .PP -The options which apply to the -\fBpwck\fR +The options which apply to the +\fBpwck\fR command are: .TP \fB\-q\fR Report errors only. Using this option will not require an action from the user. .TP \fB\-r\fR -Execute the -\fBpwck\fR +Execute the +\fBpwck\fR command in read\-only mode. .TP \fB\-s\fR -Sort entries in -\fI/etc/passwd\fR -and -\fI/etc/shadow\fR +Sort entries in +\fI/etc/passwd\fR +and +\fI/etc/shadow\fR by UID. .PP -By default, -\fBpwck\fR -operates on the files -\fI/etc/passwd\fR -and -\fI/etc/shadow\fR. The user may select alternate files with the -\fIpasswd\fR -and -\fIshadow\fR +By default, +\fBpwck\fR +operates on the files +\fI/etc/passwd\fR +and +\fI/etc/shadow\fR. The user may select alternate files with the +\fIpasswd\fR +and +\fIshadow\fR parameters. .SH "FILES" .TP @@ -95,15 +95,15 @@ user account information secure user account information .SH "SEE ALSO" .PP -\fBgroup\fR(5), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBusermod\fR(8) +\fBgroup\fR(5), +\fBpasswd\fR(5), +\fBshadow\fR(5), +\fBusermod\fR(8). .SH "EXIT VALUES" .PP -The -\fBpwck\fR -command exits with the following values: +The +\fBpwck\fR +command exits with the following values: .TP \fI0\fR success diff --git a/man/pwck.8.xml b/man/pwck.8.xml index 53a1f9e4..dcc7193e 100644 --- a/man/pwck.8.xml +++ b/man/pwck.8.xml @@ -2,7 +2,7 @@ - + pwck 8 @@ -18,61 +18,63 @@ -q -s - - passwd - - - shadow - + + passwd + + + shadow + pwck -r - - passwd - - - shadow - + + passwd + + + shadow + - + DESCRIPTION - pwck verifies the integrity of the system + + pwck verifies the integrity of the system authentication information. All entries in the /etc/passwd and /etc/shadow are checked to see that the entry has the proper format and valid data in each field. The user is prompted to delete entries that are improperly formatted or which have other uncorrectable errors. - + Checks are made to verify that each entry has: - the correct number of fields + the correct number of fields - a unique user name + a unique user name - a valid user and group identifier + a valid user and group identifier - a valid primary group + a valid primary group - a valid home directory + a valid home directory - a valid login shell + a valid login shell - - The checks for correct number of fields and unique user name are + + + 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 @@ -81,14 +83,15 @@ is encouraged to run the usermod command to correct the error. - - The commands which operate on the - /etc/passwd file are not able to alter corrupted - or duplicated entries. pwck should be used in - those circumstances to remove the offending entry. + + + The commands which operate on the /etc/passwd + file are not able to alter corrupted or duplicated entries. + pwck should be used in those circumstances to + remove the offending entry. - + OPTIONS @@ -96,80 +99,86 @@ - - - - - + + + + + Report errors only. Using this option will not require an action from the user. - - + + - - - - - + + + + + Execute the pwck command in read-only mode. - - + + - - - - - + + + + + Sort entries in /etc/passwd and /etc/shadow by UID. - - + + By default, pwck operates on the files - /etc/passwd and /etc/shadow. + /etc/passwd and /etc/shadow. The user may select alternate files with the passwd and shadow parameters. - + FILES - /etc/group - group account information + /etc/group + + group account information + - /etc/passwd - user account information + /etc/passwd + + user account information + - /etc/shadow - secure user account information + /etc/shadow + + secure user account information + - + SEE ALSO - group5 + group5 , - passwd5 + passwd5 , - shadow5 + shadow5 , - usermod8 - + usermod8 + . @@ -178,34 +187,46 @@ The pwck command exits with the following values: - - 0 - success - - - 1 - invalid command syntax - - - 2 - one or more bad password entries - - - 3 - can't open password files - - - 4 - can't lock password files - - - 5 - can't update password files - + + 0 + + success + + + + 1 + + invalid command syntax + + + + 2 + + one or more bad password entries + + + + 3 + + can't open password files + + + + 4 + + can't lock password files + + + + 5 + + can't update password files + + - + AUTHOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/pwconv.8 b/man/pwconv.8 index 3835b1bc..01ef4cdc 100644 --- a/man/pwconv.8 +++ b/man/pwconv.8 @@ -1,5 +1,5 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "PWCONV" "8" "26 Sep 1997" "26 Sep 1997" "26 Sep 1997" @@ -20,79 +20,83 @@ pwconv, pwunconv, grpconv, grpunconv \- convert to and from shadow passwords and \fBgrpunconv\fR .SH "DESCRIPTION" .PP -\fBpwconv\fR -creates -\fIshadow\fR -from -\fIpasswd\fR -and an optionally existing +\fBpwconv\fR +creates +\fIshadow\fR +from +\fIpasswd\fR +and an optionally existing \fIshadow\fR. .PP -\fBpwunconv\fR -creates -\fIpasswd\fR -from -\fIpasswd\fR -and -\fIshadow\fR -and then removes +\fBpwunconv\fR +creates +\fIpasswd\fR +from +\fIpasswd\fR +and +\fIshadow\fR +and then removes \fIshadow\fR. .PP -\fBgrpconv\fR -creates -\fIgshadow\fR -from -\fIgroup\fR -and an optionally existing +\fBgrpconv\fR +creates +\fIgshadow\fR +from +\fIgroup\fR +and an optionally existing \fIgshadow\fR. .PP -\fBgrpunconv\fR -creates -\fIgroup\fR -from -\fIgroup\fR -and -\fIgshadow\fR -and then removes +\fBgrpunconv\fR +creates +\fIgroup\fR +from +\fIgroup\fR +and +\fIgshadow\fR +and then removes \fIgshadow\fR. .PP -These four programs all operate on the normal and shadow password and group files: -\fI/etc/passwd\fR, -\fI/etc/group\fR, -\fI/etc/shadow\fR, and +These four programs all operate on the normal and shadow password and group files: +\fI/etc/passwd\fR, +\fI/etc/group\fR, +\fI/etc/shadow\fR, and \fI/etc/gshadow\fR. .PP -Each program acquires the necessary locks before conversion. -\fBpwconv\fR -and -\fBgrpconv\fR +Each program acquires the necessary locks before conversion. +\fBpwconv\fR +and +\fBgrpconv\fR are similar. First, entries in the shadowed file which don't exist in the main file are removed. Then, shadowed entries which don't have `x' as the password in the main file are updated. Any missing shadowed entries are added. Finally, passwords in the main file are replaced with `x'. These programs can be used for initial conversion as well to update the shadowed file if the main file is edited by hand. .PP -\fBpwconv\fR -will use the values of -\fIPASS_MIN_DAYS\fR, -\fIPASS_MAX_DAYS\fR, and -\fIPASS_WARN_AGE\fR -from -\fI/etc/login.defs\fR -when adding new entries to +\fBpwconv\fR +will use the values of +\fIPASS_MIN_DAYS\fR, +\fIPASS_MAX_DAYS\fR, and +\fIPASS_WARN_AGE\fR +from +\fI/etc/login.defs\fR +when adding new entries to \fI/etc/shadow\fR. .PP -Likewise -\fBpwunconv\fR -and -\fBgrpunconv\fR -are similar. Passwords in the main file are updated from the shadowed file. Entries which exist in the main file but not in the shadowed file are left alone. Finally, the shadowed file is removed. Some password aging information is lost by +Likewise +\fBpwunconv\fR +and +\fBgrpunconv\fR +are similar. Passwords in the main file are updated from the shadowed file. Entries which exist in the main file but not in the shadowed file are left alone. Finally, the shadowed file is removed. Some password aging information is lost by \fBpwunconv\fR. It will convert what it can. .SH "BUGS" .PP -Errors in the password or group files (such as invalid or duplicate entries) may cause these programs to loop forever or fail in other strange ways. Please run -\fBpwck\fR -and -\fBgrpck\fR +Errors in the password or group files (such as invalid or duplicate entries) may cause these programs to loop forever or fail in other strange ways. Please run +\fBpwck\fR +and +\fBgrpck\fR to correct any such errors before converting to or from shadow passwords or groups. +.SH "FILES" +.TP +\fI/etc/login.defs\fR +shadow password suite configuration .SH "SEE ALSO" .PP -\fBlogin.defs\fR(5), -\fBgrpck\fR(8), -\fBpwck\fR(8) +\fBgrpck\fR(8), +\fBlogin.defs\fR(5), +\fBpwck\fR(8). diff --git a/man/pwconv.8.xml b/man/pwconv.8.xml index a14e3e9b..21f5b6a2 100644 --- a/man/pwconv.8.xml +++ b/man/pwconv.8.xml @@ -2,7 +2,7 @@ - + 26 Sep 1997 @@ -21,96 +21,119 @@ - pwconv + pwconv - pwunconv + pwunconv - grpconv + grpconv - grpunconv + grpunconv - + DESCRIPTION - pwconv creates + pwconv creates shadow from passwd and an optionally existing shadow. - - pwunconv creates + pwunconv creates passwd from passwd and shadow and then removes shadow. - - grpconv creates + grpconv creates gshadow from group and an optionally existing gshadow. - - grpunconv creates + grpunconv creates group from group and gshadow and then removes gshadow. - - These four programs all operate on the normal and shadow password - and group files: /etc/passwd, + + + These four programs all operate on the normal and shadow password and + group files: /etc/passwd, /etc/group, /etc/shadow, and /etc/gshadow. - - Each program acquires the necessary locks before conversion. - pwconv and grpconv are similar. + + + Each program acquires the necessary locks before conversion. + pwconv and grpconv are similar. First, entries in the shadowed file which don't exist in the main file are removed. Then, shadowed entries which don't have `x' as the password in the main file are updated. Any missing shadowed entries - are added. Finally, passwords in the main file are replaced with `x'. + are added. Finally, passwords in the main file are replaced with `x'. These programs can be used for initial conversion as well to update the shadowed file if the main file is edited by hand. - - pwconv will use the values of + pwconv will use the values of PASS_MIN_DAYS, PASS_MAX_DAYS, and PASS_WARN_AGE from /etc/login.defs when adding new entries to /etc/shadow. - - Likewise pwunconv and - grpunconv are similar. Passwords in the main file - are updated from the shadowed file. Entries which exist in the main - file but not in the shadowed file are left alone. Finally, the - shadowed file is removed. Some password aging information is lost by - pwunconv. It will convert what it can. + + + Likewise pwunconv and grpunconv + are similar. Passwords in the main file are updated from the shadowed + file. Entries which exist in the main file but not in the shadowed + file are left alone. Finally, the shadowed file is removed. Some + password aging information is lost by pwunconv. It + will convert what it can. - + 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 pwck and + + 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 pwck and grpck to correct any such errors before converting to or from shadow passwords or groups. - + + + FILES + + + /etc/login.defs + + shadow password suite configuration + + + + + SEE ALSO - - login.defs5 + + + grpck8 , - grpck8 + login.defs5 , - pwck8 - + pwck8 + . + diff --git a/man/ru/Makefile.in b/man/ru/Makefile.in index c991c7e7..608ba23e 100644 --- a/man/ru/Makefile.in +++ b/man/ru/Makefile.in @@ -38,7 +38,8 @@ host_triplet = @host@ subdir = man/ru DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -77,6 +78,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -88,6 +91,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -127,6 +131,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -187,9 +194,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/ru/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/ru/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/ru/Makefile + $(AUTOMAKE) --foreign man/ru/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/man/sg.1 b/man/sg.1 index d07c5e48..8d3209dc 100644 --- a/man/sg.1 +++ b/man/sg.1 @@ -1 +1,61 @@ -.so man1/newgrp.1 +.\" ** You probably do not want to edit this file directly ** +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). +.\" Instead of manually editing it, you probably should edit the DocBook XML +.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. +.TH "SG" "1" "10/01/2005" "" "" +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.SH "NAME" +sg \- execute command as different group ID +.SH "SYNOPSIS" +.HP 3 +\fBsg\fR [\-] [group\ [\-c\ ]\ command] +.SH "DESCRIPTION" +.PP +The +\fBsg\fR +command works similar to +\fBnewgrp\fR +but accepts a command. The command will be executed with the +\fI/bin/sh\fR +shell. With most shells you may run +\fBsg\fR +from, you need to enclose multi\-word commands in quotes. Another difference between +\fBnewgrp\fR +and +\fBsg\fR +is that some shells treat +\fBnewgrp\fR +specially, replacing themselves with a new instance of a shell that +\fBnewgrp\fR +creates. This doesn't happen with +\fBsg\fR, so upon exit from a +\fBsg\fR +command you are returned to your previous group ID. +.SH "FILES" +.TP +\fI/etc/passwd\fR +user account information +.TP +\fI/etc/shadow\fR +secure user account information +.TP +\fI/etc/group\fR +group account information +.TP +\fI/etc/gshadow\fR +shadow group file +.SH "SEE ALSO" +.PP +\fBid\fR(1), +\fBlogin\fR(1), +\fBnewgrp\fR(1), +\fBsu\fR(1), +\fBgpasswd\fR(1), +\fBgroup\fR(5), +\fBgshadow\fR(5) +.SH "AUTHOR" +.PP +Julianne Frances Haugh diff --git a/man/sg.1.xml b/man/sg.1.xml new file mode 100644 index 00000000..e65e5d0c --- /dev/null +++ b/man/sg.1.xml @@ -0,0 +1,104 @@ + + + + + + SG + 1 + + + sg + execute command as different group ID + + + + + sg + - + group + -c + command + + + + + + DESCRIPTION + + The sg command works similar to + newgrp but accepts a command. The command will be + executed with the /bin/sh shell. With most shells + you may run sg from, you need to enclose multi-word + commands in quotes. Another difference between + newgrp and sg is that some + shells treat newgrp specially, replacing themselves + with a new instance of a shell that newgrp creates. + This doesn't happen with sg, so upon exit from a + sg command you are returned to your previous group + ID. + + + + + FILES + + + /etc/passwd + + user account information + + + + /etc/shadow + + secure user account information + + + + /etc/group + + group account information + + + + /etc/gshadow + + shadow group file + + + + + + + SEE ALSO + + + id1 + , + + login1 + , + + newgrp1 + , + + su1 + , + + gpasswd1 + , + + group5 + , + + gshadow5 + + + + + + AUTHOR + Julianne Frances Haugh <jockgrrl@ix.netcom.com> + + diff --git a/man/shadow.3 b/man/shadow.3 index 17b7fbc6..59c74d03 100644 --- a/man/shadow.3 +++ b/man/shadow.3 @@ -1,43 +1,43 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "SHADOW" "3" "08/03/2005" "" "" +.TH "SHADOW" "3" "10/01/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" -shadow \- encrypted password file routines +shadow, getspnam \- encrypted password file routines .SH "SYNTAX" .PP \fI#include \fR .PP \fIstruct spwd *getspent();\fR .PP -\fIstruct spwd *getspnam(char\fR \fI*name\fR\fI);\fR +\fIstruct spwd *getspnam(char\fR\fI*name\fR\fI);\fR .PP \fIvoid setspent();\fR .PP \fIvoid endspent();\fR .PP -\fIstruct spwd *fgetspent(FILE\fR \fI*fp\fR\fI);\fR +\fIstruct spwd *fgetspent(FILE\fR\fI*fp\fR\fI);\fR .PP -\fIstruct spwd *sgetspent(char\fR \fI*cp\fR\fI);\fR +\fIstruct spwd *sgetspent(char\fR\fI*cp\fR\fI);\fR .PP -\fIint putspent(struct spwd\fR \fI*p,\fR \fIFILE\fR \fI*fp\fR\fI);\fR +\fIint putspent(struct spwd\fR\fI*p,\fR\fIFILE\fR\fI*fp\fR\fI);\fR .PP \fIint lckpwdf();\fR .PP \fIint ulckpwdf();\fR .SH "DESCRIPTION" .PP -\fIshadow\fR -manipulates the contents of the shadow password file, -\fI/etc/shadow\fR. The structure in the -\fI#include\fR +\fIshadow\fR +manipulates the contents of the shadow password file, +\fI/etc/shadow\fR. The structure in the +\fI#include\fR file is: - +.sp .nf struct spwd { char *sp_namp; /* user login name */ @@ -83,47 +83,48 @@ sp_expire \- days since Jan 1, 1970 when account will be disabled sp_flag \- reserved for future use .SH "DESCRIPTION" .PP -\fIgetspent\fR, -\fIgetspname\fR \fIfgetspent\fR, and -\fIsgetspent\fR -each return a pointer to a -\fIstruct spwd\fR. -\fIgetspent\fR -returns the next entry from the file, and -\fIfgetspent\fR -returns the next entry from the given stream, which is assumed to be a file of the proper format. -\fIsgetspent\fR -returns a pointer to a -\fIstruct spwd\fR -using the provided string as input. -\fIgetspnam\fR -searches from the current position in the file for an entry matching +\fIgetspent\fR, +\fIgetspname\fR, +\fIfgetspent\fR, and +\fIsgetspent\fR +each return a pointer to a +\fIstruct spwd\fR. +\fIgetspent\fR +returns the next entry from the file, and +\fIfgetspent\fR +returns the next entry from the given stream, which is assumed to be a file of the proper format. +\fIsgetspent\fR +returns a pointer to a +\fIstruct spwd\fR +using the provided string as input. +\fIgetspnam\fR +searches from the current position in the file for an entry matching \fIname\fR. .PP -\fIsetspent\fR -and -\fIendspent\fR +\fIsetspent\fR +and +\fIendspent\fR may be used to begin and end, respectively, access to the shadow password file. .PP -The -\fIlckpwdf\fR -and -\fIulckpwdf\fR -routines should be used to insure exclusive access to the -\fI/etc/shadow\fR -file. -\fIlckpwdf\fR -attempts to acquire a lock using -\fIpw_lock\fR -for up to 15 seconds. It continues by attempting to acquire a second lock using -\fIspw_lock\fR -for the remainder of the initial 15 seconds. Should either attempt fail after a total of 15 seconds, -\fIlckpwdf\fR +The +\fIlckpwdf\fR +and +\fIulckpwdf\fR +routines should be used to insure exclusive access to the +\fI/etc/shadow\fR +file. +\fIlckpwdf\fR +attempts to acquire a lock using +\fIpw_lock\fR +for up to 15 seconds. It continues by attempting to acquire a second lock using +\fIspw_lock\fR +for the remainder of the initial 15 seconds. Should either attempt fail after a total of 15 seconds, +\fIlckpwdf\fR returns \-1. When both locks are acquired 0 is returned. .SH "DIAGNOSTICS" .PP -Routines return NULL if no more entries are available or if an error occurs during processing. Routines which have -\fIint\fR +Routines return NULL if no more entries are available or if an error occurs during processing. Routines which have +\fIint\fR as the return value return 0 for success and \-1 for failure. .SH "CAVEATS" .PP @@ -134,8 +135,8 @@ These routines may only be used by the super user as access to the shadow passwo secure user account information .SH "SEE ALSO" .PP -\fBgetpwent\fR(3), -\fBshadow\fR(5) +\fBgetpwent\fR(3), +\fBshadow\fR(5). .SH "AUTHOR" .PP Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/shadow.3.xml b/man/shadow.3.xml index a10f9169..c77b97df 100644 --- a/man/shadow.3.xml +++ b/man/shadow.3.xml @@ -2,60 +2,71 @@ - + shadow 3 shadow + getspnam encrypted password file routines - + SYNTAX - #include <shadow.h> + + #include <shadow.h> - - struct spwd *getspent(); + + + struct spwd *getspent(); - - struct spwd *getspnam(char - *name); + + + struct spwd *getspnam(char *name); - - void setspent(); + + + void setspent(); - - void endspent(); + + + void endspent(); - - struct spwd *fgetspent(FILE - *fp); + + + struct spwd *fgetspent(FILE *fp); - - struct spwd *sgetspent(char - *cp); + + + struct spwd *sgetspent(char *cp); - - int putspent(struct spwd - *p, - FILE - *fp); + + + int putspent(struct spwd *p, FILE *fp); - - int lckpwdf(); + + + int lckpwdf(); - - int ulckpwdf(); + + + int ulckpwdf(); - + DESCRIPTION - shadow manipulates the contents of - the shadow password file, /etc/shadow. - The structure in the #include file is: + + shadow manipulates the contents of the + shadow password file, /etc/shadow. The structure + in the #include file is: struct spwd { char *sp_namp; /* user login name */ @@ -72,110 +83,116 @@ The meanings of each field are: - sp_namp - pointer to null-terminated user name + sp_namp - pointer to null-terminated user name - sp_pwdp - pointer to null-terminated password + sp_pwdp - pointer to null-terminated password - sp_lstchg - days since Jan 1, 1970 password was last changed + sp_lstchg - days since Jan 1, 1970 password was last changed - sp_min - days before which password may not be changed + sp_min - days before which password may not be changed - sp_max - days after which password must be changed + sp_max - days after which password must be changed - sp_warn - days before password is to expire that user is warned of + sp_warn - days before password is to expire that user is warned of pending password expiration - sp_inact - days after password expires that account is considered - inactive and disabled + sp_inact - days after password expires that account is considered + inactive and disabled - sp_expire - days since Jan 1, 1970 when account will be disabled + sp_expire - days since Jan 1, 1970 when account will be disabled - sp_flag - reserved for future use + sp_flag - reserved for future use - + - + DESCRIPTION - getspent, getspname fgetspent, and sgetspent each return a pointer to a struct spwd. getspent returns the next entry from the file, - and fgetspent returns the next entry - from the given stream, which is assumed to be a file of the proper - format. sgetspent returns a pointer to - a struct spwd using the provided string - as input. getspnam searches from the - current position in the file for an entry matching name. + + getspent, getspname, + fgetspent, and sgetspent + each return a pointer to a struct spwd. + getspent returns the next entry from the file, + and fgetspent returns the next entry from the + given stream, which is assumed to be a file of the proper format. + sgetspent returns a pointer to a struct + spwd using the provided string as input. + getspnam searches from the current position in + the file for an entry matching name. - setspent and endspent may be used to begin and end, - respectively, access to the shadow password file. + + + setspent and endspent may be + used to begin and end, respectively, access to the shadow password + file. - The lckpwdf and ulckpwdf routines should be used to insure - exclusive access to the /etc/shadow file. - lckpwdf attempts to acquire a lock - using pw_lock for up to 15 seconds. It - continues by attempting to acquire a second lock using spw_lock for the remainder of the initial 15 - seconds. Should either attempt fail after a total of 15 seconds, - lckpwdf returns -1. When both locks are - acquired 0 is returned. + + + The lckpwdf and ulckpwdf + routines should be used to insure exclusive access to the + /etc/shadow file. lckpwdf + attempts to acquire a lock using pw_lock for up + to 15 seconds. It continues by attempting to acquire a second lock + using spw_lock for the remainder of the initial + 15 seconds. Should either attempt fail after a total of 15 seconds, + lckpwdf returns -1. When both locks are acquired + 0 is returned. - + DIAGNOSTICS - Routines return NULL if no more entries are available or if an - error occurs during processing. Routines which have int as the return value return 0 for success and + + Routines return NULL if no more entries are available or if an error + occurs during processing. Routines which have int + as the return value return 0 for success and -1 for failure. - + CAVEATS - These routines may only be used by the super user as access to the + + These routines may only be used by the super user as access to the shadow password file is restricted. - + FILES - /etc/shadow - secure user account information + /etc/shadow + + secure user account information + - + SEE ALSO - - getpwent3 + + + getpwent3 , - shadow5 - + shadow5 + . - + AUTHOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/shadow.5 b/man/shadow.5 index f5f10f0d..871fe060 100644 --- a/man/shadow.5 +++ b/man/shadow.5 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "SHADOW" "5" "08/03/2005" "" "" +.TH "SHADOW" "5" "10/01/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -11,7 +11,7 @@ shadow \- encrypted password file .SH "DESCRIPTION" .PP -\fIshadow\fR +\fIshadow\fR contains the encrypted password information for user's accounts and optional the password aging information. Included is: .TP 3 \(bu @@ -43,15 +43,19 @@ a reserved field .PP The password field must be filled. The encrypted password consists of 13 to 24 characters from the 64 characters alphabet a thru z, A thru Z, 0 thru 9, \\. and /. Optionally it can start with a "$" character. This means the encrypted password was generated using another (not DES) algorithm. For example if it starts with "$1$" it means the MD5\-based algorithm was used. .PP -Refer to -\fBcrypt\fR(3) +Refer to +\fBcrypt\fR(3) for details on how this string is interpreted. .PP +If the password field contains some string that is not valid result of +\fBcrypt\fR(3), for instance ! or *, the user will not be able to use a unix password to log in, subject to +\fBpam\fR(7). +.PP The date of the last password change is given as the number of days since Jan 1, 1970. The password may not be changed again until the proper number of days have passed, and must be changed after the maximum number of days. If the minimum number of days required is greater than the maximum number of day allowed, this password may not be changed by the user. .PP An account is considered to be inactive and is disabled if the password is not changed within the specified number of days after the password expires. An account will also be disabled on the specified day regardless of other password expiration information. .PP -This information supersedes any password or password age information present in +This information supersedes any password or password age information present in \fI/etc/passwd\fR. .PP This file must not be readable by regular users if password security is to be maintained. @@ -64,14 +68,14 @@ user account information secure user account information .SH "SEE ALSO" .PP -\fBchage\fR(1), -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBsu\fR(1), -\fBpasswd\fR(5), -\fBpwconv\fR(8), -\fBpwunconv\fR(8), -\fBsulogin\fR(8) +\fBchage\fR(1), +\fBlogin\fR(1), +\fBsu\fR(1), +\fBpasswd\fR(1), +\fBpasswd\fR(5), +\fBpwconv\fR(8), +\fBpwunconv\fR(8), +\fBsulogin\fR(8). .SH "AUTHOR" .PP Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/shadow.5.xml b/man/shadow.5.xml index b7c2eb63..9c951285 100644 --- a/man/shadow.5.xml +++ b/man/shadow.5.xml @@ -2,7 +2,7 @@ - + shadow 5 @@ -11,125 +11,144 @@ shadow encrypted password file - + DESCRIPTION - shadow contains the encrypted - password information for user's accounts - and optional the password aging information. Included is: + + shadow contains the encrypted password + information for user's accounts and optional the password aging + information. Included is: - login name + login name - encrypted password + encrypted password - days since Jan 1, 1970 that password was last changed + days since Jan 1, 1970 that password was last changed - days before password may be changed + days before password may be changed - days after which password must be changed + days after which password must be changed - days before password is to expire that user is warned + days before password is to expire that user is warned - days after password expires that account is disabled + days after password expires that account is disabled - days since Jan 1, 1970 that account is disabled + days since Jan 1, 1970 that account is disabled - a reserved field + a reserved field - - The password field must be filled. The encrypted password consists - of 13 to 24 characters from the 64 characters alphabet a thru z, A - thru Z, 0 thru 9, \. and /. Optionally it can start with a "$" - character. This means the encrypted password was generated using - another (not DES) algorithm. For example if it starts with "$1$" it - means the MD5-based algorithm was used. - - + - Refer to + The password field must be filled. The encrypted password consists of + 13 to 24 characters from the 64 characters alphabet a thru z, A thru + Z, 0 thru 9, \. and /. Optionally it can start with a "$" character. + This means the encrypted password was generated using another (not + DES) algorithm. For example if it starts with "$1$" it means the + MD5-based algorithm was used. + + + + Refer to - crypt3 + crypt3 for details on how this string is interpreted. - - 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 + + + If the password field contains some string that is not valid result + of crypt + 3 , for instance ! or *, the + user will not be able to use a unix password to log in, subject to + pam + 7. + + + + 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. - - An account is considered to be inactive and is disabled if the + + + 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. - - This information supersedes any password or password age - information present in /etc/passwd. + + + This information supersedes any password or password age information + present in /etc/passwd. - - This file must not be readable by regular users if password - security is to be maintained. + + + This file must not be readable by regular users if password security + is to be maintained. - + FILES - /etc/passwd - user account information + /etc/passwd + + user account information + - /etc/shadow - secure user account information + /etc/shadow + + secure user account information + - + SEE ALSO - chage1 + chage1 , - login1 + login1 , - passwd1 + su1 , - su1 + passwd1 , - passwd5 + passwd5 , - pwconv8 + pwconv8 , - pwunconv8 + pwunconv8 , - sulogin8 - + sulogin8 + . - + AUTHOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/su.1 b/man/su.1 index dfd57968..92459ba7 100644 --- a/man/su.1 +++ b/man/su.1 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "SU" "1" "08/03/2005" "User Commands" "User Commands" +.TH "SU" "1" "10/01/2005" "User Commands" "User Commands" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -14,39 +14,39 @@ su \- change user ID or become super\-user \fBsu\fR [\-] [\fIusername\fR\ [\ \fIargs\fR\ ]] .SH "DESCRIPTION" .PP -\fBsu\fR -is used to become another user during a login session. Invoked without a username, -\fBsu\fR -defaults to becoming the super user. The optional argument -\fB\-\fR +\fBsu\fR +is used to become another user during a login session. Invoked without a username, +\fBsu\fR +defaults to becoming the super user. The optional argument +\fB\-\fR may be used to provide an environment similar to what the user would expect had the user logged in directly. .PP -Additional arguments may be provided after the username, in which case they are supplied to the user\(aas login shell. In particular, an argument of -\fB\-c\fR -will cause the next argument to be treated as a command by most command interpreters. The command will be executed by the shell specified in -\fI/etc/passwd\fR +Additional arguments may be provided after the username, in which case they are supplied to the user\(aas login shell. In particular, an argument of +\fB\-c\fR +will cause the next argument to be treated as a command by most command interpreters. The command will be executed by the shell specified in +\fI/etc/passwd\fR for the target user. .PP The user will be prompted for a password, if appropriate. Invalid passwords will produce an error message. All attempts, both valid and invalid, are logged to detect abuses of the system. .PP -The current environment is passed to the new shell. The value of -\fI$PATH\fR -is reset to -\fI/bin:/usr/bin\fR -for normal users, or -\fI/sbin:/bin:/usr/sbin:/usr/bin\fR -for the super user. This may be changed with the -\fIENV_PATH\fR -and -\fIENV_SUPATH\fR -definitions in +The current environment is passed to the new shell. The value of +\fI$PATH\fR +is reset to +\fI/bin:/usr/bin\fR +for normal users, or +\fI/sbin:/bin:/usr/sbin:/usr/bin\fR +for the super user. This may be changed with the +\fIENV_PATH\fR +and +\fIENV_SUPATH\fR +definitions in \fI/etc/login.defs\fR. .PP A subsystem login is indicated by the presence of a "*" as the first character of the login shell. The given home directory will be used as the root of a new file system which the user is actually logged into. .SH "CAVEATS" .PP -This version of -\fBsu\fR +This version of +\fBsu\fR has many compilation options, only some of which may be in use at any particular site. .SH "FILES" .TP @@ -57,10 +57,10 @@ user account information secure user account information .SH "SEE ALSO" .PP -\fBlogin\fR(1), -\fBsh\fR(1), -\fBlogin.defs\fR(5), -\fBsuauth\fR(5) +\fBlogin\fR(1), +\fBlogin.defs\fR(5), +\fBsh\fR(1), +\fBsuauth\fR(5). .SH "AUTHOR" .PP Julianne Frances Haugh diff --git a/man/su.1.xml b/man/su.1.xml index af457cf6..ccf2e54d 100644 --- a/man/su.1.xml +++ b/man/su.1.xml @@ -2,7 +2,7 @@ - + su 1 @@ -17,54 +17,57 @@ su - - - username - - - args - + + username + + + args + - + DESCRIPTION - su is used to become another user during a login + + su is used to become another user during a login session. Invoked without a username, su defaults to becoming the super user. The optional argument may be used to provide an environment similar to what the user would expect had the user logged in directly. - - 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 will cause the next argument to be + + + 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 will cause the next argument to be treated as a command by most command interpreters. The command will be executed by the shell specified in /etc/passwd for the target user. - + 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. - - The current environment is passed to the new shell. The value of - $PATH is reset to + + + The current environment is passed to the new shell. The value of + $PATH is reset to /bin:/usr/bin for normal users, or /sbin:/bin:/usr/sbin:/usr/bin for the super user. - This may be changed with the ENV_PATH - and ENV_SUPATH definitions in + This may be changed with the ENV_PATH and + ENV_SUPATH definitions in /etc/login.defs. - - A subsystem login is indicated by the presence of a "*" as the - first character of the login shell. The given home directory will be - used as the root of a new file system which the user is actually logged - into. + + + A subsystem login is indicated by the presence of a "*" as the first + character of the login shell. The given home directory will be used as + the root of a new file system which the user is actually logged into. - + CAVEATS @@ -72,38 +75,42 @@ only some of which may be in use at any particular site. - + FILES - /etc/passwd - user account information + /etc/passwd + + user account information + - /etc/shadow - secure user account information + /etc/shadow + + secure user account information + - + SEE ALSO - login1 + login1 , - sh1 + login.defs5 , - login.defs5 + sh1 , - suauth5 - + suauth5 + . - + AUTHOR Julianne Frances Haugh <jockgrrl@ix.netcom.com> diff --git a/man/suauth.5 b/man/suauth.5 index 800c4853..85283eb0 100644 --- a/man/suauth.5 +++ b/man/suauth.5 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "SUAUTH" "5" "08/03/2005" "Feb 14, 1996" "Feb 14, 1996" +.TH "SUAUTH" "5" "10/01/2005" "Feb 14, 1996" "Feb 14, 1996" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -14,39 +14,38 @@ suauth \- Detailed su control file \fB/etc/suauth\fR .SH "DESCRIPTION" .PP -The file -\fI/etc/suauth\fR -is referenced whenever the su command is called. It can change the behaviour of the su command, based upon - +The file +\fI/etc/suauth\fR +is referenced whenever the su command is called. It can change the behaviour of the su command, based upon: +.sp .nf - 1) the user su is targetting .fi +.sp .PP 2) the user executing the su command (or any groups he might be a member of) .PP The file is formatted like this, with lines starting with a # being treated as comment lines and ignored; - +.sp .nf - to\-id:from\-id:ACTION .fi .PP -Where to\-id is either the word -\fIALL\fR, a list of usernames delimited by "," or the words -\fIALL EXCEPT\fR +Where to\-id is either the word +\fIALL\fR, a list of usernames delimited by "," or the words +\fIALL EXCEPT\fR followed by a list of usernames delimited by "," .PP -from\-id is formatted the same as to\-id except the extra word -\fIGROUP\fR -is recognised. -\fIALL EXCEPT GROUP\fR -is perfectly valid too. Following -\fIGROUP\fR -appears one or more group names, delimited by ",". It is not sufficient to have primary group id of the relevant group, an entry in -\fB/etc/group\fR(5) +from\-id is formatted the same as to\-id except the extra word +\fIGROUP\fR +is recognised. +\fIALL EXCEPT GROUP\fR +is perfectly valid too. Following +\fIGROUP\fR +appears one or more group names, delimited by ",". It is not sufficient to have primary group id of the relevant group, an entry in +\fB/etc/group\fR(5) is neccessary. .PP Action can be one only of the following currently supported options. @@ -62,16 +61,15 @@ For the su command to be successful, the user must enter his or her own password .PP Note there are three separate fields delimited by a colon. No whitespace must surround this colon. Also note that the file is examined sequentially line by line, and the first applicable rule is used without examining the file further. This makes it possible for a system administrator to exercise as fine control as he or she wishes. .SH "EXAMPLE" - +.sp .nf - # sample /etc/suauth file # # A couple of privileged usernames may # su to root with their own password. # root:chris,birddog:OWNPASS - # + # # Anyone else may not su to root unless in # group wheel. This is how BSD does things. # @@ -87,6 +85,7 @@ Note there are three separate fields delimited by a colon. No whitespace must su # .fi +.sp .SH "FILES" .TP \fI/etc/suauth\fR @@ -95,16 +94,15 @@ Note there are three separate fields delimited by a colon. No whitespace must su There could be plenty lurking. The file parser is particularly unforgiving about syntax errors, expecting no spurious whitespace (apart from beginning and end of lines), and a specific token delimiting different things. .SH "DIAGNOSTICS" .PP -An error parsing the file is reported using -\fBsyslogd\fR(8) +An error parsing the file is reported using +\fBsyslogd\fR(8) as level ERR on facility AUTH. .SH "SEE ALSO" .PP -\fBsu\fR(1) +\fBsu\fR(1). .SH "AUTHOR" - +.sp .nf - Chris Evans (lady0110@sable.ox.ac.uk) Lady Margaret Hall Oxford University diff --git a/man/suauth.5.xml b/man/suauth.5.xml index 69aeaa46..d474ed22 100644 --- a/man/suauth.5.xml +++ b/man/suauth.5.xml @@ -2,7 +2,7 @@ - + suauth 5 @@ -15,109 +15,101 @@ - /etc/suauth + /etc/suauth - + DESCRIPTION - The file /etc/suauth is referenced - whenever the su command is called. It can change the behaviour of the - su command, based upon + + The file /etc/suauth is referenced whenever the + su command is called. It can change the behaviour of the su command, + based upon: - + 1) the user su is targetting - 2) the user executing the su command (or any groups he might be + + 2) the user executing the su command (or any groups he might be a member of) - - - The file is formatted like this, with lines starting with a # - being treated as comment lines and ignored; + + + The file is formatted like this, with lines starting with a # being + treated as comment lines and ignored; - - + to-id:from-id:ACTION - - - Where to-id is either the word - ALL, - a list of usernames - delimited by "," or the words - ALL EXCEPT - followed by a list - of usernames delimited by "," + + + Where to-id is either the word ALL, a list of + usernames delimited by "," or the words ALL + EXCEPT followed by a list of usernames delimited by "," - - from-id is formatted the same as to-id except the extra word - GROUP - is recognised. - ALL EXCEPT GROUP - is perfectly valid too. - Following - 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 - - /etc/group5 - - is neccessary. + + + from-id is formatted the same as to-id except the extra word + GROUP is recognised. ALL EXCEPT + GROUP is perfectly valid too. Following + 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 + /etc/group + 5 is neccessary. - - Action can be one only of the following currently supported - options. + + + Action can be one only of the following currently supported options. - - DENY - - - The attempt to su is stopped before a password is - even asked for. - - + + DENY + + + The attempt to su is stopped before a password is + even asked for. + + - - NOPASS - - - The attempt to su is automatically successful; no - password is - asked for. - - + + NOPASS + + + + The attempt to su is automatically successful; no password is + asked for. + + - - OWNPASS - - - For the su command to be successful, the user must - enter - his or her own password. They are told this. - - + + OWNPASS + + + + For the su command to be successful, the user must enter his or + her own password. They are told this. + + - - Note there are three separate fields delimited by a colon. No - whitespace must surround this colon. Also note that the file - is examined sequentially line by line, and the first applicable - rule is used without examining the file further. This makes it - possible for a system administrator to exercise as fine control - as he or she wishes. + + + Note there are three separate fields delimited by a colon. No + whitespace must surround this colon. Also note that the file is + examined sequentially line by line, and the first applicable rule is + used without examining the file further. This makes it possible for a + system administrator to exercise as fine control as he or she wishes. - + EXAMPLE @@ -127,7 +119,7 @@ # 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. # @@ -144,45 +136,45 @@ - + FILES - /etc/suauth - + /etc/suauth + - + BUGS - There could be plenty lurking. The file parser is particularly + + 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. - + DIAGNOSTICS - An error parsing the file is reported using - - syslogd8 - - as level ERR on - facility AUTH. + + An error parsing the file is reported using + syslogd8 + as level ERR on facility AUTH. - + SEE ALSO - - su1 - + + + su1 + . - + AUTHOR diff --git a/man/sulogin.8 b/man/sulogin.8 index 65586beb..ec000e80 100644 --- a/man/sulogin.8 +++ b/man/sulogin.8 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "SULOGIN" "8" "08/03/2005" "" "" +.TH "SULOGIN" "8" "09/30/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -11,17 +11,17 @@ sulogin \- Single\-user login .SH "SYNTAX" .PP -\fBsulogin\fR +\fBsulogin\fR [\fItty\-device\fR] .SH "DESCRIPTION" .PP -\fBsulogin\fR -is invoked by -\fBinit\fR -prior to allowing the user access to the system when in single user mode. This feature may only be available on certain systems where -\fBinit\fR -has been modified accordingly, or where the -\fI/etc/inittab\fR +\fBsulogin\fR +is invoked by +\fBinit\fR +prior to allowing the user access to the system when in single user mode. This feature may only be available on certain systems where +\fBinit\fR +has been modified accordingly, or where the +\fI/etc/inittab\fR has an entry for a single user login. .PP The user is prompted @@ -30,21 +30,21 @@ Type control\-d to proceed with normal startup,(or give root password for system .PP Input and output will be performed with the standard file descriptors unless the optional device name argument is provided. .PP -If the user enters the correct root password, a login session is initiated. When -\fIEOF\fR +If the user enters the correct root password, a login session is initiated. When +\fIEOF\fR is pressed instead, the system enters multi\-user mode. .PP -After the user exits the single\-user shell, or presses +After the user exits the single\-user shell, or presses \fIEOF\fR, the system begins the initialization process required to enter multi\-user mode. .SH "CAVEATS" .PP -This command can only be used if -\fBinit\fR -has been modified to call -\fBsulogin\fR -instead of -\fI/bin/sh\fR, or if the user has set the -\fIinittab\fR +This command can only be used if +\fBinit\fR +has been modified to call +\fBsulogin\fR +instead of +\fI/bin/sh\fR, or if the user has set the +\fIinittab\fR to support a single user login. For example, the line: .PP co:s:respawn:/etc/sulogin /dev/console @@ -61,9 +61,9 @@ user account information secure user account information .SH "SEE ALSO" .PP -\fBlogin\fR(1), -\fBsh\fR(1), -\fBinit\fR(8) +\fBlogin\fR(1), +\fBsh\fR(1), +\fBinit\fR(8). .SH "AUTHOR" .PP Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/sulogin.8.xml b/man/sulogin.8.xml index 175457f8..73bb02b8 100644 --- a/man/sulogin.8.xml +++ b/man/sulogin.8.xml @@ -2,7 +2,7 @@ - + sulogin 8 @@ -11,47 +11,49 @@ sulogin Single-user login - + SYNTAX sulogin [tty-device] - + DESCRIPTION - sulogin is invoked by init prior - to allowing the user access to the system when in single user mode. + + sulogin is invoked by init prior + to allowing the user access to the system when in single user mode. This feature may only be available on certain systems where init has been modified accordingly, or where the /etc/inittab has an entry for a single user login. - + The user is prompted - + Type control-d to proceed with normal startup, (or give root password for system maintenance): - - Input and output will be performed with the standard file - descriptors unless - the optional device name argument is provided. + + + Input and output will be performed with the standard file descriptors + unless the optional device name argument is provided. - - If the user enters the correct root password, a login session is - initiated. - When EOF is pressed instead, the + + + If the user enters the correct root password, a login session is + initiated. When EOF is pressed instead, the system enters multi-user mode. - - After the user exits the single-user shell, or presses EOF, the system begins the initialization process + + + After the user exits the single-user shell, or presses + EOF, the system begins the initialization process required to enter multi-user mode. - + CAVEATS @@ -61,49 +63,51 @@ remap='I'>inittab to support a single user login. For example, the line: - - + co:s:respawn:/etc/sulogin /dev/console - - + should execute the sulogin command in single user mode. - - As complete an environment as possible is created. However, - various devices - may be unmounted or uninitialized and many of the user commands may - be - unavailable or nonfunctional as a result. + + + As complete an environment as possible is created. However, various + devices may be unmounted or uninitialized and many of the user + commands may be unavailable or nonfunctional as a result. - + FILES - /etc/passwd - user account information + /etc/passwd + + user account information + - /etc/shadow - secure user account information + /etc/shadow + + secure user account information + - + SEE ALSO - - login1 + + + login1 , - sh1 + sh1 , - init8 - + init8 + . - + AUTHOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/useradd.8 b/man/useradd.8 index 8d7dc4ef..b6acc70d 100644 --- a/man/useradd.8 +++ b/man/useradd.8 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "USERADD" "8" "08/03/2005" "" "" +.TH "USERADD" "8" "09/30/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -17,140 +17,143 @@ useradd \- Create a new user or update default new user information .HP 8 \fBuseradd\fR \-D [\fIoptions\fR] .SH "DESCRIPTION" -.SS "Creating New Users" .PP -When invoked without the -\fB\-D\fR -option, the -\fBuseradd\fR +When invoked without the +\fB\-D\fR +option, the +\fBuseradd\fR command creates a new user account using the values specified on the command line and the default values from the system. Depending on command line options, the useradd command will update system files and may also create the new user's home directory and copy initial files. .SH "OPTIONS" .PP -The options which apply to the -\fBuseradd\fR +The options which apply to the +\fBuseradd\fR command are: .TP \fB\-c\fR, \fB\-\-comment\fR \fICOMMENT\fR Any text string. It is generally a short description of the login, and is currently used as the field for the user's full name. .TP \fB\-b\fR, \fB\-\-base\-dir\fR \fIBASE_DIR\fR -The default base directory for the system if -\fB\-d\fR -dir is not specified. -\fIBASE_DIR\fR -is concatenated with the account name to define the home directory. If the -\fB\-m\fR +The default base directory for the system if +\fB\-d\fR +dir is not specified. +\fIBASE_DIR\fR +is concatenated with the account name to define the home directory. If the +\fB\-m\fR option is not used, base_dir must exist. .TP \fB\-d\fR, \fB\-\-home\fR \fIHOME_DIR\fR -The new user will be created using -\fIHOME_DIR\fR -as the value for the user's login directory. The default is to append the -\fILOGIN\fR -name to -\fIBASE_DIR\fR +The new user will be created using +\fIHOME_DIR\fR +as the value for the user's login directory. The default is to append the +\fILOGIN\fR +name to +\fIBASE_DIR\fR and use that as the login directory name. .TP \fB\-e\fR, \fB\-\-expiredate\fR \fIEXPIRE_DATE\fR -The date on which the user account will be disabled. The date is specified in the format +The date on which the user account will be disabled. The date is specified in the format \fIYYYY\-MM\-DD\fR. .TP \fB\-f\fR, \fB\-\-inactive\fR \fIINACTIVE\fR The number of days after a password expires until the account is permanently disabled. A value of 0 disables the account as soon as the password has expired, and a value of \-1 disables the feature. The default value is \-1. .TP \fB\-g\fR, \fB\-\-gid\fR \fIGROUP\fR -The group name or number of the user's initial login group. The group name must exist. A group number must refer to an already existing group. The default group number is 1 or whatever is specified in +The group name or number of the user's initial login group. The group name must exist. A group number must refer to an already existing group. The default group number is 1 or whatever is specified in \fI/etc/default/useradd\fR. .TP \fB\-G\fR, \fB\-\-groups\fR \fIGROUP1\fR[\fI,GROUP2,...\fR[\fI,GROUPN\fR]]] -A list of supplementary groups which the user is also a member of. Each group is separated from the next by a comma, with no intervening whitespace. The groups are subject to the same restrictions as the group given with the -\fB\-g\fR +A list of supplementary groups which the user is also a member of. Each group is separated from the next by a comma, with no intervening whitespace. The groups are subject to the same restrictions as the group given with the +\fB\-g\fR option. The default is for the user to belong only to the initial group. .TP \fB\-h\fR, \fB\-\-help\fR Display help message and exit. .TP \fB\-m\fR, \fB\-\-create\-home\fR -The user's home directory will be created if it does not exist. The files contained in -\fIskeleton_dir\fR -will be copied to the home directory if the -\fB\-k\fR -option is used, otherwise the files contained in -\fI/etc/skel\fR -will be used instead. Any directories contained in -\fI skeleton_dir\fR -or -\fI/etc/skel\fR -will be created in the user's home directory as well. The -\fB\-k\fR -option is only valid in conjunction with the -\fB\-m\fR +The user's home directory will be created if it does not exist. The files contained in +\fISKEL_DIR\fR +will be copied to the home directory if the +\fB\-k\fR +option is used, otherwise the files contained in +\fI/etc/skel\fR +will be used instead. Any directories contained in +\fISKEL_DIR\fR +or +\fI/etc/skel\fR +will be created in the user's home directory as well. The +\fB\-k\fR +option is only valid in conjunction with the +\fB\-m\fR option. The default is to not create the directory and to not copy any files. .TP \fB\-K\fR, \fB\-\-key\fR \fIKEY\fR=\fIVALUE\fR -Overrides /etc/login.defs defaults (UID_MIN, UID_MAX, UMASK, PASS_MAX_DAYS and others). For example: -\fB\-K\fR \fIPASS_MAX_DAYS\fR=\fI\-1\fR -can be used when creating system account to turn off password ageing, even though system account has no password at all. Multiple -\fB\-K\fR -options can be specified, e.g.: -\fB\-K\fR \fIUID_MIN\fR=\fI100\fR \fB\-K\fR \fIUID_MAX\fR=\fI499\fR +Overrides /etc/login.defs defaults (UID_MIN, UID_MAX, UMASK, PASS_MAX_DAYS and others). -Note: -\fB\-K\fR \fIUID_MIN\fR=\fI10\fR,\fIUID_MAX\fR=\fI499\fR +Example: +\fB\-K \fR\fIPASS_MAX_DAYS\fR=\fI\-1\fR +can be used when creating system account to turn off password ageing, even though system account has no password at all. Multiple +\fB\-K\fR +options can be specified, e.g.: +\fB\-K \fR\fIUID_MIN\fR=\fI100\fR\fB \-K \fR\fIUID_MAX\fR=\fI499\fR +.sp +Note: +\fB\-K \fR\fIUID_MIN\fR=\fI10\fR,\fIUID_MAX\fR=\fI499\fR doesn't work yet. .TP \fB\-o\fR, \fB\-\-non\-unique\fR Allow create user account with duplicate (non\-unique) UID. .TP \fB\-p\fR, \fB\-\-password\fR \fIPASSWORD\fR -The encrypted password, as returned by +The encrypted password, as returned by \fBcrypt\fR(3). The default is to disable the account. .TP \fB\-s\fR, \fB\-\-shell\fR \fISHELL\fR The name of the user's login shell. The default is to leave this field blank, which causes the system to select the default login shell. .TP \fB\-u\fR, \fB\-\-uid\fR \fIUID\fR -The numerical value of the user's ID. This value must be unique, unless the -\fB\-o\fR +The numerical value of the user's ID. This value must be unique, unless the +\fB\-o\fR option is used. The value must be non\-negative. The default is to use the smallest ID value greater than 999 and greater than every other user. Values between 0 and 999 are typically reserved for system accounts. .SS "Changing the default values" .PP -When invoked with the -\fB\-D\fR -option, -\fBuseradd\fR +When invoked with the +\fB\-D\fR +option, +\fBuseradd\fR will either display the current default values, or update the default values from the command line. The valid options are .TP -\fB\-b\fR \fIhome_dir\fR -The initial path prefix for a new user's home directory. The user's name will be affixed to the end of -\fIhome\fR -to create the new directory name if the -\fB\-d\fR +\fB\-b\fR \fIHOME_DIR\fR +The initial path prefix for a new user's home directory. The user's name will be affixed to the end of +\fIHOME_DIR\fR +to create the new directory name if the +\fB\-d\fR option is not used when creating a new account. .TP -\fB\-e\fR \fIexpire_date\fR +\fB\-e\fR \fIEXPIRE_DATE\fR The date on which the user account is disabled. .TP -\fB\-f\fR \fIinactive\fR +\fB\-f\fR \fIINACTIVE\fR The number of days after a password has expired before the account will be disabled. .TP \fB\-g\fR, \fB\-\-gid\fR \fIGROUP\fR -The group name or ID for a new user's initial group. The named group must exist, and a numerical group ID must have an existing entry . +The group name or ID for a new user's initial group. The named group must exist, and a numerical group ID must have an existing entry. .TP \fB\-s\fR, \fB\-\-shell\fR \fISHELL\fR The name of the new user's login shell. The named program will be used for all future new user accounts. .PP -If no options are specified, -\fBuseradd\fR +If no options are specified, +\fBuseradd\fR displays the current default values. .SH "NOTES" .PP -The system administrator is responsible for placing the default user files in the -\fI/etc/skel/\fR +The system administrator is responsible for placing the default user files in the +\fI/etc/skel/\fR directory. .SH "CAVEATS" .PP You may not add a user to a NIS group. This must be performed on the NIS server. +.PP +Usernames must begin with a lower case letter or an underscore, and only lower case letters, underscores, dashes, and dollar signs may follow. In regular expression terms: [a\-z_][a\-z0\-9_\-]*[$] .SH "FILES" .TP \fI/etc/passwd\fR @@ -167,11 +170,14 @@ default information .TP \fI/etc/skel/\fR directory containing default files +.TP +\fI/etc/login.defs\fR +shadow password suite configuration .SH "EXIT VALUES" .PP -The -\fBuseadd\fR -command exits with the following values: +The +\fBuseradd\fR +command exits with the following values: .TP \fI0\fR success @@ -186,7 +192,8 @@ invalid command syntax invalid argument to option .TP \fI4\fR -uid already in use (and no \-o) +uid already in use (and no +\fB\-o\fR) .TP \fI6\fR specified group doesn't exist @@ -204,15 +211,16 @@ can't create home directory can't create mail spool .SH "SEE ALSO" .PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBcrypt\fR(3), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8) +\fBchfn\fR(1), +\fBchsh\fR(1), +\fBpasswd\fR(1), +\fBcrypt\fR(3), +\fBgroupadd\fR(8), +\fBgroupdel\fR(8), +\fBgroupmod\fR(8), +\fBlogin.defs\fR(5), +\fBuserdel\fR(8), +\fBusermod\fR(8). .SH "AUTHOR" .PP Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/useradd.8.xml b/man/useradd.8.xml index 8ca6546c..1e6eda2f 100644 --- a/man/useradd.8.xml +++ b/man/useradd.8.xml @@ -2,7 +2,7 @@ - + useradd 8 @@ -13,139 +13,141 @@ - useradd + useradd - options + options LOGIN - useradd + useradd -D - useradd + useradd -D - options + options - + DESCRIPTION - - Creating New Users - When invoked without the option, the - useradd command creates a new user account using - the values specified on the command line and the default values from - the system. Depending on command line options, the useradd command - will update system files and may also create the new user's home - directory and copy initial files. + When invoked without the option, the + useradd command creates a new user account using + the values specified on the command line and the default values from + the system. Depending on command line options, the useradd command + will update system files and may also create the new user's home + directory and copy initial files. - - + OPTIONS The options which apply to the useradd command are: - - , + + , COMMENT - - - + + + Any text string. It is generally a short description of the login, and is currently used as the field for the user's full name. - + - - , + + , BASE_DIR - - - The default base directory for the system if - dir is not specified. - BASE_DIR is concatenated with the - account name to define the home directory. If the - option is not used, base_dir must exist. + + + + The default base directory for the system if + dir is not specified. BASE_DIR is + concatenated with the account name to define the home directory. + If the option is not used, base_dir must + exist. - + - - , + + , HOME_DIR - - - - The new user will be created using HOME_DIR - as the value for the user's login directory. The default is to append - the LOGIN name to - BASE_DIR and use that as the login directory name. - - - - - - , - EXPIRE_DATE - - - The date on which the user account will be disabled. The - date is specified in the format YYYY-MM-DD. + + + + The new user will be created using + HOME_DIR as the value for the user's + login directory. The default is to append the + LOGIN name to + BASE_DIR and use that as the login + directory name. - + - - , + + , + EXPIRE_DATE + + + + The date on which the user account will be disabled. The date is + specified in the format YYYY-MM-DD. + + + + + + , INACTIVE - - - 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. - - + + + + 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. + + - - , + + , GROUP - - - The group name or number of the user's initial login group. - The group name must exist. A group number must refer to an - already existing group. The default group number is 1 or - whatever is specified in - /etc/default/useradd. - - + + + + The group name or number of the user's initial login group. The + group name must exist. A group number must refer to an already + existing group. The default group number is 1 or whatever is + specified in /etc/default/useradd. + + - - , + + , GROUP1[,GROUP2,...[,GROUPN]]] - - - A list of supplementary groups which the user is also a - member of. Each group is separated from the next by a comma, - with no intervening whitespace. The groups are subject to the - same restrictions as the group given with the - option. The default is for the user to - belong only to the initial group. - - + + + + A list of supplementary groups which the user is also a member + of. Each group is separated from the next by a comma, with no + intervening whitespace. The groups are subject to the same + restrictions as the group given with the + option. The default is for the user to belong only to the + initial group. + + , @@ -154,253 +156,305 @@ - - , - - - The user's home directory will be created if it does not - exist. The files contained in skeleton_dir will be copied to the home - directory if the option is used, otherwise - the files contained in /etc/skel will be - used instead. Any directories contained in - skeleton_dir or /etc/skel will - be created in the user's home directory as well. The - option is only valid in conjunction with the - option. The default is to not create the - directory and to not copy any files. - - + + , + + + + The user's home directory will be created if it does not exist. + The files contained in SKEL_DIR will + be copied to the home directory if the + option is used, otherwise the files contained in + /etc/skel will be used instead. Any + directories contained in SKEL_DIR or + /etc/skel will be created in the user's + home directory as well. The option is only + valid in conjunction with the option. The + default is to not create the directory and to not copy any + files. + + - - , + + , KEY=VALUE - - + + - Overrides /etc/login.defs defaults (UID_MIN, UID_MAX, UMASK, PASS_MAX_DAYS and - others). For example: - PASS_MAX_DAYS=-1 can be - used when creating system account to turn off password ageing, even though - system account has no password at all. Multiple options can - be specified, e.g.: + Overrides /etc/login.defs defaults (UID_MIN, UID_MAX, UMASK, + PASS_MAX_DAYS and others). + + + Example: PASS_MAX_DAYS=-1 + can be used when creating system account to turn off password + ageing, even though system account has no password at all. + Multiple options can be specified, e.g.: + UID_MIN=100 - UID_MAX=499 + + UID_MAX=499 - Note: + Note: UID_MIN=10,UID_MAX=499 doesn't work yet. - + - - , - - - Allow create user account with duplicate (non-unique) UID. - + + , + + + Allow create user account with duplicate (non-unique) UID. + - - , + + , PASSWORD - - - - The encrypted password, as returned by - crypt3 - . The default is to disable the account. - - + + + + The encrypted password, as returned by + crypt3 + . The default is to disable the account. + + - - , + + , SHELL - - - 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. - - + + + + 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. + + - - , + + , UID - - - The numerical value of the user's ID. This value must be - unique, unless the option is used. The value - must be non-negative. The default is to use the smallest ID - value greater than 999 and greater than every other user. - Values between 0 and 999 are typically reserved for system - accounts. - - + + + + The numerical value of the user's ID. This value must be unique, + unless the option is used. The value must be + non-negative. The default is to use the smallest ID value + greater than 999 and greater than every other user. Values + between 0 and 999 are typically reserved for system accounts. + + - + Changing the default values - When invoked with the option, - useradd will either display the current default - values, or update the default values from the command line. The - valid options are + When invoked with the option, + useradd will either display the current default + values, or update the default values from the command line. The + valid options are - - - home_dir - - - The initial path prefix for a new user's home directory. - The user's name will be affixed to the end of home to create the new directory name if - the option is not used when creating a new - account. - - - - - - expire_date - - - The date on which the user account is disabled. - - - - - inactive - - - The number of days after a password has expired before the - account will be disabled. - - - - - - , + + + HOME_DIR + + + + The initial path prefix for a new user's home directory. The + user's name will be affixed to the end of + HOME_DIR to create the new + directory name if the option is not used + when creating a new account. + + + + + + EXPIRE_DATE + + + The date on which the user account is disabled. + + + + + INACTIVE + + + + The number of days after a password has expired before the + account will be disabled. + + + + + + , GROUP - - - The group name or ID for a new user's initial group. The - named group must exist, and a numerical group ID must have an - existing entry . - - - - - - , + + + + The group name or ID for a new user's initial group. The named + group must exist, and a numerical group ID must have an + existing entry. + + + + + + , SHELL - - - The name of the new user's login shell. The named program - will be used for all future new user accounts. - - - + + + + The name of the new user's login shell. The named program will + be used for all future new user accounts. + + + - If no options are specified, useradd - displays the current default values. + + If no options are specified, useradd displays the + current default values. - + NOTES The system administrator is responsible for placing the default user files in the /etc/skel/ directory. - + CAVEATS - You may not add a user to a NIS group. This must be performed on - the NIS server. + + You may not add a user to a NIS group. This must be performed on the + NIS server. + + + Usernames must begin with a lower case letter or an underscore, and + only lower case letters, underscores, dashes, and dollar signs may + follow. In regular expression terms: [a-z_][a-z0-9_-]*[$] - + FILES - /etc/passwd - user account information + /etc/passwd + + user account information + - /etc/shadow - secure user account information + /etc/shadow + + secure user account information + - /etc/group - group account information + /etc/group + + group account information + - /etc/default/useradd - default information + /etc/default/useradd + + default information + - /etc/skel/ - directory containing default files + /etc/skel/ + + directory containing default files + + + + /etc/login.defs + + shadow password suite configuration + - + EXIT VALUES - The useadd command exits with the following values: + The useradd command exits with the following values: - - 0 - success + + 0 + + success + - - 1 - can't update password file + + 1 + + can't update password file + - - 2 - invalid command syntax + + 2 + + invalid command syntax + - - 3 - invalid argument to option + + 3 + + invalid argument to option + - - 4 - uid already in use (and no -o) + + 4 + + uid already in use (and no ) + - - 6 - specified group doesn't exist + + 6 + + specified group doesn't exist + - - 9 - username already in use + + 9 + + username already in use + - - 10 - can't update group file + + 10 + + can't update group file + - - 12 - can't create home directory + + 12 + + can't create home directory + - - 13 - can't create mail spool + + 13 + + can't create mail spool + @@ -408,36 +462,40 @@ SEE ALSO - - chfn1 + + + chfn1 , - chsh1 + chsh1 , - passwd1 + passwd1 , - crypt3 + crypt3 , - groupadd8 + groupadd8 , - groupdel8 + groupdel8 , - groupmod8 + groupmod8 , - userdel8 + login.defs5 , - usermod8 - + userdel8 + , + + usermod8 + . - + AUTHOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/userdel.8 b/man/userdel.8 index a888e317..eec97641 100644 --- a/man/userdel.8 +++ b/man/userdel.8 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "USERDEL" "8" "08/03/2005" "" "" +.TH "USERDEL" "8" "09/30/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -11,17 +11,17 @@ userdel \- Delete a user account and related files .SH "SYNOPSIS" .HP 8 -\fBuserdel\fR [\-r] \fIlogin\fR +\fBuserdel\fR [\-r] \fIlogin_name\fR .SH "DESCRIPTION" .PP -The -\fBuserdel\fR -command modifies the system account files, deleting all entries that refer to -\fIlogin\fR. The named user must exist. +The +\fBuserdel\fR +command modifies the system account files, deleting all entries that refer to +\fIlogin_name\fR. The named user must exist. .SH "OPTIONS" .PP -The options which apply to the -\fBuserdel\fR +The options which apply to the +\fBuserdel\fR command are: .TP \fB\-r\fR @@ -31,6 +31,9 @@ Files in the user's home directory will be removed along with the home directory \fI/etc/group\fR group account information .TP +\fI/etc/login.defs\fR +shadow password suite configuration +.TP \fI/etc/passwd\fR user account information .TP @@ -38,9 +41,9 @@ user account information secure user account information .SH "EXIT VALUES" .PP -The -\fBuserdel\fR -command exits with the following values: +The +\fBuserdel\fR +command exits with the following values: .TP \fI0\fR success @@ -64,19 +67,20 @@ can't update group file can't remove home directory .SH "CAVEATS" .PP -\fBuserdel\fR +\fBuserdel\fR will not allow you to remove an account if the user is currently logged in. You must kill any running processes which belong to an account that you are deleting. You may not remove any NIS attributes on a NIS client. This must be performed on the NIS server. .SH "SEE ALSO" .PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBuseradd\fR(8), -\fBusermod\fR(8) +\fBchfn\fR(1), +\fBchsh\fR(1), +\fBpasswd\fR(1), +\fBlogin.defs\fR(5), +\fBgpasswd\fR(8), +\fBgroupadd\fR(8), +\fBgroupdel\fR(8), +\fBgroupmod\fR(8), +\fBuseradd\fR(8), +\fBusermod\fR(8). .SH "AUTHOR" .PP Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/userdel.8.xml b/man/userdel.8.xml index bcc47581..0c044233 100644 --- a/man/userdel.8.xml +++ b/man/userdel.8.xml @@ -2,7 +2,7 @@ - + USERDEL 8 @@ -13,23 +13,23 @@ - userdel + userdel -r - login + login_name - + DESCRIPTION The userdel command modifies the system account files, deleting all entries that refer to login. The named user must exist. + remap='I'>login_name. The named user must exist. - + OPTIONS @@ -37,117 +37,148 @@ - - - - - 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. - - + + + + + + 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. + + - + FILES - /etc/group - group account information + /etc/group + + group account information + - /etc/passwd - user account information + /etc/login.defs + + shadow password suite configuration + - /etc/shadow - secure user account information + /etc/passwd + + user account information + + + + /etc/shadow + + secure user account information + - + EXIT VALUES The userdel command exits with the following values: - - 0 - success + + 0 + + success + - - 1 - can't update password file + + 1 + + can't update password file + - - 2 - invalid command syntax + + 2 + + invalid command syntax + - - 6 - specified user doesn't exist + + 6 + + specified user doesn't exist + - - 8 - user currently logged in + + 8 + + user currently logged in + - - 10 - can't update group file + + 10 + + can't update group file + - - 12 - can't remove home directory + + 12 + + can't remove home directory + - + CAVEATS - userdel will not allow you to remove an account if + + userdel will not allow you to remove an account if the user is currently logged in. You must kill any running processes which belong to an account that you are deleting. You may not remove any NIS attributes on a NIS client. This must be performed on the NIS server. - + SEE ALSO - chfn1 + chfn1 , - chsh1 + chsh1 , - passwd1 + passwd1 , - gpasswd8 + login.defs5 , - groupadd8 + gpasswd8 , - groupdel8 + groupadd8 , - groupmod8 + groupdel8 , - useradd8 + groupmod8 , - usermod8 - + useradd8 + , + + usermod8 + . - + AUTHOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/usermod.8 b/man/usermod.8 index d61d4a69..774b3fdc 100644 --- a/man/usermod.8 +++ b/man/usermod.8 @@ -1,8 +1,8 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "USERMOD" "8" "08/09/2005" "" "" +.TH "USERMOD" "8" "09/30/2005" "" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -11,29 +11,30 @@ usermod \- Modify a user account .SH "SYNOPSIS" .HP 8 -\fBusermod\fR [\-c\ \fIcomment\fR] [\-d\ \fIhome_dir\fR\ [\-m\ ]] [\-e\ \fIexpire_date\fR] [\-f\ \fIinactive_days\fR] [\-g\ \fIinitial_group\fR] [\-G\ \fIgroup1\fR\ [\ \fI,group2,\fR...\ \fI,\fR\ [\fIgroupN\fR]\ [\-a]\ ]] [\-l\ \fIlogin_name\fR] [\-p\ \fIpasswd\fR] [\-s\ \fIshell\fR] [\-u\ \fIuid\fR\ [\-o\ ]] [\-L \-U] \fIlogin\fR +\fBusermod\fR [\-c\ \fIcomment\fR] [\-d\ \fIhome_dir\fR\ [\-m\ ]] [\-e\ \fIexpire_date\fR] [\-f\ \fIinactive_days\fR] [\-g\ \fIinitial_group\fR] [\-G\ \fIgroup1\fR\ [\ \fI,group2,\fR...\ \fI,\fR\ [\fIgroupN\fR]\ [\-a]\ ]] [\-l\ \fInew_login_name\fR] [\-p\ \fIpassword\fR] [\-s\ \fIshell\fR] [\-u\ \fIuid\fR\ [\-o\ ]] [\-L \-U] \fIlogin_name\fR .SH "DESCRIPTION" .PP -The -\fBusermod\fR +The +\fBusermod\fR command modifies the system account files to reflect the changes that are specified on the command line. .SH "OPTIONS" .PP -The options which apply to the -\fBusermod\fR +The options which apply to the +\fBusermod\fR command are: .TP \fB\-c\fR \fIcomment\fR -The new value of the user's password file comment field. It is normally modified using the -\fBchfn\fR(1)utility. +The new value of the user's password file comment field. It is normally modified using the +\fBchfn\fR(1) +utility. .TP \fB\-d\fR \fIhome_dir\fR -The user's new login directory. If the -\fB\-m\fR +The user's new login directory. If the +\fB\-m\fR option is given the contents of the current home directory will be moved to the new home directory, which is created if it does not already exist. .TP \fB\-e\fR \fIexpire_date\fR -The date on which the user account will be disabled. The date is specified in the format +The date on which the user account will be disabled. The date is specified in the format \fIYYYY\-MM\-DD \fR. .TP \fB\-f\fR \fIinactive_days\fR @@ -42,72 +43,76 @@ The number of days after a password expires until the account is permanently dis \fB\-g\fR \fIinitial_group\fR The group name or number of the user's new initial login group. The group name must exist. A group number must refer to an already existing group. The default group number is 1. .TP -\fB\-G\fR \fIgroup1\fR[\fI ,group2,..., \fR [\fIgroupN\fR]]] -A list of supplementary groups which the user is also a member of. Each group is separated from the next by a comma, with no intervening whitespace. The groups are subject to the same restrictions as the group given with the -\fB\-g\fR -option. If the user is currently a member of a group which is not listed, the user will be removed from the group. This behaviour can be changed via -\fB\-a\fR +\fB\-G\fR \fIgroup1\fR[\fI,group2,...,\fR[\fIgroupN\fR]]] +A list of supplementary groups which the user is also a member of. Each group is separated from the next by a comma, with no intervening whitespace. The groups are subject to the same restrictions as the group given with the +\fB\-g\fR +option. If the user is currently a member of a group which is not listed, the user will be removed from the group. This behaviour can be changed via +\fB\-a\fR option, which appends user to the current supplementary group list. .TP -\fB\-l\fR \fIlogin_name\fR -The name of the user will be changed from -\fIlogin \fR -to -\fIlogin_name\fR. Nothing else is changed. In particular, the user's home directory name should probably be changed to reflect the new login name. +\fB\-l\fR \fInew_login_name\fR +The name of the user will be changed from +\fIlogin_name\fR +to +\fInew_login_name\fR. Nothing else is changed. In particular, the user's home directory name should probably be changed to reflect the new login name. .TP \fB\-L\fR -Lock a user's password. This puts a '!' in front of the encrypted password, effectively disabling the password. You can't use this option with -\fB\-p\fR -or +Lock a user's password. This puts a '!' in front of the encrypted password, effectively disabling the password. You can't use this option with +\fB\-p\fR +or \fB\-U\fR. .TP \fB\-o\fR -When used with the -\fB\-u\fR +When used with the +\fB\-u\fR option, this option allows to change the user ID to a non\-unique value. .TP -\fB\-p\fR \fIpasswd\fR -The encrypted password, as returned by +\fB\-p\fR \fIpassword\fR +The encrypted password, as returned by \fBcrypt\fR(3). .TP \fB\-s\fR \fIshell\fR The name of the user's new login shell. Setting this field to blank causes the system to select the default login shell. .TP \fB\-u\fR \fIuid\fR -The numerical value of the user's ID. This value must be unique, unless the -\fB\-o\fR +The numerical value of the user's ID. This value must be unique, unless the +\fB\-o\fR option is used. The value must be non\-negative. Values between 0 and 999 are typically reserved for system accounts. Any files which the user owns and which are located in the directory tree rooted at the user's home directory will have the file user ID changed automatically. Files outside of the user's home directory must be altered manually. .TP \fB\-U\fR -Unlock a user's password. This removes the '!' in front of the encrypted password. You can't use this option with -\fB\-p\fR -or +Unlock a user's password. This removes the '!' in front of the encrypted password. You can't use this option with +\fB\-p\fR +or \fB\-L\fR. .SH "CAVEATS" .PP -\fBusermod\fR +\fBusermod\fR will not allow you to change the name of a user who is logged in. You must make certain that the named user is not executing any processes when this command is being executed if the user's numerical user ID is being changed. You must change the owner of any crontab files manually. You must change the owner of any at jobs manually. You must make any changes involving NIS on the NIS server. .SH "FILES" .TP +\fI/etc/group\fR +group account information +.TP +\fI/etc/login.defs\fR +shadow password suite configuration +.TP \fI/etc/passwd\fR user account information .TP \fI/etc/shadow\fR secure user account information -.TP -\fI/etc/group\fR -group account information .SH "SEE ALSO" .PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBcrypt\fR(3), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBuseradd\fR(8), +\fBchfn\fR(1), +\fBchsh\fR(1), +\fBpasswd\fR(1), +\fBcrypt\fR(3), +\fBgpasswd\fR(8), +\fBgroupadd\fR(8), +\fBgroupdel\fR(8), +\fBgroupmod\fR(8), +\fBlogin.defs\fR(5), +\fBuseradd\fR(8), \fBuserdel\fR(8). .SH "AUTHOR" .PP diff --git a/man/usermod.8.xml b/man/usermod.8.xml index 44206e88..e5ab4877 100644 --- a/man/usermod.8.xml +++ b/man/usermod.8.xml @@ -2,7 +2,7 @@ - + usermod 8 @@ -14,39 +14,39 @@ - usermod + usermod -c comment - -d home_dir - -m + -d home_dir + -m -e expire_date -f inactive_days -g initial_group - -G group1 - - ,group2, - , - groupN + -G group1 + + ,group2, + , + groupN -a - + - -l login_name - -p passwd + -l new_login_name + -p password -s shell - -u uid - -o + -u uid + -o - -L + -L -U - login + login_name - + DESCRIPTION @@ -54,7 +54,7 @@ files to reflect the changes that are specified on the command line. - + OPTIONS @@ -63,175 +63,182 @@ - - comment - - - The new value of the user's password file comment - field. It is normally modified using the - chfn1 - utility. - - + + comment + + + + The new value of the user's password file comment field. It is + normally modified using the + chfn1 + utility. + + - - home_dir - - - - The user's new login directory. If the - 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. - - + + home_dir + + + + The user's new login directory. If the + 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. + + - - expire_date - - - The date on which the user account will be disabled. The - date is specified in the format YYYY-MM-DD - . - - + + expire_date + + + + The date on which the user account will be disabled. The date is + specified in the format YYYY-MM-DD + . + + - - inactive_days - - - 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. - - + + inactive_days + + + + 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. + + - - initial_group - - - 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. - - + + initial_group + + + + 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. + + - - group1[ - ,group2,..., - - [groupN]]] - - - A list of supplementary groups which the user is also a - member of. Each group is separated from the next by a comma, - with no intervening whitespace. The groups are subject to the - same restrictions as the group given with the - option. If the user is currently a member of - a group which is not listed, the user will be removed from the - group. This behaviour can be changed via option, - which appends user to the current supplementary group list. - - + + + group1[,group2,...,[groupN]]] + + + + A list of supplementary groups which the user is also a member + of. Each group is separated from the next by a comma, with no + intervening whitespace. The groups are subject to the same + restrictions as the group given with the + option. If the user is currently a member of a group which is + not listed, the user will be removed from the group. This + behaviour can be changed via option, which + appends user to the current supplementary group list. + + - - login_name - - - - The name of the user will be changed from login to login_name. Nothing else is changed. In - particular, the user's home directory name should probably be - changed to reflect the new login name. - - + + new_login_name + + + + The name of the user will be changed from login_name to new_login_name. Nothing else is changed. In + particular, the user's home directory name should probably be + changed to reflect the new login name. + + - - - - - 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 or - . - - + + + + + + Lock a user's password. This puts a '!' in front of the + encrypted password, effectively disabling the password. You + can't use this option with or + . + + - - - - - - When used with the option, this option - allows to change the user ID to a non-unique value. - - + + + + + + When used with the option, this option + allows to change the user ID to a non-unique value. + + - - passwd - - - - The encrypted password, as returned by - crypt3 - . - - + + password + + + + The encrypted password, as returned by + crypt3 + . + + - - shell - - - The name of the user's new login shell. Setting this field - to blank causes the system to select the default login shell. - - + + shell + + + The name of the user's new login shell. Setting this field + to blank causes the system to select the default login shell. + + - - uid - - - The numerical value of the user's ID. This value must be - unique, unless the option is used. The value - must be non-negative. Values between 0 and 999 are typically - reserved for system accounts. Any files which the user owns and - which are located in the directory tree rooted at the user's - home directory will have the file user ID changed automatically. - Files outside of the user's home directory must be altered - manually. - - + + uid + + + + The numerical value of the user's ID. This value must be unique, + unless the option is used. The value must be + non-negative. Values between 0 and 999 are typically reserved + for system accounts. Any files which the user owns and which are + located in the directory tree rooted at the user's home + directory will have the file user ID changed automatically. + Files outside of the user's home directory must be altered + manually. + + - - - - - Unlock a user's password. This removes the '!' in front of - the encrypted password. You can't use this option with - or . - - + + + + + + Unlock a user's password. This removes the '!' in front of the + encrypted password. You can't use this option with + or . + + CAVEATS - usermod will not allow you to change the name of a + + usermod 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 @@ -240,60 +247,76 @@ server. - + FILES - /etc/passwd - user account information + /etc/group + + group account information + - /etc/shadow - secure user account information + /etc/login.defs + + shadow password suite configuration + - /etc/group - group account information + /etc/passwd + + user account information + + + + /etc/shadow + + secure user account information + SEE ALSO - - chfn1 + + + chfn1 , - chsh1 + chsh1 , - passwd1 + passwd1 , - crypt3 + crypt3 , - gpasswd8 + gpasswd8 , - groupadd8 + groupadd8 , - groupdel8 + groupdel8 , - groupmod8 + groupmod8 , - useradd8 + login.defs5 , - userdel8 + useradd8 + , + + userdel8 . - + AUTHOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/vipw.8 b/man/vipw.8 index 60ac7aa8..26a01c94 100644 --- a/man/vipw.8 +++ b/man/vipw.8 @@ -1,5 +1,5 @@ .\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). +.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "VIPW" "8" "26 Sep 1997" "26 Sep 1997" "26 Sep 1997" @@ -8,7 +8,7 @@ .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" -vipw, vigr \- edit the password, group, shadow\-password, or shadow\-group file. +vipw, vigr \- edit the password, group, shadow\-password or shadow\-group file. .SH "SYNOPSIS" .HP 5 \fBvipw\fR [\-s] @@ -16,23 +16,23 @@ vipw, vigr \- edit the password, group, shadow\-password, or shadow\-group file. \fBvigr\fR [\-s] .SH "DESCRIPTION" .PP -\fBvipw\fR -and -\fBvigr\fR -will edit the files -\fI/etc/passwd\fR -and -\fI/etc/group\fR, respectively. With the -\fB\-s\fR -flag, they will edit the shadow versions of those files, -\fI/etc/shadow\fR -and -\fI/etc/gshadow\fR, respectively. The programs will set the appropriate locks to prevent file corruption. When looking for an editor, the programs will first try the environment variable -\fB$VISUAL\fR, then the environment variable -\fI$EDITOR\fR, and finally the default editor, +\fBvipw\fR +and +\fBvigr\fR +will edit the files +\fI/etc/passwd\fR +and +\fI/etc/group\fR, respectively. With the +\fB\-s\fR +flag, they will edit the shadow versions of those files, +\fI/etc/shadow\fR +and +\fI/etc/gshadow\fR, respectively. The programs will set the appropriate locks to prevent file corruption. When looking for an editor, the programs will first try the environment variable +\fB$VISUAL\fR, then the environment variable +\fI$EDITOR\fR, and finally the default editor, \fBvi\fR(1). .SH "SEE ALSO" .PP -\fBgroup\fR(5), -\fBpasswd\fR(5), -\fBshadow\fR(5) +\fBgroup\fR(5), +\fBpasswd\fR(5), +\fBshadow\fR(5). diff --git a/man/vipw.8.xml b/man/vipw.8.xml index d3cd4f59..084ad982 100644 --- a/man/vipw.8.xml +++ b/man/vipw.8.xml @@ -2,7 +2,7 @@ - + 26 Sep 1997 @@ -14,8 +14,8 @@ vipw vigr - edit the password, group, shadow-password, or shadow-group - file. + + edit the password, group, shadow-password or shadow-group file. @@ -27,10 +27,11 @@ vigr-s - + DESCRIPTION - vipw and vigr will edit the + + vipw and vigr will edit the files /etc/passwd and /etc/group, respectively. With the flag, they will edit the shadow versions of those @@ -38,24 +39,25 @@ /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 - $VISUAL, then the environment variable $EDITOR, and finally the default editor, - vi1 - . + $VISUAL, then the environment variable + $EDITOR, and finally the default editor, + vi + 1. SEE ALSO - - group5 + + + group5 , - passwd5 + passwd5 , - shadow5 - + shadow5 + . diff --git a/man/zh_CN/Makefile.in b/man/zh_CN/Makefile.in index 6d419197..3faa3441 100644 --- a/man/zh_CN/Makefile.in +++ b/man/zh_CN/Makefile.in @@ -38,7 +38,8 @@ host_triplet = @host@ subdir = man/zh_CN DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -78,6 +79,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -89,6 +92,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -128,6 +132,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -198,9 +205,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/zh_CN/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/zh_CN/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/zh_CN/Makefile + $(AUTOMAKE) --foreign man/zh_CN/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/man/zh_TW/Makefile.in b/man/zh_TW/Makefile.in index 165777d3..524eabaa 100644 --- a/man/zh_TW/Makefile.in +++ b/man/zh_TW/Makefile.in @@ -38,7 +38,8 @@ host_triplet = @host@ subdir = man/zh_TW DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -78,6 +79,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -89,6 +92,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -128,6 +132,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -197,9 +204,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/zh_TW/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/zh_TW/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/zh_TW/Makefile + $(AUTOMAKE) --foreign man/zh_TW/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/po/bs.gmo b/po/bs.gmo index 6034db82fd6ae290bfa92bd26d1ec150ba0c4067..bcf0bd2e20b9606021ad4c5dda0063c9b38e0db5 100644 GIT binary patch delta 24 fcmX>jc}8+WH#@hXfv%x}f{}rhvGL|<>}IS0Uoi%> delta 24 fcmX>jc}8+WH#@h1g|4BYf}xp}q3Pyn>}IS0U(W`? diff --git a/po/bs.po b/po/bs.po index 931281f3..ae29f7ad 100644 --- a/po/bs.po +++ b/po/bs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow\n" "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n" -"POT-Creation-Date: 2005-08-11 16:15+0200\n" +"POT-Creation-Date: 2005-10-10 20:33+0200\n" "PO-Revision-Date: 2004-05-09 12:03+0100\n" "Last-Translator: Safir eerovi \n" "Language-Team: Bosnian \n" @@ -97,6 +97,27 @@ msgstr "Nema po禳te." msgid "You have mail." msgstr "Imate po禳tu." +msgid "no change" +msgstr "" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "Neispravna 禳ifra: %s. " @@ -135,6 +156,12 @@ msgstr "" msgid "Can't change root directory to \"%s\"\n" msgstr "" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +msgid "Unable to determine your tty name." +msgstr "" + #, c-format msgid "malloc(%d) failed\n" msgstr "" @@ -238,6 +265,10 @@ msgstr "" msgid "%s: unknown user %s\n" msgstr "" +#, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "" @@ -246,6 +277,10 @@ msgstr "" msgid "%s: can't open shadow password file\n" msgstr "" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "" @@ -270,10 +305,6 @@ msgstr "" msgid "%s: can't rewrite password file\n" msgstr "" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -461,10 +492,6 @@ msgstr "" msgid "Usage: expiry {-f|-c}\n" msgstr "" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "" - #, c-format msgid "%s: unknown user\n" msgstr "" @@ -853,9 +880,10 @@ msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" #, c-format @@ -911,6 +939,16 @@ msgstr "" msgid " on `%.100s'" msgstr "" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "" + #, c-format msgid "" "\n" @@ -920,6 +958,10 @@ msgstr "" msgid "Login incorrect" msgstr "" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "" @@ -935,6 +977,11 @@ msgstr "" msgid " from %.*s" msgstr "" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "" @@ -1011,24 +1058,32 @@ msgid "%s: error updating files\n" msgstr "" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr "" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" msgstr "" msgid "Old password: " msgstr "Stara 禳ifra:" -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1185,6 +1240,10 @@ msgstr "" msgid "Sorry." msgstr "鬚alim." +#, c-format +msgid "%s: %s\n" +msgstr "" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "" @@ -1424,6 +1483,10 @@ msgstr "" msgid "%s: error updating group entry\n" msgstr "" +#, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "" + #, c-format msgid "%s: cannot open group file\n" msgstr "" diff --git a/po/ca.gmo b/po/ca.gmo index 1b4cbc593ba53f937c68e1a0bcb5c2ad7a2fe008..86fda7f8b404fec4417d537660682a763c586638 100644 GIT binary patch delta 7737 zcmZYC33yJ&9>?)X5Rt`_M6BUW2$6+EV##9PB_W8~8Jmy9w6w)-OSLYpYAI3Fa=*XK@OYkkp8Vg>%$#%P%=~B0n`F}l-&?DEy+4JN zTw*u|`xsLl;{%O3NjW22t;W0?VN4U;h2`)va*6S&VN68~##&el>tYAY!?Bo-hp;{d z)}(JtLz>JmtZIzcJZB4L6;|TJZd8Xyu?k+t+8E+7CJ382+hPFqZs?EwQRjyu9h(U_ z80TSSyo8!SnMh-zu?kk;`KAR0&Ac1(W5)2I2fu_o+iXA&evZ2F0#?HcQMNq+)!qe_ zk;hT@&p{<|HI~KqQ8WJ>HPQ1J#`BF2)71^(n1P9?RE@?^d=bmWy2^>Z*%V~ad4FODp$(cGxlj(?h@MzS`W}-TH1=T?T z>i$Enei3zl8J?#5<4~#3L1l6Ta*25Xb=^C4$bUl$U(?{hlI$RDqG&#px@=UchM+o} zhRVPy)XesxIy{XUh<}WIP#sjN+oR48MV)^Ub^m(gk>;xy@*hXxDh(Q;r=ERKOVr4R zqB?lS)mNit{sFRl=D70~>bjb-#?X~%hpLZ34P-HD#s#kZThw)bdnqWTwHbvT*aCH; zH|mBNsF}Zo{FwcG==!Uu0hD8-$cD%mOi$GHUet_NyZR@te%94XCD@F6V<~9nnW&CN zqEa&-)!}y3raFnb?gnaLRd}gYPe<*MeyAlG=j!vYGxaxJ`$g3C0S)YfW08KnCX<5J zdMIkGr=d36V)Wn!)J(o`=g*@C>XT?wTN`y>8`RSDLtQ`FonPYIh926Fp!UF3jMV#I zImsAS!K9&5JJdNH)!}l~19!Ui6Q~Cip$9|R!MZO6%VAg4Yng}5a3Y4_7F0ils3kg! zm3h7iO157R(deO`f?DgIs7*8jSvIrI)sLcw`c2ecsg_~~&=$4X@-PygLEXR7weNH7 zXIy*fM&v(~3lbrs|LVAMs@((4QEN2f=xyJ%?p* z0|wwW)CBgR-ijlr0bRmM7?N)LkM&Z}j9VbjF#RwPm!LM&D%3!>AXzi}T>ZAIhh*5j z)5+Nzm9b&i8t0-v9zt!}W2lT>Lk-yL&lV*cCIri3CYHj!SPciFZkUGJz4K8S+Jc%% zAy&p8P%|$=Hg@sC>wGdBKueN|n%GFx`N`;~_kRP0(ll&AzQ)Zi)PsIT4WJ}DDgr&I zfiy>Tl!ID={-_5{aOdZsGWQxz$BjtVO+rg!df;&6$L!`KT<`yF3VPkbTG>s~601`m zhD!Y`)C`xo_N}N49Kt@n{PMvw)HB-Jw2uq6_;Z$?m%@|h#owITEa`H0p7*p&DP0o@>o;F?`Q!yS_p$2>qHK1Q{fe)`(7yDiRN>|&@ zcNoO^bEugXq3$o6V+W9q^QaH=Qs7=wgsrh{H)9&$Y}B6EiFymZcV0n_yj*v?WbqhD zJr@&j5^4{u#t%eu^6SC3ilkr`^;ksQZQ?=e=eI1ec%glZ1V+DZYp`un_g2Ur-tG>ucZp`pyBU>*t~dycbh=zPUm{BZ}!~2a<)F z!6Z~l*P$MK7?Ux$zx`d&3X3-<>UCX(I=>Ga<4x3qk_OnL0rLpO{K}LZ18Of=cCF)Bp~nW_As=lnn;j40J%di>lN4|ZH-y`;q&P-GWmtqV23|nI9A^cB( z9kCHE7~-}6rS7Gn6%9T^?WSpi>UgTF??MgaGPcCHM{UQWP#tbW&Fl(hV9YQ(prOc@ zpV@#OEW&CSKHPpUH1tyFK|>}+;R>vcpP)A3S*(MhBkcJ!jHEsQBhZVw?sZhg4!HBT zP?@dqm~GEO_2b2QxE7T`?_qc1uCvZa`vsJZn$gp!_jxO}!;`2biXLS*XCI8EJ`>gP zCRFObckTY8?b0QqX5J6Oa56^od^4AVI^K$*cpa6ApfNTR4Nx8DVtIT9>*4~`rrYVf zgj&LSV{Q9LtVw+}YCwgk0TiJITw$Ct!}@1X&;?^rDO&03pJ6=p>!?&mkGJo68}v{g zjMXt8)$vMK-;GtMA4g5(3MOIr1pBsh#BS8bU=5ycKBCYOPhuR#OtdM=#fH>Jpa$|9 zR>A|Q4E&6GK$*wwb@8Yr%R`-CjM~JzQQxFDu@jbm!Y*-N^y-UZ4h5z7V^sYDCSuei zdtndMK=QFI?m%tAzft!^Og3f>c0fJwA|_+p6#Mr;9_s!{7>Mh!JZ_&t{yh}-(GY`Y zo#mgje|V%~IPJNp2ad#aoQI)!04v~+s7(BUsTlHK__jNhP^ z;*^(yMjrdL-Idv>j;3HUoQDDU1uAvlq4vmWRO-t$iRFGao8B&L%yWUW$cc9rrR4gVk7GNu|D2GElI)*yW6{B1oaW9)Xv7L zxEW9QvQ+5n!|OQ94q)B0yvn|;e<1~ptj+UwljNahun;TaTUZl!p)z$GWAGMgQ$@dE z*SI%Up}r6!aU+(&gQ!d#Lk;XAY6-&TXfH6!C<=N|3aaDIs1!{^b@UP{wOcV3k6|q= z@uE$AUDSiKP#Jg>d*Uoq>QA8h37Bh*M@^&)*5mnRJOw>?IqJPF#B}@(<1uEQy|E{% zJ{k2pVl}4V0aPaLU>YW|o*M8d)WjBINqidWTx^gt_qg*-BDN56R4D|)Y1kDj*DWM~gbDH@DB3BI@QM8@M=EXJp1y;gK;|M0uhwq2o78@#hsjgSh_;YEx>NI#but$(fEp)K3yN z{}iqhI= aY1RU;cig-R(){z6MG20;?3*CXhO&H#B|~zLdRM{Z%Io+Z$n4=Dn|^X zT)f99NBHpk?`Y8RIdO-0oA{f!OYr9W-*JMLTf{`7EU}635WVTJ4BkJeHzp$QH`u~H zSAQCx)%@S3Fu*k?V}>g)$EI|kugNyp0)Hk(68_X15rc`9)Vre&y#?(ke~p2}w?w2n z*MsuCV>^Y0ve9ZE(qN)D z@h9#jTaCD{oGKTxGDorU=BX$!{5Sc`b>!3U3 zfrJ(>iFlL<;9Mo#Md%nx#M0Ks-J`YyB7&&-KwDeN3uxOx+&|QD9ZsZSRd?|(lv@*N z)c?W_#D~OB#1=xo2__Nqi7s68u)8lCPtkUoh$229{z*(B<`54ahh4=R<_hhwjO$2E zsl@k0ZQ?(~8$?Ay$3yPA%akipehl-8Z-{NgDk8^S(*SEw&%ik1J<2-bDSx8G{y-&! zN-d%X(UT}ilqGa5BhC^viT1=(#B;jXohFE7kTuAhylVGBWYp?GH^$zt{h&PG)g#O;qQ3Y!gD{R%2aISZDaMulS^|l(R zjzOIG82#{53?Uj24<1LUTqF8%%|9@jI7DPoAB3i$U5$3W1*bh%eHUG-)xMx#?Rk|7 zN@aBPD;U;#n_t0=PMiG#lM)k>5F!_L&@2@YU4o Rr3-$|_xCUOYi?uz{{b7&g_r;U delta 8608 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 diff --git a/po/ca.po b/po/ca.po index a0ab456b..5f63782a 100644 --- a/po/ca.po +++ b/po/ca.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.10\n" "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n" -"POT-Creation-Date: 2005-08-11 16:15+0200\n" +"POT-Creation-Date: 2005-10-10 20:33+0200\n" "PO-Revision-Date: 2005-06-21 01:22+0300\n" "Last-Translator: Guillem Jover \n" "Language-Team: Catalan \n" @@ -101,6 +101,28 @@ msgstr "No hi ha correu." msgid "You have mail." msgstr "Teniu correu." +#, fuzzy +msgid "no change" +msgstr "%s: no hi ha canvis\n" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "La contrasenya 矇s incorrecta: %s." @@ -139,6 +161,13 @@ msgstr "El directori arrel 竄%s罈 no 矇s vlid\n" msgid "Can't change root directory to \"%s\"\n" msgstr "No s'ha pogut canviar el directori arrel a 竄%s罈\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s: No s'ha pogut determinar el seu nom d'usuari.\n" + #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) ha fallat\n" @@ -259,6 +288,10 @@ msgstr "%s: no es pot obrir el fitxer de contrasenyes\n" msgid "%s: unknown user %s\n" msgstr "%s: l'usuari %s desconegut\n" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: no es pot obrir el fitxer de contrasenyes ombra\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s: no es pot bloquejar el fitxer de contrasenyes ombra\n" @@ -267,6 +300,10 @@ msgstr "%s: no es pot bloquejar el fitxer de contrasenyes ombra\n" msgid "%s: can't open shadow password file\n" msgstr "%s: no es pot obrir el fitxer de contrasenyes ombra\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "S'est canviant la informaci籀 de caducitat per a %s\n" @@ -291,10 +328,6 @@ msgstr "%s: no es pot reescriure el fitxer de contrasenyes ombra\n" msgid "%s: can't rewrite password file\n" msgstr "%s: no es pot reescriure el fitxer de contrasenyes\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: PAM chauthok ha fallat\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -495,10 +528,6 @@ msgstr "%s no 矇s un int癡rpret vlid.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "Forma d'繳s: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: AVS! Ha de ser set-UID de root!\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: l'usuari 矇s desconegut\n" @@ -896,23 +925,24 @@ msgstr "Forma d'繳s: id\n" msgid " groups=" msgstr " grup=" -#, c-format +#, fuzzy, c-format msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" "Forma d'繳s: lastlog [opcions]\n" "\n" "Opcions:\n" -" -u, --user ACCS\tmostra el registre de lastlog per a l'usuari amb\n" -"\t\t\t\tACCS especific\n" " -h, --help\t\tmostra aquest missatge d'ajuda i acaba\n" " -t, --time DIES\tmostra nomes els registres de lastlog m矇s recents\n" "\t\t\t\tque DIES\n" +" -u, --user ACCS\tmostra el registre de lastlog per a l'usuari amb\n" +"\t\t\t\tACCS especific\n" #, c-format msgid "Username Port From Latest\n" @@ -973,6 +1003,16 @@ msgstr " a 竄%.100s罈 des de 竄%.200s罈" msgid " on `%.100s'" msgstr " a 竄%.100s罈" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "Acc矇s incorrecte" + #, c-format msgid "" "\n" @@ -984,6 +1024,10 @@ msgstr "" msgid "Login incorrect" msgstr "Acc矇s incorrecte" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "Av穩s: acc矇s reactivat despr矇s d'un bloqueig temporal.\n" @@ -999,6 +1043,11 @@ msgstr "ltima acc矇s: %.19s a %s" msgid " from %.*s" msgstr " des de %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "Forma d'繳s: newgrp [-] [grup]\n" @@ -1075,24 +1124,32 @@ msgid "%s: error updating files\n" msgstr "%s: s'ha produ簿t un error en actualitzar el fitxer\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "Forma d'繳s: %s [-f|-s] [nom]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x mx] [-n m穩n] [-w av穩s] [-i inactiu] nom\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} nom\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" msgid "Old password: " msgstr "Contrasenya antiga: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "La contrasenya 矇s incorrecte per a 竄%s罈\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1253,6 +1310,10 @@ msgstr "" msgid "Sorry." msgstr "Disculpeu." +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "passwd: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: s'ha d'executar des d'una terminal\n" @@ -1503,6 +1564,10 @@ msgstr "Forma d'繳s: %s [-r] nom\n" msgid "%s: error updating group entry\n" msgstr "%s: s'ha produ簿t un error en actualitzar l'entrada de grup\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: no es pot eliminar el grup primari de l'usuari.\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: no es pot obrir el fitxer de grups\n" @@ -1658,28 +1723,5 @@ msgstr "" "竄vipw罈 edita /etc/passwd 竄vipw -s罈 edita /etc/shadow\n" "竄vigr罈 edita /etc/group 竄vigr -s罈 edita /etc/gshadow\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "Forma d'繳s: groupadd [-g gid [-o]] [-f] grup\n" - -#, fuzzy -#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" -#~ msgstr "Forma d'繳s: useradd [-u uid [-o]] [-g grup] [-G grup,...] \n" - -#~ msgid "" -#~ " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" -#~ msgstr "" -#~ " [-d home] [-s int癡rpret] [-c ordre] [-m [-k " -#~ "plantilla]]\n" - -#~ msgid " [-f inactive] [-e expire]\n" -#~ msgstr " [-f inactiu] [-e caduca]\n" - -#, fuzzy -#~ msgid " [-p passwd] [-K KEY=VALUE] name\n" -#~ msgstr " [-p contrasenya] nom\n" - -#~ msgid " useradd -D [-g group] [-b base] [-s shell]\n" -#~ msgstr " useradd -D [-g grup] [-b base] [-s int癡rpret]\n" - -#~ msgid "%s: -O requires NAME=VALUE\n" -#~ msgstr "%s: 竄-O罈 requereix NOM=VALOR\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: PAM chauthok ha fallat\n" diff --git a/po/cs.gmo b/po/cs.gmo index 51f2e42ba5ad9761be204408c3594c53ba5c6bfc..f8a0eae1cf24de1b0235cfcd578abea1e13d2651 100644 GIT binary patch delta 10467 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 kAZqKj8iB8NTn_bz?`rEGu\n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" @@ -105,9 +105,30 @@ msgstr "Nem獺te 鱉獺dnou po禳tu." msgid "You have mail." msgstr "M獺te po禳tu." +msgid "no change" +msgstr "beze zmny" + +msgid "a palindrome" +msgstr "palindrom" + +msgid "case changes only" +msgstr "pouze zmna velikosti p穩smen" + +msgid "too similar" +msgstr "p穩li禳 podobn矇" + +msgid "too simple" +msgstr "p穩li禳 jednoduch矇" + +msgid "rotated" +msgstr "rotovan矇" + +msgid "too short" +msgstr "p穩li禳 kr獺tk矇" + #, c-format msgid "Bad password: %s. " -msgstr "Heslo %s je chybn矇. " +msgstr "Chybn矇 heslo: %s. " #, c-format msgid "passwd: pam_start() failed, error %d\n" @@ -143,6 +164,12 @@ msgstr "Chybn羸 koenov羸 adres獺 \"%s\"\n" msgid "Can't change root directory to \"%s\"\n" msgstr "Nelze nastavit koenov羸 adres獺 na \"%s\"\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "utmp z獺znam neexistuje. Mus穩te spustit \"login\" z nejni鱉禳穩ho \"sh\"" + +msgid "Unable to determine your tty name." +msgstr "Nelze zjistit va禳e u鱉ivatelsk矇 jm矇no." + #, c-format msgid "malloc(%d) failed\n" msgstr "vol獺n穩 malloc(%d) selhalo\n" @@ -261,6 +288,10 @@ msgstr "%s: soubor s hesly nelze otev穩t\n" msgid "%s: unknown user %s\n" msgstr "%s: nezn獺m羸 u鱉ivatel %s\n" +#, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: soubor se st穩nov羸mi hesly nen穩 p穩tomen\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s: soubor se st穩nov羸mi hesly nelze zamknout\n" @@ -269,6 +300,10 @@ msgstr "%s: soubor se st穩nov羸mi hesly nelze zamknout\n" msgid "%s: can't open shadow password file\n" msgstr "%s: soubor se st穩nov羸mi hesly nelze otev穩t\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "%s: selhalo odevzd獺n穩 privilegi穩 (%s)\n" + #, c-format msgid "Changing the aging information for %s\n" msgstr "Mn穩m informace o u鱉ivateli %s\n" @@ -293,10 +328,6 @@ msgstr "%s: soubor se st穩nov羸mi hesly nelze pepsat\n" msgid "%s: can't rewrite password file\n" msgstr "%s: soubor s hesly nelze pepsat\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: PAM chauthtok selhal\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -495,10 +526,6 @@ msgstr "Shell %s je neplatn羸.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "Pou鱉it穩: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: VAROVN! Mus穩 m穩t opr獺vnn穩 superu鱉ivatele!\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: nezn獺m羸 u鱉ivatel\n" @@ -910,16 +937,18 @@ msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" "Pou鱉it穩: lastlog [volby]\n" "\n" "Volby:\n" -" -u, --user LOGIN\tzobraz穩 z獺znamy lastlogu pro u鱉ivatele LOGIN\n" +" -b, --before DN躓 \tzobraz穩 z獺znamy lastlogu star禳穩 ne鱉 DN躓\n" " -h, --help\t\tzobraz穩 tuto n獺povdu a skon穩\n" " -t, --time DN躓\tzobraz穩 z獺znamy lastlogu novj禳穩 ne鱉 DN躓\n" +" -u, --user LOGIN\tzobraz穩 z獺znamy lastlogu pro u鱉ivatele LOGIN\n" #, c-format msgid "Username Port From Latest\n" @@ -980,6 +1009,18 @@ msgstr " na `%.100s' z `%.200s'" msgid " on `%.100s'" msgstr " na `%.100s'" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "login: Chyba PAM, kon穩m: %s\n" + +#, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "" +"\n" +"Chybn矇 pihl獺禳en穩\n" + #, c-format msgid "" "\n" @@ -991,6 +1032,10 @@ msgstr "" msgid "Login incorrect" msgstr "Chybn矇 pihl獺禳en穩" +#, c-format +msgid "%s: failure forking: %s" +msgstr "%s: chyba rozdvojen穩: %s" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "Varov獺n穩: po doasn矇m z獺kazu je pihla禳ov獺n穩 opt povoleno.\n" @@ -1006,6 +1051,13 @@ msgstr "Posledn穩 pihl獺禳en穩: %.19s na %s" msgid " from %.*s" msgstr " z %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" +"as pihl獺禳en穩 vypr禳el\n" +"\n" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "Pou鱉it穩: newgrp [-] [skupina]\n" @@ -1082,24 +1134,53 @@ msgid "%s: error updating files\n" msgstr "%s: chyba pi aktualizaci soubor轡\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "Pou鱉it穩: %s [-f|-s] [jm矇no]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x max] [-n min] [-w varov獺n穩] [-i vypnut穩] jm矇no\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} jm矇no\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" +"Pou鱉it穩: passwd [volby] [繳et]\n" +"\n" +"Volby:\n" +" -a, --all \t\t\tvyp穩禳e stav hesel na v禳ech 繳tech\n" +" -d, --delete \t\t\tpro zadan羸 繳et sma鱉e heslo\n" +" -e, --expire\t\t\tpro zadan羸 繳et vynut穩 expiraci hesla\n" +" -h, --help\t\t\tzobraz穩 tuto n獺povdu a skon穩\n" +" -k, --keep-tokens\t\tzmn穩 heslo pouze pokud mu vypr禳ela\n" +"\t\t\t\tplatnost\n" +" -i, --inactive NEAKTIV\tzablokuje 繳et po NEAKTIV dnech od\n" +"\t\t\t\tvypr禳en穩 platnosti hesla\n" +" -l, --lock\t\t\tzamkne zadan羸 繳et\n" +" -n, --mindays MIN_DN躓\t\tnastav穩 minim獺ln穩 poet dn轡 ped zmnou\n" +"\t\t\t\thesla na MIN_DN躓\n" +" -q, --quiet\t\t\ttich羸 re鱉im\n" +" -r, --repository REPOSIT\tzmn穩 heslo v reposit獺i REPOSIT\n" +" -S, --status\t\t\tpro zadan羸 繳et vyp穩禳e stav hesla\n" +" -u, --unlock\t\t\todemkne zadan羸 繳et\n" +" -w, --warndays VAR_DN躓\tnastav穩 varov獺n穩 o expiraci na VAR_DN躓\n" +" -x, --maxdays MAX_DN躓\t\tnastav穩 maxim獺ln穩 poet dn轡 ped zmnou\n" +"\t\t\t\thesla na MAX_DN躓\n" msgid "Old password: " msgstr "Star矇 heslo: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "Chybn矇 heslo pro `%s'\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1259,6 +1340,10 @@ msgstr "Pro oven穩 zadejte VAE vlastn穩 heslo.\n" msgid "Sorry." msgstr "Lituji." +#, c-format +msgid "%s: %s\n" +msgstr "%s: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: mus穩 b羸t spu禳tno z termin獺lu\n" @@ -1532,6 +1617,10 @@ msgstr "Pou鱉it穩: %s [-r] jm矇no\n" msgid "%s: error updating group entry\n" msgstr "%s: polo鱉ku souboru se skupinami nelze aktualizovat\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: prim獺rn穩 skupinu u鱉ivatele nelze odstranit.\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: soubor se skupinami nelze otev穩t\n" @@ -1686,5 +1775,5 @@ msgstr "" "`vipw' edituje /etc/passwd `vipw -s' edituje /etc/shadow\n" "`vigr' edituje /etc/group `vigr -s' edituje /etc/gshadow\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "Pou鱉it穩: groupadd [-g gid [-o]] [-f] skupina\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: PAM chauthtok selhal\n" diff --git a/po/da.gmo b/po/da.gmo index b0caaa4ffb38c8fe3ab985143b1e60434afe71aa..2ac12ee6edb0157303e9bf13f612f8abed9ba019 100644 GIT binary patch delta 11473 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\n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.9.1\n" +"X-Generator: KBabel 1.10.2\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #, c-format @@ -102,6 +102,27 @@ msgstr "Ingen post." msgid "You have mail." msgstr "Du har post." +msgid "no change" +msgstr "ingen 疆ndring" + +msgid "a palindrome" +msgstr "et palindrom" + +msgid "case changes only" +msgstr "kun versal疆ndringer" + +msgid "too similar" +msgstr "for ens" + +msgid "too simple" +msgstr "for simpelt" + +msgid "rotated" +msgstr "omrokeret" + +msgid "too short" +msgstr "for kort" + #, c-format msgid "Bad password: %s. " msgstr "Ugyldig adgangskode: %s. " @@ -117,9 +138,9 @@ msgstr "passwd: %s\n" msgid "passwd: password updated successfully\n" msgstr "passwd: adgangskoden blev opdateret\n" -#, fuzzy, c-format +#, c-format msgid "Incorrect password for %s.\n" -msgstr "Ugyldig adgangskode for `%s'\n" +msgstr "Ugyldig adgangskode for %s.\n" #, c-format msgid "Unable to cd to \"%s\"\n" @@ -140,6 +161,12 @@ msgstr "Ugyldig rodmappe \"%s\"\n" msgid "Can't change root directory to \"%s\"\n" msgstr "Kan ikke 疆ndre rodmappen til \"%s\"\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "Ingen utmp-post. Du skal k繪re \"login\" fra det laveste\"sh\"-niveau" + +msgid "Unable to determine your tty name." +msgstr "Kan ikke afg繪re dit tty-navn." + #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) mislykkedes\n" @@ -258,6 +285,10 @@ msgstr "%s: kan ikke 疇bne adgangskodefil\n" msgid "%s: unknown user %s\n" msgstr "%s: ukendt bruger %s\n" +#, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: skyggeadgangskodefilen findes ikke\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s: kan ikke l疇se skyggeadgangskodefil\n" @@ -266,6 +297,10 @@ msgstr "%s: kan ikke l疇se skyggeadgangskodefil\n" msgid "%s: can't open shadow password file\n" msgstr "%s: kan ikke 疇bne skyggeadgangskodefil\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "%s: kunne ikke afgive rettigheder (%s)\n" + #, c-format msgid "Changing the aging information for %s\n" msgstr "ndrer for疆ldelsesoplysninger for %s\n" @@ -290,10 +325,6 @@ msgstr "%s: kan ikke genskrive skyggeadgangskodefilen\n" msgid "%s: can't rewrite password file\n" msgstr "%s: kan ikke genskrive adgangskodefilen\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: PAM chauthtok fejlede\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -317,23 +348,23 @@ msgstr "\tFulde navn: %s\n" msgid "Room Number" msgstr "Rum-nummer" -#, fuzzy, c-format +#, c-format msgid "\tRoom Number: %s\n" -msgstr "Rum-nummer" +msgstr "\tRum-nummer: %s\n" msgid "Work Phone" msgstr "Arbejdstelefon" -#, fuzzy, c-format +#, c-format msgid "\tWork Phone: %s\n" -msgstr "Arbejdstelefon" +msgstr "\tArbejdstelefon: %s\n" msgid "Home Phone" msgstr "Hjemmetelefon" -#, fuzzy, c-format +#, c-format msgid "\tHome Phone: %s\n" -msgstr "Hjemmetelefon" +msgstr "\tHjemmetelefon: %s\n" msgid "Other" msgstr "Andet" @@ -491,10 +522,6 @@ msgstr "%s er en ugyldig skal.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "Brug: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: ADVARSEL! Skal v疆re set-UID root!\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: ukendt bruger\n" @@ -654,6 +681,16 @@ msgid "" " -o, --non-unique\t\tallow create group with duplicate\n" "\t\t\t\t(non-unique) GID\n" msgstr "" +"Brug: groupadd [tilvalg] gruppe\n" +"\n" +"Tilvalg:\n" +" -f, --force \t\tgennemtving success-afslutningsstatus hvis den\n" +"\t\t\t\tangivne gruppe eksisterer i forvejen\n" +" -g, --gid GID\t\tbenyt GID til den nye gruppe\n" +" -h, --help\t\t\tvis denne hj疆lpebesked og afslut\n" +" -K, --key NGLE=VRDI\t\ttilsides疆tter standardv疆rdier i/etc/login.defs\n" +" -o, --non-unique\t\ttillad gruppe med dupleret\n" +"\t\t\t\t(ikke-unikt) GID\n" #, c-format msgid "%s: error adding new group entry\n" @@ -763,9 +800,9 @@ msgstr "Brug: %s [-r] [-s] [gruppe [gskygge]]\n" msgid "Usage: %s [-r] [-s] [group]\n" msgstr "Brug %s [-r] [-s] [gruppe]\n" -#, fuzzy, c-format +#, c-format msgid "No\n" -msgstr "Nej" +msgstr "Nej\n" #, c-format msgid "%s: -s and -r are incompatibile\n" @@ -896,17 +933,19 @@ msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" "Brug: lastlog [tilvalg]\n" "\n" "Tilvalg:\n" +" -b, --before DAGE\tvis kun lastlog-optegnelser, der er 疆ldre end DAGE\n" +" -h, --help\t\tvis denne hj疆lpebesked og afslut\n" +" -t, --time DAGE\tvis kun lastlog-optegnelser, der er nyere end DAGE\n" " -u, --user LOGIND\tvis lastlog-optegnelser for brugeren med det angivne " "LOGIND\n" -" -h, --help\t\tdvis denne hj疆lpebesked og afslut\n" -" -t, --time DAGE\tvis kun lastlog-optegnelser, der er nyere end DAGE\n" #, c-format msgid "Username Port From Latest\n" @@ -967,6 +1006,18 @@ msgstr " p疇 `%.100s' fra `%.200s'" msgid " on `%.100s'" msgstr " p疇 `%.100s'" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "login: PAM-fejl, afbryder: %s\n" + +#, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "" +"\n" +"Forkert logind\n" + #, c-format msgid "" "\n" @@ -978,6 +1029,10 @@ msgstr "" msgid "Login incorrect" msgstr "Forkert login" +#, c-format +msgid "%s: failure forking: %s" +msgstr "%s: fejl under spaltning: %s" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "Advarsel: login genetableret efter midlertidig udelukkelse.\n" @@ -993,6 +1048,13 @@ msgstr "Sidst logget p疇: %.19s p疇 %s" msgid " from %.*s" msgstr " fra %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" +"logind-tid overskredet\n" +"\n" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "Brug: newgrp [-] [gruppe]\n" @@ -1069,24 +1131,53 @@ msgid "%s: error updating files\n" msgstr "%s: fejl under opdatering af filerne\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "Brug: %s [-f|-s] [navn]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x maks] [-n min] [-w advar] [-i inact] navn\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} navn\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" +"Brug: passwd [tilvalg] [logind]\n" +"\n" +"Tilvalg:\n" +" -a, --all \t\t\trapport矇r alle kontis adgangskodestatus\n" +" -d, --delete \t\t\tslet den navngivne kontos adgangskode\n" +" -e, --expire\t\t\tgennemtving udl繪b af den navngivne kontos adgangskode\n" +" -h, --help\t\t\tvis denne hj疆lpebesked og afslut\n" +" -k, --keep-tokens\t\tskift kun adgangskode, hvis den er udl繪bet\n" +" -i, --inactive INAKTIVT\tset udl繪bne adgangskoder til \n" +"\t\t\t\tto INAKTIVT\n" +" -l, --lock\t\t\tl疆s den nanvgivne konto\n" +" -n, --mindays MIN_DAGE\tangiv minimale antal dage inden skift af " +"adgangskode\n" +"\t\t\t\ttil MIN_DAGE\n" +" -q, --quiet\t\t\ttavs tilstand\n" +" -r, --repository SAMLING\tskift adgangskode i samlingen SAMLING\n" +" -S, --status\t\t\traport矇r den navngivne kontos adgangskodestatus\n" +" -u, --unlock\t\t\t疇bn den navngivne konto\n" +" -w, --warndays ADVAR_DAGE\tadvar om udl繪b i ADVAR_DAGE dage\n" +" -x, --maxdays MAKS_DAGE\ts疆t det maksimale antal dage inden skift af\n" +"\t\t\t\tadgangskode til MAKS_DAGE\n" msgid "Old password: " msgstr "Gammel adgangskode: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "Ugyldig adgangskode for `%s'\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1150,9 +1241,9 @@ msgstr "Adgangskoden for %s er u疆ndret.\n" msgid "Password changed.\n" msgstr "Adgangskode 疆ndret.\n" -#, fuzzy, c-format +#, c-format msgid "Password set to expire.\n" -msgstr "Din adgangskode er udl繪bet." +msgstr "Adgangskode er sat til at udl繪be.\n" #, c-format msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n" @@ -1245,6 +1336,10 @@ msgstr "Angiv din EGEN adgangskode som autentifikation.\n" msgid "Sorry." msgstr "Beklager." +#, c-format +msgid "%s: %s\n" +msgstr "%s: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: skal k繪res fra en terminal\n" @@ -1503,6 +1598,8 @@ msgid "" "%s: warning: the home directory already exists.\n" "Not copying any file from skel directory into it.\n" msgstr "" +"%s: advarsel: hjemmemappen eksisterer allerede.\n" +"Kopierer ikke nogen filer til den fra skelet-mappen.\n" #, c-format msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n" @@ -1516,6 +1613,10 @@ msgstr "Brug: %s [-r] navn\n" msgid "%s: error updating group entry\n" msgstr "%s: fejl under opdatering af gruppelinje\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: kan ikke fjerne brugerens prim疆re gruppe.\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: kan ikke 疇bne gruppefilen\n" @@ -1671,37 +1772,5 @@ msgstr "" "'vipw' redigerer /etc/passwd `vipw -s' redigerer /etc/shadow\n" "'vigr' redigerer /etc/group `vigr -s' redigerer /etc/gshadow\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "Brug: groupadd [-g gid [-o]] [-f] gruppe\n" - -#, fuzzy -#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" -#~ msgstr "Brug: useradd [-u uid [-o]] [-g gruppe] [-G gruppe,...] \n" - -#~ msgid "" -#~ " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" -#~ msgstr "" -#~ " [-d hjemmemappe] [-s skal] [-c kommentar] [-m [-k " -#~ "skabelon]]\n" - -#~ msgid " [-f inactive] [-e expire]\n" -#~ msgstr " [-f inaktiv] [-e udl繪b ]\n" - -#, fuzzy -#~ msgid " [-p passwd] [-K KEY=VALUE] name\n" -#~ msgstr " [-p adgangskode] navn\n" - -#~ msgid " useradd -D [-g group] [-b base] [-s shell]\n" -#~ msgstr " useradd -D [-g gruppe] [-b grundmappe] [-s skal]\n" - -#~ msgid "%s: -O requires NAME=VALUE\n" -#~ msgstr "%s: -O kr疆ver NAVN=VRDI\n" - -#~ msgid "unknown uid: %u\n" -#~ msgstr "ukendt uid: %u\n" - -#~ msgid "%s: uid %u is not unique\n" -#~ msgstr "%s: uid %u er ikke unik\n" - -#~ msgid "%s: can't get unique uid\n" -#~ msgstr "%s: kan ikke f疇 unik uid\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: PAM chauthtok fejlede\n" diff --git a/po/de.gmo b/po/de.gmo index 85ca8ddf8ac9453e9f027a14036d0b670fc6b712..41d8b9e6737afa6b7a7af72f626544b1ef97ec57 100644 GIT binary patch delta 7961 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 AmH+?% delta 8645 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\n" "Language-Team: Frank Schmid \n" @@ -102,6 +102,28 @@ msgstr "Keine Post vorhanden." msgid "You have mail." msgstr "Sie haben Post." +#, fuzzy +msgid "no change" +msgstr "%s: keine nderungen\n" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "Schlechtes Kennwort: %s. " @@ -140,6 +162,13 @@ msgstr "Ung羹ltiges Basisverzeichnis \"%s\"\n" msgid "Can't change root directory to \"%s\"\n" msgstr "Kann Basisverzeichnis nicht nach \"%s\" 瓣ndern\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s: Kann Ihren Benutzernamen nicht feststellen.\n" + #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) fehlgeschlagen\n" @@ -256,6 +285,10 @@ msgstr "%s: Kann Kennwortdatei nicht 繹ffnen\n" msgid "%s: unknown user %s\n" msgstr "%s: Benutzer %s unbekannt\n" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: Kann Shadow-Datei nicht 繹ffnen\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s: Kann Shadow-Datei nicht sperren\n" @@ -264,6 +297,10 @@ msgstr "%s: Kann Shadow-Datei nicht sperren\n" msgid "%s: can't open shadow password file\n" msgstr "%s: Kann Shadow-Datei nicht 繹ffnen\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "ndere die Kennwortalterung f羹r %s\n" @@ -288,10 +325,6 @@ msgstr "%s: Kann die Shadow-Datei nicht neu erstellen\n" msgid "%s: can't rewrite password file\n" msgstr "%s: Kann die Kennwortdatei nicht neu erstellen\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: PAM chauthtok fehlgeschlagen\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -489,10 +522,6 @@ msgstr "%s ist eine ung羹ltige Shell.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "Syntax: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: WARNUNG! Muss set-UID root sein\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: Unbekannter Benutzer\n" @@ -896,21 +925,22 @@ msgstr "Syntax: id\n" msgid " groups=" msgstr " Gruppen=" -#, c-format +#, fuzzy, c-format msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" "Syntax: lastlog [Optionen]\n" "\n" "Optionen:\n" -" -u, --user LOGIN\tEintrag f羹r Benutzer LOGIN anzeigen\n" " -h, --help\t\tZeigt diese Hilfe, sonst nichts\n" " -t, --time DAYS\tNur Eintr瓣ge zeigen, die j羹nger sind als DAYS Tage\n" +" -u, --user LOGIN\tEintrag f羹r Benutzer LOGIN anzeigen\n" #, c-format msgid "Username Port From Latest\n" @@ -971,6 +1001,16 @@ msgstr " an `%.100s' von `%.200s'" msgid " on `%.100s'" msgstr " an `%.100s'" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "Login fehlerhaft" + #, c-format msgid "" "\n" @@ -982,6 +1022,10 @@ msgstr "" msgid "Login incorrect" msgstr "Login fehlerhaft" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "Warnung: Login reaktiviert nach tempor瓣rer Sperre.\n" @@ -997,6 +1041,11 @@ msgstr "Letzte Verbindung: %.19s an %s" msgid " from %.*s" msgstr " von %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "Syntax: newgrp [-] [Gruppe]\n" @@ -1073,24 +1122,32 @@ msgid "%s: error updating files\n" msgstr "%s: Fehler beim Aktualisieren von Dateien\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "Syntax: %s [-f|-s] [Name]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x max] [-n min] [-w Warnung] [-i Inaktiv] Name\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} Name\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" msgid "Old password: " msgstr "Altes Kennwort: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "Falsches Kennwort f羹r `%s'\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1251,6 +1308,10 @@ msgstr "Bitte geben Sie Ihr EIGENES Kennwort als Authentifizierung an.\n" msgid "Sorry." msgstr "Entschuldigung." +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "passwd: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: Muss von einem Terminal gestartet werden\n" @@ -1525,6 +1586,10 @@ msgstr "Syntax: %s [-r] Name\n" msgid "%s: error updating group entry\n" msgstr "%s: Fehler beim Aktualisieren des Gruppeneintrags\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: Kann die prim瓣re Gruppe des Benutzers nicht entfernen.\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: Kann Gruppendatei nicht 繹ffnen\n" @@ -1683,5 +1748,5 @@ msgstr "" "`vipw' bearbeitet /etc/passwd `vipw -s' bearbeitet /etc/shadow\n" "`vigr' bearbeitet /etc/group `vigr -s' bearbeitet /etc/gshadow\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "Syntax: groupadd [-g gid [-o]] [-f] Gruppe\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: PAM chauthtok fehlgeschlagen\n" diff --git a/po/el.gmo b/po/el.gmo index f3cf8289ab85b0d708935462a78c465e06e4d763..1467a0d004286b3fc4f44977b82f1ef5b08784a6 100644 GIT binary patch delta 6900 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 hcu@PUo6=Xcs$yrxw=^p#P&2bBZk\n" "Language-Team: Hellenic \n" @@ -98,6 +98,28 @@ msgstr "帢彖峟彖帢 帠峎弮弮帢." msgid "You have mail." msgstr "庰庰 帠峎弮弮帢帢." +#, fuzzy +msgid "no change" +msgstr "%s: 庥帢弮庣峎 帢弇弇帢帠峸\n" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "帢庥 彖庛庢弮帢庣庥: %s. " @@ -136,6 +158,13 @@ msgstr "庢 峟帠庥怷 帢庣庥 庥帢峎弇怷帠怷 \"%s\"\n" msgid "Can't change root directory to \"%s\"\n" msgstr "帤彖帢弮巹帢 帢弇弇帢帠峸 怷 帢庣庥怷 庥帢帢弇帠怷 庰 \"%s\"\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s: 庰彖 庰巹彖帢庣 帤彖帢彖 彖帢 庥帢庛怷庣庰巹 怷 彖怷弮帢 峸庢 帢.\n" + #, c-format msgid "malloc(%d) failed\n" msgstr " 庥弇峸庢 malloc(%d) 帢峟庰\n" @@ -239,6 +268,10 @@ msgstr "%s: 帢帤彖帢弮巹帢 帢彖怷巹帠弮帢怷 怷 帢庰巹怷 彖庛 msgid "%s: unknown user %s\n" msgstr "%s: 峎帠彖怷 峸庢 %s\n" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: 帢帤彖帢弮巹帢 帢彖怷巹帠弮帢怷 怷 帢庰巹怷 庥庣帤彖 彖庛庢弮帢庣庥彖\n" + #, fuzzy, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s: 帢帤彖帢弮巹帢 庥弇庰庣帤弮帢怷 怷 帢庰巹怷 庥庣帤彖 彖庛庢弮帢庣庥彖\n" @@ -247,6 +280,10 @@ msgstr "%s: 帢帤彖帢弮巹帢 庥弇庰庣帤弮帢怷 怷 帢庰巹怷 庥庣 msgid "%s: can't open shadow password file\n" msgstr "%s: 帢帤彖帢弮巹帢 帢彖怷巹帠弮帢怷 怷 帢庰巹怷 庥庣帤彖 彖庛庢弮帢庣庥彖\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "弇弇帢帠峸 弇庢怷怷庣彖 彖怷 帠庣帢 怷彖 %s\n" @@ -271,10 +308,6 @@ msgstr "%s: 帢帤彖帢弮巹帢 庰帢彖庰帠帠帢峸 帢庰巹怷 庥庣帤 msgid "%s: can't rewrite password file\n" msgstr "%s: 帢帤彖帢弮巹帢 庰帢彖庰帠帠帢峸 帢庰巹怷 彖庛庢弮帢庣庥彖\n" -#, fuzzy, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: 帢帤彖帢弮巹帢 徆庰庥弇庰庣帤弮帢怷 帢庰巹怷\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -467,11 +500,6 @@ msgstr "%s 帤庰彖 庰巹彖帢庣 峟帠庥怷 弇怷庣.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "峓峸庢: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "" -"%s: 峞峉峓! 峟庰庣 彖帢 峟庰庣 庰庛庰巹 怷 bit 帢帢庢庢 帢庢帢 root!\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: 峎帠彖怷 峸庢\n" @@ -868,9 +896,10 @@ msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" #, c-format @@ -932,6 +961,16 @@ msgstr " 怷 `%.100s' 帢 `%.200s'" msgid " on `%.100s'" msgstr " 怷 `%.100s'" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "庣帢帤庣庥帢巹帢 庰庣帤怷 帢峟庰" + #, c-format msgid "" "\n" @@ -943,6 +982,10 @@ msgstr "" msgid "Login incorrect" msgstr "庣帢帤庣庥帢巹帢 庰庣帤怷 帢峟庰" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "" "怷庰庣帤怷怷巹庢庢: 庰巹怷帤怷 庰帢彖庰彖庰帠怷怷庣峸庛庢庥庰 弮庰峎 帢 怷庣彖 帢怷庥弇庰庣弮.\n" @@ -959,6 +1002,11 @@ msgstr "峇庰弇庰帢巹帢 庰巹怷帤怷: %.19s 怷 %s" msgid " from %.*s" msgstr " 帢 %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "峓峸庢: newgrp [-] [怷弮峎帤帢]\n" @@ -1035,24 +1083,32 @@ msgid "%s: error updating files\n" msgstr "%s: 峉峎弇弮帢 庥帢峎 庢彖 庰彖庢弮峟庢 帢庰巹彖\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "峓峸庢: %s [-f|-s] [彖怷弮帢]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x 弮庰帠.] [-n 庰弇峎.] [-w 怷庰庣帤.] [-i 帢彖庰彖庰帠] 彖怷弮帢\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} 彖怷弮帢\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" msgid "Old password: " msgstr "帢弇庣 峉彖庛庢弮帢庣庥: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "帢弇弮峟彖怷 彖庛庢弮帢庣庥 帠庣帢 怷彖 `%s'\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1214,6 +1270,10 @@ msgstr "帢帢庥帢弇 庰庣峎帠庰庰 怷 帢 彖庛庢弮帢 msgid "Sorry." msgstr "峎弮帢庣." +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "彖庛庢弮帢庣庥: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: 峟庰庣 彖帢 庰庥庰弇庰庰巹 帢 庰弮帢庣庥\n" @@ -1461,6 +1521,10 @@ msgstr "峓峸庢: %s [-r] 彖怷弮帢\n" msgid "%s: error updating group entry\n" msgstr "%s: 峉峎弇弮帢 庥帢峎 庢彖 帢彖帢彖峟庢 庥帢帢峸庢 怷弮峎帤帢\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: 帢帤彖帢弮巹帢 帢帢巹庰庢 庢 帢庣庥峸 怷弮峎帤帢 怷 峸庢.\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: 帢帤彖帢弮巹帢 帢彖怷巹帠弮帢怷 帢庰巹怷 怷弮峎帤彖\n" @@ -1622,37 +1686,6 @@ msgstr "" "`vipw' 彖帢庰庣 怷 /etc/passwd `vipw -s' 彖峎庰庣 怷 /etc/shadow\n" "`vigr' 彖帢庰庣 怷 /etc/group `vigr -s' 彖峎庰庣 怷 /etc/gshadow\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "峓峸庢: groupadd [-g gid [-o]] [-f] 怷弮峎帤帢\n" - #, fuzzy -#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" -#~ msgstr "峓峸庢: useradd [-u uid [-o]] [-g 怷弮峎帤帢] [-G 怷弮峎帤帢,...] \n" - -#~ msgid "" -#~ " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" -#~ msgstr "" -#~ " [-d 弮庢庣庥_庥帢峎弇怷帠怷] [-s 弇怷庣] [-c 弇庣怷]\n" -#~ " [-m [-k 庥帢彖彖帢]]\n" - -#~ msgid " [-f inactive] [-e expire]\n" -#~ msgstr " [-f 帢彖庰彖庰帠] [-e 弇峸徆庢]\n" - -#, fuzzy -#~ msgid " [-p passwd] [-K KEY=VALUE] name\n" -#~ msgstr " [-p 彖庛庢弮帢庣庥] 彖怷弮帢\n" - -#~ msgid " useradd -D [-g group] [-b base] [-s shell]\n" -#~ msgstr " useradd -D [-g 怷弮峎帤帢] [-b 帣峎庢] [-s 弇怷庣]\n" - -#~ msgid "%s: -O requires NAME=VALUE\n" -#~ msgstr "%s: -O 帢帢庣庰巹 =峇\n" - -#~ msgid "unknown uid: %u\n" -#~ msgstr "峎帠彖怷 uid: %u\n" - -#~ msgid "%s: uid %u is not unique\n" -#~ msgstr "%s: 峇怷 uid %u 帤庰彖 庰巹彖帢庣 弮怷彖帢帤庣庥\n" - -#~ msgid "%s: can't get unique uid\n" -#~ msgstr "%s: 帢帤彖帢弮巹帢 庰庰庢 弮怷彖帢帤庣庥怷 uid\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: 帢帤彖帢弮巹帢 徆庰庥弇庰庣帤弮帢怷 帢庰巹怷\n" diff --git a/po/es.gmo b/po/es.gmo index b73a34ba774b50bd451603dc2975ec033d99bb04..02c64e28ad21261f79dd442d0d8f1dc456873e0a 100644 GIT binary patch delta 11521 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 diff --git a/po/es.po b/po/es.po index 1abdb26d..80fca8bc 100644 --- a/po/es.po +++ b/po/es.po @@ -4,10 +4,10 @@ # Reviewed by Ricardo Mones , 2004. msgid "" msgstr "" -"Project-Id-Version: shadow 4.0.11\n" +"Project-Id-Version: shadow 4.0.13\n" "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n" -"POT-Creation-Date: 2005-08-11 16:15+0200\n" -"PO-Revision-Date: 2005-07-11 17:00+0200\n" +"POT-Creation-Date: 2005-10-10 20:33+0200\n" +"PO-Revision-Date: 2005-09-26 21:42+0200\n" "Last-Translator: Rub矇n Porras Campo \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" @@ -102,6 +102,27 @@ msgstr "Sin correo." msgid "You have mail." msgstr "Tiene correo." +msgid "no change" +msgstr "sin cambios" + +msgid "a palindrome" +msgstr "un pal穩ndromo" + +msgid "case changes only" +msgstr "s籀lo cambios may繳sculas/min繳sculas" + +msgid "too similar" +msgstr "demasiado parecidas" + +msgid "too simple" +msgstr "demasiado simpre" + +msgid "rotated" +msgstr "rotada" + +msgid "too short" +msgstr "demasiado corta" + #, c-format msgid "Bad password: %s. " msgstr "Contrase簽a mala: %s. " @@ -117,9 +138,9 @@ msgstr "passwd: %s\n" msgid "passwd: password updated successfully\n" msgstr "passwd: contrase簽a actualizada correctamente\n" -#, fuzzy, c-format +#, c-format msgid "Incorrect password for %s.\n" -msgstr "Contrase簽a incorrecta para `%s'\n" +msgstr "Contrase簽a incorrecta para %s\n" #, c-format msgid "Unable to cd to \"%s\"\n" @@ -140,6 +161,13 @@ msgstr "Directorio ra穩z \"%s\" inv獺lido\n" msgid "Can't change root directory to \"%s\"\n" msgstr "No puedo cambiar el directorio ra穩z a \"%s\"\n" +#, fuzzy +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "Sin entrada utmp. Debe ejecutar 竄login罈 desde el nivel 竄sh罈 m獺s bajo" + +msgid "Unable to determine your tty name." +msgstr "No se pudo determinar el nombre de su tty." + #, c-format msgid "malloc(%d) failed\n" msgstr "fall籀 malloc(%d)\n" @@ -259,13 +287,21 @@ msgstr "%s: no puedo abrir el fichero de contrase簽as\n" msgid "%s: unknown user %s\n" msgstr "%s: usuario desconocido %s\n" +#, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: el fichero de contrase簽as ocultas no est獺 presente\n" + #, c-format msgid "%s: can't lock shadow password file\n" -msgstr "%s: no puedo bloquear el fichero de contrase簽as ocultas (shadow)\n" +msgstr "%s: no puedo bloquear el fichero de contrase簽as ocultas\n" #, c-format msgid "%s: can't open shadow password file\n" -msgstr "%s: no puedo abrir el fichero de contrase簽as ocultas (shadow)\n" +msgstr "%s: no puedo abrir el fichero de contrase簽as ocultas\n" + +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "%s: no fue posible desprenderse de los privilegios (%s)\n" #, c-format msgid "Changing the aging information for %s\n" @@ -281,21 +317,16 @@ msgstr "%s: no puedo actualizar el fichero de contrase簽as\n" #, c-format msgid "%s: can't update shadow password file\n" -msgstr "%s: no puedo actualizar el fichero de contrase簽as ocultas (shadow)\n" +msgstr "%s: no puedo actualizar el fichero de contrase簽as ocultas\n" #, c-format msgid "%s: can't rewrite shadow password file\n" -msgstr "" -"%s: no se puede reescribir el fichero de contrase簽as ocultas (shadow)\n" +msgstr "%s: no se puede reescribir el fichero de contrase簽as ocultas\n" #, c-format msgid "%s: can't rewrite password file\n" msgstr "%s: no se puede reescribir el fichero de contrase簽as\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: PAM chauthtok fall籀\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -320,23 +351,23 @@ msgstr "\tNombre completo: %s\n" msgid "Room Number" msgstr "N繳mero de habitaci籀n" -#, fuzzy, c-format +#, c-format msgid "\tRoom Number: %s\n" -msgstr "N繳mero de habitaci籀n" +msgstr "\tN繳mero de habitaci籀n: %s\n" msgid "Work Phone" msgstr "Tel矇fono del trabajo" -#, fuzzy, c-format +#, c-format msgid "\tWork Phone: %s\n" -msgstr "Tel矇fono del trabajo" +msgstr "\tTel矇fono del trabajo:% s\n" msgid "Home Phone" msgstr "Tel矇fono de casa" -#, fuzzy, c-format +#, c-format msgid "\tHome Phone: %s\n" -msgstr "Tel矇fono de casa" +msgstr "\tTel矇fono de casa: %s\n" msgid "Other" msgstr "Otro" @@ -494,10 +525,6 @@ msgstr "%s no es una shell v獺lida.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "Modo de uso: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: 癒AVISO! 癒Debe ser set-UID de superusuario!\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: usuario desconocido\n" @@ -663,6 +690,17 @@ msgid "" " -o, --non-unique\t\tallow create group with duplicate\n" "\t\t\t\t(non-unique) GID\n" msgstr "" +"Modo de uso: groupadd [opciones] grupo\n" +"\n" +"Opciones:\n" +" -f, --force \t\tfuerza una salida con un estado de 矇xito si el grupo\n" +"\t\t\t\tespecificado existe\n" +" -g, --gid GID\t\tusa GID para el nuevo grupo\n" +" -h, --help\t\tmuestra esta ayuda y termina\n" +" -K, --key NOMBRE=VALOR prevalece sobre el valor predeterminado de \n" +"\t\t\t\t/etc/login.defs\n" +" -o, --non-unique\tpermite crear grupos con un GID duplicado (que no es\n" +"\t\t\t\t繳nico)\n" #, c-format msgid "%s: error adding new group entry\n" @@ -772,9 +810,9 @@ msgstr "Modo de uso: %s [-r] [-s] [grupo [gshadow]]\n" msgid "Usage: %s [-r] [-s] [group]\n" msgstr "Modo de uso: %s [-r] [-s] [grupo]\n" -#, fuzzy, c-format +#, c-format msgid "No\n" -msgstr "No" +msgstr "No\n" #, c-format msgid "%s: -s and -r are incompatibile\n" @@ -886,7 +924,7 @@ msgstr "%s: no se puede actualizar el fichero de grupo\n" #, c-format msgid "%s: can't delete shadow group file\n" -msgstr "%s: no se puede eliminar el fichero de grupos oculto (shadow)\n" +msgstr "%s: no se puede eliminar el fichero de grupos oculto\n" #, c-format msgid "Usage: id [-a]\n" @@ -905,18 +943,19 @@ msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" "Modo de uso: lastlog [opciones]\n" "\n" "Opciones:\n" -" -u, --user USUARIO\tmuestra el registro lastlog para el usuario\n" -" especificado\n" +" -b, --before DAS muestra los registros lastlog anteriores a DAS\n" " -h, --help\t\tmuestra este mensaje de ayuda y termina\n" " -t, --time DAS\tmuestra s籀lo los registros lastlog m獺s recientes\n" " que DAS\n" +" -u, --user USUARIO\tmuestra el registro lastlog para el usuario\n" #, c-format msgid "Username Port From Latest\n" @@ -977,6 +1016,18 @@ msgstr " en `%.100s' desde `%.200s'" msgid " on `%.100s'" msgstr " en `%.100s'" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "login: Fallo de PAM, abortando: %s\n" + +#, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "" +"\n" +"Login incorrecto\n" + #, c-format msgid "" "\n" @@ -988,6 +1039,10 @@ msgstr "" msgid "Login incorrect" msgstr "Login incorrecto" +#, c-format +msgid "%s: failure forking: %s" +msgstr "%s: fallo en la llamada a fork: %s" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "Aviso: acceso reestablecido despu矇s de un lockout temporal.\n" @@ -1003,6 +1058,13 @@ msgstr "ltima entrada: %.19s en %s" msgid " from %.*s" msgstr " desde %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" +"tiempo de acceso excedido\n" +"\n" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "Modo de uso: newgrp [-] [grupo]\n" @@ -1081,24 +1143,53 @@ msgid "%s: error updating files\n" msgstr "%s: error actualizando los ficheros\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "Modo de uso: %s [-f|-s] [nombre]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x m獺x] [-n m穩n] [-w aviso] [-i inact] nombre\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} nombre\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" +"Modo de uso: passwd [opciones] [nombre usuario]\n" +"\n" +"Options:\n" +" -a, --all \t\t\tinforma del estado de las contrase簽as de todas\n" +" las cuentas\n" +" -d, --delete \t\t\tborra la contrase簽a para la cuenta\n" +" -e, --expire\t\t\tfuerza a que la contrase簽a de la cuenta caduque\n" +" -h, --help\t\t\tmuestra esta ayuda y termina\n" +" -k, --keep-tokens\t\tcambia la contrase簽a s籀lo si a caducado\n" +" -i, --inactive INACTIVO\testablece la contrase簽a inactiva despu矇s de\n" +" caducar a INACTIVO\n" +" -l, --lock\t\t\tbloquea la cuenta\n" +" -n, --mindays DAS_MIN\testablece el n繳mero m穩nimo de d穩as antes de que\n" +" se cambie la contrase簽a a DAS_MIN\n" +" -q, --quiet\t\t\tmodo silencioso\n" +" -r, --repository REP cambia la contrase簽a en el repositorio REP\n" +" -S, --status\t\t\tindica el estado de la contrase簽a la cuenta\n" +" -u, --unlock\t\t\tdesbloquea la cuenta\n" +" -w, --warndays DAS_AVISO\testablece el aviso de caducidad a DAS_AVISO\n" +" -x, --maxdays DAS_MAX\testablece el n繳mero m獺ximo de d穩as antes de \n" +" cambiar la contrase簽a a DAS_MAX\n" msgid "Old password: " msgstr "Contrase簽a antigua: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "Contrase簽a incorrecta para `%s'\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1162,9 +1253,9 @@ msgstr "La contrase簽a para %s no se ha modificado.\n" msgid "Password changed.\n" msgstr "Contrase簽a cambiada.\n" -#, fuzzy, c-format +#, c-format msgid "Password set to expire.\n" -msgstr "Su contrase簽a ha caducado." +msgstr "Contrase簽a caducada.\n" #, c-format msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n" @@ -1258,6 +1349,10 @@ msgstr "Por favor, introduzca su PROPIA contrase簽a como autenticaci籀n.\n" msgid "Sorry." msgstr "Disculpe." +#, c-format +msgid "%s: %s\n" +msgstr "%s: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: debe ejecutarse desde un terminal\n" @@ -1381,11 +1476,11 @@ msgstr "" " -d, --home-dir DIR_PERSONAL\tdirectorio personal para el nuevo usuario\n" " -D, --defaults\t\tmuestra o salva la configuraci籀n predeterminada\n" " modificada para useradd\n" -" -e, --expiredate FECHA_EXPIR\testablece la fecha de expiraci籀n de la " -"cuenta a\n" +" -e, --expiredate FECHA_EXPIR\testablece la fecha de caducidad de la cuenta " +"a\n" " FECHA_EXPIR\n" -" -f, --inactive INACTIVO\testablece el tiempo de inactividad despu矇s del\n" -" que expira la cuenta a INACTIVO\n" +" -f, --inactive INACTIVO\testablece el tiempo de inactividad despu矇s de\n" +" que caduque la cuenta a INACTIVO\n" " -g, --gid GRUPO\t\tforzar el uso de GRUPO para la nueva cuenta de \n" " usuario\n" " -G, --groups GRUPOS\t\tlista de grupos suplementarios para la nueva " @@ -1526,6 +1621,8 @@ msgid "" "%s: warning: the home directory already exists.\n" "Not copying any file from skel directory into it.\n" msgstr "" +"%s: aviso: el directorio personal ya existe.\n" +"No se copia ning繳n fichero del directorio skel en 矇l.\n" #, c-format msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n" @@ -1540,6 +1637,10 @@ msgstr "Modo de uso: %s [-r] nombre\n" msgid "%s: error updating group entry\n" msgstr "%s: error actualizando la entrada del grupo\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: no se puede eliminar el grupo primario del usuario.\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: no se puede abrir el fichero de grupos\n" @@ -1697,5 +1798,5 @@ msgstr "" "`vipw' edita /etc/passwd `vipw -s' edita /etc/shadow\n" "`vigr' edita /etc/group `vigr -s' edita /etc/gshadow\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "Modo de uso: groupadd [-g gid [-o]] [-f] grupo\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: PAM chauthtok fall籀\n" diff --git a/po/eu.gmo b/po/eu.gmo index e4bea9790d0f329f434e9fc5eac11a58605ff7dc..8900b2fcece28148b41671e6984bfaa15a780ef3 100644 GIT binary patch delta 7550 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 AWB>pF diff --git a/po/eu.po b/po/eu.po index a3c7f586..1ceabb73 100644 --- a/po/eu.po +++ b/po/eu.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.8\n" "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n" -"POT-Creation-Date: 2005-08-11 16:15+0200\n" +"POT-Creation-Date: 2005-10-10 20:33+0200\n" "PO-Revision-Date: 2005-04-19 21:28+0200\n" "Last-Translator: Iaki Larraaga Murgoitio \n" "Language-Team: \n" @@ -108,6 +108,28 @@ msgstr "Mezurik ez." msgid "You have mail." msgstr "Mezua duzu." +#, fuzzy +msgid "no change" +msgstr "%s: aldaketarik gabe\n" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "Pasahitz okerra: %s. " @@ -146,6 +168,13 @@ msgstr "Baliogabeko erro direktorioa \"%s\"\n" msgid "Can't change root directory to \"%s\"\n" msgstr "Ezin da erro direktorioa \"%s\"-ra aldatu.\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s: Ezin da erabiltzaile-izena zehaztu.\n" + #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) huts egin du\n" @@ -249,6 +278,10 @@ msgstr "%s: ezin da pasahitzen fitxategia ireki\n" msgid "%s: unknown user %s\n" msgstr "%s: %s erabiltzaile ezezaguna\n" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: ezin da itzalpeko (shadow) pasahitz-fitxategia ireki\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s: ezin da itzalpeko (shadow) pasahitz-fitxategia blokeatu\n" @@ -257,6 +290,10 @@ msgstr "%s: ezin da itzalpeko (shadow) pasahitz-fitxategia blokeatu\n" msgid "%s: can't open shadow password file\n" msgstr "%s: ezin da itzalpeko (shadow) pasahitz-fitxategia ireki\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "%s(r)en data-informazioa aldatzen\n" @@ -281,10 +318,6 @@ msgstr "%s:ezin da itzalpeko pasahitz-fitxategia berridatzi\n" msgid "%s: can't rewrite password file\n" msgstr "%s: ezin da pasahitzen fitxategia berridatzi\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: PAM chauthtok-ek huts egin du\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -481,10 +514,6 @@ msgstr "%s shell baliogabea da.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "Erabilera: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: ABISUA! root-aren set-UID izan behar du\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: erabiltzaile ezezaguna\n" @@ -885,23 +914,24 @@ msgstr "Erabilera: id\n" msgid " groups=" msgstr " taldeak=" -#, c-format +#, fuzzy, c-format msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" "Erabilera: lastlog [aukerak]\n" "\n" "Aukerak:\n" -" -u, --user IZENA\tIZENA duen erabiltzailearen lastlog erregistroa \n" -"\t\t\t\tbistaratzen du\n" " -h, --help\t\tlaguntzako mezu hau bistaratu eta irten egiten da\n" " -t, --time EGUNAK\tEGUNAK baino berriagoak diren erregistroak \n" "\t\t\t\tbakarrik bistaratzen ditu\n" +" -u, --user IZENA\tIZENA duen erabiltzailearen lastlog erregistroa \n" +"\t\t\t\tbistaratzen du\n" #, c-format msgid "Username Port From Latest\n" @@ -962,6 +992,16 @@ msgstr "`%.100s'(e)tik `%.200s'(e)ra" msgid " on `%.100s'" msgstr "`%.100s'(e)n" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "Izen okerra" + #, c-format msgid "" "\n" @@ -973,6 +1013,10 @@ msgstr "" msgid "Login incorrect" msgstr "Izen okerra" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "" "Abisua: saio-hasiera berriru gaitu egingo da aldi bateko blokeoaren " @@ -990,6 +1034,11 @@ msgstr "Azken saio-hasiera: %.19s %s(e)n" msgid " from %.*s" msgstr "%.*s(e)tik" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "Erabilera: newgrp [-] [taldea]\n" @@ -1066,24 +1115,32 @@ msgid "%s: error updating files\n" msgstr "%s: errorea fitxategiak eguneratzean\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "Erabilera: %s [-f|-s] [izena]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x geh] [-n gutx] [-w abisu] [-i ez-aktib] izena\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} izena\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" msgid "Old password: " msgstr "Pasahitz zaharra: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "`%s'(r)en pasahitz okerra\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1242,6 +1299,10 @@ msgstr "Sartu zure pasahitz PROPIOA autentifikazio gisa\n" msgid "Sorry." msgstr "Barkatu." +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "passwd: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: terminal batetik exekutatu behar da\n" @@ -1487,6 +1548,10 @@ msgstr "Erabilera: %s [-r] izena\n" msgid "%s: error updating group entry\n" msgstr "%s: errorea taldearen sarrera eguneratzean\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s ezin da erabiltzailearen talde nagusia ezabatu\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: ezin da talde-fitxategia ireki\n" @@ -1643,37 +1708,5 @@ msgstr "" "`vigr' -k /etc/group editatzen du `vigr -s' -k /etc/gshadow " "editatzen du\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "Erabilera: groupadd [-g gid [-o]] [-f] taldea\n" - -#, fuzzy -#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" -#~ msgstr "Erabilera: useradd [-u uid [-o]] [-g taldea] [-G taldea,...] \n" - -#~ msgid "" -#~ " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" -#~ msgstr "" -#~ " [-d etxea] [-s shell] [-c iruzkina] [-m [-k " -#~ "txantiloia]]\n" - -#~ msgid " [-f inactive] [-e expire]\n" -#~ msgstr " [-f ez-aktiboa] [-e iraungitu]\n" - -#, fuzzy -#~ msgid " [-p passwd] [-K KEY=VALUE] name\n" -#~ msgstr " [-p pasahitza] izena\n" - -#~ msgid " useradd -D [-g group] [-b base] [-s shell]\n" -#~ msgstr " useradd -D [-g taldea] [-b base] [-s shell]\n" - -#~ msgid "%s: -O requires NAME=VALUE\n" -#~ msgstr "%s: -O-k NAME=BALIOA eskatzen du\n" - -#~ msgid "unknown uid: %u\n" -#~ msgstr "uid ezezaguna: %u\n" - -#~ msgid "%s: uid %u is not unique\n" -#~ msgstr "%s:%u uid-a ez da bakarra\n" - -#~ msgid "%s: can't get unique uid\n" -#~ msgstr "%s: ezin da uid bakar bat eskuratu\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: PAM chauthtok-ek huts egin du\n" diff --git a/po/fi.gmo b/po/fi.gmo index a2df8a6c0ca26f66eb2b7839161d19b7288aca47..066d9859b803c366ec0b5dc8b206125a1418bed4 100644 GIT binary patch delta 7961 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 delta 8723 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 Bge3p~ diff --git a/po/fi.po b/po/fi.po index 684815ab..dfb20f5c 100644 --- a/po/fi.po +++ b/po/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.12\n" "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n" -"POT-Creation-Date: 2005-08-11 16:15+0200\n" +"POT-Creation-Date: 2005-10-10 20:33+0200\n" "PO-Revision-Date: 2005-08-11 21:59+0300\n" "Last-Translator: Tommi Vainikainen \n" "Language-Team: Finnish \n" @@ -100,6 +100,28 @@ msgstr "Ei postia." msgid "You have mail." msgstr "Sinulle on postia." +#, fuzzy +msgid "no change" +msgstr "%s: ei muutoksia\n" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "Huono salasana: %s. " @@ -138,6 +160,13 @@ msgstr "Virheellinen juurihakemisto \"%s\"\n" msgid "Can't change root directory to \"%s\"\n" msgstr "Ei voi vaihtaa juurihakemistoksi \"%s\"\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s: K瓣ytt瓣j瓣tunnusta ei voi selvitt瓣瓣.\n" + #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) ep瓣onnistui\n" @@ -259,6 +288,10 @@ msgstr "%s: salasanatiedostoa ei voi avata\n" msgid "%s: unknown user %s\n" msgstr "%s: Tuntematon k瓣ytt瓣j瓣 %s\n" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: varjosalasanatiedostoa ei voi avata\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s: varjosalasanatiedostoa ei voi lukita\n" @@ -267,6 +300,10 @@ msgstr "%s: varjosalasanatiedostoa ei voi lukita\n" msgid "%s: can't open shadow password file\n" msgstr "%s: varjosalasanatiedostoa ei voi avata\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "Muutetaan k瓣ytt瓣j瓣n %s vanhenemistietoja\n" @@ -291,10 +328,6 @@ msgstr "%s: varjosalasanatiedostoa ei voi uudelleenkirjoittaa\n" msgid "%s: can't rewrite password file\n" msgstr "%s: salasanatiedostoa ei voi uudelleenkirjoittaa\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: PAM-chauthtok ep瓣onnistui\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -491,10 +524,6 @@ msgstr "%s on virheellinen kuori.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "K瓣ytt繹: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: VAROITUS! Oikeuksina t瓣ytyy olla aseta-UID p瓣瓣k瓣ytt瓣j瓣ksi!\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: tuntematon k瓣ytt瓣j瓣\n" @@ -904,21 +933,22 @@ msgstr "K瓣ytt繹: id\n" msgid " groups=" msgstr " ryhm瓣t=" -#, c-format +#, fuzzy, c-format msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" "K瓣ytt繹: lastlog [valitsimet]\n" "\n" "Valitsimet:\n" -" -u, --login TUNNUS Tulosta lastlog-tietue k瓣ytt瓣j瓣lle TUNNUS\n" " -h, --help N瓣yt瓣 t瓣m瓣 ohje ja lopeta\n" " -t, --time PIV Tulosta vain PIV tuoreemmat lastlog-tietueet\n" +" -u, --login TUNNUS Tulosta lastlog-tietue k瓣ytt瓣j瓣lle TUNNUS\n" #, c-format msgid "Username Port From Latest\n" @@ -979,6 +1009,16 @@ msgstr " p瓣瓣tteelt瓣 \"%.100s\" osoitteesta \"%.200s\"" msgid " on `%.100s'" msgstr " p瓣瓣tteelt瓣 \"%.100s\"" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "Sis瓣瓣nkirjautuminen ep瓣onnistui" + #, c-format msgid "" "\n" @@ -990,6 +1030,10 @@ msgstr "" msgid "Login incorrect" msgstr "Sis瓣瓣nkirjautuminen ep瓣onnistui" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "" "Varoitus: sis瓣瓣nkirjautuminen uudelleen k瓣yt繹ss瓣 hetkellisen eston j瓣lkeen.\n" @@ -1006,6 +1050,11 @@ msgstr "Edellinen kirjautuminen: %.19s p瓣瓣tteell瓣 %s" msgid " from %.*s" msgstr " osoitteesta %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "K瓣ytt繹: newgrp [-] [ryhm瓣]\n" @@ -1082,24 +1131,32 @@ msgid "%s: error updating files\n" msgstr "%s: virhe p瓣ivitett瓣ess瓣 tiedostoja\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "K瓣ytt繹: %s [-f|-s] [nimi]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x kork] [-n v瓣h] [-w varoitus] [-i poisk瓣yt] nimi\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} nimi\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" msgid "Old password: " msgstr "Vanha salasana: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "V瓣瓣r瓣 salasana k瓣ytt瓣j瓣lle \"%s\"\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1258,6 +1315,10 @@ msgstr "Sy繹t瓣 OMA salasanasi todennukseksi.\n" msgid "Sorry." msgstr "Pahoittelen." +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "passwd: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: t瓣ytyy suorittaa p瓣瓣tteess瓣\n" @@ -1540,6 +1601,10 @@ msgstr "K瓣ytt繹: %s [-r] nimi\n" msgid "%s: error updating group entry\n" msgstr "%s: virhe p瓣ivitett瓣ess瓣 ryhm瓣tietuetta\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: k瓣ytt瓣j瓣n ensisijaista ryhm瓣瓣 ei voi poistaa\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: ryhm瓣tiedostoa ei voi avata\n" @@ -1699,169 +1764,5 @@ msgstr "" "\"vigr\" muokkaa tiedostoa /etc/group \"vigr -s\" muokkaa tiedostoa /etc/" "gshadow\n" -#~ msgid "Member already exists\n" -#~ msgstr "J瓣sen on jo olemassa\n" - -#~ msgid "Member to remove could not be found\n" -#~ msgstr "Poistettavaa j瓣sent瓣 ei l繹ytynyt\n" - -#~ msgid "" -#~ "Usage: groupmems -a username | -d username | -D | -l [-g groupname]\n" -#~ msgstr "" -#~ "K瓣ytt繹: groupmems -a k瓣ytt瓣j瓣tunnus | -d k瓣ytt瓣j瓣tunnus | -D | -l [-g " -#~ "ryhm瓣nimi]\n" - -#~ msgid "Only root can add members to different groups\n" -#~ msgstr "Vain p瓣瓣k瓣ytt瓣j瓣 voi lis瓣t瓣 j瓣seni瓣 eri ryhmiin\n" - -#~ msgid "Group access is required\n" -#~ msgstr "Tarvitaan ryhm瓣oikeus\n" - -#~ msgid "Not primary owner of current group\n" -#~ msgstr "Ei nykyisen ryhm瓣n ensisijainen omistaja\n" - -#~ msgid "Unable to lock group file\n" -#~ msgstr "Ryhm瓣tiedostoa ei voi lukita\n" - -#~ msgid "Unable to open group file\n" -#~ msgstr "Ryhm瓣tiedostoa ei voi avata\n" - -#~ msgid "Cannot close group file\n" -#~ msgstr "Ryhm瓣tiedostoa ei voi sulkea\n" - -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "K瓣ytt繹: groupadd [-g gid [-o]] [-f] ryhm瓣\n" - -#~ msgid "No" -#~ msgstr "Ei" - -#~ msgid "" -#~ "Usage: useradd [options] LOGIN\n" -#~ "\n" -#~ "Options:\n" -#~ " -b, --base-dir BASE_DIR\tbase directory for the the new user account\n" -#~ "\t\t\t\thome directory\n" -#~ " -c, --comment COMMENT\t\tset the GECOS field for the new user account\n" -#~ " -d, --home-dir HOME_DIR\thome directory for the new user account\n" -#~ " -D, --defaults\t\tprint or save modified default useradd\n" -#~ "\t\t\t\tconfiguration\n" -#~ " -e, --expiredate EXPIRE_DATE\tset account expiration date to " -#~ "EXPIRE_DATE\n" -#~ " -f, --inactive INACTIVE\tset password inactive after expiration\n" -#~ "\t\t\t\tto INACTIVE\n" -#~ " -g, --gid GROUP\t\tforce use GROUP for the new user account\n" -#~ " -G, --groups GROUPS\t\tlist of supplementary groups for the new\n" -#~ "\t\t\t\tuser account\n" -#~ " -h, --help\t\t\tdisplay this help message and exit\n" -#~ " -k, --skel SKEL_DIR \t\tspecify an alternative skel directory\n" -#~ " -K, --key KEY=VALUE\t\toverrides /etc/login.defs defaults\n" -#~ " -m, --create-home\t\tcreate home directory for the new user\n" -#~ "\t\t\t\taccount\n" -#~ " -o, --non-unique\t\tallow create user with duplicate\n" -#~ "\t\t\t\t(non-unique) UID\n" -#~ " -p, --password PASSWORD\tuse encrypted password for the new user\n" -#~ "\t\t\t\taccount\n" -#~ " -s, --shell SHELL\t\tthe login shell for the new user account\n" -#~ " -u, --uid UID\t\t\tforce use the UID for the new user account\n" -#~ msgstr "" -#~ "K瓣ytt繹: useradd [valitsimet] TUNNUS\n" -#~ "\n" -#~ "Valitsimet:\n" -#~ " -b, --base-dir YLHAK Yl瓣hakemisto uuden k瓣ytt瓣j瓣tunnuksen\n" -#~ " kotihakemistolle\n" -#~ " -c, --comment KOMMENTTI Aseta GECOS-kentt瓣 uudelle " -#~ "k瓣ytt瓣j瓣tunnukselle\n" -#~ " -d, --home-dir KOTIHAK Uuden k瓣ytt瓣j瓣tunnuksen kotihakemisto\n" -#~ " -D, --defaults Tulosta tai tallenna useradd-ty繹kalun\n" -#~ " oletusasetukset\n" -#~ " -e, --expiredate VANH_PVM Aseta tilin vanhenemisp瓣iv瓣ykseksi " -#~ "VANH_PVM\n" -#~ " -f, --inactive POISKYTST Ota salasana pois k瓣yt繹st瓣 POISKYTST\n" -#~ " p瓣iv瓣瓣 vanhenemisen j瓣lkeen\n" -#~ " -g, --gid RYHM Valitse itse RYHM uudelle " -#~ "k瓣ytt瓣j瓣tunnukselle\n" -#~ " -G, --groups RYHMT Luettelo lis瓣ryhmist瓣 uudelle\n" -#~ " k瓣ytt瓣j瓣tunnukselle\n" -#~ " -h, --help N瓣yt瓣 t瓣m瓣 ohje ja lopeta\n" -#~ " -k, --skel MALLIHAK M瓣瓣rit瓣 vaihtoehtoinen mallihakemisto\n" -#~ " -K, --key AVAIN=ARVO Kumoa /etc/login.defs-oletusarvot\n" -#~ " -m, --create-home Luo kotihakemisto uudelle " -#~ "k瓣ytt瓣j瓣tunnukselle\n" -#~ " -o, --non-unique Salli UID:n uudelleenk瓣ytt繹 (ei-uniikki " -#~ "UID)\n" -#~ " luotaessa k瓣ytt瓣j瓣tunnus\n" -#~ " -p, --password SALASANA K瓣yt瓣 salakirjoitettua salasanaa uudelle\n" -#~ " k瓣ytt瓣j瓣tunnukselle\n" -#~ " -s, --shell KUORI Uuden k瓣ytt瓣j瓣tunnuksen " -#~ "sis瓣瓣nkirjautumiskuori\n" -#~ " -u, --uid UID Valitse itse UID uudelle " -#~ "k瓣ytt瓣j瓣tunnukselle\n" - -#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" -#~ msgstr "K瓣ytt繹: useradd [-u uid [-o]] [-g ryhm瓣] [-G ryhm瓣,...] \n" - -#~ msgid "" -#~ " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" -#~ msgstr " [-d koti] [-s kuori] [-c komento] [-m [-k malli]]\n" - -#~ msgid " [-f inactive] [-e expire]\n" -#~ msgstr " [-f poisk瓣yt繹st瓣] [-e vanhenee]\n" - -#~ msgid " [-p passwd] name\n" -#~ msgstr " [-p salansana] nimi\n" - -#~ msgid " useradd -D [-g group] [-b base] [-s shell]\n" -#~ msgstr " useradd -D [-g ryhm瓣] [-b perus] [-s kuori]\n" - -#~ msgid "" -#~ "Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n" -#~ " [-I inactive] [-E expire] [-d last_day] user\n" -#~ msgstr "" -#~ "K瓣ytt繹: chage [-l] [-m v瓣h_p瓣iv瓣瓣] [-M kork_p瓣iv瓣瓣] [-W varoitus]\n" -#~ " [-I poisk瓣yt繹st瓣] [-E vanhenee] [-d viim_p瓣iv瓣] k瓣ytt瓣j瓣\n" - -#~ msgid "%s: permission denied.\n" -#~ msgstr "%s: Lupa ev瓣tty.\n" - -#~ msgid "%s: no DBM database on system - no action performed\n" -#~ msgstr "" -#~ "%s: j瓣rjestelm瓣ss瓣 ei DBM-tietokantaa - toimenpiteit瓣 ei suoritettu\n" - -#~ msgid "%s: cannot overwrite file %s\n" -#~ msgstr "%s: tiedostoa %s ei voi ylikirjoittaa\n" - -#~ msgid "%s: cannot open DBM files for %s\n" -#~ msgstr "%s: DBM-tiedostoja %s ei voi avata\n" - -#~ msgid "%s: the line beginning with %.16s... is too long\n" -#~ msgstr "%s: rivi, joka alkaa %.16s... on liian pitk瓣\n" - -#~ msgid "%s: error parsing line \"%s\"\n" -#~ msgstr "%s: virhe j瓣sennett瓣ess瓣 rivi瓣 \"%s\"\n" - -#~ msgid "adding record for name %s\n" -#~ msgstr "lis瓣t瓣瓣n tietue nimelle %s\n" - -#~ msgid "%s: error adding record for %s\n" -#~ msgstr "%s: virhe lis瓣tt瓣ess瓣 tietuetta nimelle %s\n" - -#~ msgid "added %d entries, longest was %d\n" -#~ msgstr "lis瓣tty %d tietuetta, pisin oli %d\n" - -#~ msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n" -#~ msgstr "K瓣ytt繹: %s [-vf] [-p|g|sp|sg] tiedosto\n" - -#~ msgid "Usage: %s [-vf] [-p|g|sp] file\n" -#~ msgstr "K瓣ytt繹: %s [-vf] [-p|g|sp] tiedosto\n" - -#~ msgid "Usage: %s [-vf] [-p|g] file\n" -#~ msgstr "K瓣ytt繹: %s [-vf] [-p|g] tiedosto\n" - -#~ msgid "Usage: %s [-q] [-r] [-s] [passwd]\n" -#~ msgstr "K瓣ytt繹: %s [-q] [-r] [-s] [passwd]\n" - -#~ msgid "%s: uid %u is not unique\n" -#~ msgstr "%s: uid %u ei ole ainutkertainen\n" - -#~ msgid "%s: can't get unique uid\n" -#~ msgstr "%s: ainutkertaista uidia ei saa\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: PAM-chauthtok ep瓣onnistui\n" diff --git a/po/fr.gmo b/po/fr.gmo index a0b35d9e777fb2bc544a45b9f1a787ccfacd468d..f3614183e7829fa8879b2ff6978bb7d1480ab469 100644 GIT binary patch delta 12596 zcmZ{p2Yggj_QzjBO+Y~DEqMe2p(KQ=AXREY6$nL|lgvvPn9Rf}kYE`*Vqwuo6GcH5 z6kSwy)YVli#Q)lLEq~j(id$UQb=TE()xT@`e}C`3NP_PBc=A2x_IvKR=e@xXj%Pl- zsafjX)0%I$cv2ab)eClNYgt*DmesbKN-e9{wye|PFxVc3Uo= zJ_J?&66_1#hXY`XK9;o_7Q!=`*18U*h=OO}5cn0$f%$os)dNoTxf*uG-Uv0|4X`_W z0QQ5wg{_y*L3|AK|E9hEj52lJWVT8Sc;T?RGajj#($!*=jl zD381a<$66l9au5~ztUfZEvgQ2lR*>VFKX|GNeFUj^S# zAeVLaegIah3s{eJqorc=z z^N{$oKJ?ipMMS7!5yT1BBHz9cY9affc6`h){}WWZY_5!4Is$6KxlrX*Q0=!uE$Ej} z3w;BseY2rv0XaTXlTq-Z6@==r1!~7>-+tM*zwqr&#m41hpmu%^)Q&bnFIJ$&dlD+9 z{sGml^)R!r0w}u_;?b0~7DZ>Z1uAF`LY>jWzWpXF#s0freg+4x0m`5alTZ`wfI9no zp~ia(D)`=mHvBi##=49!^&?@P?*D8QxjO1sY=JtfgHRog`Sr(reh+QRb4Hq&mR17SE?O+YGVG8Q(_d>1B)zlRgBzk=oP^s%PjZm4nYhg!%pP{I5O>As3!TG2bV$hU)kr%!AKDx$f^!JJW34KsTSmpgdCwx#CtC zRJ*HSF5C;X57<5Q=b z@!M~P3@8`QT7cc$verT6hmRH;S9e^(3kZ8U)NR-Z)qfj21>OTS(NSo_r=b$m zU!gYe)e`*Q6{XEmb6xsE*(Fc|1$xEpHXN1;6X@-qCd4D|s8-Ql-TXWsQ3v*J-O2YWH>29r={zXhuO&;9a8p^oeg zXv5E;ChWZ2Y-kKrzq6q>PzAM+%_)?YC^ti0ll@Q&I1Fw098}PK4D;bvus_UMVLnc$ zLB-A-s0Gx)4sZw5c(+6KKLWj@fbz`KQ0-E0qi7|6gPPzwsCPlXmHvvMc2Wgz$>388 zl4Gnvt4#t5!QR*xLhbM-s2v`Gih)<5Joi4-k$nxv!Q6AbTa&U@pqx)Z3bHxtKX3+I z67YT?Shqs$_;*m(EVJA&A8O#4Pzww|wYvfig1>;;;Tupv_aW3qzl8Ekc7-;OA`npc zxUmZ0ZEz_Z3I78X8^uA(8U<%Sb-WNN^=^XN=}k}`I|_TjkDxr+$}tNngc^Sl90MjEp0`psMqvXNvm8QWsn2Wt0o&k428@>c}JN^lE?OIovfyVh<3gy}a4NEQAv}GpWlez&oCy!X68M?VaqEb1 z>?`2{_@-|U4x8~Wgaatw56^-!xun5kqF&o$bCt)9en)ibm{I3ZIoo9Bu9%|wTeYS|19WH?K$jxvO zd>59%5piR0hVsa}un-PNkQHGW)Bbn)n&01$9|(R$2~6 zVef}C;9F1=_1RzsTnn|+N8m7cO09{ViEupjYB&_`ftu$9pB?MWhfQi3ith8(P-pUt z&$b(lYv;i;D8CFYf{(zF@Ko;XLO31D-VNoUm*8;KUtnB36>8k8pvs@~?eE}R;?J6V zp^4V5Py_u1j)1)`GWUBvw6R052fP}tf(M|2wmC;A7we~-JfM_55MBfG;Qg>Kd=vJ9 z-$0Gu{bGIaV9Y^L!^@#ubvx8b-+3=gaxqEHD;pmkc(qo4f{gtTJwJI2X%YKKpkxq_JOy;0q}`y@qaGLUn$VpW?g4? zG!<%sop3sQ9CnATw(z3?_JI@NMQ{c@3N>(xpP3jK02Mn`un_Kr?b~cM8(x?~ z(N1gO4tNWk4@X^ZV&F<>WB&?j!Z%?X*!2eUy6p>9KL%@pHpMV|U zcTm@`{VsC^B~T0808fGY;8@-Ndr&ec_y}ggkD*-m3Dg9+HyT&XfP=6vg`MDG*bW|p z!{N)&hRt`Igp?1vVlRR{U>M#3H$g45_$K}SL#akt2;YXf4MjJbYcm^aAs0i%$i1*9 zd>zV_pFy2zr#&XKodH*J7G-cWJ4){}x9OwX_)u*|aPKG3DZl%m@z^d_qkki?9z;0} zegd`P%tQQgrC|@K3EJI7(&0>oL%Hxb_u`q>e2Boo*xep7*K8_Wg1r&yI==#S_FqDc zpYv;Ti-y5b*t33(|8HXfM)wV?CiBzP-46CQ_Wz+R7- z3Cds&b`)mAExvstEW>^f%Cqf`;(tvz;iy@_D%cx41+~IGuoS)uOJL5UCKIlKBd`xb z-JZ9h2K*N4s0ts`%Y|cwv*6WG#!9I_hTQ)0&A{W)d&hS>)3f>Pp!lO_FybNc< z-cOk5T?^&i(t=V<~Ec zyxt_9(J+tlB-BoK!3@qN{#ld}+*TNBm)v0QdDo|Y4fjPST&zXt z^K}0enf)+2~DI-PnFNt&@V&YKrW(8F0F*`K|MDhWBs;XL8Cw4p>x5k z2=)2MPSr8LwbAcz33@5|GI$qqDWYeLU;nx>y?SIe^^-_D0@9 zUkdAx|Dd1zXnrrxH&jePsX^v86u>ET*3%Yw!P8FsdFF&_eTsgkZ?A>_i!AZ`+UQpx zeUKf6wGw)2QCx68;t- z=TbfvmcwUZAHSdH|5g|Qzu+%a>dD2P0B1w}%ZMWXUgRIh<47H{51E6EpuXYxGs;xo zsAyC^&Da0WulpDdqO6UgeIW8Y1!YLWZ!jEA_VtNAE8u$M9NM3a+~}7F(e>DHsITkp zw?+ShS7TWuQt!Enzq;l<5C`$jzbndL5j{x*@9%v6mN1AC%(soor4FY2I8>hh9kK@L zg6L_5#HhaszKmRmJ_hO;jf9cYDdS05!%)hQHAs7}j0w??p)W>;qh}y@qo0GEg)}^? zP)?<;77j#yi!8vt5bC)V`56+G!E?mG8b=%RxOaBTPJM#@bwdd(p!#Zff!|DtG6$K9 z-5Kgxj(ma4{9!1QM^)GG%%|==-*~Q}5UxPFQ+L>urK}u`cF3O^HALe*h`b0g z{jyy2hmdi|JjzDF2N4%p=(kD2>DUd=W|ZF`*CMN_>*!T@F+fOAFoc43ULpU0;#2q# zxfxkcn;Gy|h@MHVxI!$a8WHy!;6_$AT|*@84Y`%!+5^rX#HMBhZKu_MTA;Q2c; z%hSxC8tR*SYNh$keG{V|`8P7aA4v6`8|mja(p9JD6=Vd`lDggS6u1_dfV_=eiWDR6 zJBth4y*Ygfvt~xC9ee(oXv7(7=f|_HtOe0%wLLdkUGBvEk|ojDIzv}OP^2On zi#ZjE^!qt)Wu#B*Gdm-_IPd>5+)%&i>DT%VX)`(y3OhkN5w(M{XpLPH3$3T1%8A_9l?1cG(8QyYpW;zikW8K5Fs zQ%8F{5UDc*SH{?Ge4P_+)G-uc@u5Ufc6!wr-I_Pcj~Askj{8MMMz-5`!r_TgJDI4i zu~|l}uE@5RMU!@QGM-=>r^3z)N2@}SJlh*qYYImLvnZ!mZC+&;}{>kcZ}oL#PA${o77!%OqpN5er!0|X-W)XB>hx}oW# z+(D(2+#6GfhBkU_| z2P!I}$w(ruT?N%E=!EgSI{KQt@=FeMLvS{9dWj|U(C}N+ewNLcXFbg$| z@hMZBwj_N;>8CAo0vt>@ z6d}b_J61)2C^YVi+j3hvdG=QsqrLF36CtvKQ(NIUK|(v*@=C|r^C!=-r<*i1gqug4 z_=(6}w=lP*8O*(M;f<|gQErJ7baNIh=W<5LPqei>EmR!}2VxC+P1td37yT(?xVyUS ztTw}n3x^fk!;8m`7~%e+EGK(RVex2t*r>6iPEWs9wjyIx)}s1D;rc^0O1*ZC6N^V9 z5hr|Xub*`19=n%3V3(661IZss-MzPWcMFyjyUDBb(q&85W~RHG^L<9T&5B1d-49kJ z)B9JC?vkoMRI!Fs6pqH?8X`O(P#%Z`IffuP*ren7I~wO>4d0|w(yjkqB1-&>SDIa!g6kf1Bpgh&g)q#eUkPAn1Cozjw& zv01~hhnb^}Y#IwFwTJ2tkxQStba6{BX%E=EIkWlPXe2v*&oy?&r1=5-F+h2{{*dD( z@gjS1l>8SYId3FH@IjKy>rLQAi8n#esY&ws2@i0$9O&N3b7@VOUgZoI39aXN(l1^+ zFJs(nhx?U~$93TeInsVbG*TI=N;08cqg0;ctk)B_!BB#tF!2MG|9fpI$Sf|Y=0?Ut zdJ8ZLzVKfIF}%d)$rMA#yIQRJ*y3J}ly5E!+(;6on{^=E%HvTC#oy+a*KH>h+9pQemzkf5^w%r-q zF3b-QKHh-`2ZSPliUeOH@;x!-pH?-e<$k))b|-Cb-nu4Me+SbC-1$2@r+aKap3$Ch zY$CCixX>xMzr8lc9kO%kDNS~gPVFqrXzYl4cXe)Lrk~k$Q?pdloqDgtMz8Uc-{PEv za%`jbxVI9s9KF|BPr!~VZ#i~gJr|xEQ$d1Pl*F8b!VOKYdbY$+ZgO9j#qp4K;mxh2 z$cK>^Xk0o?=Dpjic;)Dg-tZ*7bu*m`y(spgF{#M+M{>`-v77t!ZT-74#w?}vbxxf< zWp@4M@rx(Vo>sQNE!*FJg+0_sR1Ed*RZ-BX^j^DBHI76hyaz((B^@&*7roj^D9l-Z zh0abFr(w|zTh(fU$(k_z>JPbr-QC971&l;Xjl_3mleisgy7ON5$2qCqomrAoO1S@Y z?N~b$JgI|DaoIC#sQaIjYwFX03t6(K$pynfzrxP7vF|DKNSQ+o!tHCgLKAGiB0 zecXvRjdBb23~=Y}DQMf+A?~DGdgM2aNAD};$6r_O?|0?9H&NVt=O9kV$W z!i$vXxaaN5b+_EsGWDa6sD|h}iLjTt12KNMn8hDX~ejg3TXJe}2yYZyif4CcA6K*FtlHqvM>4UfI%^We^Ecd@g(|>tY{V15)r0?9fu=T*kpType2_+OSi+W!q zCN-)o{mr3m%@$1MY*f+ED&gpJ?uYM2eNypFTFYle!)LSdoByRql<*0yPiODr(tJ3$ zTMpYD8B=o-Nc@_t@GeC9@Zk;_S%FBPDi)}&cHBqqj*a#{8~FvMk7<2DvX1hw_Y;`+ f3YXUIP delta 9075 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\n" "Language-Team: French \n" "MIME-Version: 1.0\n" @@ -105,6 +105,27 @@ msgstr "Pas de courrier." msgid "You have mail." msgstr "Vous avez du courrier." +msgid "no change" +msgstr "pas de modification" + +msgid "a palindrome" +msgstr "palindrome" + +msgid "case changes only" +msgstr "changement de casse uniquement" + +msgid "too similar" +msgstr "trop semblable au pr矇c矇dent" + +msgid "too simple" +msgstr "trop simple" + +msgid "rotated" +msgstr "anagramme" + +msgid "too short" +msgstr "trop court" + #, c-format msgid "Bad password: %s. " msgstr "Mot de passe incorrect: %s. " @@ -120,9 +141,9 @@ msgstr "passwd: %s\n" msgid "passwd: password updated successfully\n" msgstr "passwd: le mot de passe a 矇t矇 mis jour avec succ癡s\n" -#, fuzzy, c-format +#, c-format msgid "Incorrect password for %s.\n" -msgstr "Mot de passe incorrect pour 竄%s罈\n" +msgstr "Mot de passe incorrect pour %s.\n" #, c-format msgid "Unable to cd to \"%s\"\n" @@ -143,6 +164,14 @@ msgstr "R矇pertoire racine 竄%s罈 incorrect\n" msgid "Can't change root directory to \"%s\"\n" msgstr "Impossible de changer le r矇pertoire racine en 竄%s罈\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" +"Pas d'entr矇e utmp. Vous devez ex矇cuter 竄login罈 depuis l'interpr矇teur de " +"commandes de plus bas niveau" + +msgid "Unable to determine your tty name." +msgstr "Impossible de d矇terminer le nom de votre tty." + #, c-format msgid "malloc(%d) failed\n" msgstr "矇chec de malloc(%d)\n" @@ -171,25 +200,25 @@ msgid "" "\t\t\t\tchange to MAX_DAYS\n" " -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" msgstr "" -"Usage: chage [options] utilisateur\n" +"Utilisation: chage [options] utilisateur\n" "\n" "Options:\n" " -d, --lastday DERNIER_JOUR fixer la derni癡re modification du mot de\n" " passe DERNIER_JOUR\n" -" -E, --expiredate DATE_FIN_VALIDIT fixer la date de fin de validit矇 du\n" -" compte DATE_FIN_VALIDIT\n" +" -E, --expiredate FIN_VALIDIT fixer la date de fin de validit矇 du compte\n" +" FIN_VALIDIT\n" " -h, --help afficher ce message d'aide et quitter\n" -" -I, --inactive INACTIF fixer le mot de passe inactif apr癡s la fin\n" -" de validit矇 INACTIF\n" +" -I, --inactive INACTIF fixer la dur矇e d'inactivit矇 du mot de " +"masse\n" +" apr癡s sa fin de validit矇 INACTIF\n" " -l, --list afficher les informations concernant la\n" " validit矇 du compte au cours du temps\n" " -m, --mindays JOURS_MIN fixer le nombre minimum de jours avant la\n" " modification du mot de passe JOURS_MIN\n" " -M, --maxdays JOURS_MAX fixer le nombre maximum de jours avant la\n" " modification du mot de passe JOURS_MAX\n" -" -W, --warndays JOURS_AVERTISSEMENT fixer le nombre de jours " -"d'avertissement\n" -" de fin de validit矇 JOURS_AVERTISSEMENT\n" +" -W, --warndays JOURS_AVERT fixer le nombre de jours d'avertissement\n" +" de fin de validit矇 JOURS_AVERT\n" #, c-format msgid "Enter the new value, or press ENTER for the default\n" @@ -270,6 +299,10 @@ msgstr "%s: impossible d'ouvrir le fichier des mots de passe /etc/passwd\n" msgid "%s: unknown user %s\n" msgstr "%s: utilisateur %s inconnu\n" +#, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: le fichier des mots de passe cach矇s /etc/shadow n'existe pas\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "" @@ -281,6 +314,10 @@ msgid "%s: can't open shadow password file\n" msgstr "" "%s: impossible d'ouvrir le fichier des mots de passe cach矇s /etc/shadow\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "%s: 矇chec lors de l'abandon des privil癡ges (%s)\n" + #, c-format msgid "Changing the aging information for %s\n" msgstr "Changement des informations sur la limite de validit矇 pour %s\n" @@ -309,22 +346,19 @@ msgstr "" msgid "%s: can't rewrite password file\n" msgstr "%s: impossible de r矇矇crire le fichier des mots de passe /etc/passwd\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: erreur de PAM chauthtok\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" "\t[-h home_ph] [-o other] [user]\n" msgstr "" -"Usage: %s [-f nom_complet] [-r num_bureau] [-w tel_bureau]\n" +"Utilisation: %s [-f nom_complet] [-r num_bureau] [-w tel_bureau]\n" "\t[-h tel_perso] [-o autre] [utilisateur]\n" #, c-format msgid "Usage: %s [-f full_name] [-r room_no] [-w work_ph] [-h home_ph]\n" msgstr "" -"Usage: %s [-f nom_complet] [-r num_bureau] [-w tel_bureau] [-h tel_maison]\n" +"Utilisation: %s [-f nom_complet] [-r num_bureau] [-w tel_bureau] [-h " +"tel_maison]\n" msgid "Full Name" msgstr "Nom complet" @@ -336,23 +370,23 @@ msgstr "\tNom complet: %s\n" msgid "Room Number" msgstr "N簞 de bureau" -#, fuzzy, c-format +#, c-format msgid "\tRoom Number: %s\n" -msgstr "N簞 de bureau" +msgstr "\tN簞 de bureau: %s\n" msgid "Work Phone" msgstr "T矇l矇phone professionnel" -#, fuzzy, c-format +#, c-format msgid "\tWork Phone: %s\n" -msgstr "T矇l矇phone professionnel" +msgstr "\tT矇l矇phone professionnel: %s\n" msgid "Home Phone" msgstr "T矇l矇phone personnel" -#, fuzzy, c-format +#, c-format msgid "\tHome Phone: %s\n" -msgstr "T矇l矇phone personnel" +msgstr "\tT矇l矇phone personnel: %s\n" msgid "Other" msgstr "Autre" @@ -439,7 +473,7 @@ msgid "" " -m, --md5\t\tuse MD5 encryption instead DES when the supplied\n" "\t\t\tpasswords are not encrypted\n" msgstr "" -"Usage: chpasswd [options]\n" +"Utilisation: chpasswd [options]\n" "\n" "Options:\n" " -e, --encrypted les mots de passe fournis sont chiffr矇s\n" @@ -498,7 +532,7 @@ msgstr "" #, c-format msgid "Usage: %s [-s shell] [name]\n" -msgstr "Usage: %s [-s shell] [nom]\n" +msgstr "Utilisation: %s [-s shell] [nom]\n" msgid "Login Shell" msgstr "Interpr矇teur de commandes initial" @@ -521,11 +555,7 @@ msgstr "%s n'est pas un interpr矇teur de commandes valable.\n" #, c-format msgid "Usage: expiry {-f|-c}\n" -msgstr "Usage: expiry {-f|-c}\n" - -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: ATTENTION, doit s'ex矇cuter avec les droits du superutilisateur.\n" +msgstr "Utilisation: expiry {-f|-c}\n" #, c-format msgid "%s: unknown user\n" @@ -546,7 +576,7 @@ msgid "" "\t\t\t\tand limits (if used with -r, -m or -l options) only\n" "\t\t\t\tfor user with LOGIN\n" msgstr "" -"Usage: faillog [options]\n" +"Utilisation: faillog [options]\n" "\n" "Options:\n" " -a, --all afficher les enregistrements 竄faillog罈 pour tous\n" @@ -583,7 +613,7 @@ msgstr "Utilisateur %s inconnu\n" #, c-format msgid "Usage: %s [-r|-R] group\n" -msgstr "Usage: %s [-r|-R] groupe\n" +msgstr "Utilisation: %s [-r|-R] groupe\n" #, c-format msgid " %s [-a user] group\n" @@ -696,6 +726,16 @@ msgid "" " -o, --non-unique\t\tallow create group with duplicate\n" "\t\t\t\t(non-unique) GID\n" msgstr "" +"Utilisation: groupadd [option] group\n" +"\n" +"Options:\n" +" -f, --force forcer la sortie avec un code de retour de succ癡s\n" +" si le groupe existe d矇j\n" +" -g, --gif GID utiliser GID pour le nouveau groupe\n" +" -h, --help afficher ce message d'aide et quitter -K, --key " +"CL=VALEUR remplacer les valeurs par d矇faut de /etc/login.defs\n" +" -o, --non-unique permettre de cr矇er un groupe avec un GID dupliqu矇\n" +" (non unique)\n" #, c-format msgid "%s: error adding new group entry\n" @@ -761,7 +801,7 @@ msgstr "%s: le groupe %s existe\n" #, c-format msgid "Usage: groupdel group\n" -msgstr "Usage: groupdel groupe\n" +msgstr "Utilisation: groupdel groupe\n" #, c-format msgid "%s: error removing group entry\n" @@ -789,7 +829,7 @@ msgstr "%s: %s est le ma簾tre NIS\n" #, c-format msgid "Usage: groupmod [-g gid [-o]] [-n name] group\n" -msgstr "Usage: groupmod [-g gid [-o]] [-n nom] groupe\n" +msgstr "Utilisation: groupmod [-g gid [-o]] [-n nom] groupe\n" #, c-format msgid "%s: %s not found in /etc/group\n" @@ -805,15 +845,15 @@ msgstr "%s: %s n'est pas un nom unique\n" #, c-format msgid "Usage: %s [-r] [-s] [group [gshadow]]\n" -msgstr "Usage: %s [-r] [-s] [groupe [gshadow]]\n" +msgstr "Utilisation: %s [-r] [-s] [groupe [gshadow]]\n" #, c-format msgid "Usage: %s [-r] [-s] [group]\n" -msgstr "Usage: %s [-r] [-s] [groupe]\n" +msgstr "Utilisation: %s [-r] [-s] [groupe]\n" -#, fuzzy, c-format +#, c-format msgid "No\n" -msgstr "Non" +msgstr "Non\n" #, c-format msgid "%s: -s and -r are incompatibile\n" @@ -941,11 +981,11 @@ msgstr "" #, c-format msgid "Usage: id [-a]\n" -msgstr "Usage: id [-a]\n" +msgstr "Utilisation: id [-a]\n" #, c-format msgid "Usage: id\n" -msgstr "Usage: id\n" +msgstr "Utilisation: id\n" #, c-format msgid " groups=" @@ -956,18 +996,22 @@ msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" -"Usage: lastlog [options]\n" +"Utilisation: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN afficher l'enregistrement 竄lastlog罈 pour\n" -" l'utilisateur dont le compte est LOGIN\n" -" -h, --help afficher ce message d'aide et quitter\n" -" -t, --time NB_JOURS afficher uniquement les enregistrements de\n" -" 竄lastlog罈 plus r矇cents que NB_JOURS jours\n" +" b, --before JOURS n'afficher que les enregistrements de 竄lastlog罈\n" +" plus anciens que JOURS\n" +" -h, --help afficher ce message d'aide et quitter\n" +" -t, --time NB_JOURS afficher uniquement les enregistrements de " +"竄lastlog罈\n" +" plus r矇cents que NB_JOURS jours\n" +" -u, --user LOGIN afficher l'enregistrement 竄lastlog罈 pour\n" +" l'utilisateur dont le compte est LOGIN\n" #, c-format msgid "Username Port From Latest\n" @@ -982,7 +1026,7 @@ msgstr "**Jamais connect矇**" #, c-format msgid "Usage: %s [-p] [name]\n" -msgstr "Usage: %s [-p] [nom]\n" +msgstr "Utilisation: %s [-p] [nom]\n" #, c-format msgid " %s [-p] [-h host] [-f name]\n" @@ -1028,6 +1072,18 @@ msgstr " sur 竄%.100s罈 partir de 竄%.200s罈" msgid " on `%.100s'" msgstr " sur 竄%.100s罈" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "login: 矇chec de PAM, abandon: %s\n" + +#, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "" +"\n" +"Identifiant de connexion incorrect\n" + #, c-format msgid "" "\n" @@ -1039,6 +1095,10 @@ msgstr "" msgid "Login incorrect" msgstr "Identifiant de connexion incorrect" +#, c-format +msgid "%s: failure forking: %s" +msgstr "%s: 矇chec lors du cloange (竄forking罈: %s" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "" "Attention: identifiant de connexion r矇activ矇 apr癡s une d矇sactivation " @@ -1056,13 +1116,20 @@ msgstr "Derni癡re connexion: le %.19s sur %s" msgid " from %.*s" msgstr " partir de %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" +"D矇passement de temps lors de la connexion\n" +"\n" + #, c-format msgid "Usage: newgrp [-] [group]\n" -msgstr "Usage: newgrp [-] [groupe]\n" +msgstr "Utilisation: newgrp [-] [groupe]\n" #, c-format msgid "Usage: sg group [[-c] command]\n" -msgstr "Usage: sg groupe [[-c] commande]\n" +msgstr "Utilisation: sg groupe [[-c] commande]\n" #, c-format msgid "unknown UID: %u\n" @@ -1081,7 +1148,7 @@ msgstr "trop de groupes\n" #, c-format msgid "Usage: %s [input]\n" -msgstr "Usage: %s [entr矇e]\n" +msgstr "Utilisation: %s [entr矇e]\n" #, c-format msgid "%s: can't lock /etc/passwd.\n" @@ -1133,24 +1200,57 @@ msgid "%s: error updating files\n" msgstr "%s: erreur lors de la mise jour des fichiers\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "Usage: %s [-f|-s] [nom]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x max] [-n min] [-w avert] [-i inact] nom\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} nom\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" +"Utilisation: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all afficher l'矇tat des mots de passe de tous les\n" +" comptes\n" +" -d, --delete supprimer le mot de passe du compte indiqu矇\n" +" -e, --expire forcer la fin de validit矇 du compte indiqu矇\n" +" -h, --help afficher ce message d'aide et quitter\n" +" -k, --keep-tokens ne changer le mot de passe que d'il est arriv矇\n" +" en fin de validit矇\n" +" -i, --inactive INACTIF fixer la dur矇e d'inactivation du mot de passe\n" +" apr癡s sa fin de validit矇 INACTIF\n" +" de INACTIF\n" +" -l, --lock bloquer le compte indiqu矇\n" +" -n, --mindays JOURS_MIN fixer le nombre minimum de jour avant le\n" +" changement de mot de passe JOURS_MIN\n" +" -q, --quiet mode silencieux\n" +" -r, --repository DPT changer le mot de passe dans le d矇p繫t DPT\n" +" -S, --status afficher l'矇tat du mot de passe du compte " +"indiqu矇\n" +" -u, --unlock d矇verrouiller le compte indiqu矇\n" +" -w, --warndays JOURS_AVERT fixer le nombre de jours d'avertissement de\n" +" fin de validit矇 JOURS_AVERT\n" +" -x, --maxdays JOURS_MAX fixer le nombre maximum de jours avant le\n" +" changement de mot de passe JOURS_MAX\n" msgid "Old password: " msgstr "Ancien mot de passe: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "Mot de passe incorrect pour 竄%s罈\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1218,13 +1318,13 @@ msgstr "Le mot de passe pour %s est inchang矇.\n" msgid "Password changed.\n" msgstr "Mot de passe chang矇.\n" -#, fuzzy, c-format +#, c-format msgid "Password set to expire.\n" -msgstr "Votre mot de passe est arriv矇 en fin de validit矇." +msgstr "Le mot de passe est configur矇 pour une validit矇 limit矇e.\n" #, c-format msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n" -msgstr "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n" +msgstr "Utilisation: %s [-q] [-r] [-s] [passwd [shadow]]\n" #, c-format msgid "invalid password file entry\n" @@ -1321,6 +1421,10 @@ msgstr "Entrez votre PROPRE mot de passe pour vous authentifier.\n" msgid "Sorry." msgstr " " +#, c-format +msgid "%s: %s\n" +msgstr "%s: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: doit 礙tre lanc矇 partir d'un terminal\n" @@ -1434,7 +1538,7 @@ msgid "" " -s, --shell SHELL\t\tthe login shell for the new user account\n" " -u, --uid UID\t\t\tforce use the UID for the new user account\n" msgstr "" -"Usage: useradd [options] LOGIN\n" +"Utilisation: useradd [options] LOGIN\n" "\n" "Options:\n" " -b, --base-dir REP_BASE r矇pertoire de base pour le r矇pertoire\n" @@ -1447,8 +1551,8 @@ msgstr "" " d矇faut modifi矇e de 竄useradd罈\n" " -e, --expiredate DATE_EXPIR fixer la date de fin de validit矇 du\n" " compte DATE_EXPIR\n" -" -f, --inactive INACTIV rendre le mot de passe inactif apr癡s\n" -" un d矇lais de INACTIV\n" +" -f, --inactive INACTIF fixer la dur矇e d'inactivit矇 du mot de masse\n" +" apr癡s sa fin de validit矇 INACTIF\n" " -g, --gid GROUPE forcer l'utilisation de GROUPE pour le compte\n" " du nouvel utilisateur\n" " -G, --groups GROUPS liste des groupes suppl矇mentaires pour le\n" @@ -1602,6 +1706,8 @@ msgid "" "%s: warning: the home directory already exists.\n" "Not copying any file from skel directory into it.\n" msgstr "" +"%s: attention, le r矇pertoire personnel existe d矇j.\n" +"Aucun fichier du r矇pertoire 竄skels罈 n'y sera copi矇.\n" #, c-format msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n" @@ -1611,12 +1717,16 @@ msgstr "" #, c-format msgid "Usage: %s [-r] name\n" -msgstr "Usage: %s [-r] nom\n" +msgstr "Utilisation: %s [-r] nom\n" #, c-format msgid "%s: error updating group entry\n" msgstr "%s: erreur lors de la mise jour de l'entr矇e dans /etc/group\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: impossible d'enlever le groupe primaire de l'utilisateur.\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: impossible d'ouvrir le fichier des groupes /etc/group\n" @@ -1666,7 +1776,7 @@ msgstr "%s: erreur lors de l'effacement du r矇pertoire %s\n" #, c-format msgid "Usage: %s\t[-u uid [-o]] [-g group] [[-G group,...] [-a]] \n" -msgstr "Usage: %s\t[-u uid [-o]] [-g groupe] [-G groupe,...]\n" +msgstr "Utilisation: %s\t[-u uid [-o]] [-g groupe] [-G groupe,...]\n" #, c-format msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n" @@ -1772,9 +1882,9 @@ msgid "" "`vipw' edits /etc/passwd `vipw -s' edits /etc/shadow\n" "`vigr' edits /etc/group `vigr -s' edits /etc/gshadow\n" msgstr "" -"Usage:\n" +"Utilisation:\n" "竄vipw罈 矇diter /etc/passwd 竄vipw -s罈 矇diter /etc/shadow\n" "竄vigr罈 矇diter /etc/group 竄vigr -s罈 矇diter /etc/gshadow\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "Usage: groupadd [-g gid [-o]] [-f] groupe\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: erreur de PAM chauthtok\n" diff --git a/po/he.gmo b/po/he.gmo index c3ca007a5d6a97b0858f31a8a878c36fe8bdb6e1..e809e4c5a7323f165e945a098c4838789ebfce10 100644 GIT binary patch delta 24 fcmZ4Ew8m+}bU|)I16@M{1tSA1W8=+>1iSbFV-*Kb delta 24 fcmZ4Ew8m+}bU|(d3tdA)1w%6{L(|QR1iSbFW3vZc diff --git a/po/he.po b/po/he.po index 6ad2e671..62fbc9b5 100644 --- a/po/he.po +++ b/po/he.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow\n" "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n" -"POT-Creation-Date: 2005-08-11 16:15+0200\n" +"POT-Creation-Date: 2005-10-10 20:33+0200\n" "PO-Revision-Date: 2004-07-21 23:59+0300\n" "Last-Translator: Lior Kaplan \n" "Language-Team: Hebrew \n" @@ -98,6 +98,27 @@ msgstr " 蚳." msgid "You have mail." msgstr "蚸 蚳." +msgid "no change" +msgstr "" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "蛂蛂 : %s. " @@ -136,6 +157,13 @@ msgstr "蛂蚺蚳蛌 蚸蚳蚸 蚹蛌 \"%s\"\n" msgid "Can't change root directory to \"%s\"\n" msgstr " 蚸蛌 蛂蚺蚳蛌 蚸蚳蚸 -\"%s\"\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s: 蚹蛁 蛌 蚸 蚸蛌蚸 蚸.\n" + #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) 蚸\n" @@ -239,6 +267,10 @@ msgstr "%s: 蚺蛌 蚹蚰 蛂蛂蛌\n" msgid "%s: unknown user %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: 蚺蛌 蚹蚰 蛂蛂蛌 蛈\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s: 蛁 蚹蚰 蛂蛂蛌 蛈\n" @@ -247,6 +279,10 @@ msgstr "%s: 蛁 蚹蚰 蛂蛂蛌 蛈\n" msgid "%s: can't open shadow password file\n" msgstr "%s: 蚺蛌 蚹蚰 蛂蛂蛌 蛈\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "蚸 蛁 蚹蛌 蚸 %s\n" @@ -271,10 +307,6 @@ msgstr "%s: 蛌 蚸 蚹蚰 蛂蛂蛌 蛈\n" msgid "%s: can't rewrite password file\n" msgstr "%s: 蛌 蚸 蚹蚰 蛂蛂蛌\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -462,10 +494,6 @@ msgstr "%s 蛁蚺蛌 蚹蛌.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "蚸蚸: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "" - #, c-format msgid "%s: unknown user\n" msgstr "" @@ -854,9 +882,10 @@ msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" #, c-format @@ -912,6 +941,16 @@ msgstr "" msgid " on `%.100s'" msgstr "" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "" + #, c-format msgid "" "\n" @@ -921,6 +960,10 @@ msgstr "" msgid "Login incorrect" msgstr "" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "" @@ -936,6 +979,11 @@ msgstr "" msgid " from %.*s" msgstr "" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "" @@ -1011,25 +1059,33 @@ msgstr "" msgid "%s: error updating files\n" msgstr "" -#, fuzzy, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "蚸蚸: %s [-f|-s] [name]\n" - #, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr "" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" msgstr "" msgid "Old password: " msgstr "" -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1184,6 +1240,10 @@ msgstr "" msgid "Sorry." msgstr "" +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "passwd: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "" @@ -1423,6 +1483,10 @@ msgstr "蚸蚸: %s [-r] [name]\n" msgid "%s: error updating group entry\n" msgstr "" +#, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "" + #, c-format msgid "%s: cannot open group file\n" msgstr "" diff --git a/po/id.gmo b/po/id.gmo index 1117c731dc7ea329e8f2f2e81a66653b5268f5ad..f26f76a0b52d212d3ddfe9bd003fb7f4f8844683 100644 GIT binary patch delta 5346 zcmYk<3w)2)9mnyLAQy>W^$Y{J#Y%DsR|=-E5_qqOv6*y9`E3IOyOic zde|9vV@JG($(YdGm{y!N-EF}P!vs!DM?G)}w!{tC7T?22yyE;48&ePBrZ9{|osUNz zY*MiW_C^hS1g7I8Y=+A*k^W63g*G(oMs;`rQ}7P@FoCDYo~Q?mLMCB6WDKSZqi_>y zX1kFjnDeL^-#|?$k%z}(A!>lbF_HewlN8$Fa(BXyNz{*FYpg>JFpRsDi40T+Ls0{n zi2RwS`O$r4sQdh=`;MdTyM>I!H0Puy*abaZFqA?z&O{%+j#|q@s2SEH$uJGsAbLxUeEJn?=3c1(p za_t{u2KBE{18C#3Dei@-)JLN3pO5^RwfyM1YSiXCjWKu`m4UC3KhsS4S8B3R4dYN9 zt6iC>boGO-{sn4D!s%7J*oT@?Hmbvcs7+Rix_>q*Q|pjbGzZ-I3$ER}ML{<uW7rqcV|;8b}f9#)q&GPDG`2D(brDkz|^3)Qoqd27V0ncAY~F zG?E>yjJCxH`ZxDe&;`X9f{QT}mm&9Hvl~CwQp%BYZo9hgc3{#IvbsRfXsm(&|-T|og@u-Z}%eL*KP|ur=T9Ub_y|WV8E@m6fz*_8s-UH;jH-)9B)F0+Y8Tl`2go(VQ zG7mMNk*EjFLLXK-_hD1&pJFuLM6G>Lj@{Ie7)3o6^_)~Bqn;_C5KF@ZWMi5+u3m+@ z@NLwtKk4e%Q3HtRZtaHJOkPrOY|r*NwXZ;4(5QX-$V^4J=fmfAGNopBQKPB8I|ch*qQ## zP1lf;XD=v0U9b?<(KggtT|^BmDc}Cnsu(q(<){v}q0XO0b=0_*{eM;_|BjmVp7E}=3KSzxcr zM-6Nus^eFXE=^4V`EN-ftkCY(RA(+K^~J6}2Q{D-sOz_)4{J~Zu0u^Ey02aPL8y#O zL1kzK>UrBy1Fppc4C&|Dj+6V@O_GC&oG8LJI2p5W8R|iMoS&m+7UsN7&%1!?_%5blf_J~2Sw5;^9BQ{di%MlVYUGDdsjI_Q=<9E1oR9jF%|Z>J z0+X=@b>B5tZ#Ka8lZkCw@~Q zjKy~N1nPlh7=>FPbcRiy4V}XjF#_Q1`7tWo!%Tb*w?JDTQw-C`D02 z?b@ZGHc3Csz{gSV_bSZ8Bk056VmtFRjHEsQqp$?iu@v>(rKq=|0<|}Gpq_iCnEY$R zLBs5blTr0T%*3&%3s+!!+=ZIiXQ)lp;K#~_&Y|{5)NtET4l31yP_J((2BG$g_J}s(Cq!3* zPltJ*_>id5`p+lsC3I}I1Uj##e42i9s2{n-~arS z;)(C8<~>)||HKB4{!X#u2jz=DD8EFxFL8jVBi8l zTZE1o7W0VSe;wCcgE->KO1lpBO5otbXO_CM-Vz-?Ld#N0=y=NV|KH~+{e~zfrV!c0 zETWdsu}S@(p|FDZIWdCJ(Zyo^grkW$t}gB)rn-74&UEDu@Kb`l6*#mX(us-0KZs+* z1>zjR_OOTMKaWUp^X`gTnuOV+_;27q7)A!8gRY*iuW~Z!7Uv_3**RKAY?6nR2`Q7IQuRhu{-XEQNJKCQ zZfi*3bX3?1!*PqWBqwVdGc3fIbq#dYm;;TCNymezOCe2+sfUe_KNH8teb@!t;8>i5 z0qlWiup`DcHKqd&#a393Ex66BbPHx1Hsg!Ks0uG&H>|@&2m4@ioQ(J59ITHoS+`(a z&Ua%S+-I+UiZoO=m_3w$t%W(#Tnd$9xUo3ANo#L;v!8q-ld9>#|{G!2vRX?uM$ z#&NzMWAQwy!?#ft$8%8)4MKHn0`ir44E5X+riaV`Bdc3Ea5{Hyp9^t=cw1w1+^A_rQ4YtFps1C%?3X^HNU;++D-B*eZK99O@o917; z@i0c=Nz@EnLkH{dv}Pt5bv_2w@GR6!tgz?r+Vc~rCDHt9Q#V5mC>hmYZ`2+ehk8Cx zNI_Gz4AtXZ_J-s3`bE@(5!|E)+M+7X#?CkynN714>9g5}>}PWfHRV^)!NxpHRVEEp z&p1Aqv49Cs(8xEVdRmRo;8E;~A5ui@~KvJy+d<`B&jM7dql)tcxu?ZbuSPn=cKu$#Rg%F(s&( zSc6^gFsehUMEAGA2uwrO_aHi$jgeT4>d3r~%)e$}DHqspW)teX2365F*3eGw6vv@9 z(?HZ-n2x${3917du@CM=ZPE~45jB*Envo3DfU{6blN+F*wRj3u!D`f$ZAS+Wp(?n7 zdf+zJ!?+Z;!^y}hnBl0YpNkD~H8#RcsOR6sKnQySGdRy?+H^he3)&#O2H52I!}x?6C70rP-cFypZS zU(7{~U@>a#)}eO$MvTNaP!(6BruYO#%O>QH4+*1v{= zHrFj=*-Q-cqo3HpsHK>WO>jPHiB@7Wdf?bKj7LE)q$Cqii=Qh$$QAH z<~%0SzG>OrUBmv!Y?>leg|FK4qo@wn?%`I@2DSOJkvG)%P)o4^_1sZ=9@5kOJ`MH# zWYk_+j#|nOFrc2@rob~Mm4(&X6rmbej{1H#s-Y{${xi*Znm5i2MrPg2LN%}z8I(DP zOs0wL<1W!C)SfCw4R9@LrfT}|{%b03b3tp8(bsLri@I?M@{?fpqDJ;D>b|&sZpQ|p z8h#uZgV~DB@e(%0u>P*GsHso2=i@Me^OF7n_km?xaJaA)wW*GvMsginVTT9Z85xF} zp%PSuD^W93joK3zQ4N~`?w)CeEjjgIJPt+PKr<6n&xU|4>_d(465fx^2f9<-8)NkV zYGeyh6~2P1@O@On=kPxK5fdFC@kiJ-uIo@9WSGUNh94E$i(`bKZ=o9j)}McwFFyGZ^vF# z17D)*{X43|iKE;O_eY)QVrP7E6!Whew{xKlp0YRA8trbbHpo6S15r!y97gGWY>fM@ zCs3R5nl)mK+faK{#|EQ1JOvx!LR5Qe0~EA|A7V#5f?e^SsLhi4u-ni$)KnK?6I_5H zsD0xhs{AXGP6m;KM~RM} zF6JZa9sCsjaOVUMkXc0gL5KF!o#VYb1@-O1e^1O($^*&A#zg^Heg;p3k0A>N++94C?<nmkWVkj6wu8fi_&sr@_(U5SpdM6bsc@*3$yl1N*k;}aLN2hZB_ z131i<58+g@mn^f_CSx?&Kt3Zn9wniqqsBi#SL|^N+u1U|roki9nu{ZC`5LYvQ|x&O zddX@soJ5hut9dTN*6oJNZT4ss4#hk+(3ft_eOAd~B{~W`(D$!joI! z8CBuQdm?y4Rb|tR(1@IVSyyIk*`TWk5Jja*k z_ly}bz$q;*_QzLUjcFCpVrp?|Y2H-7Q{wgc%8N^LooU6T&g4X2o4QqXl1_xxn^xiR z(K&Ub>R7wvd+T-1@T8\n" "Language-Team: Debian Indonesia \n" @@ -95,6 +95,28 @@ msgstr "Tidak ada surat." msgid "You have mail." msgstr "Anda memiliki surat." +#, fuzzy +msgid "no change" +msgstr "%s: tak ada perubahan\n" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "Kata sandi buruk: %s." @@ -133,6 +155,13 @@ msgstr "Direktori root tidak sah \"%s\"\n" msgid "Can't change root directory to \"%s\"\n" msgstr "Tidak dapat mengubah direktori root ke \"%s\"\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s: Tidak dapat menentukan nama pengguna anda.\n" + #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) gagal\n" @@ -236,6 +265,10 @@ msgstr "%s: tidak dapat membuka berkas kata sandi\n" msgid "%s: unknown user %s\n" msgstr "%s: pengguna %s tak dikenal\n" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: tidak dapat membuka berkas kata sandi bayangan\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s: tidak dapat mengunci berkas kata sandi bayangan\n" @@ -244,6 +277,10 @@ msgstr "%s: tidak dapat mengunci berkas kata sandi bayangan\n" msgid "%s: can't open shadow password file\n" msgstr "%s: tidak dapat membuka berkas kata sandi bayangan\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "Mengubah informasi umur akun untuk %s\n" @@ -268,10 +305,6 @@ msgstr "%s: tidak dapat menulis kembali berkas kata sandi bayangan\n" msgid "%s: can't rewrite password file\n" msgstr "%s: tidak dapat menulis kembali berkas kata sandi\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: chauthok PAM gagal\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -462,10 +495,6 @@ msgstr "%s merupakan shell yang tidak sah.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "Penggunaan: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: PERINGATAN! Mesti merupakan set-UID root!\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: pengguna tak dikenal\n" @@ -854,9 +883,10 @@ msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" #, c-format @@ -918,6 +948,16 @@ msgstr " pada `%.100s' dari `%.200s'" msgid " on `%.100s'" msgstr " pada `%.100s'" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "Login tidak tepat" + #, c-format msgid "" "\n" @@ -929,6 +969,10 @@ msgstr "" msgid "Login incorrect" msgstr "Login tidak tepat" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "Perhatian: login dibolehkan setelah penguncian sementara.\n" @@ -944,6 +988,11 @@ msgstr "Login terakhir: %.19s pada %s" msgid " from %.*s" msgstr " dari %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "Penggunaan: newgrp [-] [grup]\n" @@ -1020,25 +1069,32 @@ msgid "%s: error updating files\n" msgstr "" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "Penggunaan: %s [-f|-s] [nama]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" msgstr "" -" %s [-x maks] [-n min] [-w peringatan] [-i tak-aktif] nama\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} nama\n" msgid "Old password: " msgstr "Kata sandi lama: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "Kata sandi tidak tepat untuk `%s'\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1197,6 +1253,10 @@ msgstr "Silakan masukkan kata sandi anda SENDIRI sebagai otentikasi.\n" msgid "Sorry." msgstr "Maaf." +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "passwd: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: mesti dijalankan dari sebuah terminal\n" @@ -1441,6 +1501,10 @@ msgstr "Penggunaan: %s [-r] nama\n" msgid "%s: error updating group entry\n" msgstr "" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: tidak dapat menghapus grup utama dari pengguna.\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "" @@ -1595,30 +1659,5 @@ msgstr "" "`vipw' mengedit /etc/passwd `vipw -s' mengedit /etc/shadow\n" "`vigr' mengedit /etc/group `vigr -s' mengedit /etc/gshadow\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "Penggunaan: groupadd [-g gid [-o]] [-f] grup\n" - -#, fuzzy -#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" -#~ msgstr "Penggunaan: useradd [-u uid [-o]] [-g grup] [-G grup,...] \n" - -#~ msgid "" -#~ " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" -#~ msgstr "" -#~ " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" - -#~ msgid " [-f inactive] [-e expire]\n" -#~ msgstr " [-f tidak_aktif] [-e kadaluarsa]\n" - -#, fuzzy -#~ msgid " [-p passwd] [-K KEY=VALUE] name\n" -#~ msgstr " [-p kata_sandi] nama\n" - -#~ msgid " useradd -D [-g group] [-b base] [-s shell]\n" -#~ msgstr " useradd -D [-g grup] [-b base] [-s shell]\n" - -#~ msgid "%s: -O requires NAME=VALUE\n" -#~ msgstr "%s: -O memerlukan NAMA=NILAI\n" - -#~ msgid "unknown uid: %u\n" -#~ msgstr "uid tidak dikenal: %u\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: chauthok PAM gagal\n" diff --git a/po/it.gmo b/po/it.gmo index 0555a1e793923d1f1252482331cea674e193dc71..682a4b44129fe1afc80311eeedf702242bdba776 100644 GIT binary patch delta 7549 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 }{`(M<2L#!fN(m|eU5kUTw%OB2tJEUEa z+%}%PB1?lK>gSG*2oA{2Nlf+6^-J#Omz&gnwSTFY=ms&-p4jNbxVYRa>4$xHbnoW7 e^u>(m+}jzicyiZGE?YeJ(5xdxb1!9GDfT~Rs9%== delta 8357 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\n" "Language-Team: Italian \n" @@ -120,6 +120,28 @@ msgstr "Nessun messaggio di posta." msgid "You have mail." msgstr "C'癡 la solita posta." +#, fuzzy +msgid "no change" +msgstr "%s: nessuna modifica\n" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "Password troppo debole: %s. " @@ -158,6 +180,13 @@ msgstr "Directory root 竄%s罈 non valida\n" msgid "Can't change root directory to \"%s\"\n" msgstr "Impossibile cambiare la directory root in 竄%s罈\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s: impossibile determinare il proprio nome utente.\n" + #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) non riuscita\n" @@ -268,6 +297,10 @@ msgstr "%s: impossibile aprire il file delle password\n" msgid "%s: unknown user %s\n" msgstr "%s: utente 竄%s罈 sconosciuto\n" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: impossibile aprire il file delle shadow password\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s: impossibile fare il lock del file delle shadow password\n" @@ -276,6 +309,10 @@ msgstr "%s: impossibile fare il lock del file delle shadow password\n" msgid "%s: can't open shadow password file\n" msgstr "%s: impossibile aprire il file delle shadow password\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "Modifica delle informazioni sulla durata dell'account di %s\n" @@ -300,10 +337,6 @@ msgstr "%s: impossibile riscrivere il file delle shadow password\n" msgid "%s: can't rewrite password file\n" msgstr "%s: impossibile riscrivere il file delle password\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: la chiamata PAM chauthok ha restituito un errore\n" - # NdT: L'output 癡 allineato se "%s" == "chfn". #, c-format msgid "" @@ -503,10 +536,6 @@ msgstr "%s non 癡 una shell valida.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "Uso: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: attenzione: il bit SUID deve essere impostato a root.\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: utente sconosciuto\n" @@ -910,23 +939,24 @@ msgstr "Uso: id\n" msgid " groups=" msgstr " gruppi=" -#, c-format +#, fuzzy, c-format msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" "Uso: lastlog [OPZIONI]\n" "\n" "Opzioni:\n" -" -u, --user LOGIN mostra il record di ultimo accesso per l'utente\n" -" specificato da LOGIN\n" " -h, --help mostra questo messaggio di aiuto ed esce\n" " -t, --time GIORNI mostra solo i record di ultimo accesso pi羅 recenti\n" " di un numero di GIORNI\n" +" -u, --user LOGIN mostra il record di ultimo accesso per l'utente\n" +" specificato da LOGIN\n" #, c-format msgid "Username Port From Latest\n" @@ -988,6 +1018,16 @@ msgstr " su 竄%.100s罈 da 竄%.200s罈" msgid " on `%.100s'" msgstr " su 竄%.100s罈" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "Login non corretto" + #, c-format msgid "" "\n" @@ -999,6 +1039,10 @@ msgstr "" msgid "Login incorrect" msgstr "Login non corretto" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + # NdT: Non 癡 chiaro se login sia da tradurre con "accesso abilitato" o # "utente abilitato": il significato comunque 癡 lo stesso. msgid "Warning: login re-enabled after temporary lockout.\n" @@ -1017,6 +1061,11 @@ msgstr "Ultimo accesso: %.19s su %s" msgid " from %.*s" msgstr " da %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "Uso: newgrp [-] [GRUPPO]\n" @@ -1093,24 +1142,32 @@ msgid "%s: error updating files\n" msgstr "%s: errore nell'aggiornare i file\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "Uso: %s [-f|-s] [NOME]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x MAX] [-n MIN] [-w AVVISO] [-i INATT] NOME\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} NOME\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" msgid "Old password: " msgstr "Vecchia password: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "Password sbagliata per 竄%s罈\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1271,6 +1328,10 @@ msgstr "Inserire la PROPRIA password per autenticarsi.\n" msgid "Sorry." msgstr "Spiacente." +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "passwd: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: si deve avviare da un terminale\n" @@ -1519,6 +1580,10 @@ msgstr "Uso: %s [-r] NOME\n" msgid "%s: error updating group entry\n" msgstr "%s: errore nell'aggiornare la voce nel file dei gruppi\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: impossibile rimuovere il gruppo principale dell'utente.\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: impossibile aprire il file dei gruppi\n" @@ -1681,35 +1746,5 @@ msgstr "" "竄vipw罈 per modificare /etc/passwd 竄vipw -s罈 per modificare /etc/shadow\n" "竄vigr罈 per modificare /etc/group 竄vigr -s罈 per modificare /etc/gshadow\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "Uso: groupadd [-g GID [-o]] [-f] GRUPPO\n" - -#, fuzzy -#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" -#~ msgstr "Uso: useradd [-u UID [-o]] [-g GRUPPO] [-G GRUPPO,...] \n" - -#~ msgid "" -#~ " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" -#~ msgstr " [-d HOME] [-s SHELL] [-c COMMENTO] [-m [-k MODELLO]]\n" - -#~ msgid " [-f inactive] [-e expire]\n" -#~ msgstr " [-f INATTIVIT] [-e SCADENZA]\n" - -#, fuzzy -#~ msgid " [-p passwd] [-K KEY=VALUE] name\n" -#~ msgstr " [-p PASSWORD] NOME\n" - -#~ msgid " useradd -D [-g group] [-b base] [-s shell]\n" -#~ msgstr " useradd -D [-g GRUPPO] [-b BASE] [-s SHELL]\n" - -#~ msgid "%s: -O requires NAME=VALUE\n" -#~ msgstr "%s: -O richiede NOME=VALORE\n" - -#~ msgid "unknown uid: %u\n" -#~ msgstr "uid 竄%u罈 sconosciuto\n" - -#~ msgid "%s: uid %u is not unique\n" -#~ msgstr "%s: uid 竄%u罈 non univoco\n" - -#~ msgid "%s: can't get unique uid\n" -#~ msgstr "%s: impossibile ottenere un uid univoco\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: la chiamata PAM chauthok ha restituito un errore\n" diff --git a/po/ja.gmo b/po/ja.gmo index f0fad5fc3f4a601eaf88e4cfe11c78412a69ca6c..48ed727e935d85b8d06c809a0f204ab9dc9e0562 100644 GIT binary patch delta 5998 zcmYk=33yId0><$Zgd_+;Y?0&(i6yqgE)ofXhS+OL2sKelZIeMel=%!}tqxsY_8JpV&X~p+h$XNE7R4?YikVmqM`ANvjJ5D2Mqr`x##F>A&gRG= z(-W&0<2Bh7DzIZdMq>^J;c=ub<~;IeuJWS>_;GR!mO{0$F{< z+=aUCM`s|d3g!8xE`_ojXpOk78#O|gQ9XW& z>S+Wg>v$^G!vW~Qg{Tg1MX%=KCY;Ab2{~j&qaH99`7^ov==e9N z;}22Sm*ph&JOOKBKU4$Xa;`*m=<`U%zcPh0?9h##qHY}RvGrD{3kPF$oQUetTGYrK zLS28=S(Jk{sMkSts0VV$j7Ocf1a*8TvJA}iD6j32KS$YTVvshNwy3EXh#HA;*bW!E z`X%&G_oKVIQDxMSCZeXU8+vdsYGh`hMtU`>gF9UPyw{!Zz#Rys**c*CdaxUE$c#cY zZ~?~RR@4Ywc53)Eq+v+gOk>pX4D?MMdZ^EJ`!}K9ChrjnTHWU{3GZSE#xsGsQ7ZBb zGY~ZuGtq-9P;w=kZonHghfKC{P{ZQ-A%%Py6-H4jY z<49-BP4r+WH3bv+(MYXD^(YS;;4#$w0vH~RKrHI|6b!`v7=**IG|x9< zC}@$rg}QJJYOx$d-S`p~#Yd<)^Jl!ZKhznE`fw#XJEBG=69aG}Y7M-J8i5Z`4cUfX zUATvWKORR7UU5#3aW37K@DjN zYV8a{&HW5_JO|Z){g{lGFa)Dnsp`15F$E1#I_ktM)KrW|4=zT1khY^n=nQH~?xD^P zYH0UIqlPpIJ(z)7^>3g$@*e8JpQ7%+A3b{iuTs!l2R5=j4aJhwo1rd9cl-My>(NZc zP~3=mz?YcqXUs3yiF%(V_V|aW>%Tya&`E5E&u}ERYpM?(^Pfi{mL0#N7DqK!lI)1; z(P(5jm^s)OcO#uQPp}xqHM3KfgjxgXSQdvO({CoBI`lE}Niln!x3MzMHx(1@;z~kY zFce$k5~Ne+5^4&W0~vf{Rh-eUBb|f^^nYYHoYp9mAbdQsz(8wtsXQ(J!m{?|2DV(CaPy~FYs<-ChCEo zpw7FG>T&fnYk$;YTdLe39I?3fp^{h@b>n`JyGW^z$$ngb>2gq ziIvk`M^HV!fK{<<2Rmg+SdF^34+Wht1#97U)QQ)eB|F*&G)5ioh3e5X)SPcajo5YM z+hQv54r&p1MqUsz5%r+YFbprF8tm8E_ZE3g3be z?|~j%j~cndPXDgU1-vw%-396!d^8&gITs7{&ezs0J3` zsnHmVx{ocdC%i+QM?-b9T|cwhVN?~ESmlbtJ3=kLP^e1N)7*_Um@8{ll} z>Bx&^&f;*a>E-DxNV5pFC~ly7QtGe#V*@*&dO90DxEXccDb!o?2Wn(uv+R(zM7~)j z6N7O%md0F+!F{NP-oWPQ4QGY%Z85!34_f6sf~BZGzz__4#eOF$VFl`4Q8yflm2eKG zVh%RId#I_bF~AOaKWssL7B<17NCUhkXrO&?8fuYbqt?VbsG+=yn$seK?1v>D^?)o_ zUx00>?|1c5gYE0r3N>{jFaeif44%Rye1>Uy|C3&|JEme32lhCxpe_s?VoWPc#WFYz zJ@_t0VxFs?L!JK&TVujd+u#YPk=TfS7(hbF6_U*J&0?~Lq?4bCwrfNmmlNaw;gvOe z34`I=COPlmo5Y`7AU}{Zq$bhy)jD8$p#+>S&nLA?4jj&VCRJo`yy!Y9DD-R76? zk9nJnAm5N=_HS61(>On(S1pJ%bo)Pd-okzw z%tI75xSjLypG04-C~}qjoBT+=B7EM>2PBXTA)gSv`_;)s^8D8Qxyo3|9Z5U#DLF^% z#`uTO%CoMjFH`bQk?iUj^%F^DSS=Fkp<*GWE+`7 zw4Eo

P_lSO0;DMYk&A~Q)HRoIHUo3FQ3-|swrx09{pThfIrAyvp|lD`FTZ9OWr z-HsB}gNgUQ>=;VI$%~{v`5(#O7E+i(ULilZohzLsxxx38Q%M2J+CH@Sep~We!PRFw zWAPm_z}CIKPvrwDwd@Yx?`QlTboDhj%9S@eCp*Pyl0a^#!q$R3BH83MqHQO6*H^Ot ze?cqChe<(=`+F3AcL&98@`MZ{M@chMjQl}X5tEx)ZjN7W+X^@Qa(jjy4$W;5|Fm$? l__*5fah`f{3H9sewrlcg!Q7a{(*<&qlY2(z=4IUp`V*eQo0tFq delta 6403 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 diff --git a/po/ja.po b/po/ja.po index a167a45b..5fda82c6 100644 --- a/po/ja.po +++ b/po/ja.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 1990827\n" "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n" -"POT-Creation-Date: 2005-08-11 16:15+0200\n" +"POT-Creation-Date: 2005-10-10 20:33+0200\n" "PO-Revision-Date: 2000-06-18 120:22+0900\n" "Last-Translator: Yasuyuki Furukawa \n" "Language-Team: Japanese\n" @@ -95,6 +95,28 @@ msgstr "∼潦怒胯整." msgid "You have mail." msgstr "∼潦怒整." +#, fuzzy +msgid "no change" +msgstr "%s: 憭氬胯整\n" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "銝甇芥嫘胯潦扼: %s." @@ -133,6 +155,13 @@ msgstr "銝甇芥怒潦研胯 \"%s\" 扼 \n" msgid "Can't change root directory to \"%s\"\n" msgstr "怒潦研胯芥 \"%s\"詨氬扼整\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s: 芥柴艾潦嗅文扼整.\n" + #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) 怠仃整\n" @@ -238,6 +267,10 @@ msgstr "%s: 嫘胯潦∼扎怒整\n" msgid "%s: unknown user %s\n" msgstr "%s: 銝芥艾潦 %s 扼\n" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: 瑯艾颯嫘胯潦颯∼扎怒整\n" + #, fuzzy, c-format msgid "%s: can't lock shadow password file\n" msgstr "瑯艾颯嫘胯潦颯∼扎怒准胯扼整\n" @@ -246,6 +279,10 @@ msgstr "瑯艾颯嫘胯潦颯∼扎怒准胯扼整 msgid "%s: can't open shadow password file\n" msgstr "%s: 瑯艾颯嫘胯潦颯∼扎怒整\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "%s格晞憭港葉\n" @@ -270,10 +307,6 @@ msgstr "%s: 瑯艾颯嫘胯潦颯∼扎怒扎扼整 msgid "%s: can't rewrite password file\n" msgstr "%s: 嫘胯潦颯∼扎怒銝詻扼整\n" -#, fuzzy, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: ∼扎怒准胯扼整\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -463,10 +496,6 @@ msgstr "%s臭甇芥瑯扼怒扼.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "雿輻冽: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: 霅血! set-UID root艾芥艾胯芥整!\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: 銝芥艾潦嗚扼\n" @@ -855,9 +884,10 @@ msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" #, c-format @@ -915,6 +945,16 @@ msgstr "" msgid " on `%.100s'" msgstr "" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "准啜扎喋整" + #, c-format msgid "" "\n" @@ -926,6 +966,10 @@ msgstr "" msgid "Login incorrect" msgstr "准啜扎喋整" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "" @@ -941,6 +985,11 @@ msgstr "餈柴准啜扎: %.19s on %s" msgid " from %.*s" msgstr " 湔 %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "雿輻冽: newgrp [-] [啜怒潦]\n" @@ -1017,24 +1066,32 @@ msgid "%s: error updating files\n" msgstr "%s: ∼扎急湔啜柴具押潦扼\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "雿輻冽: %s [-f|-s] [艾潦嗅]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x 憭吞 [-n 撠] [-w 霅血] [-i ∪鉛 艾潦嗅\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} 艾潦嗅\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" msgid "Old password: " msgstr "扎嫘胯潦: " -#, fuzzy, c-format -msgid "Incorrect password for `%s'\n" -msgstr "%s柴嫘胯潦桀廄n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1192,6 +1249,10 @@ msgstr "隤閮潦具, 芥柴嫘胯潦亙艾 msgid "Sorry." msgstr "喋閮喋整." +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "嫘胯潦: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: 蝡舀思摰銵艾\n" @@ -1435,6 +1496,10 @@ msgstr "雿輻冽: %s [-r] 艾潦嗅\n" msgid "%s: error updating group entry\n" msgstr "%s: 啜怒潦颯具喋芥格湔啜柴具押潦扼\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: DBM啜怒潦颯具喋芥湔啜扼整\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: 啜怒潦颯∼扎怒整\n" @@ -1589,35 +1654,6 @@ msgstr "" "`vipw' /etc/passwd 蝺券 `vipw -s' /etc/shadow蝺券\n" "`vigr' /etc/group蝺券 `vigr -s' /etc/gshadow蝺券\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "雿輻冽: groupadd [-g 啜怒潦ID [-o]] [-f] 啜怒潦\n" - #, fuzzy -#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" -#~ msgstr "" -#~ "雿輻冽: useradd [-u 艾潦貂D [-o]] [-g 啜怒潦] [-G 啜怒潦,...] \n" - -#~ msgid "" -#~ " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" -#~ msgstr "" -#~ " [-d 潦] [-s 瑯扼侷 [-c 喋∼喋]\n" -#~ " [-m [-k 喋研潦]]\n" - -#~ msgid " [-f inactive] [-e expire]\n" -#~ msgstr " [-f ∪寞交財 [-e 包\n" - -#, fuzzy -#~ msgid " [-p passwd] [-K KEY=VALUE] name\n" -#~ msgstr " [-p 嫘胯潦] 艾潦嗅\n" - -#~ msgid " useradd -D [-g group] [-b base] [-s shell]\n" -#~ msgstr " useradd -D [-g 啜怒潦] [-b 潦鉛 [-s 瑯扼侷\n" - -#~ msgid "unknown uid: %u\n" -#~ msgstr "銝芥艾潦貂D扼: %u\n" - -#~ msgid "%s: uid %u is not unique\n" -#~ msgstr "%s: 艾潦貂D %u 銴艾整\n" - -#~ msgid "%s: can't get unique uid\n" -#~ msgstr "%s: 銝柴艾潦貂D敺扼整\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: ∼扎怒准胯扼整\n" diff --git a/po/ko.gmo b/po/ko.gmo index e3762149efc530c8b5cc1b8adf0c83b542397f4f..def1bcc7ad1afce3549b371af42eed2760a53122 100644 GIT binary patch delta 7554 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 delta 8352 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\n" "Language-Team: Korean \n" @@ -99,6 +99,28 @@ msgstr "諰 ." msgid "You have mail." msgstr "諰潰 蛟." +#, fuzzy +msgid "no change" +msgstr "%s: 諻篨賄 蛟么n" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "諈骰 渥篣: %s. " @@ -137,6 +159,13 @@ msgstr "諴刮 謔 \"%s\"(穈) 諈骰蛟么n" msgid "Can't change root directory to \"%s\"\n" msgstr "諴刮 謔禺未 \"%s\"()諢 諻篹 蛟么n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s: 科拖 渠 賄 蛟.\n" + #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) 欠刮\n" @@ -240,6 +269,10 @@ msgstr "%s: 渥篣 潰 蛟么n" msgid "%s: unknown user %s\n" msgstr "%s: 科拖 %s\n" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: 圉 渥篣 潰 穈 蛟么n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s: 圉 渥篣 潰 篣 蛟么n" @@ -248,6 +281,10 @@ msgstr "%s: 圉 渥篣 潰 篣 蛟么n" msgid "%s: can't open shadow password file\n" msgstr "%s: 圉 渥篣 潰 穈 蛟么n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "%s 篣國 貐渠未 諻篹么n" @@ -272,10 +309,6 @@ msgstr "%s: 圉 渥篣 潰 木 桶 蛟么n" msgid "%s: can't rewrite password file\n" msgstr "%s: 渥篣 潰 木 桶 蛟么n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: PAM chauthtok穈 欠刮蛟么n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -473,10 +506,6 @@ msgstr "%s() .\n" msgid "Usage: expiry {-f|-c}\n" msgstr "科拘: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: 窶赭! 諻 諴刮賄 UID諝 諤黺窶!\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: 科拖\n" @@ -873,21 +902,22 @@ msgstr "科拘: id\n" msgid " groups=" msgstr " 篞賈ㄨ=" -#, c-format +#, fuzzy, c-format msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" "科拘: lastlog [蛙]\n" "\n" "蛙:\n" -" -u, --user LOGIN\tLOGIN渠潺 科拖 黖篞 篣圉 賵么n" " -h, --help\t\t 諤 諰賄諝 窸 拘么n" " -t, --time DAYS\tDAYS 渥 黖篞 諢篞 篣圉諤 拘么n" +" -u, --user LOGIN\tLOGIN渠潺 科拖 黖篞 篣圉 賵么n" #, c-format msgid "Username Port From Latest\n" @@ -948,6 +978,16 @@ msgstr " on `%.100s' from `%.200s'" msgid " on `%.100s'" msgstr " on `%.100s'" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "諢篞賄賄 諤鴔 蛟" + #, c-format msgid "" "\n" @@ -959,6 +999,10 @@ msgstr "" msgid "Login incorrect" msgstr "諢篞賄賄 諤鴔 蛟" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "窶赭: 潰潺 木 諢篞賄貲 蛟.\n" @@ -974,6 +1018,11 @@ msgstr "諤鴔諤 諢篞賄: %.19s on %s" msgid " from %.*s" msgstr " from %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "科拘: newgrp [-] [篞賈ㄨ]\n" @@ -1050,24 +1099,32 @@ msgid "%s: error updating files\n" msgstr "%s: 潰 域渣 月穈 諻蛟么n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "科拘: %s [-f|-s] [渠]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x 黖][-n 黖][-w 窶赭][-i 赬桶] 渠\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} 渠\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" msgid "Old password: " msgstr " 渥篣: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "`%s' 渥篣 諤鴔 蛟么n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1226,6 +1283,10 @@ msgstr "科拖 渥篣 賄潺 伊 原. msgid "Sorry." msgstr "鴥∮拘." +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "渥篣: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: 圉站 諻 欠 渥賄 拘么n" @@ -1473,6 +1534,10 @@ msgstr "科拘: %s [-r] 渠\n" msgid "%s: error updating group entry\n" msgstr "%s: 篞賈ㄨ 伉 域渣貲 月穈 諻蛟么n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: 科拖 鴥潰 篞賈ㄨ 鴔 蛟.\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: 篞賈ㄨ 潰 蛟么n" @@ -1630,36 +1695,5 @@ msgstr "" "`vipw' /etc/passwd諝 賄拘 `vipw -s' /etc/shadow諝 賄拘么n" "`vigr' /etc/group 賄拘 `vigr -s' /etc/gshadow諝 賄拘么n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "科拘: groupadd [-g GID [-o]] [-f] 篞賈ㄨ諈\n" - -#, fuzzy -#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" -#~ msgstr "科拘: useradd [-u UID [-o]] [-g 篞賈ㄨ諈] [-G 篞賈ㄨ,...]\n" - -#~ msgid "" -#~ " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" -#~ msgstr "" -#~ " [-d 謔柵 [-s ] [-c 鴥潰] [-m [-k template]]\n" - -#~ msgid " [-f inactive] [-e expire]\n" -#~ msgstr " [-f 赬桶] [-e 諤篣財\n" - -#, fuzzy -#~ msgid " [-p passwd] [-K KEY=VALUE] name\n" -#~ msgstr " [-p 渥篣] 渠\n" - -#~ msgid " useradd -D [-g group] [-b base] [-s shell]\n" -#~ msgstr " useradd -D [-g 篞賈ㄨ諈] [-b 黕篣圉謔柵 [-s ]\n" - -#~ msgid "%s: -O requires NAME=VALUE\n" -#~ msgstr "%s: NAME=VALUE諝 渥 -O 蛙 拘么n" - -#~ msgid "unknown uid: %u\n" -#~ msgstr " UID: %u\n" - -#~ msgid "%s: uid %u is not unique\n" -#~ msgstr "%s: UID %u() 潤鴔 蛟么n" - -#~ msgid "%s: can't get unique uid\n" -#~ msgstr "%s: UID諝 髦 蛟么n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: PAM chauthtok穈 欠刮蛟么n" diff --git a/po/nb.gmo b/po/nb.gmo index 672a47f29dcdb01f03342ddc317f8fd83dc97502..bdab4c503451ff1af4874dd4ae11dd17b8c65045 100644 GIT binary patch delta 7162 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 Y?%SYZL*K2j6(v(1s9y2Y-RFY;2TVl=z5oCK delta 7635 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 CID*#z diff --git a/po/nb.po b/po/nb.po index ccf13eb3..b6f413d0 100644 --- a/po/nb.po +++ b/po/nb.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow\n" "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n" -"POT-Creation-Date: 2005-08-11 16:15+0200\n" +"POT-Creation-Date: 2005-10-10 20:33+0200\n" "PO-Revision-Date: 2004-06-03 21:42+0200\n" "Last-Translator: H疇vard Korsvoll \n" "Language-Team: Norwegian (Nynorsk) \n" @@ -104,6 +104,28 @@ msgstr "Ingen epost." msgid "You have mail." msgstr "Du har epost." +#, fuzzy +msgid "no change" +msgstr "%s: ingen endringer\n" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "D疇rlig passord: %s. " @@ -142,6 +164,13 @@ msgstr "Ugyldig rot mappe \"%s\"\n" msgid "Can't change root directory to \"%s\"\n" msgstr "Kan ikke endre rot mappa til \"%s\"\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s: Kan ikke avgj繪re ditt brukernavn.\n" + #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) feilet\n" @@ -246,6 +275,10 @@ msgstr "%s: kan ikke 疇pne passordfila\n" msgid "%s: unknown user %s\n" msgstr "%s: ukjent bruker %s\n" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: kan ikke 疇pne skyggepassordfila\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s: kan ikke l疇se skyggepassordfila\n" @@ -254,6 +287,10 @@ msgstr "%s: kan ikke l疇se skyggepassordfila\n" msgid "%s: can't open shadow password file\n" msgstr "%s: kan ikke 疇pne skyggepassordfila\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "Endre utl繪psinformasjon for %s\n" @@ -278,10 +315,6 @@ msgstr "%s: kan ikke gjenskrive skyggepassordfila\n" msgid "%s: can't rewrite password file\n" msgstr "%s: kan ikke gjenskrive passordfila\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: PAM chauthtok feilet\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -471,10 +504,6 @@ msgstr "%s er et ugyldig skall.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "Bruk: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: ADVARSEL! M疇 v疆re set-UID root!\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: ukjent bruker\n" @@ -863,9 +892,10 @@ msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" #, c-format @@ -927,6 +957,16 @@ msgstr " p疇 `%.100s' fra `%.200s'" msgid " on `%.100s'" msgstr " p疇 `%.100s'" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "Ugyldig innlogging" + #, c-format msgid "" "\n" @@ -938,6 +978,10 @@ msgstr "" msgid "Login incorrect" msgstr "Ugyldig innlogging" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "Advarsel: innlogging reaktivert etter midlertidig stenging.\n" @@ -953,6 +997,11 @@ msgstr "Forrige login: %.19s p疇 %s" msgid " from %.*s" msgstr " fra %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "Bruk: newgrp [-] [gruppe]\n" @@ -1029,24 +1078,32 @@ msgid "%s: error updating files\n" msgstr "%s: feil ved oppdatering av filer\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "Bruk: %s [-f|-s] [navn]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x max] [-n min] [-w advar] [-i inakt] navn\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} navn\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" msgid "Old password: " msgstr "Gammelt passord: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "Feil passord for 竄%s罈\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1205,6 +1262,10 @@ msgstr "Oppgi ditt EGET passord som autentisering.\n" msgid "Sorry." msgstr "Beklager." +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "passwd: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: m疇 kj繪res fra en terminal\n" @@ -1451,6 +1512,10 @@ msgstr "Bruk: %s [-r] navn\n" msgid "%s: error updating group entry\n" msgstr "%s: feil ved oppdatering av gruppe-oppf繪ring\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: kan ikke fjerne brukerens prim疆rgruppe.\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: kan ikke 疇pne gruppefila\n" @@ -1606,35 +1671,5 @@ msgstr "" "竄vipw罈 redigerer /etc/passwd 竄vipw -s罈 redigerer /etc/shadow\n" "竄vigr罈 redigerer /etc/group 竄vigr -s罈 redigerer /etc/gshadow\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "Bruk: groupadd [-g gid [-o]] [-f] gruppe\n" - -#, fuzzy -#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" -#~ msgstr "Bruk: useradd [-u uid [-o]] [-g gruppe] [-G gruppe,...] \n" - -#~ msgid "" -#~ " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" -#~ msgstr " [-d hjem] [-s skall] [-c kommentar] [-m [-k mal]]\n" - -#~ msgid " [-f inactive] [-e expire]\n" -#~ msgstr " [-f inaktiv] [-e utg疇 ]\n" - -#, fuzzy -#~ msgid " [-p passwd] [-K KEY=VALUE] name\n" -#~ msgstr " [-p passord] navn\n" - -#~ msgid " useradd -D [-g group] [-b base] [-s shell]\n" -#~ msgstr " useradd -D [-g gruppe] [-b base] [-s skall]\n" - -#~ msgid "%s: -O requires NAME=VALUE\n" -#~ msgstr "%s: -O krever NAME=VALUE\n" - -#~ msgid "unknown uid: %u\n" -#~ msgstr "ukjent uid: %u\n" - -#~ msgid "%s: uid %u is not unique\n" -#~ msgstr "%s: uid %u er ikke unik\n" - -#~ msgid "%s: can't get unique uid\n" -#~ msgstr "%s: kan ikke finne unikt uid\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: PAM chauthtok feilet\n" diff --git a/po/nl.gmo b/po/nl.gmo index 531c5240de30cb9bab8a2165444807ef5a88af8b..2af2c262bbec9284d4f7fde31667e8e4dab068f1 100644 GIT binary patch delta 7961 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 I8<$u6H;kKlX#fBK diff --git a/po/nl.po b/po/nl.po index 86432ff3..9d3e5b8c 100644 --- a/po/nl.po +++ b/po/nl.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.12\n" "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n" -"POT-Creation-Date: 2005-08-11 16:15+0200\n" +"POT-Creation-Date: 2005-10-10 20:33+0200\n" "PO-Revision-Date: 2005-08-16 19:07+0100\n" "Last-Translator: Bart Cornelis \n" "Language-Team: debian-l10n-dutch \n" @@ -100,6 +100,28 @@ msgstr "Geen e-mails" msgid "You have mail." msgstr "U heeft e-mail." +#, fuzzy +msgid "no change" +msgstr "%s: geen aanpassingen\n" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "Slecht wachtwoord: %s. " @@ -138,6 +160,13 @@ msgstr "Ongeldige hoofdmap '%s'\n" msgid "Can't change root directory to \"%s\"\n" msgstr "Kan de hoofdmap niet veranderen naar '%s'\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s: Kan uw gebruikersnaam niet bepalen.\n" + #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) is mislukt\n" @@ -264,6 +293,10 @@ msgstr "%s: kan wachtwoordbestand niet openen\n" msgid "%s: unknown user %s\n" msgstr "%s: onbekende gebruiker %s\n" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: kan schaduw-wachtwoordenbestand niet openen\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s: kan schaduw-wachtwoordenbestand niet vergrendelen\n" @@ -272,6 +305,10 @@ msgstr "%s: kan schaduw-wachtwoordenbestand niet vergrendelen\n" msgid "%s: can't open shadow password file\n" msgstr "%s: kan schaduw-wachtwoordenbestand niet openen\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "Verouderingsinformatie voor %s wordt aangepast\n" @@ -296,10 +333,6 @@ msgstr "%s: kan het schaduwwachtwoordbestand niet herschrijven\n" msgid "%s: can't rewrite password file\n" msgstr "%s: kan het wachtwoordbestand niet herschrijven\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: PAM-chauthtok is mislukt\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -499,10 +532,6 @@ msgstr "%s is geen geldige shell.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "Gebruik: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: WAARSCHUWING! Dient set-UID root ingesteld te zijn!\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: onbekende gebruiker\n" @@ -912,21 +941,22 @@ msgstr "Gebruik: id\n" msgid " groups=" msgstr " groepen=" -#, c-format +#, fuzzy, c-format msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" "Gebruik: lastlog [opties]\n" "\n" "Opties:\n" -" -u, --user LOGIN\tprint het lastlog-record van de gebruiker LOGIN\n" " -h, --help\t\ttoon dit bericht en sluit af\n" " -t, --time DAGEN\tprint enkel lastlog-records van de laatste DAGEN dagen\n" +" -u, --user LOGIN\tprint het lastlog-record van de gebruiker LOGIN\n" #, c-format msgid "Username Port From Latest\n" @@ -987,6 +1017,16 @@ msgstr " om `%.100s' vanaf `%.200s'" msgid " on `%.100s'" msgstr " om `%.100s'" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "Gebruikersnaam onjuist" + #, c-format msgid "" "\n" @@ -998,6 +1038,10 @@ msgstr "" msgid "Login incorrect" msgstr "Gebruikersnaam onjuist" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "Waarschuwing: aanmelden gereactiveerd na tijdelijke buitensluiting.\n" @@ -1013,6 +1057,11 @@ msgstr "Laatst aangemeld: %.19s om %s" msgid " from %.*s" msgstr " vanaf %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "Gebruik: newgrp [-] [groep]\n" @@ -1089,24 +1138,32 @@ msgid "%s: error updating files\n" msgstr "%s: fout tijdens bijwerken bestanden\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "Gebruik: %s [-f|-s] [naam]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x max] [-n min] [-w waarschuwing] [-i inact] naam\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} naam\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" msgid "Old password: " msgstr "Oud wachtwoord: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "Onjuist wachtwoord voor '%s'\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1267,6 +1324,10 @@ msgstr "Gelieve uw EIGEN wachtwoord in te voeren voor authenticatie.\n" msgid "Sorry." msgstr "Sorry." +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "passwd: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: dient uitgevoerd te worden vanaf een terminal\n" @@ -1551,6 +1612,10 @@ msgstr "Gebruik: %s [-r] naam\n" msgid "%s: error updating group entry\n" msgstr ":%s: fout tijdens bijwerken groepingang\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: kan de primaire groep van een gebruiker niet verwijderen.\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: kan groepbestand niet openen\n" @@ -1708,37 +1773,5 @@ msgstr "" "`vipw' bewerkt /etc/passwd `vipw -s' bewerkt /etc/shadow\n" "`vigr' bewerkt /etc/group `vigr -s' bewerkt /etc/gshadow\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "Gebruik: groupadd [-g gid [-o]] [-f] groep\n" - -#, fuzzy -#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" -#~ msgstr "Gebruik: useradd [-u uid [-o]] [-g groep] [-G groep,...] \n" - -#~ msgid "" -#~ " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" -#~ msgstr "" -#~ " [-d thuismap] [-s shell] [-c commentaar] [-m [-k " -#~ "sjabloon]]\n" - -#~ msgid " [-f inactive] [-e expire]\n" -#~ msgstr " [-f niet actief] [-e vervalt ]\n" - -#, fuzzy -#~ msgid " [-p passwd] [-K KEY=VALUE] name\n" -#~ msgstr " [-p wachtwoord] naam\n" - -#~ msgid " useradd -D [-g group] [-b base] [-s shell]\n" -#~ msgstr " useradd -D [-g groep] [-b basis] [-s shell]\n" - -#~ msgid "%s: -O requires NAME=VALUE\n" -#~ msgstr "%s: -O vereist NAAM=WAARDE\n" - -#~ msgid "unknown uid: %u\n" -#~ msgstr "onbekende uid: %u\n" - -#~ msgid "%s: uid %u is not unique\n" -#~ msgstr "%s: uid %u is niet uniek\n" - -#~ msgid "%s: can't get unique uid\n" -#~ msgstr "%s: kan geen unieke uid verkrijgen\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: PAM-chauthtok is mislukt\n" diff --git a/po/nn.gmo b/po/nn.gmo index b68a0cae56947ca45d864e9c760ac309926912f7..2fa75c06f49a8c75cc365aa7fd396340971d7374 100644 GIT binary patch delta 7178 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 QkzLVOC9P^xOMYnlf9gGne*gdg diff --git a/po/nn.po b/po/nn.po index 89f3187f..45fd1650 100644 --- a/po/nn.po +++ b/po/nn.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow\n" "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n" -"POT-Creation-Date: 2005-08-11 16:15+0200\n" +"POT-Creation-Date: 2005-10-10 20:33+0200\n" "PO-Revision-Date: 2004-06-03 21:41+0200\n" "Last-Translator: H疇vard Korsvoll \n" "Language-Team: Norwegian (Nynorsk) \n" @@ -97,6 +97,28 @@ msgstr "Ingen e-post." msgid "You have mail." msgstr "Du har e-post." +#, fuzzy +msgid "no change" +msgstr "%s: ingen endringar\n" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "Feil passord: %s. " @@ -135,6 +157,13 @@ msgstr "Ugyldig rotmappe 竄%s罈\n" msgid "Can't change root directory to \"%s\"\n" msgstr "Klarer ikkje endra rotmappe til 竄%s罈\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s: Klarer ikkje avgjere brukarnamnet ditt.\n" + #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) feila\n" @@ -238,6 +267,10 @@ msgstr "%s: klarer ikkje opna passordfil\n" msgid "%s: unknown user %s\n" msgstr "%s: ukjend brukar %s\n" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: klarer ikkje opna skuggepassordfila\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s: klarer ikkje l疇sa skuggepassordfila\n" @@ -246,6 +279,10 @@ msgstr "%s: klarer ikkje l疇sa skuggepassordfila\n" msgid "%s: can't open shadow password file\n" msgstr "%s: klarer ikkje opna skuggepassordfila\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "Endrar aldringsformasjonen for %s\n" @@ -270,10 +307,6 @@ msgstr "%s: klarer ikkje skriva ny skuggepassordfil\n" msgid "%s: can't rewrite password file\n" msgstr "%s: klarer ikkje skriva ny passordfil\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: PAM chauthtok feila\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -463,10 +496,6 @@ msgstr "%s er eit ugyldig skal.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "Bruk: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: TVARING! M疇 vera set-UID root!\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: ukjent brukar\n" @@ -855,9 +884,10 @@ msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" #, c-format @@ -919,6 +949,16 @@ msgstr " p疇 竄%.100s罈 fr疇 竄%.200s罈" msgid " on `%.100s'" msgstr " p疇 竄%.100s罈" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "Feil innlogging" + #, c-format msgid "" "\n" @@ -930,6 +970,10 @@ msgstr "" msgid "Login incorrect" msgstr "Feil innlogging" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "" "tvaring: innlogging gjort mogeleg igjen etter mellombels utestenging.\n" @@ -946,6 +990,11 @@ msgstr "F繪rre inlogging: %.19s p疇 %s" msgid " from %.*s" msgstr " fr疇 %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "Bruk: newgrp [-] [gruppe]\n" @@ -1022,24 +1071,32 @@ msgid "%s: error updating files\n" msgstr "%s: feil ved oppdatering av filer\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "Bruk: %s [-f|-s] [namn]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x maks] [-n min] [-w 疇tvar] [-i inaktiv] namn\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} namn\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" msgid "Old password: " msgstr "Gamalt passord:" -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "Feil passord for 竄%s罈\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1199,6 +1256,10 @@ msgstr "Oppgje ditt EIGE passord for autentisering.\n" msgid "Sorry." msgstr "rsak." +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "passwd: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: m疇 k繪yrast fr疇 ein terminal\n" @@ -1445,6 +1506,10 @@ msgstr "Bruk: %s [-r] namn\n" msgid "%s: error updating group entry\n" msgstr "%s: feil ved oppdatering av gruppeoppf繪ring\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: klarer ikkje fjerna prim疆rgruppa til brukaren.\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: klarer ikkje opna gruppefila\n" @@ -1600,35 +1665,5 @@ msgstr "" "竄vipw罈 redigerer /etc/passwd 竄vipw -s罈 redigerer /etc/shadow\n" "竄vigr罈 redigerer /etc/group 竄vigr -s罈 redigerer /etc/gshadow\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "Bruk: groupadd [-g gid [-o]] [-f] gruppe\n" - -#, fuzzy -#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" -#~ msgstr "Bruk: useradd [-u uid [-o]] [-g gruppe] [-G gruppe,...] \n" - -#~ msgid "" -#~ " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" -#~ msgstr " [-d heim] [-s skal] [-c kommentar] [-m [-k mal]]\n" - -#~ msgid " [-f inactive] [-e expire]\n" -#~ msgstr " [-f inaktiv] [-e utg疇r]\n" - -#, fuzzy -#~ msgid " [-p passwd] [-K KEY=VALUE] name\n" -#~ msgstr " [-p passord] namn\n" - -#~ msgid " useradd -D [-g group] [-b base] [-s shell]\n" -#~ msgstr " useradd -D [-g gruppe] [-b startmappe] [-s skal]\n" - -#~ msgid "%s: -O requires NAME=VALUE\n" -#~ msgstr "%s: -O krev NAME=VERDI\n" - -#~ msgid "unknown uid: %u\n" -#~ msgstr "ukjent uid: %u\n" - -#~ msgid "%s: uid %u is not unique\n" -#~ msgstr "%s: uid %u er ikkje unik\n" - -#~ msgid "%s: can't get unique uid\n" -#~ msgstr "%s: klarer ikkje finne unik uid\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: PAM chauthtok feila\n" diff --git a/po/pl.gmo b/po/pl.gmo index b80cfc65ef37012beff5e33777e34d6928e5f714..01dd240476a3f8d774d538b647da5978f024be86 100644 GIT binary patch delta 8657 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\n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" @@ -106,6 +106,27 @@ msgstr "Nie masz poczty." msgid "You have mail." msgstr "Masz poczt." +msgid "no change" +msgstr "bez zmian" + +msgid "a palindrome" +msgstr "palindrom" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "za proste" + +msgid "rotated" +msgstr "rotacja" + +msgid "too short" +msgstr "za kr籀tkie" + #, c-format msgid "Bad password: %s. " msgstr "Ze haso: %s. " @@ -144,6 +165,12 @@ msgstr "Nieprawidowy katalog g籀wny \"%s\"\n" msgid "Can't change root directory to \"%s\"\n" msgstr "Nie mo髒na zmieni g籀wnego katalogu na \"%s\"\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +msgid "Unable to determine your tty name." +msgstr "Nie mo髒na ustali nazwy twojego terminala." + #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) nie powiodo si\n" @@ -176,18 +203,18 @@ msgstr "" "\n" "Opcje:\n" " -d, --lastday OSTATNI\t\tustawia date ostatniej zmiany hasa na OSTATNI\n" -" -E, --expiredate DATA_WA驍N\tustawia dat wznoci konta na DATA_WA驍N\n" +" -E, --expiredate DATA_WA驍N\tustawia dat wa髒noci konta na DATA_WA驍N\n" " -h, --help\t\t\twywietlenie tego opisu i zakoczenie\n" " -I, --inactive NIEAKTYWNE\tustwia liczb dni nieaktywnoci konta po\n" "\t\t\t\tkt籀rych konta jest blokowane na NIEAKTYWNE\n" -" -l, --list\t\t\twywietlenie informacji o terminach wa髒nosci konta i " +" -l, --list\t\t\twywietlenie informacji o terminach wa髒noci konta i " "hasa\n" " -m, --mindays MIN_DNI\t\tustawia minimaln liczb dni pomidzy zmianami " "hasa\n" "\t\t\t\tna warto MIN_DNI\n" " -M, --maxdays MAX_DAYS\tustawia maksymaln liczb dni, przez jakie haso\n" "\t\t\t\tjest wa髒ne na warto MAX_DNI\n" -" -W, --warndays DNI_OSTRZ\tustawia na DNI_OSTRZEGANIA liczb dni przed\n" +" -W, --warndays DNI_OSTRZ\tustawia na DNI_OSTRZ liczb dni przed\n" "\t\t\t\tupywem wa髒noci hasa\n" #, c-format @@ -264,6 +291,10 @@ msgstr "%s: nie mo髒na otworzy pliku z hasami\n" msgid "%s: unknown user %s\n" msgstr "%s: nieznany u髒ytkownik %s\n" +#, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: brak pliku z ukrytymi hasami\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s: nie mo髒na zablokowa pliku z ukrytymi hasami\n" @@ -272,6 +303,10 @@ msgstr "%s: nie mo髒na zablokowa pliku z ukrytymi hasami\n" msgid "%s: can't open shadow password file\n" msgstr "%s: nie mo髒na otworzy pliku z ukrytymi hasami\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "Zmieniam informacj o u髒ytkowniku %s\n" @@ -296,10 +331,6 @@ msgstr "%s: nie mo髒na przepisa pliku z ukrytymi hasami\n" msgid "%s: can't rewrite password file\n" msgstr "%s: nie mo髒na przepisa pliku z hasami\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: PAM chauthtok nie powiodo si\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -498,10 +529,6 @@ msgstr "%s jest nieprawidow powok.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "U髒ycie: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: OSTRZE驍ENIE! Program musi posiada SUID root!\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: nieznany u髒ytkownik\n" @@ -914,18 +941,20 @@ msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" "U髒ycie: lastlog [opcje]\n" "\n" "Opcje:\n" -" -u, --user LOGIN\twywietl rekord lastlog tylko dla u髒ytkownika\n" -"\t\t\t\to loginie LOGIN\n" +" -b, --before DNI\twywietl tylko rekordy lastlog starsze ni髒 DNI\n" " -h, --help\t\t\twywietlenie tego opisu i zakoczenie\n" " -t, --time DNI\t\twywietl tylko rekordy lastlog nie starsze ni髒\n" -"\t\t\t\tDNI dni\n" +"\t\t\t\tDNI\n" +" -u, --user LOGIN\twywietl rekord lastlog tylko dla u髒ytkownika\n" +"\t\t\t\to loginie LOGIN\n" #, c-format msgid "Username Port From Latest\n" @@ -986,6 +1015,16 @@ msgstr " na `%.100s' z `%.200s'" msgid " on `%.100s'" msgstr " na `%.100s'" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "Nieprawidowe logowanie" + #, c-format msgid "" "\n" @@ -997,6 +1036,10 @@ msgstr "" msgid "Login incorrect" msgstr "Nieprawidowe logowanie" +#, c-format +msgid "%s: failure forking: %s" +msgstr "%s: failure forking: %s" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "Ostrze髒enie: logowanie ponownie odblokowanie po czasowej blokadzie.\n" @@ -1012,6 +1055,11 @@ msgstr "Ostatnie logowanie: %s na %s" msgid " from %.*s" msgstr " z %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "U髒ycie: newgrp [-] [grupa]\n" @@ -1087,25 +1135,56 @@ msgstr "%s: linia %d: nie mo髒na zaktualizowa wpisu\n" msgid "%s: error updating files\n" msgstr "%s: bd podczas aktualizowania plik籀w\n" -#, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "U髒ycie: %s [-f|-s] [nazwa]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x maks] [-n min] [-w ostrz] [-i nieakty] nazwa\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} nazwa\n" +#, fuzzy, c-format +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" +"U髒ycie: passwd [opcje] [login]\n" +"\n" +"Opcje:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tkasuje haso u髒ytkowanika\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\twywietlenie tego opisu i zakoczenie\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tzablokuj konto\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -n, --mindays MIN_DNI\t\tustawia minimaln liczb dni pomidzy zmianami\n" +"\t\t\t\thasa na MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\todblokuj konto\n" +" -w, --warndays DNI_OSTRZ\tustawia na DNI_OSTRZ liczb dni przed\n" +"\t\t\t\tupywem wa髒noci hasa\n" +" -x, --maxdays MAX_DNI\tustawia maksymaln liczb dni, przez jakie haso\n" +"\t\t\t\tjest wa髒ne na warto MAX_DNI\n" msgid "Old password: " msgstr "Stare haso: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "Nieprawidowe haso `%s'\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1264,6 +1343,10 @@ msgstr "Prosz wpisz swoje WASNE haso jako haso uwierzytelniajce.\n" msgid "Sorry." msgstr "Wybacz." +#, c-format +msgid "%s: %s\n" +msgstr "%s: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: musisz uruchamia z terminala\n" @@ -1538,6 +1621,10 @@ msgstr "U髒ycie: %s [-r] nazwa\n" msgid "%s: error updating group entry\n" msgstr "%s: bd podczas aktualizacji wpisu grupy\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: nie mo髒na usun podstawowej grupy u髒ytkownik籀w.\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: nie mo髒na otworzy pliku z grupami\n" @@ -1693,3 +1780,6 @@ msgstr "" "U髒ycie:\n" "`vipw' edytuje /etc/passwd `vipw -s' edytuje /etc/shadow\n" "`vigr' edytuje /etc/group `vigr -s' edytuje /etc/gshadow\n" + +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: PAM chauthtok nie powiodo si\n" diff --git a/po/pt.gmo b/po/pt.gmo index b1236b6dcc023a0fee4d71b17c1044a354b51219..b49abc01c2cde35f6a48d00486d9a75eb53e919c 100644 GIT binary patch delta 10795 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 E7g-g01poj5 diff --git a/po/pt.po b/po/pt.po index 3ad3c1c8..da82cacc 100644 --- a/po/pt.po +++ b/po/pt.po @@ -4,13 +4,14 @@ # 18-04-2005 - Miguel Figueiredo - 5f1u # 12-07-2005 - Miguel Figueiredo - 7u4f # 14-08-2005 - Miguel Figueiredo - 6f2u +# 03-09-2005 - Miguel Figueiredo - 6f12u # msgid "" msgstr "" "Project-Id-Version: shadow 4.0.12\n" "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n" -"POT-Creation-Date: 2005-08-11 16:15+0200\n" -"PO-Revision-Date: 2005-08-14 12:25+0000\n" +"POT-Creation-Date: 2005-10-10 20:33+0200\n" +"PO-Revision-Date: 2005-09-03 23:05+0000\n" "Last-Translator: Miguel Figueiredo \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" @@ -100,6 +101,27 @@ msgstr "N瓊o tem correio." msgid "You have mail." msgstr "Tem correio." +msgid "no change" +msgstr "sem altera癟繭es" + +msgid "a palindrome" +msgstr "um pal穩ndromo" + +msgid "case changes only" +msgstr "apenas altera癟瓊o de mai繳sculas/min繳sculas" + +msgid "too similar" +msgstr "demasiado parecido" + +msgid "too simple" +msgstr "demasiado simples" + +msgid "rotated" +msgstr "rodado" + +msgid "too short" +msgstr "demasiado curto" + #, c-format msgid "Bad password: %s. " msgstr "Password inv獺lida: %s. " @@ -138,6 +160,14 @@ msgstr "Direct籀rio raiz inv獺lido \"%s\"\n" msgid "Can't change root directory to \"%s\"\n" msgstr "N瓊o 矇 poss穩vel mudar o direct籀rio raiz para \"%s\"\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" +"Sem entrada utmp. Tem de executar \"login\" a partir do n穩vel mais baixo " +"\"sh\"" + +msgid "Unable to determine your tty name." +msgstr "N瓊o 矇 poss穩vel determinar nome do seu tty." + #, c-format msgid "malloc(%d) failed\n" msgstr "O malloc(%d) falhou\n" @@ -257,6 +287,10 @@ msgstr "%s: n瓊o 矇 poss穩vel abrir o ficheiro de passwords\n" msgid "%s: unknown user %s\n" msgstr "%s: utilizador desconhecido %s\n" +#, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: o ficheiro de passwords shadow n瓊o est獺 presente\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "" @@ -266,6 +300,10 @@ msgstr "" msgid "%s: can't open shadow password file\n" msgstr "%s: n瓊o 矇 poss穩vel abrir o ficheiro de passwords shadow\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "%s: falhou baixar privil矇gios (%s)\n" + #, c-format msgid "Changing the aging information for %s\n" msgstr "A alterar a informa癟瓊o de envelhecimento de %s\n" @@ -290,10 +328,6 @@ msgstr "%s: n瓊o 矇 poss穩vel reescrever o ficheiro de passwords shadow\n" msgid "%s: can't rewrite password file\n" msgstr "%s: n瓊o 矇 poss穩vel reescrever o ficheiro de passwords\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: falhou chauthtok de PAM\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -386,8 +420,8 @@ msgstr "N瓊o 矇 poss穩vel alterar o ID para root.\n" #, c-format msgid "Cannot lock the password file; try again later.\n" msgstr "" -"N瓊o 矇 poss穩vel obter acesso exclusivo ao ficheiro de passwords; tente de " -"novo mais tarde.\n" +"N瓊o 矇 poss穩vel obter acesso exclusivo ao ficheiro de passwords; tente " +"novamente mais tarde.\n" #, c-format msgid "Cannot open the password file.\n" @@ -495,10 +529,6 @@ msgstr "%s 矇 uma shell inv獺lida.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "Utiliza癟瓊o: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: AVISO! Tem de ter o UID root!\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: utilizador desconhecido\n" @@ -910,16 +940,20 @@ msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" "Utiliza癟瓊o: lastlog [op癟繭es]\n" "\n" "Op癟繭es:\n" +" -b, --before DIAS\tescrever apenas registos de lastlog mais antigos que " +"DIAS\n" +" -h, --help\t\tmostrar esta mensagem e sai\n" +" -t, --time DIAS\tescrever apenas registos de lastlog mais recentes que " +"DIAS\n" " -u, --user LOGIN\tmostra o registo de lastlog para o utilizador LOGIN\n" -" -h, --help\t\tmostra esta mensagem e sai\n" -" -t, --time DIAS\tmostra apenas registos de lastlog mais recentes que DIAS\n" #, c-format msgid "Username Port From Latest\n" @@ -980,6 +1014,18 @@ msgstr " em `%.100s' de `%.200s'" msgid " on `%.100s'" msgstr " em `%.100s'" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "login: Falha de PAM, a abortar: %s\n" + +#, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "" +"\n" +"Login incorrecto\n" + #, c-format msgid "" "\n" @@ -991,6 +1037,10 @@ msgstr "" msgid "Login incorrect" msgstr "Login incorrecto" +#, c-format +msgid "%s: failure forking: %s" +msgstr "%s: falha no fork: %s" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "Aviso: o login foi novamente permitido ap籀s um tempo de bloqueio.\n" @@ -1006,6 +1056,13 @@ msgstr "ltima entrada no sistema: %.19s em %s" msgid " from %.*s" msgstr " de %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" +"tempo para login excedido\n" +"\n" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "Utiliza癟瓊o: newgrp [-] [grupo]\n" @@ -1083,24 +1140,53 @@ msgid "%s: error updating files\n" msgstr "%s: erro ao actualizar ficheiros\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "Utiliza癟瓊o: %s [-f|-s] [nome]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x max] [-n min] [-w aviso] [-i inactivo] nome\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} nome\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" +"Utiliza癟瓊o: passwd [op癟繭es] [login]\n" +"\n" +"Op癟繭es:\n" +" -a, --all \t\t\treportar estado das passwords em todas as contas\n" +" -d, --delete \t\t\tapagar a password apra a conta indicada\n" +" -e, --expire\t\t\tfor癟ar que a password expire para a conta indicada\n" +" -h, --help\t\t\tmostrar esta mensagem de ajuda e sair\n" +" -k, --keep-tokens\t\tapenas mudar a password se tiver expirado\n" +" -i, --inactive INACTIVA\tdefinir a password como inactiva ap籀s expirar\n" +"\t\t\t\top籀s INACTIVA (dias)\n" +" -l, --lock\t\t\tbloquear a conta indicada\n" +" -n, --mindays MIN_DIAS\tdefinir para MIN_DIAS o n繳mero de dias antes\n" +"\t\t\t\tde alterar a password\n" +" -q, --quiet\t\t\tmodo discreto\n" +" -r, --repository REPOSITRIO\tmudar a password no reposit籀rio REPOSITRIO\n" +" -S, --status\t\t\treportar estado da password na conta indicada\n" +" -u, --unlock\t\t\tdesbloquear a conta indicada\n" +" -w, --warndays AVISAR_DIAS\tdefinir para AVISAR_DIAS o n繳mero de dias\n" +"\t\t\t\tpara alerta de expirar\n" +" -x, --maxdays MAX_DIAS\tdefinir para MAX_DIAS o n繳mero de dias m獺ximo\n" +"\t\t\t\tantes de alterar a password\n" msgid "Old password: " msgstr "Password antiga: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "Password incorrecta para `%s'\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1260,6 +1346,10 @@ msgstr "Por favor introduza a SUA password como autentica癟瓊o.\n" msgid "Sorry." msgstr "Desculpe." +#, c-format +msgid "%s: %s\n" +msgstr "%s: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: deve ser executado a partir de um terminal\n" @@ -1544,6 +1634,10 @@ msgstr "Utiliza癟瓊o: %s [-r] nome\n" msgid "%s: error updating group entry\n" msgstr "%s: erro ao actualizar o registo do grupo\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: n瓊o 矇 poss穩vel remover o grupo prim獺rio do utilizador.\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: n瓊o 矇 poss穩vel abrir o ficheiro dos grupos\n" @@ -1701,5 +1795,5 @@ msgstr "" "`vipw' edita /etc/passwd `vipw -s' edita /etc/shadow\n" "`vigr' edita /etc/group `vigr -s' edita /etc/gshadow\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "Utiliza癟瓊o: groupadd [-g gid [-o]] [-f] grupo\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: falhou chauthtok de PAM\n" diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo index 8483be506d4de1da6e5514da24a090aaa2947f3e..84a397c88ee32fe6fa3bef30b0086d5f28a08969 100644 GIT binary patch delta 7178 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 diff --git a/po/pt_BR.po b/po/pt_BR.po index 3c5f74d1..7609128c 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow\n" "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n" -"POT-Creation-Date: 2005-08-11 16:15+0200\n" +"POT-Creation-Date: 2005-10-10 20:33+0200\n" "PO-Revision-Date: 2004-06-12 17:16-0300\n" "Last-Translator: Andr矇 Lu穩s Lopes \n" "Language-Team: Debian-BR Project \n" @@ -97,6 +97,28 @@ msgstr "Sem mensagens." msgid "You have mail." msgstr "Voc礙 possui mensagens." +#, fuzzy +msgid "no change" +msgstr "%s : nenhuma mudan癟a\n" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "Senha ruim : %s. " @@ -135,6 +157,13 @@ msgstr "Diret籀rio ra穩z \"%s\" inv獺lido\n" msgid "Can't change root directory to \"%s\"\n" msgstr "N瓊o foi poss穩vel mudar o diret籀rio ra穩z para \"%s\"\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s : N瓊o foi poss穩vel determinar seu nome de usu獺rio.\n" + #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) falhou\n" @@ -238,6 +267,10 @@ msgstr "%s : n瓊o foi poss穩vel abrir o arquivo de senhas\n" msgid "%s: unknown user %s\n" msgstr "%s : usu獺rio %s desconhecido\n" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s : n瓊o foi poss穩vel abrir arquivo de senhas shadow\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s : n瓊o foi poss穩vel obter lock em arquivos de senhas shadow\n" @@ -246,6 +279,10 @@ msgstr "%s : n瓊o foi poss穩vel obter lock em arquivos de senhas shadow\n" msgid "%s: can't open shadow password file\n" msgstr "%s : n瓊o foi poss穩vel abrir arquivo de senhas shadow\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "Mudando a informa癟瓊o de idade para %s\n" @@ -270,10 +307,6 @@ msgstr "%s : n瓊o foi poss穩vel reescrever arquivo de senhas shadow\n" msgid "%s: can't rewrite password file\n" msgstr "%s : n瓊o foi poss穩vel reescrever arquivo de senhas\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s : chauthok PAM falhou\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -467,10 +500,6 @@ msgstr "%s 矇 um shell inv獺lido.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "Uso : expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s : AVISO ! Deve ser set-UID root !\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s : usu獺rio desconhecido\n" @@ -859,9 +888,10 @@ msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" #, c-format @@ -923,6 +953,16 @@ msgstr " em `%.100s' de `%.200s'" msgid " on `%.100s'" msgstr " em `%.100s'" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "Login incorreto" + #, c-format msgid "" "\n" @@ -934,6 +974,10 @@ msgstr "" msgid "Login incorrect" msgstr "Login incorreto" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "Aviso : login rehabilitado ap籀s travamento tempor獺rio.\n" @@ -949,6 +993,11 @@ msgstr "ltimo login : %.19s em %s" msgid " from %.*s" msgstr " de %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "Uso : newgrp [-] [grupo]\n" @@ -1026,24 +1075,32 @@ msgid "%s: error updating files\n" msgstr "%s : erro atualizando arquivos\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "Uso : %s [-f|-s] [nome]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x m獺ximo] [-n m穩nimo] [-w aviso] [-i inativo] nome\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} nome\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" msgid "Old password: " msgstr "Senha antiga : " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "Senha incorreta para `%s'\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1203,6 +1260,10 @@ msgstr "Por favor, informe sua PRPRIA senha como autentica癟瓊o.\n" msgid "Sorry." msgstr "Desculpe." +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "passwd : %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s : deve ser executado a partir de um terminal\n" @@ -1449,6 +1510,10 @@ msgstr "Uso : %s [-r] nome\n" msgid "%s: error updating group entry\n" msgstr "%s : erro atualizando entrada de grupo\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s : n瓊o foi poss穩vel remover grupo prim獺rio do usu獺rio.\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s : n瓊o foi poss穩vel abrir arquivo de grupo\n" @@ -1603,36 +1668,5 @@ msgstr "" "`vipw' edita /etc/passwd `vipw -s' edita /etc/shadow\n" "`vigr' edita /etc/group `vigr -s' edita /etc/gshadow\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "Uso : groupadd [-g gid [-o]] [-f] grupo\n" - -#, fuzzy -#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" -#~ msgstr "Uso : useradd [-u uid [-o]] [-g grupo] [-G grupo,...] \n" - -#~ msgid "" -#~ " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" -#~ msgstr "" -#~ " [-d home] [-s shell] [-c coment獺rio] [-m [-k template]]\n" - -#~ msgid " [-f inactive] [-e expire]\n" -#~ msgstr " [-f inativo] [-e expira ]\n" - -#, fuzzy -#~ msgid " [-p passwd] [-K KEY=VALUE] name\n" -#~ msgstr " [-p passwd] nome\n" - -#~ msgid " useradd -D [-g group] [-b base] [-s shell]\n" -#~ msgstr " useradd -D [-g grupo] [-b base] [-s shell]\n" - -#~ msgid "%s: -O requires NAME=VALUE\n" -#~ msgstr "%s : -O requer NOME=VALOR\n" - -#~ msgid "unknown uid: %u\n" -#~ msgstr "uid desconhecido : %u\n" - -#~ msgid "%s: uid %u is not unique\n" -#~ msgstr "%s : o uid %u n瓊o 矇 繳nico\n" - -#~ msgid "%s: can't get unique uid\n" -#~ msgstr "%s : n瓊o foi poss穩vel obter uid 繳nico\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s : chauthok PAM falhou\n" diff --git a/po/ro.gmo b/po/ro.gmo index ad9a0d746d8ce6bb03845d6551671ecc08ea4b22..03d78f9e33dfb6157f922db828c8a24f48c7a430 100644 GIT binary patch delta 14020 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 delta 11567 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\n" "Language-Team: Romanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1\n" -"X-Generator: KBabel 1.9.1\n" +"X-Generator: KBabel 1.10.2\n" #, c-format msgid "Could not allocate space for config info.\n" @@ -24,7 +25,7 @@ msgstr "Nu pot aloca spa籟iu pentru informa籟iile despre configurare.\n" #, c-format msgid "configuration error - unknown item '%s' (notify administrator)\n" msgstr "" -"eroare de configurare - articol necunoscut '%s' (anun籟a籟i administratorul)\n" +"eroare de configurare - element necunoscut '%s' (anun籟a籟i administratorul)\n" #, c-format msgid "Warning: unknown group %s\n" @@ -36,15 +37,15 @@ msgstr "Avertisment: prea multe grupuri\n" #, c-format msgid "Your password has expired." -msgstr "Parola v-a expirat." +msgstr "Parola dvs a expirat." #, c-format msgid "Your password is inactive." -msgstr "Parola v este inactiv." +msgstr "Parola dvs este inactiv." #, c-format msgid "Your login has expired." -msgstr "Autentificarea v-a expirat." +msgstr "Autentificarea dvs a expirat." msgid " Contact the system administrator.\n" msgstr " Contacta籟i administratorul de sistem.\n" @@ -54,15 +55,15 @@ msgstr " Alege籟i o parol nou.\n" #, c-format msgid "Your password will expire in %ld days.\n" -msgstr "Parola v va expira 簾n %ld zile.\n" +msgstr "Parola dvs va expira 簾n %ld zile.\n" #, c-format msgid "Your password will expire tomorrow.\n" -msgstr "Parola v va expira m璽ine.\n" +msgstr "Parola dvs va expira m璽ine.\n" #, c-format msgid "Your password will expire today.\n" -msgstr "Parola v va expira azi.\n" +msgstr "Parola dvs va expira azi.\n" #, c-format msgid "Unable to change tty %s" @@ -98,18 +99,40 @@ msgid "You have new mail." msgstr "Ave籟i mesaje noi." msgid "No mail." -msgstr "Nu ave籟i mesaje." +msgstr "N-ave籟i mesaje." msgid "You have mail." msgstr "Ave籟i mesaje." +#, fuzzy +msgid "no change" +msgstr "%s: nici o schimbare\n" + +msgid "a palindrome" +msgstr "palindrome" + +msgid "case changes only" +msgstr "changement de casse uniquement" + +msgid "too similar" +msgstr "trop semblable au pr矇c矇dent" + +msgid "too simple" +msgstr "trop simple" + +msgid "rotated" +msgstr "anagramme" + +msgid "too short" +msgstr "trop court" + #, c-format msgid "Bad password: %s. " msgstr "Parol incorect: %s. " #, c-format msgid "passwd: pam_start() failed, error %d\n" -msgstr "passwd: euare pam_start(), eroare %d\n" +msgstr "passwd: pam_start() a euat, eroare %d\n" #, c-format msgid "passwd: %s\n" @@ -118,16 +141,16 @@ msgstr "passwd: %s\n" msgid "passwd: password updated successfully\n" msgstr "passwd: parol actualizat cu succes\n" -#, fuzzy, c-format +#, c-format msgid "Incorrect password for %s.\n" -msgstr "Parol incorect pentru `%s'\n" +msgstr "Parol incorect pentru %s.\n" #, c-format msgid "Unable to cd to \"%s\"\n" msgstr "Nu pot schimba directorul ctre \"%s\"\n" msgid "No directory, logging in with HOME=/" -msgstr "Fr director personal, autentificat cu HOME=/" +msgstr "Fr director personal, autentificare cu HOME=/" #, c-format msgid "Cannot execute %s" @@ -141,16 +164,25 @@ msgstr "Director rdcin invalid \"%s\"\n" msgid "Can't change root directory to \"%s\"\n" msgstr "Nu pot schimba directorul rdcin la \"%s\"\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" +"Pas d'entr矇e utmp. Vous devez ex矇cuter 竄login罈 depuis l'interpr矇teur de " +"commandes de plus bas niveau" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s: Nu v pot determina numele de utilizator.\n" + #, c-format msgid "malloc(%d) failed\n" -msgstr "euare malloc(%d)\n" +msgstr "malloc(%d)a euat\n" msgid "Password: " msgstr "Parola: " #, c-format msgid "%s's Password: " -msgstr "Parola %s: " +msgstr "Parola pentru %s: " #, c-format msgid "" @@ -216,31 +248,31 @@ msgstr "Ultima schimbare de parol\t\t\t\t\t: " #, c-format msgid "never\n" -msgstr "niciodat\n" +msgstr "Niciodat\n" #, c-format msgid "Password expires\t\t\t\t\t: " -msgstr "Parola expir:\t\t\t\t\t\t: " +msgstr "Parola expir\t\t\t\t\t: " #, c-format msgid "Password inactive\t\t\t\t\t: " -msgstr "Parol inactiv\t\t\t\t\t\t: " +msgstr "Parol inactivs\t\t\t\t\t: " #, c-format msgid "Account expires\t\t\t\t\t\t: " -msgstr "Contul expir\t\t\t\t\t\t: " +msgstr "Contul expirs\t\t\t\t\t: " #, c-format msgid "Minimum number of days between password change\t\t: %ld\n" -msgstr "Numrul minim de zile dintre modificrile de parol\t\t: %ld\n" +msgstr "Numrul minim de zile dintre schimbrile de parol\t\t: %ld\n" #, c-format msgid "Maximum number of days between password change\t\t: %ld\n" -msgstr "Numrul maxim de zile dintre modificrile de parol\t\t: %ld\n" +msgstr "Numrul maxim de 簾ncercri a fost atins\t\t: %ld\n" #, c-format msgid "Number of days of warning before password expires\t: %ld\n" -msgstr "Numrul de zile de avertizri dinaintea expirrii parolei\t: %ld\n" +msgstr "Numrul de zile de avertismente 簾naintea expirrii parolei\t: %ld\n" #, c-format msgid "%s: do not include \"l\" with other flags\n" @@ -256,19 +288,27 @@ msgstr "%s: autentificare PAM euat\n" #, c-format msgid "%s: can't open password file\n" -msgstr "%s; nu pot deschide fiierul de conturi utilizatori\n" +msgstr "%s; nu pot deschide fiierul passwd\n" #, c-format msgid "%s: unknown user %s\n" msgstr "%s: utilizator necunoscut %s\n" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: nu pot deschide fiierul shadow\n" + #, c-format msgid "%s: can't lock shadow password file\n" -msgstr "%s nu pot 簾ncuia fiierul de parole criptate\n" +msgstr "%s nu pot 簾ncuia fiierul shadow\n" #, c-format msgid "%s: can't open shadow password file\n" -msgstr "%s: nu pot deschide fiierul de parole criptate\n" +msgstr "%s: nu pot deschide fiierul shadow\n" + +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "%s: 矇chec lors de l'abandon des privil癡ges (%s)\n" #, c-format msgid "Changing the aging information for %s\n" @@ -280,23 +320,19 @@ msgstr "%s: eroare la modificarea c璽mpurilor\n" #, c-format msgid "%s: can't update password file\n" -msgstr "%s: nu pot actualiza fiierul de conturi utilizatori\n" +msgstr "%s: nu pot actualiza fiierul passwd\n" #, c-format msgid "%s: can't update shadow password file\n" -msgstr "%s: nu pot actualiza fiierul de parole criptate\n" +msgstr "%s: nu pot actualiza fiierul shadow\n" #, c-format msgid "%s: can't rewrite shadow password file\n" -msgstr "%s: nu pot rescrie fiierul de parole criptate\n" +msgstr "%s: nu pot rescrie fiierul shadow\n" #, c-format msgid "%s: can't rewrite password file\n" -msgstr "%s: nu pot rescrie fiierul de conturi utilizatori\n" - -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: euare chauthtok PAM\n" +msgstr "%s: nu pot rescrie fiierul passwd\n" #, c-format msgid "" @@ -322,23 +358,23 @@ msgstr "\tNume complet: %s\n" msgid "Room Number" msgstr "Numr camer" -#, fuzzy, c-format +#, c-format msgid "\tRoom Number: %s\n" -msgstr "Numr camer" +msgstr "\tNumr camer: %s\n" msgid "Work Phone" msgstr "Telefon birou" -#, fuzzy, c-format +#, c-format msgid "\tWork Phone: %s\n" -msgstr "Telefon birou" +msgstr "\tTelefon birou: %s\n" msgid "Home Phone" msgstr "Telefon acas" -#, fuzzy, c-format +#, c-format msgid "\tHome Phone: %s\n" -msgstr "Telefon acas" +msgstr "\tTelefon acas: %s\n" msgid "Other" msgstr "Altele" @@ -389,27 +425,27 @@ msgstr "Nu pot schimba identificatorul la root.\n" #, c-format msgid "Cannot lock the password file; try again later.\n" -msgstr "Nu pot 簾ncuia fiierul de conturi utilizatori; 簾ncerca籟i mai t璽rziu.\n" +msgstr "Nu pot 簾ncuia fiierul passwd; 簾ncerca籟i mai t璽rziu.\n" #, c-format msgid "Cannot open the password file.\n" -msgstr "Nu pot deschide fiierul de conturi utilizatori.\n" +msgstr "Nu pot deschide fiierul passwd.\n" #, c-format msgid "%s: %s not found in /etc/passwd\n" -msgstr "%s: nu s-a gsit %s 簾n /etc/passwd\n" +msgstr "%s: %s negsit 簾n /etc/passwd\n" #, c-format msgid "Error updating the password entry.\n" -msgstr "Eroare la actualizarea intrrii contului utilizator.\n" +msgstr "Eroare la actualizarea intrrii 簾n passwd.\n" #, c-format msgid "Cannot commit password file changes.\n" -msgstr "Nu pot face modificrile 簾n fiierul de conturi utilizatori.\n" +msgstr "Nu pot face modificrile 簾n fiierul passwd.\n" #, c-format msgid "Cannot unlock the password file.\n" -msgstr "Nu pot descuia fiierul de conturi utilizatori.\n" +msgstr "Nu pot debloca fiierul passwd.\n" #, c-format msgid "" @@ -421,25 +457,25 @@ msgid "" " -m, --md5\t\tuse MD5 encryption instead DES when the supplied\n" "\t\t\tpasswords are not encrypted\n" msgstr "" -"Utilizare: chpasswd [op籟iuni]\n" +"Folosire: chpasswd [op籟iuni]\n" "\n" "Op籟iuni:\n" -" -e, --encrypted\tparola furnizat este criptat\n" -" -h, --help\t\tafiare acest mesaj de ajutor i ieire\n" -" -m, --md5\t\tutilizeaz criptarea MD5 簾n loc de DES atunci c璽nd parola\n" -"\t\t\tfurnizat nu este criptat\n" +" -e, --encrypted\tparolele oferite sunt criptate\n" +" -h, --help\t\tafieaz acest mesaj de ajutor i iei\n" +" -m, --md5\t\tfolosete criptarea MD5 簾n loc de DES atunci c璽nd parolele\n" +"\t\t\toferite nu sunt criptate\n" #, c-format msgid "%s: can't lock password file\n" -msgstr "%s: nu pot 簾ncuia fiierul de conturi utilizator\n" +msgstr "%s: nu pot bloca fiierul passwd\n" #, c-format msgid "%s: can't lock shadow file\n" -msgstr "%s: nu pot 簾nchide fiierul de parole criptate\n" +msgstr "%s: nu pot 簾nchide fiierul shadow\n" #, c-format msgid "%s: can't open shadow file\n" -msgstr "%s: nu pot deschide fiierul de parole criptate\n" +msgstr "%s: nu pot deschide fiierul shadow\n" #, c-format msgid "%s: line %d: line too long\n" @@ -455,19 +491,19 @@ msgstr "%s: linia %d: utilizator necunoscut %s\n" #, c-format msgid "%s: line %d: cannot update password entry\n" -msgstr "%s: linia %d: nu pot actualiza intrarea contului utilizator\n" +msgstr "%s: linia %d: nu pot actualiza intrarea 簾n passwd\n" #, c-format msgid "%s: error detected, changes ignored\n" -msgstr "%s: detectat o eroare, schimbrile sunt ignorate\n" +msgstr "%s: eroare detectat, schimbrile sunt ignorate\n" #, c-format msgid "%s: error updating shadow file\n" -msgstr "%s: eroare la actualizarea fiierului de parole criptate\n" +msgstr "%s: eroare la actualizarea fiierului shadow\n" #, c-format msgid "%s: error updating password file\n" -msgstr "%s: eroare la actualizarea fiierului de conturi utilizatori\n" +msgstr "%s: eroare la actualizarea fiierului passwd\n" #, c-format msgid "Usage: %s [-s shell] [name]\n" @@ -496,10 +532,6 @@ msgstr "%s este o consol nevalid.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "Utilizare: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: AVERTISMENT! Trebuie atribuit UID root!\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: utilizator necunoscut\n" @@ -522,26 +554,23 @@ msgstr "" "Utilizare: faillog [op籟iuni]\n" "\n" "Op籟iuni:\n" -" -a, --all\t\t\tafiare 簾nregistrrile de jurnal pentru euri pentru to籟i " +" -a, --all\t\t\tafieaz jurnalul 簾nregistrrilor de euri pentru to籟i " "utilizatorii\n" -" -h, --help\t\t\tafiare acest mesaj de ajutor i ieire\n" -" -l, --lock-time SEC\t\tdup euarea autentificrii se 簾nchide contorul " -"pentru SEC secunde\n" -" -m, --maximum MAX\t\tseteaz contorul maxim de autentificri euate la " -"MAX\n" -" -r, --reset\t\t\treseteaz contoarele de autentificri euate\n" -" -t, --time ZILE\t\tafiare 簾nregistrrile de jurnal pentru euri mai " -"recente de ZILE\n" -" -u, --user LOGIN\t\tafiare 簾nregistrri de jurnal pentru euri sau " +" -h, --help\t\t\tafieaz acest mesaj de ajutor i iei\n" +" -l, --lock-time SEC\t\tblocheaz contul la SEC secunde dup o " +"autentificare euat\n" +" -m, --maximum MAX\t\tseteaz numrul maxim de autentificri euate la MAX\n" +" -r, --reset\t\t\treseteaz contorul de autentificri euate\n" +" -t, --time DAYS\t\tafieaz jurnalul 簾nregistrrilor de euri mai recente " +"de DAYS zile\n" +" -u, --user LOGIN\t\tafieaz jurnalul 簾nregistrrilor de euri sau " "men籟ine contoarele de euri\n" -"\t\t\t\ti doar le limiteaz (dac este folosit cu op籟iunile -r, -m sau -l)\n" -"\t\t\t\tpentru utilizatorul cu LOGIN\n" +"\t\t\t\ti limite (dac este folosit cu op籟iunile -r, -m sau -l) doar\n" +"\t\t\t\tpentru utilizatorul LOGIN\n" #, c-format msgid "Login Failures Maximum Latest On\n" -msgstr "" -"Autentificare Euri Maxim Cea mai recent De " -"la\n" +msgstr "autentificare Euri Maximum Ultima dat La\n" #, c-format msgid " [%lds left]" @@ -557,7 +586,7 @@ msgstr "Utilizator necunoscut: %s\n" #, c-format msgid "Usage: %s [-r|-R] group\n" -msgstr "Utilizare: %s -r|-R] grup\n" +msgstr "Utilizare: %s [-r|-R] grup\n" #, c-format msgid " %s [-a user] group\n" @@ -626,7 +655,7 @@ msgstr "%s: nu pot ob籟ine 簾nchiderea\n" #, c-format msgid "%s: can't get shadow lock\n" -msgstr "%s: nu pot ob籟ine 簾nchiderea criptat\n" +msgstr "%s: nu pot ob籟ine 簾nchiderea shadow\n" #, c-format msgid "%s: can't open file\n" @@ -638,7 +667,7 @@ msgstr "%s: nu pot actualiza intrarea\n" #, c-format msgid "%s: can't update shadow entry\n" -msgstr "%s: nu pot actualiza intrarea criptat\n" +msgstr "%s: nu pot actualiza intrarea shadow\n" #, c-format msgid "%s: can't re-write file\n" @@ -646,7 +675,7 @@ msgstr "%s: nu pot rescrie fiierul\n" #, c-format msgid "%s: can't re-write shadow file\n" -msgstr "%s: nu pot rescrie fiierul de parole criptate\n" +msgstr "%s: nu pot rescrie fiierul shadow\n" #, c-format msgid "%s: can't unlock file\n" @@ -665,6 +694,16 @@ msgid "" " -o, --non-unique\t\tallow create group with duplicate\n" "\t\t\t\t(non-unique) GID\n" msgstr "" +"Utilizare: groupadd [op籟iuni] grup\n" +"\n" +"Op籟iuni:\n" +" -f, --force \t\tfor籟eaz terminarea cu starea de succes dac\n" +"\t\t\t\tgrupul specificat exist deja\n" +" -g, --gid GID\t\tfolosete GID pentru noul grup\n" +" -h, --help\t\t\tafieaz acest mesaj de ajutor i iei\n" +" -K, --key KEY=VALUE\t\t簾nlocuiete cu setrile implicite /etc/login.defs\n" +" -o, --non-unique\t\tpermite crearea grupului cu GID duplicat\n" +"\t\t\t\t(ne-unic)\n" #, c-format msgid "%s: error adding new group entry\n" @@ -692,7 +731,7 @@ msgstr "%s: nu pot rescrie fiierul de grupuri\n" #, c-format msgid "%s: cannot rewrite shadow group file\n" -msgstr "%s: nu pot rescrie fiierul de parole criptate pentru grupuri\n" +msgstr "%s: nu pot rescrie fiierul gshadow\n" #, c-format msgid "%s: unable to lock group file\n" @@ -704,11 +743,11 @@ msgstr "%s: nu pot deschide fiierul de grupuri\n" #, c-format msgid "%s: unable to lock shadow group file\n" -msgstr "%s: nu pot 簾ncuia fiierul de parole criptate pentru grupuri\n" +msgstr "%s: nu pot 簾ncuia fiierul gshadow\n" #, c-format msgid "%s: unable to open shadow group file\n" -msgstr "%s: nu pot deschide fiierul de parole criptate pentru grupuri\n" +msgstr "%s: nu pot deschide fiierul gshadow\n" #, c-format msgid "%s: invalid group %s\n" @@ -732,7 +771,7 @@ msgstr "%s: eroare la tergerea intrrii de grup\n" #, c-format msgid "%s: error removing shadow group entry\n" -msgstr "%s: eroare la tergerea intrrii parolei criptate de grup\n" +msgstr "%s: eroare la tergerea intrrii din gshadow\n" #, c-format msgid "%s: cannot remove user's primary group.\n" @@ -752,7 +791,7 @@ msgstr "%s: %s este stp璽n NIS\n" #, c-format msgid "Usage: groupmod [-g gid [-o]] [-n name] group\n" -msgstr "Utilizare: groupmod [-g id_grup [-o]] [-n nume] grup\n" +msgstr "Utilizare: groupmod [-g gid [-o]] [-n nume] grup\n" #, c-format msgid "%s: %s not found in /etc/group\n" @@ -774,9 +813,9 @@ msgstr "Utilizare: %s [-r] [-s] [grup [gshadow]]\n" msgid "Usage: %s [-r] [-s] [group]\n" msgstr "Utilizare: %s [-r] [-s] [grup]\n" -#, fuzzy, c-format +#, c-format msgid "No\n" -msgstr "Nu" +msgstr "Nu\n" #, c-format msgid "%s: -s and -r are incompatibile\n" @@ -800,7 +839,7 @@ msgstr "terg linia `%s'? " #, c-format msgid "duplicate group entry\n" -msgstr "intrare de grup dublat\n" +msgstr "intrare de grup duplicat\n" #, c-format msgid "invalid group name `%s'\n" @@ -816,19 +855,19 @@ msgstr "terg membrul `%s'? " #, c-format msgid "invalid shadow group file entry\n" -msgstr "intrare nevalid 簾n fiierul de parole criptate de grupuri\n" +msgstr "intrare nevalid 簾n fiierul gshadow\n" #, c-format msgid "duplicate shadow group entry\n" -msgstr "intrare dublat de parol criptat de grup\n" +msgstr "intrare duplicat 簾n gshadow\n" #, c-format msgid "no matching group file entry\n" -msgstr "nici o potrivire pentru intrarea din fiierul de grupuri\n" +msgstr "nici o potrivire 簾ntre intrarile din fiierul de grupuri\n" #, c-format msgid "shadow group %s: no administrative user %s\n" -msgstr "parola criptat a grupului %s: nici un utilizator administrativ %s\n" +msgstr "gshadow %s: nici un utilizator administrativ %s\n" #, c-format msgid "delete administrative member `%s'? " @@ -836,7 +875,7 @@ msgstr "terg membrul administrativ `%s'? " #, c-format msgid "shadow group %s: no user %s\n" -msgstr "parola criptat a grupului %s: nici un utilizator %s\n" +msgstr "gshadow %s: nici un utilizator %s\n" #, c-format msgid "%s: cannot update file %s\n" @@ -848,7 +887,7 @@ msgstr "%s: fiierele au fost actualizate\n" #, c-format msgid "%s: no changes\n" -msgstr "%s: fr schimbri\n" +msgstr "%s: nici o schimbare\n" #, c-format msgid "%s: can't lock group file\n" @@ -860,15 +899,15 @@ msgstr "%s: nu pot deschide fiierul de grupuri\n" #, c-format msgid "%s: can't lock shadow group file\n" -msgstr "%s: nu pot 簾ncuia fiierul de parole criptate de grupuri\n" +msgstr "%s: nu pot 簾ncuia fiierul gshadow\n" #, c-format msgid "%s: can't open shadow group file\n" -msgstr "%s: nu pot deschide fiierul de parole criptate de grupuri\n" +msgstr "%s: nu pot deschide fiierul gshadow\n" #, c-format msgid "%s: can't remove shadow group %s\n" -msgstr "%s: nu pot terge parola criptat pentru grupul %s\n" +msgstr "%s: nu pot terge gshadow %s\n" #, c-format msgid "%s: can't update shadow entry for %s\n" @@ -880,7 +919,7 @@ msgstr "%s: nu pot actualiza intrarea pentru grupul %s\n" #, c-format msgid "%s: can't update shadow group file\n" -msgstr "%s: nu pot actualiza fiierul de parole criptate de grupuri\n" +msgstr "%s: nu pot actualiza fiierul gshadow\n" #, c-format msgid "%s: can't update group file\n" @@ -888,7 +927,7 @@ msgstr "%s: nu pot actualiza fiierul de grupuri\n" #, c-format msgid "%s: can't delete shadow group file\n" -msgstr "%s: nu pot terge fiierul de parole criptate de grupuri\n" +msgstr "%s: nu pot terge fiierul gshadow\n" #, c-format msgid "Usage: id [-a]\n" @@ -902,23 +941,24 @@ msgstr "Utilizare: id\n" msgid " groups=" msgstr " grupuri=" -#, c-format +#, fuzzy, c-format msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" -"Utilizare: lastlog [op籟iuni]\n" +"Utilizaree: lastlog [op籟iuni]\n" "\n" "Op籟iuni:\n" -" -u, --user LOGIN\tafiare ultima 簾nregistrare de jurnal pentru " -"utilizatorul cu LOGIN-ul specificat\n" -" -h, --help\t\tafiare acest mesaj de ajutor i ieire\n" -" -t, --time ZILE\tafiare doar ultimile 簾nregistrari de jurnal mai recente " -"dec璽t ZILE\n" +" -u, --user LOGIN\tafieaz jurnalul ultimei 簾nregistrri pentru " +"utilizatorul LOGIN\n" +" -h, --help\t\tafieaz acest mesaj de ajutor i iei\n" +" -t, --time DAYS\tafieaz doar ultimul jurnal cu 簾nregistrri mai recente " +"de DAYS zile\n" #, c-format msgid "Username Port From Latest\n" @@ -961,7 +1001,7 @@ msgid "" "[Disconnect bypassed -- root login allowed.]\n" msgstr "" "\n" -"[Faz de deconectare trecut -- autentificare permis pentru root.]\n" +"[Deconectare ocolit -- autentificare permis pentru root.]\n" #, c-format msgid "" @@ -973,12 +1013,22 @@ msgstr "" #, c-format msgid " on `%.100s' from `%.200s'" -msgstr " 簾n `%.100s' din `%.200s'" +msgstr " pe `%.100s' din `%.200s'" #, c-format msgid " on `%.100s'" msgstr " 簾n `%.100s'" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "login: 矇chec de PAM, abandon: %s\n" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "autentificare incorect" + #, c-format msgid "" "\n" @@ -990,6 +1040,10 @@ msgstr "" msgid "Login incorrect" msgstr "autentificare incorect" +#, c-format +msgid "%s: failure forking: %s" +msgstr "%s: 矇chec lors du cloange (竄forking罈: %s" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "Avertisment: autentificare reactivat dup 簾nchiderea temporar.\n" @@ -1005,6 +1059,13 @@ msgstr "Ultima autentificare: %.19s 簾n %s" msgid " from %.*s" msgstr " de la %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" +"D矇passement de temps lors de la connexion\n" +"\n" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "Utilizare: newgrp [-] [grup]\n" @@ -1050,11 +1111,11 @@ msgstr "%s: linia %d: linie nevalid\n" #, c-format msgid "%s: line %d: can't create GID\n" -msgstr "%s: linia %d: nu pot crea ID grup\n" +msgstr "%s: linia %d: nu pot crea GID\n" #, c-format msgid "%s: line %d: can't create UID\n" -msgstr "%s: linia %d: nu pot crea ID utilizator\n" +msgstr "%s: linia %d: nu pot crea UID\n" #, c-format msgid "%s: line %d: cannot find user %s\n" @@ -1081,24 +1142,57 @@ msgid "%s: error updating files\n" msgstr "%s: eroare la actualizarea fiierelor\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "Utilizare: %s [-f|-s] [nume]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x max] [-n min] [-w avertism] [-i inactiv] nume\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} nume\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" +"Utilisation: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all afficher l'矇tat des mots de passe de tous les\n" +" comptes\n" +" -d, --delete supprimer le mot de passe du compte indiqu矇\n" +" -e, --expire forcer la fin de validit矇 du compte indiqu矇\n" +" -h, --help afficher ce message d'aide et quitter\n" +" -k, --keep-tokens ne changer le mot de passe que d'il est arriv矇\n" +" en fin de validit矇\n" +" -i, --inactive INACTIF fixer la dur矇e d'inactivation du mot de passe\n" +" apr癡s sa fin de validit矇 INACTIF\n" +" de INACTIF\n" +" -l, --lock bloquer le compte indiqu矇\n" +" -n, --mindays JOURS_MIN fixer le nombre minimum de jour avant le\n" +" changement de mot de passe JOURS_MIN\n" +" -q, --quiet mode silencieux\n" +" -r, --repository DPT changer le mot de passe dans le d矇p繫t DPT\n" +" -S, --status afficher l'矇tat du mot de passe du compte " +"indiqu矇\n" +" -u, --unlock d矇verrouiller le compte indiqu矇\n" +" -w, --warndays JOURS_AVERT fixer le nombre de jours d'avertissement de\n" +" fin de validit矇 JOURS_AVERT\n" +" -x, --maxdays JOURS_MAX fixer le nombre maximum de jours avant le\n" +" changement de mot de passe JOURS_MAX\n" msgid "Old password: " msgstr "Parola veche: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "Parol incorect pentru `%s'\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1164,21 +1258,21 @@ msgstr "Parola pentru %s este neschimbat.\n" msgid "Password changed.\n" msgstr "Parol schimbat.\n" -#, fuzzy, c-format +#, c-format msgid "Password set to expire.\n" -msgstr "Parola v-a expirat." +msgstr "Parola setata pentru expirare.\n" #, c-format msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n" -msgstr "Utilizare: %s [-q] [-r] [-s] [passwd [shadow]]\n" +msgstr "Folosire: %s [-q] [-r] [-s] [passwd [shadow]]\n" #, c-format msgid "invalid password file entry\n" -msgstr "intrare nevalid 簾n fiierul de parole\n" +msgstr "intrare nevalid 簾n fiierul passwd\n" #, c-format msgid "duplicate password entry\n" -msgstr "intrare de parol dublat\n" +msgstr "intrare duplicat 簾n passwd\n" #, c-format msgid "invalid user name '%s'\n" @@ -1198,15 +1292,15 @@ msgstr "utilizatorul %s: programul %s nu exist\n" #, c-format msgid "invalid shadow password file entry\n" -msgstr "intrare nevalid 簾n fiierul de parole criptate\n" +msgstr "intrare nevalid 簾n fiierul shadow\n" #, c-format msgid "duplicate shadow password entry\n" -msgstr "intrare dublat de parol criptat\n" +msgstr "intrare duplicat 簾n shadow\n" #, c-format msgid "no matching password file entry\n" -msgstr "nici o potrivire la intrrile fiierului de conturi utilizatori\n" +msgstr "nici o potrivire 簾ntre intrrile fiierului passwd\n" #, c-format msgid "user %s: last password change in the future\n" @@ -1214,27 +1308,27 @@ msgstr "utilizatorul %s: ultima schimbare de parol s-a fcut 簾n viitor\n" #, c-format msgid "%s: can't lock passwd file\n" -msgstr "%s: nu pot 簾ncuia fiierul de conturi utilizatori\n" +msgstr "%s: nu pot 簾ncuia fiierul passwd\n" #, c-format msgid "%s: can't open passwd file\n" -msgstr "%s: nu pot deschide fiierul de conturi utilizator\n" +msgstr "%s: nu pot deschide fiierul passwd\n" #, c-format msgid "%s: can't remove shadow entry for %s\n" -msgstr "%s: nu pot terge intrarea de parol criptat pentru %s\n" +msgstr "%s: nu pot terge intrarea shadow pentru %s\n" #, c-format msgid "%s: can't update passwd entry for %s\n" -msgstr "%s: nu pot actualiza intrarea contului pentru %s\n" +msgstr "%s: nu pot actualiza intrarea passwd pentru %s\n" #, c-format msgid "%s: can't update shadow file\n" -msgstr "%s: nu pot actualiza fiierul de parole criptate shadow\n" +msgstr "%s: nu pot actualiza fiierul shadow\n" #, c-format msgid "%s: can't update passwd file\n" -msgstr "%s: nu pot actualiza fiierul de conturi utilizator passwd\n" +msgstr "%s: nu pot actualiza fiierul passwd\n" #, c-format msgid "%s: can't update entry for user %s\n" @@ -1242,7 +1336,7 @@ msgstr "%s: nu pot actualiza intrarea pentru utilizatorul %s\n" #, c-format msgid "%s: can't delete shadow password file\n" -msgstr "%s: nu pot terge fiierul de parole criptate shadow\n" +msgstr "%s: nu pot terge fiierul shadow\n" #, c-format msgid "Access to su to that account DENIED.\n" @@ -1259,6 +1353,10 @@ msgstr "V rog introduce籟i PROPRIA parol pentru autentificare.\n" msgid "Sorry." msgstr "Scuze." +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "passwd: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: trebuie pornit de la un terminal\n" @@ -1292,11 +1390,11 @@ msgstr "Fr consol\n" #, c-format msgid "No password file\n" -msgstr "Fr fiier de conturi utilizatori passwd\n" +msgstr "Fr fiier passwd\n" #, c-format msgid "No password entry for 'root'\n" -msgstr "Fr intrare de parol pentru 'root'\n" +msgstr "Fr intrare 簾n passwd pentru 'root'\n" msgid "" "\n" @@ -1305,7 +1403,7 @@ msgid "" msgstr "" "\n" "Apsa籟i ctrl-d pentru pornire normal,\n" -"(sau da籟i parola de root pentru depanarea sistemului):" +"(sau introduce籟i parola de root pentru 簾ntre籟inerea sistemului):" msgid "Entering System Maintenance Mode\n" msgstr "Intrare 簾n modul de 簾ntre籟inere sistem\n" @@ -1374,18 +1472,17 @@ msgstr "" "Folosire: useradd [op籟iuni] LOGIN\n" "\n" "Op籟iuni:\n" -" -b, --base-dir DIR_BAZA\tbaza directorului personal pentru noul cont de\n" -"\t\t\t\tutilizator\n" -" -c, --comment COMENTARIU\t\tseteaz c璽mpul GECOS pentru noul cont " -"utilizator\n" -" -d, --home-dir DIR_ACASA\tdirectorul personal pentru noul cont urilizator\n" +" -b, --base-dir DIR_BAZA\tbaza directorului pentru noul director\n" +"\t\t\t\tpersonal al contului\n" +" -c, --comment COMENTARIU\t\tseteaz c璽mpul GECOS pentru noul cont\n" +" -d, --home-dir DIR_ACASA\tdirectorul personal pentru noul cont\n" " -D, --defaults\t\tafieaz sau salveaz configura籟ia useradd implicit\n" "\t\t\t\tmodificat\n" " -e, --expiredate DATA_EXPIRRII\tseteaz data expirrii contului la " "DATA_EXPIRRII\n" " -f, --inactive INACTIV\tseteaz parola inactiv dup expirare\n" "\t\t\t\tla INACTIV\n" -" -g, --gid GRUP\t\tfor籟eaz folosirea GRUPULUI pentru noul cont utilizator\n" +" -g, --gid GRUP\t\tfor籟eaz folosirea GRUPULUI pentru noul cont\n" " -G, --groups GRUPURI\t\tafieaz grupurile suplimentare pentru noul\n" "\t\t\t\tcont utilizator\n" " -h, --help\t\t\tafieaz acest mesaj de ajutor i iei\n" @@ -1411,13 +1508,11 @@ msgstr "%s: eroare la deschiderea fiierului de grupuri\n" #, c-format msgid "%s: error locking shadow group file\n" -msgstr "" -"%s: eroare la 簾nchiderea fiierului de parole criptate pentru grupuri\n" +msgstr "%s: eroare la 簾nchiderea fiierului gshadow\n" #, c-format msgid "%s: error opening shadow group file\n" -msgstr "" -"%s: eroare la deschiderea fiierului de parole criptate pentru grupuri\n" +msgstr "%s: eroare la deschiderea fiierului gshadow\n" #, c-format msgid "%s: UID %u is not unique\n" @@ -1425,7 +1520,7 @@ msgstr "%s: UID %u nu este unic\n" #, c-format msgid "%s: can't get unique UID\n" -msgstr "%s: nu pot prelua UID unic\n" +msgstr "%s: nu pot prelua UID\n" #, c-format msgid "%s: invalid base directory `%s'\n" @@ -1465,35 +1560,35 @@ msgstr "%s: nume utilizator nevalid '%s'\n" #, c-format msgid "%s: cannot rewrite password file\n" -msgstr "%s: nu pot rescrie fiierul de conturi utilizator\n" +msgstr "%s: nu pot rescrie fiierul passwd\n" #, c-format msgid "%s: cannot rewrite shadow password file\n" -msgstr "%s: nu pot rescrie fiierul de parole criptate\n" +msgstr "%s: nu pot rescrie fiierul shadow\n" #, c-format msgid "%s: unable to lock password file\n" -msgstr "%s: nu pot 簾ncuia fiierul de conturi utilizatori\n" +msgstr "%s: nu pot 簾ncuia fiierul passwd\n" #, c-format msgid "%s: unable to open password file\n" -msgstr "%s: nu pot deschide fiierul de conturi utilizatori\n" +msgstr "%s: nu pot deschide fiierul passwd\n" #, c-format msgid "%s: cannot lock shadow password file\n" -msgstr "%s: nu pot 簾ncuia fiierul de parole criptate\n" +msgstr "%s: nu pot 簾ncuia fiierul shadow\n" #, c-format msgid "%s: cannot open shadow password file\n" -msgstr "%s: nu pot deschide fiierul de parole criptate\n" +msgstr "%s: nu pot deschide fiierul shadow\n" #, c-format msgid "%s: error adding new password entry\n" -msgstr "%s: eroare la adugarea unei noi intrri de cont utilizator\n" +msgstr "%s: eroare la adugarea unei noi intrri 簾n passwd\n" #, c-format msgid "%s: error adding new shadow password entry\n" -msgstr "%s: eroare la adugarea unei noi intrri de parol criptat\n" +msgstr "%s: eroare la adugarea unei noi intrri 簾n shadow\n" #, c-format msgid "%s: cannot create directory %s\n" @@ -1507,7 +1602,7 @@ msgstr "" #, c-format msgid "Can't create mail spool for user %s.\n" -msgstr "Nu pot crea directorul de pot pentru utilizatorul %s.\n" +msgstr "Nu pot crea directorul de emailuri pentru utilizatorul %s.\n" #, c-format msgid "%s: user %s exists\n" @@ -1525,6 +1620,8 @@ msgid "" "%s: warning: the home directory already exists.\n" "Not copying any file from skel directory into it.\n" msgstr "" +"%s: avertisment: directorul personal exist deja.\n" +"Nu se copiaz nici un fiier 簾n el din directorul skel.\n" #, c-format msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n" @@ -1538,21 +1635,25 @@ msgstr "Utilizare: %s [-r] nume\n" msgid "%s: error updating group entry\n" msgstr "%s: eroare la actualizarea intrrilor de grupuri\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: nu pot terge grupul primar al utilizatorului.\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: nu pot deschide fiierul de grupuri\n" #, c-format msgid "%s: cannot open shadow group file\n" -msgstr "%s: nu pot deschide fiierul de parole criptate pentru grupuri\n" +msgstr "%s: nu pot deschide fiierul gshadow\n" #, c-format msgid "%s: error deleting password entry\n" -msgstr "%s: eroare la tergerea intrrii contului utilizator\n" +msgstr "%s: eroare la tergerea intrrii din passwd\n" #, c-format msgid "%s: error deleting shadow password entry\n" -msgstr "%s: eroare la tergerea intrrii parolei criptate\n" +msgstr "%s: eroare la tergerea intrrii din shadow\n" #, c-format msgid "%s: user %s is currently logged in\n" @@ -1586,7 +1687,7 @@ msgstr "%s: eroare la tergerea directorului %s\n" #, c-format msgid "Usage: %s\t[-u uid [-o]] [-g group] [[-G group,...] [-a]] \n" -msgstr "Utilizare: %s\t[-u id_utilizator [-o]] [-g grup] [-G grup,...] \n" +msgstr "Utilizare: %s\t[-u uid [-o]] [-g grup] [-G grup,...] [-a]] \n" #, c-format msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n" @@ -1618,23 +1719,23 @@ msgstr "%s: parole criptate necesare pentru -e i -f\n" #, c-format msgid "%s: -a flag is ONLY allowed with the -G flag\n" -msgstr "%s: semnalizatorul -a este permis DOAR 簾mpreun cu -G\n" +msgstr "%s: semnalizatorul -a este permis DOAR 簾mpreun cu semnalizatorul -G\n" #, c-format msgid "%s: uid %lu is not unique\n" -msgstr "%s: id utilizator %lu nu este unic\n" +msgstr "%s: uid %lu nu este unic\n" #, c-format msgid "%s: error changing password entry\n" -msgstr "%s: eroare la schimbarea intrrii contului utilizator\n" +msgstr "%s: eroare la schimbarea intrrii 簾n passwd\n" #, c-format msgid "%s: error removing password entry\n" -msgstr "%s: eroare la tergerea intrrii contului utilizator\n" +msgstr "%s: eroare la tergerea intrrii passwd\n" #, c-format msgid "%s: error removing shadow password entry\n" -msgstr "%s: eroare la tergerea intrrii parolei criptate\n" +msgstr "%s: eroare la tergerea intrrii din shadow\n" #, c-format msgid "%s: directory %s exists\n" @@ -1651,7 +1752,7 @@ msgstr "%s: nu pot schimba proprietarul %s\n" #, c-format msgid "%s: warning: failed to completely remove old home directory %s" msgstr "" -"%s: avertisment: euare 簾n a terge complet vechiul director personal %s" +"%s: avertisment: euare 簾n a elimina complet vechiul director personal %s" #, c-format msgid "%s: cannot rename directory %s to %s\n" @@ -1695,5 +1796,5 @@ msgstr "" "`vipw' editeaz /etc/passwd `vipw -s' editeaz /etc/shadow\n" "`vigr' editeaz /etc/group `vigr -s' editeaz /etc/gshadow\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "Utilizare: groupadd [-g id_grup [-o]] [-f] grup\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: euare chauthtok PAM\n" diff --git a/po/ru.gmo b/po/ru.gmo index b88fc7a985e18754c81ba399e2d0a3402dd91aac..00c2a58fbc833ff050be432eb3d17d481ea16fd4 100644 GIT binary patch delta 11015 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 A`2YX_ delta 8850 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 a*4FXYx>!BL9rDF3_w=P`|H(`HL;eT44oE-% diff --git a/po/ru.po b/po/ru.po index 6b046585..b3b1bb32 100644 --- a/po/ru.po +++ b/po/ru.po @@ -2,15 +2,15 @@ # Copyright (C) 2004, 2005 Free Software Foundation, Inc. # Nikolai Prokoschenko , 2004. # Eugene Konev , 2004. -# Yuri Kozlov , 2004, 2005. +# Yuri Kozlov , 2004, 2005. # msgid "" msgstr "" -"Project-Id-Version: shadow 4.0.12\n" +"Project-Id-Version: shadow 4.0.13\n" "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n" -"POT-Creation-Date: 2005-08-11 16:15+0200\n" -"PO-Revision-Date: 2005-08-14 09:06+0400\n" -"Last-Translator: Yuri Kozlov \n" +"POT-Creation-Date: 2005-10-10 20:33+0200\n" +"PO-Revision-Date: 2005-10-01 08:50+0400\n" +"Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -106,6 +106,27 @@ msgstr "郅 赲訄 郇迮 郈郋郋赲 郋郋訇迮郇邽邿." msgid "You have mail." msgstr "郅 赲訄 迮 郈郋郋赲迮 郋郋訇迮郇邽." +msgid "no change" +msgstr "邽郱邾迮郇迮郇邽邿 郇迮 赲郇迮迮郇郋" + +msgid "a palindrome" +msgstr "郈訄郅邽郇迡郋邾" + +msgid "case changes only" +msgstr "邽郱邾迮郇迮郇邽迮 郋郅郕郋 赲 迮迣邽迮 邽邾赲郋郅郋赲" + +msgid "too similar" +msgstr "郅邽郕郋邾 郈郋郋迠邽邿" + +msgid "too simple" +msgstr "郅邽郕郋邾 郈郋郋邿" + +msgid "rotated" +msgstr "郈迮迮訄郇郋赲郕訄 邽邾赲郋郅郋赲" + +msgid "too short" +msgstr "郅邽郕郋邾 郕郋郋郕邽邿" + #, c-format msgid "Bad password: %s. " msgstr "迮赲迮郇邿 郈訄郋郅: %s. " @@ -145,6 +166,13 @@ msgstr "迮赲迮郇邿 郕郋郇迮赲郋邿 郕訄訄郅郋迣 \"%s\"\n" msgid "Can't change root directory to \"%s\"\n" msgstr "迮 迡訄郅郋 邽郱邾迮郇邽 郕郋郇迮赲郋邿 郕訄訄郅郋迣 郇訄 \"%s\"\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" +"迮 郱訄郈邽邽 赲 utmp. 郱訄郈郕訄 \"login\" 邽郱 訄邾郋邾郋迣郋 郈迮赲郋迣郋 郋赲郇 \"sh\"" + +msgid "Unable to determine your tty name." +msgstr "迮 迡訄郅郋 郋郈迮迡迮郅邽 郇訄郱赲訄郇邽迮 赲訄迮迣郋 tty." + #, c-format msgid "malloc(%d) failed\n" msgstr "郇迮 迡訄郅郋 赲迡迮郅邽 %d 訇訄邿 郈訄邾邽\n" @@ -180,10 +208,9 @@ msgstr "" " -E, --expiredate EXPIRE_DATE\t訄郇郋赲邽 迡訄 郋郕郋郇訄郇邽 迡迮邿赲邽\n" "\t\t\t\t郇郋邿 郱訄郈邽邽 迡郋 EXPIRE_DATE\n" " -h, --help\t\t\t郈郋郕訄郱訄 郋 郋郋訇迮郇邽迮 邽 郱訄郕郋郇邽 訄訇郋\n" -" -I, --inactive INACTIVE\t訄郇郋赲邽 郈訄郋郅 迡郅 訄迮赲邽 郇 郱訄郈邽迮邿 " -"赲\n" -"\t\t\t\tINACTIVE\n" -" -l, --list\t\t\t郈郋郕訄郱訄 赲郋郱訄 郇郋邿 郱訄郈邽邽\n" +" -I, --inactive INACTIVE\t訄郇郋赲邽 郇迮訄郕邽赲郇郋 郈訄郋郅 郈郋郅迮 訄迮赲訄郇邽\n" +"\t\t\t\t赲 郱郇訄迮郇邽迮 INACTIVE\n" +" -l, --list\t\t\t郈郋郕訄郱訄 迡郅邽迮郅郇郋 訄訇郋 郇郋邿 郱訄郈邽邽\n" " -m, --mindays MIN_DAYS\t訄郇郋赲邽 邾邽郇邽邾訄郅郇郋迮 邽郅郋 迡郇迮邿 郈迮迮迡 邾迮郇郋邿 " "郈訄郋郅 赲\n" "\t\t\t\tMIN_DAYS\n" @@ -269,6 +296,10 @@ msgstr "%s: 郇迮 迡訄郅郋 郋郕 訄邿郅 郈訄郋郅迮邿\n" msgid "%s: unknown user %s\n" msgstr "%s: 郇迮邽郱赲迮郇邿 郈郋郅郱郋赲訄迮郅 %s\n" +#, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: 郋赲迮 迮郇迮赲郋邿 訄邿郅 郈訄郋郅迮邿\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s: 郇迮 迡訄郅郋 郱訄訇郅郋郕邽郋赲訄 迮郇迮赲郋邿 訄邿郅 郈訄郋郅迮邿\n" @@ -277,6 +308,10 @@ msgstr "%s: 郇迮 迡訄郅郋 郱訄訇郅郋郕邽郋赲訄 迮郇迮赲郋邿 訄邿 msgid "%s: can't open shadow password file\n" msgstr "%s: 郇迮 迡訄郅郋 郋郕 迮郇迮赲郋邿 訄邿郅 郈訄郋郅迮邿\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "%s: 郇迮 迡訄郅郋 郇邽郱邽 郋赲迮郇 郈邽赲迮郅迮迣邽邿 (%s)\n" + #, c-format msgid "Changing the aging information for %s\n" msgstr "郱邾迮郇迮郇邽迮 邽郇郋邾訄邽邽 郋 郋郕訄 迡迮邿赲邽 迡郅 %s\n" @@ -301,10 +336,6 @@ msgstr "%s: 郇迮 迡訄郅郋 郈迮迮郱訄郈邽訄 迮郇迮赲郋邿 訄邿郅 msgid "%s: can't rewrite password file\n" msgstr "%s: 郇迮 迡訄郅郋 郈迮迮郱訄郈邽訄 訄邿郅 郈訄郋郅迮邿\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: 郈郋赲迮郕訄 郈郋迡郅邽郇郇郋邽 (chauthtok) PAM 郱訄赲迮邽郅訄 郇迮迡訄郇郋\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -503,12 +534,6 @@ msgstr "%s 郇迮 赲郅迮 郕郋邾訄郇迡郇郋邿 郋訇郋郅郋郕郋邿.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "郈郋郅郱郋赲訄郇邽迮: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "" -"%s: ! 郈郋郅郇迮邾邿 訄邿郅 郈郋迣訄邾邾 迡郋郅迠迮郇 訇 訄郇郋赲郅迮郇郇邾 訇邽郋邾 " -"set-UID!\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: 郇迮邽郱赲迮郇邿 郈郋郅郱郋赲訄迮郅\n" @@ -923,16 +948,18 @@ msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" "郈郋郅郱郋赲訄郇邽迮: lastlog [郈訄訄邾迮]\n" "\n" "訄訄邾迮:\n" -" -u, --user LOGIN\t郈郋郕訄郱訄 郱訄郈邽 lastlog 迡郅 郇郋邿 郱訄郈邽邽 LOGIN\n" +" -b, --before DAYS\t郈郋郕訄郱訄 郱訄郈邽邽 lastlog 郱訄 郈郋郅迮迡郇邽迮 DAYS 迡郇迮邿\n" " -h, --help\t\t郈郋郕訄郱訄 郋 郋郋訇迮郇邽迮 邽 郱訄赲迮邽 訄訇郋 郈郋迣訄邾邾\n" " -t, --time DAYS\t郈郋郕訄郱訄 郱訄郈邽邽 lastlog 郱訄 郈郋郅迮迡郇邽迮 DAYS 迡郇迮邿\n" +" -u, --user LOGIN\t郈郋郕訄郱訄 郱訄郈邽 lastlog 迡郅 郇郋邿 郱訄郈邽邽 LOGIN\n" #, c-format msgid "Username Port From Latest\n" @@ -993,6 +1020,18 @@ msgstr " 郇訄 `%.100s' `%.200s'" msgid " on `%.100s'" msgstr " 郇訄 `%.100s'" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "login: 郋邽訇郕訄 PAM, 郱訄赲迮迮郇邽迮 訄訇郋: %s\n" + +#, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "" +"\n" +"迮赲迮郇郋迮 邽邾 郈郋郅郱郋赲訄迮郅\n" + #, c-format msgid "" "\n" @@ -1004,6 +1043,10 @@ msgstr "" msgid "Login incorrect" msgstr "迮赲迮郇郋迮 邽邾 郈郋郅郱郋赲訄迮郅" +#, c-format +msgid "%s: failure forking: %s" +msgstr "%s: 郋邽訇郕訄 郈邽 赲郱郋赲迮 fork: %s" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "郇邽邾訄郇邽迮: 赲郋迡 赲 邽迮邾 郇郋赲訄 赲郋郱邾郋迠迮郇.\n" @@ -1019,6 +1062,13 @@ msgstr "郋郅迮迡郇邽邿 赲郋迡 赲 邽迮邾: %.19s 郇訄 %s" msgid " from %.*s" msgstr " %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" +"赲迮邾 赲郋迡訄 赲 邽迮邾 邽迮郕郅郋\n" +"\n" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "郈郋郅郱郋赲訄郇邽迮: newgrp [-] [迣郈郈訄]\n" @@ -1095,27 +1145,54 @@ msgid "%s: error updating files\n" msgstr "%s: 郋邽訇郕訄 郋訇郇郋赲郅迮郇邽 訄邿郅郋赲\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "郈郋郅郱郋赲訄郇邽郕: %s [-f|-s] [邽邾 郈郋郅郱郋赲訄迮郅]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" msgstr "" -" %s [-x 邾訄郕邽邾訄郅郇邿 郋郕 迡迮邿赲邽 郈訄郋郅 (迡郇迮邿)] [-n 邾邽郇邽邾訄郅郇邿 郋郕 " -"迡迮邿赲邽 郈訄郋郅 (迡郇迮邿)] [-w 郈迮迡郈迮迠迡訄 郱訄 (迡郇迮邿)] [-i 迡迮訄郕邽赲邽郋赲訄 " -"迮迮郱 (迡郇迮邿)] 邽邾 郈郋郅郱郋赲訄迮郅\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} 邽邾 郈郋郅郱郋赲訄迮郅\n" +"郈郋郅郱郋赲訄郇邽迮: passwd [郈訄訄邾迮] [邽邾 郈郋郅郱郋赲訄迮郅]\n" +"\n" +"訄訄邾迮:\n" +" -a, --all \t\t\t郈郋郕訄郱訄 郋郋郇邽迮 郈訄郋郅迮邿 赲迮 郇 郱訄郈邽迮邿\n" +" -d, --delete \t\t\t迡訄郅邽 郈訄郋郅 郱訄迡訄郇郇郋邿 郇郋邿 郱訄郈邽邽\n" +" -e, --expire\t\t\t郈郋郋邽 郈訄郋郅 郱訄迡訄郇郇郋邿 郇郋邿 郱訄郈邽邽\n" +" -h, --help\t\t\t郈郋郕訄郱訄 郋 郋郋訇迮郇邽迮 邽 郱訄赲迮邽 訄訇郋 郈郋迣訄邾邾\n" +" -k, --keep-tokens\t\t邽郱邾迮郇 郈訄郋郅 郋郅郕郋 邽郕邽邾 郋郕郋邾 迡迮邿赲邽\n" +" -i, --inactive INACTIVE\t訄郇郋赲邽 郇迮訄郕邽赲郇郋 郈訄郋郅 郈郋郅迮 邽迮迮郇邽 " +"郋郕訄\n" +"\t\t\t\t赲 郱郇訄迮郇邽迮 INACTIVE\n" +" -l, --lock\t\t\t郱訄訇郅郋郕邽郋赲訄 郱訄迡訄郇郇 郇 郱訄郈邽\n" +" -n, --mindays MIN_DAYS\t訄郇郋赲邽 邾邽郇邽邾訄郅郇郋迮 邽郅郋 迡郇迮邿 郈迮迮迡 邾迮郇郋邿\n" +"\t\t\t\t郈訄郋郅 赲 MIN_DAYS\n" +" -q, --quiet\t\t\t郇迮 郈郋郕訄郱赲訄 郋郋訇迮郇邽邿\n" +" -r, --repository REPOSITORY\t邽郱邾迮郇邽 郈訄郋郅 赲 迮郈郋郱邽郋邽邽 REPOSITORY\n" +" -S, --status\t\t\t郈郋郕訄郱訄 郋郋郇邽迮 郈訄郋郅 郱訄迡訄郇郇郋邿 郇郋邿 郱訄郈邽邽\n" +" -u, --unlock\t\t\t訄郱訇郅郋郕邽郋赲訄 郱訄迡訄郇郇 郇 郱訄郈邽\n" +" -w, --warndays WARN_DAYS\t訄郇郋赲邽 訄郇郋赲邽 郕郋郅邽迮赲郋 迡郇迮邿 赲迡訄迮邿\n" +"\t\t\t\t郈迮迡郈迮迠迡迮郇邽 赲 WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\t訄郇郋赲邽 邾訄郕邽邾訄郅郇郋迮 邽郅郋 迡郇迮邿 郈迮迮迡 邾迮郇郋邿\n" +"\t\t\t\t郈訄郋郅 赲 MAX_DAYS\n" msgid "Old password: " msgstr "苤訄邿 郈訄郋郅: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "迮赲迮郇邿 郈訄郋郅 迡郅 `%s'\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1276,6 +1353,10 @@ msgstr "赲迮迡邽迮 赲訄 苤苤苠衎 郈訄郋郅.\n" msgid "Sorry." msgstr "郱赲邽郇邽迮." +#, c-format +msgid "%s: %s\n" +msgstr "%s: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: 迡郋郅迠迮郇 赲郈郋郅郇 邽郱 迮邾邽郇訄郅訄\n" @@ -1556,6 +1637,10 @@ msgstr "郈郋郅郱郋赲訄郇邽迮: %s [-r] 邽邾 郈郋郅郱郋赲訄迮郅\n" msgid "%s: error updating group entry\n" msgstr "%s: 郇迮 迡訄郅郋 郋訇郇郋赲邽 郱訄郈邽 赲 訄邿郅迮 迣郈郈\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: 郇迮赲郋郱邾郋迠郇郋 迡訄郅邽 郈迮赲邽郇 迣郈郈 郈郋郅郱郋赲訄迮郅.\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: 郇迮 迡訄郅郋 郋郕 訄邿郅 迣郈郈\n" @@ -1713,3 +1798,6 @@ msgstr "" "郈郋郅郱郋赲訄郇邽迮:\n" "`vipw' 迮迡訄郕邽迮 /etc/passwd `vipw -s' 迮迡訄郕邽迮 /etc/shadow\n" "`vigr' 迮迡訄郕邽迮 /etc/group `vigr -s' 迮迡訄郕邽迮 /etc/gshadow\n" + +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: 郈郋赲迮郕訄 郈郋迡郅邽郇郇郋邽 (chauthtok) PAM 郱訄赲迮邽郅訄 郇迮迡訄郇郋\n" diff --git a/po/shadow.pot b/po/shadow.pot index 44aa3fd4..ec880687 100644 --- a/po/shadow.pot +++ b/po/shadow.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n" -"POT-Creation-Date: 2005-08-11 16:15+0200\n" +"POT-Creation-Date: 2005-10-10 20:33+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -98,6 +98,27 @@ msgstr "" msgid "You have mail." msgstr "" +msgid "no change" +msgstr "" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "" @@ -136,6 +157,12 @@ msgstr "" msgid "Can't change root directory to \"%s\"\n" msgstr "" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +msgid "Unable to determine your tty name." +msgstr "" + #, c-format msgid "malloc(%d) failed\n" msgstr "" @@ -239,6 +266,10 @@ msgstr "" msgid "%s: unknown user %s\n" msgstr "" +#, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "" @@ -247,6 +278,10 @@ msgstr "" msgid "%s: can't open shadow password file\n" msgstr "" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "" @@ -271,10 +306,6 @@ msgstr "" msgid "%s: can't rewrite password file\n" msgstr "" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -462,10 +493,6 @@ msgstr "" msgid "Usage: expiry {-f|-c}\n" msgstr "" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "" - #, c-format msgid "%s: unknown user\n" msgstr "" @@ -854,9 +881,10 @@ msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" #, c-format @@ -912,6 +940,16 @@ msgstr "" msgid " on `%.100s'" msgstr "" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "" + #, c-format msgid "" "\n" @@ -921,6 +959,10 @@ msgstr "" msgid "Login incorrect" msgstr "" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "" @@ -936,6 +978,11 @@ msgstr "" msgid " from %.*s" msgstr "" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "" @@ -1012,24 +1059,32 @@ msgid "%s: error updating files\n" msgstr "" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr "" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" msgstr "" msgid "Old password: " msgstr "" -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1184,6 +1239,10 @@ msgstr "" msgid "Sorry." msgstr "" +#, c-format +msgid "%s: %s\n" +msgstr "" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "" @@ -1423,6 +1482,10 @@ msgstr "" msgid "%s: error updating group entry\n" msgstr "" +#, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "" + #, c-format msgid "%s: cannot open group file\n" msgstr "" diff --git a/po/sk.gmo b/po/sk.gmo index 9738ab7fcd22c7b39abef931a9731ddb58964ec2..bb2a94fa272ff91541352a07e7cf03a61254a640 100644 GIT binary patch delta 7961 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 diff --git a/po/sk.po b/po/sk.po index 27076401..75c44c7b 100644 --- a/po/sk.po +++ b/po/sk.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.12\n" "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n" -"POT-Creation-Date: 2005-08-11 16:15+0200\n" +"POT-Creation-Date: 2005-10-10 20:33+0200\n" "PO-Revision-Date: 2005-08-21 10:20+0200\n" "Last-Translator: Peter Mann \n" "Language-Team: Slovak \n" @@ -102,6 +102,28 @@ msgstr "Nem獺te 鱉iadnu po禳tu." msgid "You have mail." msgstr "M獺te po禳tu." +#, fuzzy +msgid "no change" +msgstr "%s: bezo zmien\n" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "Heslo %s je chybn矇. " @@ -140,6 +162,13 @@ msgstr "Chybn羸 koreov羸 adres獺r \"%s\"\n" msgid "Can't change root directory to \"%s\"\n" msgstr "Koreov羸 adres獺r sa ned獺 zmeni聽 na \"%s\".\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s: va禳e pou鱉穩vate躂sk矇 meno sa ned獺 zisti聽.\n" + #, c-format msgid "malloc(%d) failed\n" msgstr "volanie malloc(%d) zlyhalo\n" @@ -260,6 +289,10 @@ msgstr "%s: s繳bor s heslami sa ned獺 otvori聽\n" msgid "%s: unknown user %s\n" msgstr "%s: pou鱉穩vate躂 %s je nezn獺my\n" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: s繳bor s tieov羸mi heslami sa ned獺 otvori聽\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s: s繳bor s tieov羸mi heslami sa ned獺 zamkn繳聽\n" @@ -268,6 +301,10 @@ msgstr "%s: s繳bor s tieov羸mi heslami sa ned獺 zamkn繳聽\n" msgid "%s: can't open shadow password file\n" msgstr "%s: s繳bor s tieov羸mi heslami sa ned獺 otvori聽\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "Men穩m asov矇 inform獺cie pre pou鱉穩vate躂a %s\n" @@ -292,10 +329,6 @@ msgstr "%s: s繳bor s tieov羸mi heslami sa ned獺 prep穩sa聽\n" msgid "%s: can't rewrite password file\n" msgstr "%s: s繳bor s heslami sa ned獺 prep穩sa聽\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: PAM met籀da chauthok zlyhala\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -496,10 +529,6 @@ msgstr "Shell %s je neplatn羸.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "Pou鱉itie: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: VAROVANIE! Mus穩 ma聽 opr獺vnenie root-a!\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: nezn獺my pou鱉穩vate躂\n" @@ -907,22 +936,23 @@ msgstr "Pou鱉itie: id\n" msgid " groups=" msgstr " skupiny=" -#, c-format +#, fuzzy, c-format msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" "Pou鱉itie: lastlog [vo躂by]\n" "\n" "Vo躂by:\n" -" -u, --user LOGIN\tvyp穩禳e posledn矇 prihl獺senia pou鱉穩vate躂a uveden矇ho ako " -"LOGIN\n" " -h, --help\t\tzobraz穩 t繳to n獺povedu a ukon穩 sa\n" " -t, --time DAYS\tvyp穩禳e posledn矇 prihl獺senia nie star禳ie ako DAYS dn穩\n" +" -u, --user LOGIN\tvyp穩禳e posledn矇 prihl獺senia pou鱉穩vate躂a uveden矇ho ako " +"LOGIN\n" #, c-format msgid "Username Port From Latest\n" @@ -983,6 +1013,16 @@ msgstr " na `%.100s' z `%.200s'" msgid " on `%.100s'" msgstr " na `%.100s'" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "Chybn矇 prihl獺senie" + #, c-format msgid "" "\n" @@ -994,6 +1034,10 @@ msgstr "" msgid "Login incorrect" msgstr "Chybn矇 prihl獺senie" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "Varovanie: po doasnom z獺kaze je prihlasov獺nie op瓣聽 povolen矇.\n" @@ -1009,6 +1053,11 @@ msgstr "Posledn矇 prihl獺senie: %.19s na %s" msgid " from %.*s" msgstr " z %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "Pou鱉itie: newgrp [-] [skupina]\n" @@ -1085,24 +1134,32 @@ msgid "%s: error updating files\n" msgstr "%s: chyba pri aktualiz獺cii s繳borov\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "Pou鱉itie: %s [-f|-s] [meno]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x max] [-n min] [-w varovanie] [-i neinnos聽] meno\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} meno\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" msgid "Old password: " msgstr "Star矇 heslo: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "Chybn矇 heslo pre `%s'\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1262,6 +1319,10 @@ msgstr "Pre overenie zadajte VAE vlastn矇 heslo.\n" msgid "Sorry." msgstr "躅utujem." +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "passwd: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: mus穩 by聽 spusten矇 z termin獺lu\n" @@ -1537,6 +1598,10 @@ msgstr "Pou鱉itie: %s [-r] meno\n" msgid "%s: error updating group entry\n" msgstr "%s: polo鱉ka s繳boru so skupinami sa ned獺 aktualizova聽\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: prim獺rna skupina pou鱉穩vate躂a sa ned獺 odstr獺ni聽\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: s繳bor so skupinami sa ned獺 otvori聽\n" @@ -1692,5 +1757,5 @@ msgstr "" "`vipw' edituje /etc/passwd `vipw -s' edituje /etc/shadow\n" "`vigr' edituje /etc/group `vigr -s' edituje /etc/gshadow\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "Pou鱉itie: groupadd [-g gid [-o]] [-f] skupina\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: PAM met籀da chauthok zlyhala\n" diff --git a/po/sq.gmo b/po/sq.gmo index cbf0b6b1b37db9f492d134ee676097d23b1de854..549dc9e6a409b49c120c0fe13bbe8aa8a6c74529 100644 GIT binary patch delta 24 fcmeC>=;he(mXX`gK-bVf!N|bM*m&~~Mo}gJSpEj6 delta 24 fcmeC>=;he(mXX`QLf6nx!O+ag&~)<;Mo}gJS)2y7 diff --git a/po/sq.po b/po/sq.po index e779e8a4..92e57923 100644 --- a/po/sq.po +++ b/po/sq.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.3\n" "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n" -"POT-Creation-Date: 2005-08-11 16:15+0200\n" +"POT-Creation-Date: 2005-10-10 20:33+0200\n" "PO-Revision-Date: 2004-11-20 03:28+0100\n" "Last-Translator: Elian Myftiu \n" "Language-Team: Albanian \n" @@ -98,6 +98,27 @@ msgstr "" msgid "You have mail." msgstr "" +msgid "no change" +msgstr "" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "" @@ -136,6 +157,12 @@ msgstr "" msgid "Can't change root directory to \"%s\"\n" msgstr "" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +msgid "Unable to determine your tty name." +msgstr "" + #, c-format msgid "malloc(%d) failed\n" msgstr "" @@ -239,6 +266,10 @@ msgstr "" msgid "%s: unknown user %s\n" msgstr "" +#, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "" @@ -247,6 +278,10 @@ msgstr "" msgid "%s: can't open shadow password file\n" msgstr "" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "" @@ -271,10 +306,6 @@ msgstr "" msgid "%s: can't rewrite password file\n" msgstr "" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -462,10 +493,6 @@ msgstr "" msgid "Usage: expiry {-f|-c}\n" msgstr "" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "" - #, c-format msgid "%s: unknown user\n" msgstr "" @@ -854,9 +881,10 @@ msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" #, c-format @@ -912,6 +940,16 @@ msgstr "" msgid " on `%.100s'" msgstr "" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "" + #, c-format msgid "" "\n" @@ -921,6 +959,10 @@ msgstr "" msgid "Login incorrect" msgstr "" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "" @@ -936,6 +978,11 @@ msgstr "" msgid " from %.*s" msgstr "" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "" @@ -1012,24 +1059,32 @@ msgid "%s: error updating files\n" msgstr "" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr "" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" msgstr "" msgid "Old password: " msgstr "" -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1184,6 +1239,10 @@ msgstr "" msgid "Sorry." msgstr "" +#, c-format +msgid "%s: %s\n" +msgstr "" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "" @@ -1423,6 +1482,10 @@ msgstr "" msgid "%s: error updating group entry\n" msgstr "" +#, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "" + #, c-format msgid "%s: cannot open group file\n" msgstr "" diff --git a/po/sv.gmo b/po/sv.gmo index 8e7aac6bac380c15ca6b92ef3431795c2c688f49..5e203e2103b65286b1f0f6834530e8a58a786cf9 100644 GIT binary patch delta 7769 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 a)tibtMpxIL-pQ|e^qj4J)d7_ee*Xm#wrpeo delta 8526 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\n" "Language-Team: sv \n" @@ -100,6 +100,28 @@ msgstr "Ingen post." msgid "You have mail." msgstr "Du har post." +#, fuzzy +msgid "no change" +msgstr "%s: inga 瓣ndringar\n" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "Felaktigt l繹senord: %s. " @@ -138,6 +160,13 @@ msgstr "Felaktig rotkatalog \"%s\"\n" msgid "Can't change root directory to \"%s\"\n" msgstr "Kan inte byta rotkatalog till \"%s\"\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s: Kan inte avg繹ra ditt anv瓣ndarnamn.\n" + #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) misslyckades\n" @@ -256,6 +285,10 @@ msgstr "%s: kan inte 繹ppna l繹senordsfilen\n" msgid "%s: unknown user %s\n" msgstr "%s: ok瓣nd anv瓣ndare %s\n" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: kan inte 繹ppna skuggl繹senordsfilen\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s: kan inte l疇sa skuggl繹senordsfilen\n" @@ -264,6 +297,10 @@ msgstr "%s: kan inte l疇sa skuggl繹senordsfilen\n" msgid "%s: can't open shadow password file\n" msgstr "%s: kan inte 繹ppna skuggl繹senordsfilen\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "ndrar 疇ldringsinformation f繹r %s\n" @@ -288,10 +325,6 @@ msgstr "%s: kan inte skriva om skuggl繹senordsfilen\n" msgid "%s: can't rewrite password file\n" msgstr "%s: kan inte skriva om l繹senordsfilen\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: PAM chauthtok misslyckades\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -490,10 +523,6 @@ msgstr "%s 瓣r ett felaktigt skal.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "Anv瓣ndning: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: VARNING! M疇ste vara set-UID root!\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: ok瓣nd anv瓣ndare\n" @@ -892,21 +921,22 @@ msgstr "Anv瓣ndning: id\n" msgid " groups=" msgstr " grupper=" -#, c-format +#, fuzzy, c-format msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" "Anv瓣ndning: lastlog [flaggor]\n" "\n" "Flaggor:\n" -" -u, --user ANVNDARE\tskriv ut lastlog-posten f繹r anv瓣ndaren ANVNDARE\n" " -h, --help\t\tvisa det h瓣r meddelandet och avsluta\n" " -t, --time DAGAR\tskriv bara ut lastlog-poster som 瓣r nyare 瓣n DAGAR\n" +" -u, --user ANVNDARE\tskriv ut lastlog-posten f繹r anv瓣ndaren ANVNDARE\n" #, c-format msgid "Username Port From Latest\n" @@ -967,6 +997,16 @@ msgstr " p疇 \"%.100s\" fr疇n \"%.200s\"" msgid " on `%.100s'" msgstr " p疇 \"%.100s\"" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "Felaktig inloggning" + #, c-format msgid "" "\n" @@ -978,6 +1018,10 @@ msgstr "" msgid "Login incorrect" msgstr "Felaktig inloggning" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "Varning: inloggning p疇 nytt aktiv efter den tempor瓣ra utel疇sningen.\n" @@ -993,6 +1037,11 @@ msgstr "Senaste inloggning: %.19s p疇 %s" msgid " from %.*s" msgstr " fr疇n %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "Anv瓣ndning: newgrp [-] [grupp]\n" @@ -1069,24 +1118,32 @@ msgid "%s: error updating files\n" msgstr "%s: kunde inte uppdatera filerna\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "Anv瓣ndning: %s [-f|-s] [namn]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x h繹gst] [-n minst] [-w varna] [-i inaktiv] namn\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} namn\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" msgid "Old password: " msgstr "F繹rra l繹senordet: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "Felaktigt l繹senord f繹r \"%s\"\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1245,6 +1302,10 @@ msgstr "Var god skriv in ditt EGET l繹senord som 瓣kthetsbevis.\n" msgid "Sorry." msgstr "Tyv瓣rr." +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "passwd: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: m疇ste k繹ras fr疇n en terminal\n" @@ -1516,6 +1577,10 @@ msgstr "Anv瓣ndning: %s [-r] namn\n" msgid "%s: error updating group entry\n" msgstr "%s: fel under uppdatering av gruppnotering\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: kan inte ta bort anv瓣ndarens prim瓣ra grupp.\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: kan inte 繹ppna gruppfilen\n" @@ -1671,5 +1736,5 @@ msgstr "" "\"vipw\" editerar /etc/passwd \"vipw -w\" editerar /etc/shadow\n" "\"vipg\" editerar /etc/group \"vipg -w\" editerar /etc/gshadow\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "Anv瓣ndning: groupadd [-g gid [-o]] [-f] grupp\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: PAM chauthtok misslyckades\n" diff --git a/po/tl.gmo b/po/tl.gmo index 811e9b2e9758c90f68eb2a038ecc324ee4bb6986..025d1b382bc1dda4ad8d36f581cc3e62846295cf 100644 GIT binary patch delta 6915 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 delta 7374 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 yW-_PiJwl% diff --git a/po/tl.po b/po/tl.po index 12f785c2..0f95b178 100644 --- a/po/tl.po +++ b/po/tl.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.7\n" "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n" -"POT-Creation-Date: 2005-08-11 16:15+0200\n" +"POT-Creation-Date: 2005-10-10 20:33+0200\n" "PO-Revision-Date: 2005-01-26 22:00+0800\n" "Last-Translator: Eric Pareja \n" "Language-Team: Tagalog \n" @@ -102,6 +102,28 @@ msgstr "Walang koreo." msgid "You have mail." msgstr "Mayroon kang koreo." +#, fuzzy +msgid "no change" +msgstr "%s: walang pagbabago\n" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "Masamang password: %s. " @@ -140,6 +162,13 @@ msgstr "Hindi tanggap na root directory \"%s\"\n" msgid "Can't change root directory to \"%s\"\n" msgstr "Hindi mapalitan ang root directory sa \"%s\"\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s: Hindi makilala ang inyong pangalan.\n" + #, c-format msgid "malloc(%d) failed\n" msgstr "sawi ang malloc(%d)\n" @@ -243,6 +272,10 @@ msgstr "%s: hindi mabuksan ang tipunang password\n" msgid "%s: unknown user %s\n" msgstr "%s: di kilalang gumagamit %s\n" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: hindi mabuksan ang tipunang shadow password\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s: hindi maaldaba ang tipunang shadow password\n" @@ -251,6 +284,10 @@ msgstr "%s: hindi maaldaba ang tipunang shadow password\n" msgid "%s: can't open shadow password file\n" msgstr "%s: hindi mabuksan ang tipunang shadow password\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "Pinapalitan ang impormasyong pagtanda para kay %s\n" @@ -275,10 +312,6 @@ msgstr "%s: hindi maisulat-muli ang tipunang shadow password\n" msgid "%s: can't rewrite password file\n" msgstr "%s: hindi maisulat-muli ang tipunang password\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: sawi ang PAM chauthtok\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -478,10 +511,6 @@ msgstr "Ang %s ay hindi tanggap na shell.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "Pag-gamit: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: BABALA! Kailangang naka-set-UID root!\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: hindi kilalang gumagamit\n" @@ -870,9 +899,10 @@ msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" "Pag-gamit: chpasswd [mga option]\n" "\n" @@ -941,6 +971,16 @@ msgstr " ng `%.100s' mula `%.200s'" msgid " on `%.100s'" msgstr " ng `%.100s'" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "Maling pagpasok" + #, c-format msgid "" "\n" @@ -952,6 +992,10 @@ msgstr "" msgid "Login incorrect" msgstr "Maling pagpasok" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "Babala: pagpasok ay enabled muli matapos ng panandalian pagbawal.\n" @@ -967,6 +1011,11 @@ msgstr "Huling pagpasok: %.19s sa %s" msgid " from %.*s" msgstr " mula %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, fuzzy, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "pag-gamit: newgrp [-] [grupo]\n" @@ -1042,25 +1091,33 @@ msgstr "%s: linya %d: hindi ma-apdeyt ang ipinasok\n" msgid "%s: error updating files\n" msgstr "%s: error sa pag-apdeyt ng mga tipunan\n" -#, fuzzy, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "pag-gamit: %s [-f|-s] [pangalan]\n" - #, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x max] [-n min] [-w babala] [-i inakt] pangalan\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} pangalan\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" msgid "Old password: " msgstr "Lumang password: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "Maling password para kay `%s'\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1219,6 +1276,10 @@ msgstr "Ibigay ang inyong SARILING password bilang authentication.\n" msgid "Sorry." msgstr "Ipagpaumanhin." +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "passwd: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: kinakailangang patakbuhin mula sa isang terminal\n" @@ -1465,6 +1526,10 @@ msgstr "pag-gamit: %s [-r] pangalan\n" msgid "%s: error updating group entry\n" msgstr "%s: error sa pag-apdeyt ng ipinasok sa grupo\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: hindi matanggal ang pangunahing grupo ng gumagamit.\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: hindi mabuksan ang tipunang grupo\n" @@ -1619,39 +1684,5 @@ msgstr "" "`vipw' ine-edit /etc/passwd `vipw -s' ine-edit /etc/shadow\n" "`vigr' ine-edit /etc/group `vigr -s' ine-edit /etc/gshadow\n" -#, fuzzy -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "pag-gamit: groupadd [-g gid [-o]] grupo\n" - -#, fuzzy -#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" -#~ msgstr "pag-gamit: %s\t[-u uid [-o]] [-g grupo] [-G grupo,...] \n" - -#, fuzzy -#~ msgid "" -#~ " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" -#~ msgstr "\t\t[-d bahay] [-s shell] [-c comment] [-m [-k template]]\n" - -#, fuzzy -#~ msgid " [-f inactive] [-e expire]\n" -#~ msgstr "\t\t[-f inaktibo] [-e paso ]\n" - -#, fuzzy -#~ msgid " [-p passwd] [-K KEY=VALUE] name\n" -#~ msgstr "[-p passwd] pangalan\n" - -#, fuzzy -#~ msgid " useradd -D [-g group] [-b base] [-s shell]\n" -#~ msgstr " %s\t-D [-g grupo] [-b base] [-s shell]\n" - -#~ msgid "%s: -O requires NAME=VALUE\n" -#~ msgstr "%s: kinakailangan ng -O ang PANGALAN=HALAGA\n" - -#~ msgid "unknown uid: %u\n" -#~ msgstr "di kilalang uid: %u\n" - -#~ msgid "%s: uid %u is not unique\n" -#~ msgstr "%s: ang uid %u ay hindi kakaiba\n" - -#~ msgid "%s: can't get unique uid\n" -#~ msgstr "%s: hindi makakuha ng kakaibang uid\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: sawi ang PAM chauthtok\n" diff --git a/po/tr.gmo b/po/tr.gmo index 0945008ae1962d5bed5f797a348e726b002ca995..4b4100dcc6f07e17a531515c5050c818ffe934e2 100644 GIT binary patch delta 7178 zcmYk=4}8zn9>?*sG24vU*gwPe-E3_B?vHI4W>_;4lE0D6{3)r3b*1|0Dw~SjT=`Eo zMZ_gj{&dr%r1batmk1d`-H__08+yHWPTjr_pWpMG^ZkC$_ngl;-!FCGg5OhT{d~vk z*IZyYiu{aej3u>=*-CkRgj$U$Z)8jk&c=GU3q$ZTjKnXoDPFW5F%NTbCAPt% z*a~YmF(wXkFxD8K8DtA)5=L|4X;gq}n9_hmP zc?=Rg)XcN60T!d$OR=es!c!EQ;YQR2hfp)PfMm@CFgl%2M70+o*)}CeQp^ljUxEBF zJNQw?j-ejpmuLqXg}T2L>i$CXse{q3;W1PP%TXP?g-YRRWK!lDDicjuA6?fSGjI%g zxCpfewxcrg6>3R;M)eoQ4@HxOn%K}J@~;j{Y0yBHp&qmYmBKGj=dZf+@l@17XH-T; zVM{DW-M0m~)Eqz!{3`Ot)aPQ=+oNXQADN4p*o^$EFpmaZSb-^c#MS+ojs}u~nsFiO zy1P)V^hXl#%wR`XE=I z?&^!tqkSi8<|j}c-ay7~5?k2*icp*S0n~MKPy^fG>b_4XXp>w-tw~LWsd@tT!faIg zW2g>RpocqA9iKq0^;Ohbhq2Z5R-~YZT~HGli8}uXYM={{%=*kWcj7Q=Z7!m22x)Co zpX%(19_`~$d!QUOll92h&Bv(JUUf$B)lq+KQ4j2mI)5*!|Jms2{a@ow>_vSjs!*@t z73_?GZP`Frfa+)nYDuP}*8F)4#qH?fUL+ajJZi5*rrGyD7gZmR9?r!So^Li%(8xYV zZMG|@nbl9XH?%{w4@0$2bL~q}1Kov6`9aiDe1qZW&%3Fmj6h`~6?J_9>Ul%ar&La% z;Nc?7!|m>ZtImi_dt+PF47#H-a2KlMx$gWr*S-_=fGX7W*HHsXYG({{Guf!UG_D=_ z*Nn<&&}LeT+P%Bc!waYZhGf}}+M?EaAlAnj7=iP#3|~fWF=^R0Q)4iadKs#ptV5LpX@9{?SW;^S5O(+fkAizwdu~G zGEu9&9Y~Cif^JO208B@vGzWFz0Mw=%gPL(UYUE3i)iJ9v8jqk-dKop)@DBET6RbtO z9|q!Jj|_2AQ}j($R=(7&U7Pz>sP8Y&ara0cFr{4x9a8Gxa= z#&pGEjKWo@w_*osiO(V#_nEq#Y>Hc83@7rC6J`i%##2!plsi`D)2m5DQ`fn35^ z)H|z8G(tY6CKr{d5@a8mh1d}HVXWT&GZgC5V7k~2L(!w!5VbTNQ3EMLrFuAOS5I;E zC8!5)c7B9P@j2993d^&5Ap>>YVAKF6W1f$~(-gEjKSVv~5^B@c=xS#kgSw$DHo+qF za2&>AIVy8&P)k*by8aNV{Sr3D;Cy>uGt~16(We#A?(4Dp4IAK&|}^)RM&YvJ>frdeD8S2bZDx+km?NAZh~V z(L-M_dCZ~E0yW}dOvJ~XYfx+U0jA)0n2OOi+YIDmBkIG@!%|c~3!U3h{T)ROHu&!+zKSA4aA6b<|QFL=7OQzr8*Mb$$SPI2qgEeAJBJ zMosVnw#JBC?O#&eFp=k*2UWl&s0-h8evL|H_yD^%GLgTZOcAQ18K?*R6ZODDsDTIE zW;2nFEvS!n^|`1CRif_u1%0h3Bo4GG>Wk`N3Ti2yM-AvbR7aOF4I2-#59ot!sryg^ z+K9UUOKgY1gY5^b3+gQy=<4_5?bOQ#lYi~lcqDMsNlsOwjw zhwq@SJA>NwH&7W(9%|crqV_;BDx+nnJ+O8t`B&j18kCaD&W6M6jPp^cy$5xEDSEiu zc^cJW0MpU==BSMIbxy-*>Z>pk-#`uQGc3d(d=w%mbQ*3u=#T1P8dl$kji|rjJd8^9 z71RSIxxZ!tE+_c0f%FdpNJZAS7if%;ffX3L$MvAN#=V-&QjYmTo5ejpaxcn%FGv-h(DqR7&C@9iRYX46hd(z zs>2f00H&h$#%!#ME1c_5Yr6yMU=^yvOQ`F^#@c_#B%|(2!&=w{bzcGMzI)N9)J&&P zAD3egZo(Ygj@mqzQK_ys&UToG+0^@>X8Jg)!+F>gmt$kxg&Np#^zb@rV)5f`W;4f= zf9>u98Z`1zsCp@CK+ocGdUb`ygEgqsy^C7QGuR4)@3-yQ&OxY-N>LA(hZ^{1Ou-}Q zq5mY?Z&TED`IwBOF+}hGYzi%CSb*tRiEZ$E48w%Uc5h@j3sDakjv4p_DpT7~{hUNU zjN|7DW~m~HcL)vQc481QO7Fjps}>W*#a$?$C%RH@N_<9Hss8=Y&aQBk9nKo4!Lz*8 zgZj#~i#J`lr}J57efs`h&)-FCca1`yTcv&zah+(*g*voee?CaiABX<;t&TuEYKzss zf93ZHLQ5M^-C{TTN0iwbcK%Z+JVx{(R=dW9sBgdsq8sr85k}{aV+htqEmIxJyoF{3 z5lcA`w-MS4d|1uXgpT)!FNiK&vkzMn@9X(_G$a#RyAG(=aX)d6(6NTltCY#PmyzZD z<5)oHCfYx6E$mejNxdzhV=2+zm8%>0IYHzTpA!jwZv81&{~d4(u2qHO5uz?PvysgP zHE@Iy{~*>8EjibQU>BPvSey7C<$n`88d3k$7OQ{f@|)}G*|>`MS^n?!{M# zJBb$v9kpnG6t&B1Qr6L*c#X(Y#T`kUi=do?U2&^xPj~lBr(V~!b;lUmtLHzJN)R!T zc$nBi=%E9m`PM>|6ii;0P*MJM=A}7%|uIgVi~?gw4f6mk;K2MOZ+Do-t5ZX;1E~- z3kGogSsX{)L_9~#CUkgum3j~(iIaps7e9n$gpNCi!s^ohf1adRUR|vSZQR4ZVqM%Y z|M_tVkrhJ{Rz_7sv_D+4BA|0+U`Tpe>-01)Bdud*X2qvH_SLBPwdYR%`Nw<5SES#( RBDUh2vEu_OCf!pN^czk)5+MKp delta 7682 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 z zr@`mKOd+NdUlSh@X@rl>Z4MHLi3f@Kgi1f+AB1+kzS;jG4iI{!?j$}Y`V#u8H6v6m z5c~Z#`|(lr9wLMoPUtls!i3(zbX=_U-%mq@*VF$WAgYfiDv7?Fbh-R?xq=&sOhT{e zFGK`Ui&#taaMy%WSNVY0N5r`Po7CybK;{2B*Jyzah@PCNZPCwN5R7^5oIXxbhyGr~ z->CP;AFzfFP$G$2i3BzNPdP?F zmqrY_mqs-aN&R^ogl#aLXia?+h7v8QtHfiht@?jHsYI`G9Y5nML~YlefL9YKTog{k z5h`u)8GOy(vj0C|5A`_WJ)$kgXS-vcI-VqeL{(kobdGLk#D9m7PQ@qATrbm_?|xaL1QW@9pp5*Rq~}Ee?dZ zga4!*O1&qJCT=EF77=0YoGR+y5xai$iC3R4CTl~LA zT-9;{z9r_l-UUukO58y_MVuo%;zy!>K=qQCL4o5ul{RJG)p7H@qU?E7s1$oe1;wh& z_2y=m`fCMVL2-6Y`4q1>yC^Tj_%HHbwji#sGOnUBF1IpnY-L>D4gM3VcQ(rktUEe& zq?a=zyP|wXdC9C5kzUId6H~`z4$DlB^}LZ4W#!)VJg+RTJZ}83L0)M|NqKB_H}A>D z(K#ihrFl8!-t6qMvbiOtxn6!rsW+`nS-X(xPr83rvu1u}T-k~jQW{rpNZD4qPM4l> ziHTlf_uh%g)z_!(sWH_}?XQcPRrX)2s+gZ$x?`g{3v`=;{3%{RSwYdC>#`UB&(d^G zbz1tiz|j9Jjg@Vf9JQiGMvM6IlTybFV{KZCH>;wsFuQoi#+)4+%XVxm&i-?yC51)V zg*!IJRyWOfB05Iv@(Q-ED=7BnXBX4|&KhP^T2h!DQoS{|pjI8NmWldr9WnDl(7yq5 C{hN9K diff --git a/po/tr.po b/po/tr.po index f3f94464..ec7d0cd9 100644 --- a/po/tr.po +++ b/po/tr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow\n" "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n" -"POT-Creation-Date: 2005-08-11 16:15+0200\n" +"POT-Creation-Date: 2005-10-10 20:33+0200\n" "PO-Revision-Date: 2004-06-13 10:27+0300\n" "Last-Translator: Mehmet T羹rker \n" "Language-Team: Turkish \n" @@ -97,6 +97,28 @@ msgstr "E-Posta yok." msgid "You have mail." msgstr "E-Postan覺z var." +#, fuzzy +msgid "no change" +msgstr "%s: deiiklik yok\n" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "Hatal覺 parola: %s. " @@ -135,6 +157,13 @@ msgstr "Ge癟ersiz k繹k dizin \"%s\"\n" msgid "Can't change root directory to \"%s\"\n" msgstr "K繹k dizin \"%s\" olarak deitirilemiyor\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s: Kullan覺c覺 isminiz belirlenemedi.\n" + #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) baar覺s覺z oldu\n" @@ -238,6 +267,10 @@ msgstr "%s: parola dosyas覺 a癟覺lamad覺\n" msgid "%s: unknown user %s\n" msgstr "%s: bilinmeyen kullan覺c覺 %s\n" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: g繹lge parola dosyas覺 a癟覺lamad覺\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s: g繹lge parola dosyas覺 kilitlenemedi\n" @@ -246,6 +279,10 @@ msgstr "%s: g繹lge parola dosyas覺 kilitlenemedi\n" msgid "%s: can't open shadow password file\n" msgstr "%s: g繹lge parola dosyas覺 a癟覺lamad覺\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "%s i癟in 繹m羹r bilgisi deitiriliyor\n" @@ -270,10 +307,6 @@ msgstr "%s: g繹lge parola dosyas覺n覺n 羹zerine yaz覺lamad覺\n" msgid "%s: can't rewrite password file\n" msgstr "%s: parola dosyas覺na yaz覺lamad覺\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: PAM chauthok baar覺s覺z oldu\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -463,10 +496,6 @@ msgstr "%s ge癟ersiz bir kabuk.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "Kullan覺m: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: UYARI! root kullan覺c覺s覺na set-UID olmal覺!\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: bilinmeyen kullan覺c覺\n" @@ -855,9 +884,10 @@ msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" #, c-format @@ -919,6 +949,16 @@ msgstr " `%.200s'den `%.100s' 羹zerinde" msgid " on `%.100s'" msgstr " `%.100s' 羹zerinde" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "Giri ge癟ersiz" + #, c-format msgid "" "\n" @@ -930,6 +970,10 @@ msgstr "" msgid "Login incorrect" msgstr "Giri ge癟ersiz" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "" "Uyar覺: ge癟ici bir kilitlenme sonras覺nda giri tekrar olanakl覺 k覺l覺nd覺.\n" @@ -946,6 +990,11 @@ msgstr "Son giri: %s 羹zerinden %.19s" msgid " from %.*s" msgstr "%.*s'den" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "Kullan覺m: newgrp [-] [grup]\n" @@ -1022,24 +1071,32 @@ msgid "%s: error updating files\n" msgstr "%s: dosyalar覺n g羹ncellenmesinde hata olutu\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "Kullan覺m: %s [-f|-s] [isim]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x maks] [-n min] [-w uyar覺] [-i pasif] isim\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} isim\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" msgid "Old password: " msgstr "Eski parola: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "`%s' i癟in yanl覺 parola\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1198,6 +1255,10 @@ msgstr "L羹tfen yetkilendirme i癟in KEND襤 parolan覺z覺 girin.\n" msgid "Sorry." msgstr "zg羹n羹m." +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "passwd: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: bir terminalden 癟al覺t覺r覺lmal覺\n" @@ -1445,6 +1506,10 @@ msgstr "Kullan覺m: %s [-r] isim\n" msgid "%s: error updating group entry\n" msgstr "%s: grup kayd覺 g羹ncellenirken hata olutu\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: kullan覺c覺n覺n birincil grubu silinemez\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: grup dosyas覺 a癟覺lam覺yor\n" @@ -1599,37 +1664,5 @@ msgstr "" "`vipw' /etc/passwd'羹 d羹zenler `vipw -s' /etc/shadow'u d羹zenler\n" "`vigr' /etc/group'u d羹zenler `vigr -s' /etc/gshadow'u d羹zenler\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "Kullan覺m: groupadd [-g gid [-o]] [-f] grup\n" - -#, fuzzy -#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" -#~ msgstr "kullan覺m: useradd [-u uid [-o]] [-g grup] [-G grup,...] \n" - -#~ msgid "" -#~ " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" -#~ msgstr "" -#~ " [-d ev_dizini] [-s kabuk] [-c a癟覺klama] [-m [-k " -#~ "ablon]]\n" - -#~ msgid " [-f inactive] [-e expire]\n" -#~ msgstr " [-f pasif] [-e hesap_bitimi ]\n" - -#, fuzzy -#~ msgid " [-p passwd] [-K KEY=VALUE] name\n" -#~ msgstr " [-p parola] isim\n" - -#~ msgid " useradd -D [-g group] [-b base] [-s shell]\n" -#~ msgstr " useradd -D [-g grup] [-b taban] [-s kabuk]\n" - -#~ msgid "%s: -O requires NAME=VALUE\n" -#~ msgstr "%s: -O se癟enei ISIM=DEER gerektirir\n" - -#~ msgid "unknown uid: %u\n" -#~ msgstr "bilinmeyen uid: %u\n" - -#~ msgid "%s: uid %u is not unique\n" -#~ msgstr "%s: uid %u benzersiz deil\n" - -#~ msgid "%s: can't get unique uid\n" -#~ msgstr "%s: benzersiz bir uid elde edilemedi\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: PAM chauthok baar覺s覺z oldu\n" diff --git a/po/uk.gmo b/po/uk.gmo index 6df6a400da1ad5a5036b2f2b7d362a0c37f15828..70affdf1f1ed1e59df387f0fea32ee76ebc80392 100644 GIT binary patch delta 7554 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 delta 8478 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 diff --git a/po/uk.po b/po/uk.po index dcb6dbed..c3d5c713 100644 --- a/po/uk.po +++ b/po/uk.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow-4.0.8\n" "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n" -"POT-Creation-Date: 2005-08-11 16:15+0200\n" +"POT-Creation-Date: 2005-10-10 20:33+0200\n" "PO-Revision-Date: 2005-04-19 23:22+0300\n" "Last-Translator: Roman Festchook \n" "Language-Team: \n" @@ -100,6 +100,28 @@ msgstr "郋邽 郇迮 邾訄." msgid "You have mail." msgstr "邽 邾訄迮 郈郋." +#, fuzzy +msgid "no change" +msgstr "%s: 訇迮郱 郱邾郇\n" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "郋迣訄郇邽邿 郈訄郋郅: %s. " @@ -138,6 +160,13 @@ msgstr "迮赲郇訄 郕郋迮郇迮赲訄 迮郕訄 \"%s\"\n" msgid "Can't change root directory to \"%s\"\n" msgstr "迮 邾郋迠 郱邾郇邽邽 郕郋迮郇迮赲 迮郕 郇訄 \"%s\"\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s: 迮 邾郋迠 赲邽郱郇訄邽邽 訄迮 邾' 郕郋邽赲訄訄.\n" + #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) 郇迮 赲邽郕郋郇訄郇郋\n" @@ -241,6 +270,10 @@ msgstr "%s: 郇迮 邾郋迠 赲迡郕邽邽 訄邿郅 郈訄郋郅迮邿\n" msgid "%s: unknown user %s\n" msgstr "%s: 郇迮赲迡郋邾邽邿 郕郋邽赲訄 %s\n" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: 郇迮 邾郋迠 赲迡郕邽邽 訄邿郅 郈邽郋赲訄郇邽 郈訄郋郅迮邿\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s: 郇迮 邾郋迠 郱訄訇郅郋郕赲訄邽 訄邿郅 郈邽郋赲訄郇邽 郈訄郋郅迮邿\n" @@ -249,6 +282,10 @@ msgstr "%s: 郇迮 邾郋迠 郱訄訇郅郋郕赲訄邽 訄邿郅 郈邽郋赲訄郇邽 msgid "%s: can't open shadow password file\n" msgstr "%s: 郇迮 邾郋迠 赲迡郕邽邽 訄邿郅 郈邽郋赲訄郇邽 郈訄郋郅迮邿\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "邾郇 赲郕郋赲 郇郋邾訄 迡郅 %s\n" @@ -273,10 +310,6 @@ msgstr "%s: 郇迮 邾郋迠 郈迮迮郈邽訄邽 訄邿郅 郈邽郋赲訄郇邽 郈 msgid "%s: can't rewrite password file\n" msgstr "%s: 郇迮 邾郋迠 郈迮迮郈邽訄邽 訄邿郅 郈訄郋郅迮邿\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: 郈郋邾邽郅郕訄 PAM chauthtok\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -475,10 +508,6 @@ msgstr "%s 郇迮赲郇訄 郋訇郋郅郋郇郕訄.\n" msgid "Usage: expiry {-f|-c}\n" msgstr "邽郕郋邽郋赲邿迮: expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: 苤苠觓! 郋迣訄邾訄 郈郋赲邽郇訄 訇邽 Set-UID root!\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: 郇迮赲迡郋邾邽邿 郕郋邽赲訄\n" @@ -876,22 +905,23 @@ msgstr "邽郕郋邽郋赲邿迮: id\n" msgid " groups=" msgstr " 迣郈邽=" -#, c-format +#, fuzzy, c-format msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" "邽郕郋邽訄郇郇: lastlog [郋郈]\n" "\n" "郈:\n" -" -u, --user \t赲邽赲迮邽 郱訄郈邽邽 郋訄郇郇 赲郋迡赲 迡郅 郕郋邽赲訄訄 郱 " -"郋邾\n" " -h, --help\t\t赲邽赲迮邽 迡郋郈郋邾郋迣 訄 赲邽邿邽\n" " -t, --time \t赲邽赲迮邽 郅邽迮 郱訄郈邽邽 赲迠 郱訄 \n" +" -u, --user \t赲邽赲迮邽 郱訄郈邽邽 郋訄郇郇 赲郋迡赲 迡郅 郕郋邽赲訄訄 郱 " +"郋邾\n" #, c-format msgid "Username Port From Latest\n" @@ -952,6 +982,16 @@ msgstr " 郇訄 `%.100s' 郱 `%.200s'" msgid " on `%.100s'" msgstr " 郇訄 `%.100s'" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "迮赲郇邽邿 郅郋迣郇" + #, c-format msgid "" "\n" @@ -963,6 +1003,10 @@ msgstr "" msgid "Login incorrect" msgstr "迮赲郇邽邿 郅郋迣郇" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "訄迮迮迠迮郇郇: login 郈郋郇郋赲郅迮郇郋 郈郅 邽邾訄郋赲郋迣郋 訇郅郋郕赲訄郇郇.\n" @@ -978,6 +1022,11 @@ msgstr "訄郇郇邿 赲迡 赲 邽迮邾: %.19s 郇訄 %s" msgid " from %.*s" msgstr " 郱 %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "邽郕郋邽郋赲邿迮: newgrp [-] [迣郈訄]\n" @@ -1054,24 +1103,32 @@ msgid "%s: error updating files\n" msgstr "%s: 郈郋邾邽郅郕訄 郋郇郋赲郅迮郇郇 訄邿郅\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "邽郕郋邽郋赲邿迮: %s [-f|-s] [邾']\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x 邾訄郕] [-n 邾邽郇] [-w 郱訄迮迮迠迮郇郇] [-i 郇迮訄郕邽赲郇邽邿] 邾'\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} 邾'\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" msgid "Old password: " msgstr "苤訄邽邿 郈訄郋郅: " -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "迮赲郇邽邿 郈訄郋郅 迡郅 `%s'\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1231,6 +1288,10 @@ msgstr "迡郅訄郕訄 赲赲迮迡 訄 赲郅訄郇邽邿 郈訄郋郅 迡 msgid "Sorry." msgstr "邽訇訄迮." +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "passwd: %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: 郈郋赲邽郇郋 訇邽 郱訄郈迮郇郋 郱 迮邾郇訄郅\n" @@ -1477,6 +1538,10 @@ msgstr "邽郕郋邽郋赲邿迮: %s [-r] 邾'\n" msgid "%s: error updating group entry\n" msgstr "%s: 郈郋邾邽郅郕訄 郋郇郋赲郅迮郇郇 郱訄郈邽 訇訄郱 迣郈\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: 郇迮 邾郋迠 赲邽迡訄郅邽邽 迣郋郅郋赲郇 迣郈 郕郋邽赲訄訄.\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: 郇迮 邾郋迠 赲迡郕邽邽 訄邿郅 迣郈\n" @@ -1632,35 +1697,5 @@ msgstr "" "`vipw' 迮迡訄迣 /etc/passwd `vipw -s' 迮迡訄迣 /etc/shadow\n" "`vigr' 迮迡訄迣 /etc/group `vigr -s' 迮迡訄迣 /etc/gshadow\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "邽郕郋邽郋赲邿迮: groupadd [-g gid [-o]] [-f] 迣郈訄\n" - -#, fuzzy -#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" -#~ msgstr "邽郕郋邽郋赲邿迮: useradd [-u uid [-o]] [-g 迣郈訄] [-G 迣郈訄,...] \n" - -#~ msgid "" -#~ " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" -#~ msgstr " [-d 迡郋邾訄郇_迮郕訄] [-s shell] [-c 郕郋邾迮郇訄] [-m [-k 訄訇郅郋郇]]\n" - -#~ msgid " [-f inactive] [-e expire]\n" -#~ msgstr " [-f 郇迮訄郕邽赲郇邽邿] [-e 郈郋郋迮郇邽邿]\n" - -#, fuzzy -#~ msgid " [-p passwd] [-K KEY=VALUE] name\n" -#~ msgstr " [-p 郈訄郋郅] 邾'\n" - -#~ msgid " useradd -D [-g group] [-b base] [-s shell]\n" -#~ msgstr " useradd -D [-g 迣郈訄] [-b 訇訄郱郋赲訄_迮郕訄] [-s 郋訇郋郅郋郇郕訄]\n" - -#~ msgid "%s: -O requires NAME=VALUE\n" -#~ msgstr "%s: -O 赲邽邾訄迣訄 =虴觓\n" - -#~ msgid "unknown uid: %u\n" -#~ msgstr "郇迮赲迡郋邾邽邿 uid: %u\n" - -#~ msgid "%s: uid %u is not unique\n" -#~ msgstr "%s: uid %u 郇迮 郇郕訄郅郇邽邾\n" - -#~ msgid "%s: can't get unique uid\n" -#~ msgstr "%s: 郇迮 邾郋迠 郋邽邾訄邽 郇郕訄郅郇邿 uid\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: 郈郋邾邽郅郕訄 PAM chauthtok\n" diff --git a/po/vi.gmo b/po/vi.gmo index cd8f939f30ebeffc70f01adbef419979f99c1a9b..db7330f4116a40327772ec9ee2074a27ea6bba30 100644 GIT binary patch delta 7554 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 delta 8487 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 W(arzUTus$I<;k16RYYy6Z1O)&^`;sC diff --git a/po/vi.po b/po/vi.po index d064c8b2..44d44b52 100644 --- a/po/vi.po +++ b/po/vi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.9\n" "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n" -"POT-Creation-Date: 2005-08-11 16:15+0200\n" +"POT-Creation-Date: 2005-10-10 20:33+0200\n" "PO-Revision-Date: 2005-05-10 22:33+0930\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \n" @@ -96,6 +96,28 @@ msgstr "Kh繫ng c籀 thが." msgid "You have mail." msgstr "B廕》 c籀 thが." +#, fuzzy +msgid "no change" +msgstr "%s: chがa thay 廙i g穫\n" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "M廕負 kh廕季 sai: %s." @@ -134,6 +156,13 @@ msgstr "Thが m廙卉 g廙c kh繫ng h廙φ l廙 \"%s\".\n" msgid "Can't change root directory to \"%s\"\n" msgstr "Kh繫ng th廙 thay 廙i thが m廙卉 g廙c thnh \"%s\".\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s: kh繫ng th廙 quy廕篙 廙nh t礙n ngが廙i d羅ng c廙吧 b廕》.\n" + #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) (ph璽n chia b廙 nh廙) 瓊 th廕另 b廕【.\n" @@ -237,6 +266,10 @@ msgstr "%s: kh繫ng m廙 が廙θ t廕計 tin m廕負 kh廕季.\n" msgid "%s: unknown user %s\n" msgstr "%s: ngが廙i d羅ng l廕 %s\n" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s: kh繫ng m廙 が廙θ t廕計 tin m廕負 kh廕季 b籀ng\n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s: kh繫ng kh籀a が廙θ t廕計 tin m廕負 kh廕季 b籀ng\n" @@ -245,6 +278,10 @@ msgstr "%s: kh繫ng kh籀a が廙θ t廕計 tin m廕負 kh廕季 b籀ng\n" msgid "%s: can't open shadow password file\n" msgstr "%s: kh繫ng m廙 が廙θ t廕計 tin m廕負 kh廕季 b籀ng\n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "ang thay 廙i th繫ng tin ph廕《 v廙 th廙i gian cho %s.\n" @@ -269,10 +306,6 @@ msgstr "%s: kh繫ng th廙 ghi l廕【 t廕計 tin m廕負 kh廕季 b籀ng.\n" msgid "%s: can't rewrite password file\n" msgstr "%s: kh繫ng th廙 ghi l廕【 t廕計 tin m廕負 kh廕季.\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s: chauthtok PAM (thay 廙i hi廙u bi x獺c th廙妾) 瓊 th廕另 b廕【.\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -474,10 +507,6 @@ msgstr "" "C獺ch s廙 d廙叩g: expiry {-f|-c}\n" "(expiry: khi h廕篙 h廕》 d羅ng)\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: C廕﹫H BO! Ph廕ξ c籀 quy廙n ngが廙i ch廙 (root) set-UID!\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s: ngが廙i d羅ng l廕.\n" @@ -882,23 +911,24 @@ msgstr "C獺ch s廙 d廙叩g: id\n" msgid " groups=" msgstr " nh籀m=" -#, c-format +#, fuzzy, c-format msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" "C獺ch s廙 d廙叩g: lastlog [t羅y_ch廙n]\n" "(lastlog: b廕τ ghi cu廙i c羅ng)\n" "\n" "T羅y ch廙n:\n" -" -u, --user TN_DNG\thi廙n th廙 m廙卉 ghi lastlog cho _ngが廙i d羅ng_ c籀 t礙n 廕句\n" " -h, --help\t\thi廙n th廙 _tr廙 gi繳p_ ny r廙i tho獺t\n" " -t, --time S廙\thi廙n th廙 c獺c m廙卉 ghi lastlog ch廙 m廙i hヾn S廙 ngy (_th廙i " "gian_)\n" +" -u, --user TN_DNG\thi廙n th廙 m廙卉 ghi lastlog cho _ngが廙i d羅ng_ c籀 t礙n 廕句\n" #, c-format msgid "Username Port From Latest\n" @@ -959,6 +989,16 @@ msgstr " vo `%.100s' t廙 `%.200s'" msgid " on `%.100s'" msgstr " vo `%.100s'" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "ng nh廕計 kh繫ng 繳ng" + #, c-format msgid "" "\n" @@ -970,6 +1010,10 @@ msgstr "" msgid "Login incorrect" msgstr "ng nh廕計 kh繫ng 繳ng" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "C廕τh b獺o: 瓊 hi廙u l廙帷 l廕【 ng nh廕計 sau b廙 kh籀a ra t廕《 th廙i.\n" @@ -985,6 +1029,11 @@ msgstr "ang nh廕計 cu廙i c羅ng: %.19s vo %s" msgid " from %.*s" msgstr " t廙 %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "" @@ -1066,25 +1115,32 @@ msgid "%s: error updating files\n" msgstr "%s: g廕搆 l廙i khi c廕計 nh廕負 t廕計 tin.\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "C獺ch s廙 d廙叩g: %s [-f|-s] [t礙n]\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" msgstr "" -" %s [-x t廙i_a] [-n t廙i_thi廙u] [-w c廕τh_b獺o] [-i kh繫ng_ho廕﹀_廙ng] t礙n\n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} t礙n\n" msgid "Old password: " msgstr "M廕負 kh廕季 c觼:" -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "M廕負 kh廕季 kh繫ng 繳ng cho `%s'\n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1246,6 +1302,10 @@ msgstr "H瓊y nh廕計 m廕負 kh廕季 c廙吧 B廕N 廙 x獺c th廙妾.\n" msgid "Sorry." msgstr "Ti廕盧 l..." +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "passwd: (m廕負 kh廕季) %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: ph廕ξ ch廕『 n籀 t廙 thi廕篙 b廙 cu廙i.\n" @@ -1494,6 +1554,10 @@ msgstr "C獺ch s廙 d廙叩g: %s [-r] t礙n\n" msgid "%s: error updating group entry\n" msgstr "%s: g廕搆 l廙i khi c廕計 nh廕負 m廙卉 ghi nh籀m.\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s: kh繫ng lo廕【 b廙 が廙θ nh籀m ch穩nh c廙吧 ngが廙i d羅ng.\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s: kh繫ng m廙 が廙θ t廕計 tin nh籀m.\n" @@ -1650,41 +1714,5 @@ msgstr "" "`vipw' th穫 s廙苔 廙i /etc/passwd `vipw -s' th穫 s廙苔 廙i /etc/shadow\n" "`vigr' th穫 s廙苔 廙i /etc/group `vigr -s' th穫 s廙苔 廙i /etc/gshadow\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "" -#~ "C獺ch s廙 d廙叩g: groupadd [-g gid [-o]] nh籀m\n" -#~ "(groupadd: th礙m nh籀m)\n" - -#, fuzzy -#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" -#~ msgstr "" -#~ "C獺ch s廙 d廙叩g: useradd [-u uid [-o]] [-g nh籀m] [-G nh籀m,...] \n" -#~ "(useradd: th礙m ngが廙i d羅ng)\n" - -#~ msgid "" -#~ " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" -#~ msgstr "\t\t[-d ch穩nh] [-s h廙_v廙] [-c ghi_ch繳] [-m [-k m廕哎]]\n" - -#~ msgid " [-f inactive] [-e expire]\n" -#~ msgstr "\t\t[-f kh繫ng_ho廕﹀_廙ng] [-e h廕篙_h廕》 ]\n" - -#, fuzzy -#~ msgid " [-p passwd] [-K KEY=VALUE] name\n" -#~ msgstr "\t\t[-p m廕負_kh廕季] t礙n\n" - -#~ msgid " useradd -D [-g group] [-b base] [-s shell]\n" -#~ msgstr "" -#~ " useradd -D [-g nh籀m] [-b cヾ_b廕τ] [-s h廙_v廙]\n" -#~ "(useradd: th礙m ngが廙i d羅ng)\n" - -#~ msgid "%s: -O requires NAME=VALUE\n" -#~ msgstr "%s: -O c廕吵 廕積 TN=GI_TR廙\n" - -#~ msgid "unknown uid: %u\n" -#~ msgstr "uid l廕: %u\n" - -#~ msgid "%s: uid %u is not unique\n" -#~ msgstr "%s: UID %u kh繫ng ph廕ξ 廙c nh廕另\n" - -#~ msgid "%s: can't get unique uid\n" -#~ msgstr "%s: kh繫ng g廙i が廙θ UID 廙c nh廕另\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s: chauthtok PAM (thay 廙i hi廙u bi x獺c th廙妾) 瓊 th廕另 b廕【.\n" diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo index 5dbb0bea2892f92fc4e2ac1141663ee59b07e051..d88be7c448a3685abf1ad75b64f3d40939ef5c7d 100644 GIT binary patch delta 7162 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 diff --git a/po/zh_CN.po b/po/zh_CN.po index 21d382f8..82f0870a 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow\n" "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n" -"POT-Creation-Date: 2005-08-11 16:15+0200\n" +"POT-Creation-Date: 2005-10-10 20:33+0200\n" "PO-Revision-Date: 2004-05-14 10:26+1200\n" "Last-Translator: Carlos Z.F. Liu \n" "Language-Team: Chinese (simplified) \n" @@ -95,6 +95,28 @@ msgstr "靽∩辣" msgid "You have mail." msgstr "冽靽∩辣" +#, fuzzy +msgid "no change" +msgstr "%s嚗孵\n" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "霂舐撖嚗%s " @@ -133,6 +155,13 @@ msgstr "寧桀%s\n" msgid "Can't change root directory to \"%s\"\n" msgstr "瘜撠寧桀孵銝算%s\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s嚗瘜蝖桀函冽瑕\n" + #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) 憭梯揖\n" @@ -236,6 +265,10 @@ msgstr "%s嚗瘜撘撖隞跚n" msgid "%s: unknown user %s\n" msgstr "%s嚗芰亦冽瘀%s\n" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s嚗瘜撘敶勗撖隞跚n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s嚗瘜摰敶勗撖隞跚n" @@ -244,6 +277,10 @@ msgstr "%s嚗瘜摰敶勗撖隞跚n" msgid "%s: can't open shadow password file\n" msgstr "%s嚗瘜撘敶勗撖隞跚n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "甇其蛹 %s 靽格孵僑樴靽⊥珮n" @@ -268,10 +305,6 @@ msgstr "%s嚗瘜敶勗撖隞跚n" msgid "%s: can't rewrite password file\n" msgstr "%s嚗瘜撖隞跚n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s嚗PAM chauthtok 憭梯揖\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -461,10 +494,6 @@ msgstr "%s 舀 shell\n" msgid "Usage: expiry {-f|-c}\n" msgstr "冽嚗expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s嚗霅血嚗敹憿餅 set-UID root嚗\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s嚗芰亦冽愧n" @@ -853,9 +882,10 @@ msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" #, c-format @@ -917,6 +947,16 @@ msgstr " 兩%.100s銝嚗亥芬%.200s" msgid " on `%.100s'" msgstr "兩%.100s銝" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "餃霂" + #, c-format msgid "" "\n" @@ -928,6 +968,10 @@ msgstr "" msgid "Login incorrect" msgstr "餃霂" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "霅血嚗函剜摰撠W餃\n" @@ -943,6 +987,11 @@ msgstr "銝甈∠餃嚗%.19s %s 銝" msgid " from %.*s" msgstr " 亥 %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "冽嚗newgrp [-] [蝏]\n" @@ -1019,24 +1068,32 @@ msgid "%s: error updating files\n" msgstr "%s嚗湔唳隞嗅粹\n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "冽嚗%s [-f|-s] [蝘財\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x 憭吞 [-n 撠] [-w 霅血] [-i 憭望] 蝘豹n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} 蝘豹n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" msgid "Old password: " msgstr "批嚗" -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "%s撖銝甇蝖娉n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1195,6 +1252,10 @@ msgstr "霂瑁交刻芸楛撖雿銝粹霂\n" msgid "Sorry." msgstr "望" +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "passwd嚗%s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s嚗敹憿颱蝏蝡臭葉扯\n" @@ -1439,6 +1500,10 @@ msgstr "冽嚗%s [-r] 蝘豹n" msgid "%s: error updating group entry\n" msgstr "%s嚗湔啁∠格嗅粹\n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s嚗銝賢斤冽瑞銝餌\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s嚗瘜撘蝏隞跚n" @@ -1593,35 +1658,5 @@ msgstr "" "vipw 蝻颲 /etc/passwd vipw -s 蝻颲 /etc/shadow\n" "vigr 蝻颲 /etc/group vigr -s 蝻颲 /etc/gshadow\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "冽嚗groupadd [-g gid [-o]] [-f] 蝏\n" - -#, fuzzy -#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" -#~ msgstr "冽嚗useradd [-u uid [-o]] [-g 蝏] [-G 蝏,...] \n" - -#~ msgid "" -#~ " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" -#~ msgstr " [-d 銝餌桀] [-s shell] [-c 瘜券] [-m [-k 璅⊥瓢]\n" - -#~ msgid " [-f inactive] [-e expire]\n" -#~ msgstr " [-f 憭望包 [-e 餈 ]\n" - -#, fuzzy -#~ msgid " [-p passwd] [-K KEY=VALUE] name\n" -#~ msgstr " [-p 撖] 蝘豹n" - -#~ msgid " useradd -D [-g group] [-b base] [-s shell]\n" -#~ msgstr " useradd -D [-g 蝏] [-b 銝餌桀] [-s shell]\n" - -#~ msgid "%s: -O requires NAME=VALUE\n" -#~ msgstr "%s嚗-O 閬 NAME=VALUE\n" - -#~ msgid "unknown uid: %u\n" -#~ msgstr "芰亦 uid嚗%u\n" - -#~ msgid "%s: uid %u is not unique\n" -#~ msgstr "%s嚗uid %u 銝臭\n" - -#~ msgid "%s: can't get unique uid\n" -#~ msgstr "%s嚗瘜瑕臭 uid\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s嚗PAM chauthtok 憭梯揖\n" diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo index 531b0eb7d78f51c5d8304a2cd0d68788c1ec90f0..25a522089b2512065d631a605e65987107188bb3 100644 GIT binary patch delta 7550 zcmYk>37n7B9>?)BhQS#77&Bv;{|v@hhB1t>#@HHT-***R#!ku7@)x<2iknN^ELpl~ zQsg$-E{RHXBPkWK%Tg)1wshUx&v(vmdiA{gyw5q$Ip;as^ZdPP|L-BIZ-oR;l`H&` z;~E&^TxGlx?%YArJ1eNvxnC$u$7@&`YgKWs1U5xgX^+)#5Z1&XK7g-db1Yibxq8?Z z>*5sTk6XoGu~c`ve8L^Wirlz?>M$bCxfo2r>X?NQIMI9p8LOLz#c;8euS7a_>v0(F z#b`_l_z7fS4e~v(EYEk-NNDEsFdo;T9=soE>&_v6Tp@0%VKr2~qvgk-R^mmB!gW{* z-$Ul&4xlFXBSvCqf^#h}8td|W*M~%ToQ>0`?pXt3+JW=TmyB#4XQjF zE8#Q9>bupJ--SHe9Y?L?UDR{p$pkg>#w651XH*BHP#w&%{2EjT?;(HOY5vlZ7G^oL zLRC;J(~`ebZ#bsnTnykg)Y&+OTA>g|trdw*Wc}4)3IzOsd* zOZuDLkD*uHZ-r_<1i9s&#yXgbYIg+noExZt$0YgwQ{ry|JSWNqPDM}h8j@6APJ512~>kz)Brv-FCuMS zaVn`nL)47>TmCW2FSq=53~>JxYUcM){l)R_X=U1=`pZTg^57y8s<;6)lY^GOiaI2v zll_)dN98jx3;SC68dUpT7{F7gj_;xNI);~Dd!2$hYnd3pp~ysnE@%~2qDHzIwZ})T z{5EQ9O4s)@uYNwj^H@%i##rz^9|OXgO-ncVj6$h5@{c?1n4OtD&=!hWYRRAS-wl zRdFNg5FJ8|{8!YB%Qy5hOGS0i8&y8j%3rqf9ax_7v#2G%iQ0-1jr7H1u&AwUgh4Gu zM-pl<0`Y{Q z^}vkAzF;tFgtL)VcZ*SnYcIy*1=Qgxn(j|?JO;>Tq6VCe>UchC@AI%6p2A4HhB+A4 zgxTYQChWgD{*ZzScmdVXf3Y~mHT6F-wNNu?g!({bqS}qXikO3Xz$(;?-$nko&-tqa zhBxzPC<;|C5t)l?9<+ifR*-`_G`q}$s3kptZ7`&{|Fvs}I;>q#D>fE2;3tu>yBt(M zyRir!!b{Q$1%wHb5repE^145qh@x-?q9($@^QQx zMKKZi+PZqE2lYh_U>F=N>SgN(kgN%}dR-heTz<#KXT4pffLcC_E{G_)2 zUottUmDz$C*dC0m{KE&=y$)Hw1&#NUS8G71)DXq9dpo ze~)V5?)Q5ZivhAtuqqBfE#-97)-6QUf8EOWpqBnP2JklOdC{4ELM<{`e?7Q21z|V} ztKb9-;0vg;u>ot~c1*<6s67tr=pT@ZWyp6!o$d!w{Z2u(n~VIOxi?V*J&GF0&mCF+ z6CqU2^8Y5g+KD~kM%~VSgw0SZ(G%4$8#TZnj>DD6`E=o3oa1-KWnwx`M=kv(4B%Jh zEz}BC?CQ6wL6AiLQkv7T6cv`5>o9`+W-Nvupl0?dCgCa6TTrx{?|2aEP)@}F&PA=r zI@Ex+VLYBhot@x4yAj*nFI6i{=Eexrd%Fm0;}+D}IE!j{3(H{H9)5)qP%G5b?1qiV zkHC7k47FvS*!`QxfP$_>Pd~C0)M4s_T9FB;k&8U7anGpl+ zw4>?|K&{}^f$YB$ORd6oyK&YG9poFR>HPB;r|5r0G*l$55s{KQ# zfz2^<2eba=C^%>p&zN`cVam%5@gIt5sMEU~1Go=k@v<2@)X%IcMpNDlRj(K7gY~H8 zm!m#BJFWaokc2ua`hdTYfNIde^5e~gs4dxSev2AV$b;Tw)Y1>Y%J@9SVJ_-5-j8bk zqgnPLzhc335^B&FOXDM`8O%Yxl5Pc7z>BC3?qW?$80Kf3h58PRL_KI4#^W;7Qtw2a z`m>e~AMX3FkG1svXOgH$g(+ASpEKV;b+F&^KbaBii^}U@6m~}qcob@&v&8J-R z#QL}eHGqqlfT5%ON+)6+p6?oyP=#S;5H)}m7{INTKWh2wSdH??(SA#spbqg+)NjRP z z;kXoaM%JQMW;g0AokZ>RUDS%kP4M*_qx#Q44Qxn|gqCVD>h;UPMYt5xvCc&QAsUXI z$nQs;jmSyjpesudAzV{WmPX7d4P`W|0|wrIJt+%)+8L1e0(C#_@c& zfP|K2BWh+lP#v8|RScWy^Yu{!?TL|?jq3O*)C?D*>TgDE)hR2#iy`E7EhGM$pW;7g zQW*S(OkLsBa6;>m?m-K6v7yT%E_fPr3q+cXj68o*ZE_FtcZb+;l z-Xxe`F#lh#dX;KWLDyf1TEt(84Fu=wkLyEHeR2AbzLX=lGjgl2;LvG1~Isa!p;~#UH>4;5XY3^I!Zi6Bopz3t{j5xb?*^- z2wiIly|U%$OCPn3#6e;uQJ?5Sc@^Sy(!r(trRxV`GqIaEMLb7jQAyW0j~hU~1nK$2 zt3(sK&l~I(61BhhuT#1IoW3l87gX+Jvsq5S|=Hg=R!M3jR)% zA^jh0kFVfdqA2MH@fjk5^z*1|IMIkmREBFTQJmO8)FZ|dO^7FmiiECY+NWbjWi;~y zCAe~ln)xX{om48gs**lnnRcYFk#2;KVRtK!!c{~kqL#I-VE4*dUfG(Yf5a$kO9bzd z$*>APk-km*N<2X5>g;jv;HN}K>ZVv(Nz(fNhG|4&E1PbXplm(qZdi;MNxC=cT1_la zLi10t!ZzgE6E71-hzgVsL|qL?zlDzzm5B>PytONfJ&0SBb;Uc_gD6Jm8cO_=c!&ri z{(N=QdjE@(?}+8ZeRQzPYE&eB*wXv*UaQi+P+ptBu0o4qtJTdLTP?O?-r8oFVR?l! z1{Th1(P2eci3Taj4N?NBDa{%-%sb!tL}*_19_I@!O6XlTZ(8p%(Rr_q%MHuRe&q4O Kd3&eN3Hv{A-bUL1 delta 8346 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 diff --git a/po/zh_TW.po b/po/zh_TW.po index acb9a966..1e38eced 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.9\n" "Report-Msgid-Bugs-To: kloczek@pld.org.pl\n" -"POT-Creation-Date: 2005-08-11 16:15+0200\n" +"POT-Creation-Date: 2005-10-10 20:33+0200\n" "PO-Revision-Date: 2005-06-02 22:20+0800\n" "Last-Translator: Asho Yeh \n" "Language-Team: Chinese (traditional) \n" @@ -101,6 +101,28 @@ msgstr "∩縑隞嗚" msgid "You have mail." msgstr "冽靽∩辣" +#, fuzzy +msgid "no change" +msgstr "%s嚗⊥寡\n" + +msgid "a palindrome" +msgstr "" + +msgid "case changes only" +msgstr "" + +msgid "too similar" +msgstr "" + +msgid "too simple" +msgstr "" + +msgid "rotated" +msgstr "" + +msgid "too short" +msgstr "" + #, c-format msgid "Bad password: %s. " msgstr "航炊撖蝣潘%s " @@ -139,6 +161,13 @@ msgstr "⊥寧桅%s\n" msgid "Can't change root directory to \"%s\"\n" msgstr "⊥撠寧桅寡算%s\n" +msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +msgstr "" + +#, fuzzy +msgid "Unable to determine your tty name." +msgstr "%s嚗⊥蝣箏函雿輻刻蝔晞\n" + #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) 憭望\n" @@ -253,6 +282,10 @@ msgstr "%s嚗⊥撖蝣潭隞跚n" msgid "%s: unknown user %s\n" msgstr "%s嚗芰乩蝙刻嚗%s\n" +#, fuzzy, c-format +msgid "%s: the shadow password file is not present\n" +msgstr "%s嚗⊥敶勗撖蝣潭隞跚n" + #, c-format msgid "%s: can't lock shadow password file\n" msgstr "%s嚗⊥摰shadow撖蝣潭隞跚n" @@ -261,6 +294,10 @@ msgstr "%s嚗⊥摰shadow撖蝣潭隞跚n" msgid "%s: can't open shadow password file\n" msgstr "%s嚗⊥敶勗撖蝣潭隞跚n" +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "" + #, c-format msgid "Changing the aging information for %s\n" msgstr "甇函 %s 靽格孵僑朣∟珮n" @@ -285,10 +322,6 @@ msgstr "%s嚗⊥撖哀hadow撖蝣潭獢\n" msgid "%s: can't rewrite password file\n" msgstr "%s嚗⊥撖怠蝣潭獢\n" -#, c-format -msgid "%s: PAM chauthtok failed\n" -msgstr "%s嚗PAM chauthtok 憭望\n" - #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -485,10 +518,6 @@ msgstr "%s 舐⊥ shell\n" msgid "Usage: expiry {-f|-c}\n" msgstr "冽嚗expiry {-f|-c}\n" -#, c-format -msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s嚗霅血嚗敹 set-UID root嚗\n" - #, c-format msgid "%s: unknown user\n" msgstr "%s嚗芰乩蝙刻\n" @@ -883,21 +912,22 @@ msgstr "冽嚗id\n" msgid " groups=" msgstr " 蝢斤=" -#, c-format +#, fuzzy, c-format msgid "" "Usage: lastlog [options]\n" "\n" "Options:\n" -" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" +" -b, --before DAYS\tprint only lastlog records older than DAYS\n" " -h, --help\t\tdisplay this help message and exit\n" " -t, --time DAYS\tprint only lastlog records more recent than DAYS\n" +" -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n" msgstr "" "冽嚗lastlog [賊]\n" "\n" "賊嚗\n" -" -u, --user LOGIN\t寞摰 LOGIN 箄府雿輻刻敺甇瑕脰\n" " -h, --help\t\t憿舐內隞質牧摮嗅蝯\n" " -t, --time DAYS\t芸 DAYS 憭拙抒甇瑕脰\n" +" -u, --user LOGIN\t寞摰 LOGIN 箄府雿輻刻敺甇瑕脰\n" #, c-format msgid "Username Port From Latest\n" @@ -958,6 +988,16 @@ msgstr " 兩%.100s銝嚗靘芬%.200s" msgid " on `%.100s'" msgstr "兩%.100s銝" +#, c-format +msgid "login: PAM Failure, aborting: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "" +"\n" +"Login incorrect\n" +msgstr "餃仿航炊" + #, c-format msgid "" "\n" @@ -969,6 +1009,10 @@ msgstr "" msgid "Login incorrect" msgstr "餃仿航炊" +#, c-format +msgid "%s: failure forking: %s" +msgstr "" + msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "霅血嚗函剜怎摰敺撠W儔餃乓\n" @@ -984,6 +1028,11 @@ msgstr "銝甈∠餃伐%.19s %s 銝" msgid " from %.*s" msgstr " 靘 %.*s" +msgid "" +"login time exceeded\n" +"\n" +msgstr "" + #, c-format msgid "Usage: newgrp [-] [group]\n" msgstr "冽嚗newgrp [-] [蝢斤]\n" @@ -1060,24 +1109,32 @@ msgid "%s: error updating files\n" msgstr "%s嚗湔唳獢粹珮n" #, c-format -msgid "Usage: %s [-f|-s] [name]\n" -msgstr "冽嚗%s [-f|-s] [蝔崧\n" - -#, c-format -msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x 憭吞 [-n 撠] [-w 霅血] [-i 憭望] 蝔崤n" - -#, c-format -msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} 蝔崤n" +msgid "" +"Usage: passwd [options] [login]\n" +"\n" +"Options:\n" +" -a, --all \t\t\treport password status on all accounts\n" +" -d, --delete \t\t\tdelete the password for the named account\n" +" -e, --expire\t\t\tforce expire the password for the named account\n" +" -h, --help\t\t\tdisplay this help message and exit\n" +" -k, --keep-tokens\t\tchange password only if expired\n" +" -i, --inactive INACTIVE\tset password inactive after expiration\n" +"\t\t\t\tto INACTIVE\n" +" -l, --lock\t\t\tlock the named account\n" +" -n, --mindays MIN_DAYS\tset minimum number of days before password\n" +"\t\t\t\tchange to MIN_DAYS\n" +" -q, --quiet\t\t\tquiet mode\n" +" -r, --repository REPOSITORY\tchange password in REPOSITORY repository\n" +" -S, --status\t\t\treport password status on the named account\n" +" -u, --unlock\t\t\tunlock the named account\n" +" -w, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n" +" -x, --maxdays MAX_DAYS\tset maximim number of days before password\n" +"\t\t\t\tchange to MAX_DAYS\n" +msgstr "" msgid "Old password: " msgstr "撖蝣潘" -#, c-format -msgid "Incorrect password for `%s'\n" -msgstr "%s撖蝣潔甇蝣暝n" - #, c-format msgid "" "Enter the new password (minimum of %d, maximum of %d characters)\n" @@ -1236,6 +1293,10 @@ msgstr "隢頛詨交刻芸楛撖蝣潔粹閮潦\n" msgid "Sorry." msgstr "望" +#, fuzzy, c-format +msgid "%s: %s\n" +msgstr "passwd嚗%s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s嚗敹敺蝯蝡臭葉瑁\n" @@ -1481,6 +1542,10 @@ msgstr "冽嚗%s [-r] 蝔崤n" msgid "%s: error updating group entry\n" msgstr "%s嚗湔啁黎蝯格粹珮n" +#, fuzzy, c-format +msgid "%s: Cannot remove group %s which is a primary group for another user.\n" +msgstr "%s嚗銝賢芷支蝙刻銝餌黎蝯\n" + #, c-format msgid "%s: cannot open group file\n" msgstr "%s嚗⊥蝢斤瑼獢\n" @@ -1635,35 +1700,5 @@ msgstr "" "vipw 蝺刻摩 /etc/passwd vipw -s 蝺刻摩 /etc/shadow\n" "vigr 蝺刻摩 /etc/group vigr -s 蝺刻摩 /etc/gshadow\n" -#~ msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" -#~ msgstr "冽嚗groupadd [-g gid [-o]] [-f] 蝢斤\n" - -#, fuzzy -#~ msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" -#~ msgstr "冽嚗useradd [-u uid [-o]] [-g 蝢斤] [-G 蝢斤,...] \n" - -#~ msgid "" -#~ " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" -#~ msgstr " [-d 銝餌桅] [-s shell] [-c 瘜券] [-m [-k 璅⊥瓢]\n" - -#~ msgid " [-f inactive] [-e expire]\n" -#~ msgstr " [-f 憭望包 [-e ]\n" - -#, fuzzy -#~ msgid " [-p passwd] [-K KEY=VALUE] name\n" -#~ msgstr " [-p 撖蝣奭 蝔崤n" - -#~ msgid " useradd -D [-g group] [-b base] [-s shell]\n" -#~ msgstr " useradd -D [-g 蝢斤] [-b 銝餌桅] [-s shell]\n" - -#~ msgid "%s: -O requires NAME=VALUE\n" -#~ msgstr "%s嚗-O 閬 NAME=VALUE\n" - -#~ msgid "unknown uid: %u\n" -#~ msgstr "芰亦 uid嚗%u\n" - -#~ msgid "%s: uid %u is not unique\n" -#~ msgstr "%s嚗uid %u 銝臭\n" - -#~ msgid "%s: can't get unique uid\n" -#~ msgstr "%s嚗⊥脣臭 uid\n" +#~ msgid "%s: PAM chauthtok failed\n" +#~ msgstr "%s嚗PAM chauthtok 憭望\n" diff --git a/src/Makefile.am b/src/Makefile.am index ac580c0e..f94bd0ed 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -50,29 +50,30 @@ LDADD = $(top_builddir)/libmisc/libmisc.a \ $(top_builddir)/lib/libshadow.la AM_CPPFLAGS = -DLOCALEDIR=\"$(datadir)/locale\" -chpasswd_LDADD = $(LDADD) $(LIBPAM) -chage_LDADD = $(LDADD) $(LIBPAM) +chage_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) chfn_LDADD = $(LDADD) $(LIBPAM) chsh_SOURCES = \ chsh.c \ chsh_chkshell.c chsh_LDADD = $(LDADD) $(LIBPAM) -groupadd_LDADD = $(LDADD) $(LIBPAM) -groupdel_LDADD = $(LDADD) $(LIBPAM) -groupmod_LDADD = $(LDADD) $(LIBPAM) +chpasswd_LDADD = $(LDADD) $(LIBPAM) +gpasswd_LDADD = $(LDADD) $(LIBAUDIT) +groupadd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) +groupdel_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) +groupmod_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) login_SOURCES = \ login.c \ login_nopam.c login_LDADD = $(LDADD) $(LIBPAM) newusers_LDADD = $(LDADD) $(LIBPAM) -passwd_LDADD = $(LDADD) $(LIBPAM) $(LIBCRACK) +passwd_LDADD = $(LDADD) $(LIBPAM) $(LIBCRACK) $(LIBAUDIT) su_SOURCES = \ su.c \ suauth.c su_LDADD = $(LDADD) $(LIBPAM) -useradd_LDADD = $(LDADD) $(LIBPAM) -userdel_LDADD = $(LDADD) $(LIBPAM) -usermod_LDADD = $(LDADD) $(LIBPAM) +useradd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) +userdel_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) +usermod_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) install-am: all-am $(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am diff --git a/src/Makefile.in b/src/Makefile.in index f2e31474..232bcd44 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -50,7 +50,8 @@ noinst_PROGRAMS = id$(EXEEXT) sulogin$(EXEEXT) subdir = src DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -68,7 +69,8 @@ chage_OBJECTS = chage.$(OBJEXT) am__DEPENDENCIES_1 = $(top_builddir)/libmisc/libmisc.a \ $(top_builddir)/lib/libshadow.la am__DEPENDENCIES_2 = -chage_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) +chage_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \ + $(am__DEPENDENCIES_2) chfn_SOURCES = chfn.c chfn_OBJECTS = chfn.$(OBJEXT) chfn_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) @@ -90,18 +92,19 @@ faillog_DEPENDENCIES = $(top_builddir)/libmisc/libmisc.a \ $(top_builddir)/lib/libshadow.la gpasswd_SOURCES = gpasswd.c gpasswd_OBJECTS = gpasswd.$(OBJEXT) -gpasswd_LDADD = $(LDADD) -gpasswd_DEPENDENCIES = $(top_builddir)/libmisc/libmisc.a \ - $(top_builddir)/lib/libshadow.la +gpasswd_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) groupadd_SOURCES = groupadd.c groupadd_OBJECTS = groupadd.$(OBJEXT) -groupadd_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) +groupadd_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \ + $(am__DEPENDENCIES_2) groupdel_SOURCES = groupdel.c groupdel_OBJECTS = groupdel.$(OBJEXT) -groupdel_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) +groupdel_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \ + $(am__DEPENDENCIES_2) groupmod_SOURCES = groupmod.c groupmod_OBJECTS = groupmod.$(OBJEXT) -groupmod_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) +groupmod_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \ + $(am__DEPENDENCIES_2) groups_SOURCES = groups.c groups_OBJECTS = groups.$(OBJEXT) groups_LDADD = $(LDADD) @@ -151,7 +154,7 @@ newusers_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) passwd_SOURCES = passwd.c passwd_OBJECTS = passwd.$(OBJEXT) passwd_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \ - $(am__DEPENDENCIES_2) + $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2) pwck_SOURCES = pwck.c pwck_OBJECTS = pwck.$(OBJEXT) pwck_LDADD = $(LDADD) @@ -177,13 +180,16 @@ sulogin_DEPENDENCIES = $(top_builddir)/libmisc/libmisc.a \ $(top_builddir)/lib/libshadow.la useradd_SOURCES = useradd.c useradd_OBJECTS = useradd.$(OBJEXT) -useradd_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) +useradd_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \ + $(am__DEPENDENCIES_2) userdel_SOURCES = userdel.c userdel_OBJECTS = userdel.$(OBJEXT) -userdel_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) +userdel_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \ + $(am__DEPENDENCIES_2) usermod_SOURCES = usermod.c usermod_OBJECTS = usermod.$(OBJEXT) -usermod_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) +usermod_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \ + $(am__DEPENDENCIES_2) vipw_SOURCES = vipw.c vipw_OBJECTS = vipw.$(OBJEXT) vipw_LDADD = $(LDADD) @@ -241,6 +247,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@ +ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ @@ -252,6 +260,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ +LIBAUDIT = @LIBAUDIT@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ @@ -291,6 +300,9 @@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ +XMLCATALOG = @XMLCATALOG@ +XML_CATALOG_FILE = @XML_CATALOG_FILE@ +XSLTPROC = @XSLTPROC@ YACC = @YACC@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -350,32 +362,33 @@ LDADD = $(top_builddir)/libmisc/libmisc.a \ $(top_builddir)/lib/libshadow.la AM_CPPFLAGS = -DLOCALEDIR=\"$(datadir)/locale\" -chpasswd_LDADD = $(LDADD) $(LIBPAM) -chage_LDADD = $(LDADD) $(LIBPAM) +chage_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) chfn_LDADD = $(LDADD) $(LIBPAM) chsh_SOURCES = \ chsh.c \ chsh_chkshell.c chsh_LDADD = $(LDADD) $(LIBPAM) -groupadd_LDADD = $(LDADD) $(LIBPAM) -groupdel_LDADD = $(LDADD) $(LIBPAM) -groupmod_LDADD = $(LDADD) $(LIBPAM) +chpasswd_LDADD = $(LDADD) $(LIBPAM) +gpasswd_LDADD = $(LDADD) $(LIBAUDIT) +groupadd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) +groupdel_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) +groupmod_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) login_SOURCES = \ login.c \ login_nopam.c login_LDADD = $(LDADD) $(LIBPAM) newusers_LDADD = $(LDADD) $(LIBPAM) -passwd_LDADD = $(LDADD) $(LIBPAM) $(LIBCRACK) +passwd_LDADD = $(LDADD) $(LIBPAM) $(LIBCRACK) $(LIBAUDIT) su_SOURCES = \ su.c \ suauth.c su_LDADD = $(LDADD) $(LIBPAM) -useradd_LDADD = $(LDADD) $(LIBPAM) -userdel_LDADD = $(LDADD) $(LIBPAM) -usermod_LDADD = $(LDADD) $(LIBPAM) +useradd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) +userdel_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) +usermod_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) all: all-am .SUFFIXES: @@ -389,9 +402,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu src/Makefile + $(AUTOMAKE) --foreign src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/src/chage.c b/src/chage.c index 99f6a361..a110c125 100644 --- a/src/chage.c +++ b/src/chage.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: chage.c,v 1.55 2005/08/09 17:20:02 kloczek Exp $") +#ident "$Id: chage.c,v 1.66 2005/10/04 20:26:41 kloczek Exp $" + #include #include #include @@ -102,7 +102,6 @@ int isnum (const char *s) /* * usage - print command line syntax and exit */ - static void usage (void) { fprintf (stderr, _("Usage: chage [options] user\n" @@ -144,7 +143,6 @@ static void date_to_str (char *buf, size_t maxsize, time_t date) * any other negative value is an error. very large positive values will * be handled elsewhere. */ - static int new_fields (void) { char buf[200]; @@ -225,7 +223,6 @@ static void print_date (time_t date) * values will be displayed as a calendar date, or the word "never" if * the date is 1/1/70, which is day number 0. */ - static void list_fields (void) { long changed = 0; @@ -235,7 +232,6 @@ static void list_fields (void) * The "last change" date is either "never" or the date the password * was last modified. The date is the number of days since 1/1/1970. */ - printf (_("Last password change\t\t\t\t\t: ")); if (lastday <= 0) { printf (_("never\n")); @@ -248,7 +244,6 @@ static void list_fields (void) * The password expiration date is determined from the last change * date plus the number of days the password is valid for. */ - printf (_("Password expires\t\t\t\t\t: ")); if (lastday <= 0 || maxdays >= 10000 * (DAY / SCALE) || maxdays < 0) { @@ -264,7 +259,6 @@ static void list_fields (void) * number of inactive days is added. The resulting date is when the * active will be disabled. */ - printf (_("Password inactive\t\t\t\t\t: ")); if (lastday <= 0 || inactdays < 0 || maxdays >= 10000 * (DAY / SCALE) || maxdays < 0) { @@ -278,7 +272,6 @@ static void list_fields (void) * The account will expire on the given date regardless of the * password expiring or not. */ - printf (_("Account expires\t\t\t\t\t\t: ")); if (expdays < 0) { printf (_("never\n")); @@ -294,7 +287,6 @@ static void list_fields (void) * expires that the user is told, and the number of days after the * password expires that the account becomes unusable. */ - printf (_("Minimum number of days between password change\t\t: %ld\n"), mindays); printf (_("Maximum number of days between password change\t\t: %ld\n"), @@ -366,6 +358,9 @@ int main (int argc, char **argv) int retval; #endif +#ifdef WITH_AUDIT + audit_help_open (); +#endif sanitize_env (); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); @@ -373,7 +368,8 @@ int main (int argc, char **argv) ruid = getuid (); #ifdef WITH_SELINUX - amroot = (ruid == 0 && checkPasswdAccess (PASSWD__ROOTOK) == 0); + amroot = (ruid == 0 + && selinux_check_passwd_access (PASSWD__ROOTOK) == 0); #else amroot = (ruid == 0); #endif @@ -470,6 +466,10 @@ int main (int argc, char **argv) if (!amroot && !lflg) { fprintf (stderr, _("%s: Permission denied.\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change age", NULL, + getuid (), 0); +#endif exit (E_NOPERM); } @@ -537,6 +537,15 @@ int main (int argc, char **argv) pwent = *pw; STRFCPY (name, pwent.pw_name); + if (!spw_file_present ()) { + fprintf (stderr, + _("%s: the shadow password file is not present\n"), + Prog); + SYSLOG ((LOG_ERR, "can't find the shadow password file")); + closelog (); + exit (E_SHADOW_NOTFOUND); + } + /* * For shadow password files we have to lock the file and read in * the entries as was done for the password file. The user entries @@ -549,6 +558,10 @@ int main (int argc, char **argv) cleanup (1); SYSLOG ((LOG_ERR, "failed locking %s", SHADOW_FILE)); closelog (); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change age", name, + getuid (), 0); +#endif exit (E_NOPERM); } if (!spw_open (locks ? O_RDWR : O_RDONLY)) { @@ -557,12 +570,20 @@ int main (int argc, char **argv) cleanup (2); SYSLOG ((LOG_ERR, "failed opening %s", SHADOW_FILE)); closelog (); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change age", name, + getuid (), 0); +#endif exit (E_NOPERM); } if (lflg && (setgid (getgid ()) || setuid (ruid))) { - fprintf (stderr, "%s: failed to drop privileges (%s)\n", + fprintf (stderr, _("%s: failed to drop privileges (%s)\n"), Prog, strerror (errno)); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change age", name, + getuid (), 0); +#endif exit (E_NOPERM); } @@ -572,7 +593,6 @@ int main (int argc, char **argv) * Set the fields that aren't being set from the command line from * the password file. */ - if (sp) { spwd = *sp; @@ -588,6 +608,49 @@ int main (int argc, char **argv) inactdays = spwd.sp_inact; if (!Eflg) expdays = spwd.sp_expire; +#ifdef WITH_AUDIT + if (Mflg) + + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "change max age", pw->pw_name, pw->pw_uid, + 1); + if (mflg) + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "change min age", pw->pw_name, pw->pw_uid, + 1); + if (dflg) { + char new_lastchg[200]; + char old_lastchg[200]; + + date_to_str (new_lastchg, sizeof new_lastchg, + lastday * DAY); + date_to_str (old_lastchg, sizeof old_lastchg, + spwd.sp_lstchg * DAY); + + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "change last change date", pw->pw_name, + pw->pw_uid, 1); + } + if (Wflg) + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "change passwd warning", pw->pw_name, + pw->pw_uid, 1); + if (Iflg) + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "change inactive days", pw->pw_name, + pw->pw_uid, 1); + if (Eflg) { + char new_exp[200]; + char old_exp[200]; + + date_to_str (new_exp, sizeof new_exp, expdays * DAY); + date_to_str (old_exp, sizeof old_exp, + spwd.sp_expire * DAY); + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "change passwd expiration", pw->pw_name, + pw->pw_uid, 1); + } +#endif } /* @@ -597,10 +660,18 @@ int main (int argc, char **argv) if (lflg) { if (!amroot && (ruid != pwent.pw_uid)) { +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change age", + pw->pw_name, pw->pw_uid, 0); +#endif fprintf (stderr, _("%s: Permission denied.\n"), Prog); closelog (); exit (E_NOPERM); } +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "display aging info", + pw->pw_name, pw->pw_uid, 1); +#endif list_fields (); cleanup (2); closelog (); @@ -611,7 +682,6 @@ int main (int argc, char **argv) * If none of the fields were changed from the command line, let the * user interactively change them. */ - if (!mflg && !Mflg && !dflg && !Wflg && !Iflg && !Eflg) { printf (_("Changing the aging information for %s\n"), name); if (!new_fields ()) { @@ -619,15 +689,24 @@ int main (int argc, char **argv) Prog); cleanup (2); closelog (); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change age", + pw->pw_name, getuid (), 0); +#endif exit (E_NOPERM); } +#ifdef WITH_AUDIT + else + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "change all aging information", + pw->pw_name, getuid (), 1); +#endif } /* * There was no shadow entry. The new entry will have the encrypted * password transferred from the normal password file along with the * aging information. */ - if (sp == 0) { sp = &spwd; memzero (&spwd, sizeof spwd); @@ -643,6 +722,10 @@ int main (int argc, char **argv) cleanup (2); SYSLOG ((LOG_ERR, "failed updating %s", PASSWD_FILE)); closelog (); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change age", + pw->pw_name, getuid (), 0); +#endif exit (E_NOPERM); } } @@ -652,7 +735,6 @@ int main (int argc, char **argv) * modified entry back to the shadow file. Closing the shadow and * password files will commit any changes that have been made. */ - spwd.sp_max = maxdays; spwd.sp_min = mindays; spwd.sp_lstchg = lastday; @@ -666,6 +748,10 @@ int main (int argc, char **argv) cleanup (2); SYSLOG ((LOG_ERR, "failed updating %s", SHADOW_FILE)); closelog (); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change age", + pw->pw_name, getuid (), 0); +#endif exit (E_NOPERM); } @@ -679,73 +765,34 @@ int main (int argc, char **argv) cleanup (2); SYSLOG ((LOG_ERR, "failed rewriting %s", SHADOW_FILE)); closelog (); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change age", + pw->pw_name, getuid (), 0); +#endif exit (E_NOPERM); } -#ifdef USE_PAM - retval = PAM_SUCCESS; - - pampw = getpwuid (getuid ()); - if (pampw == NULL) { - retval = PAM_USER_UNKNOWN; - } - - if (retval == PAM_SUCCESS) { - retval = pam_start ("chage", pampw->pw_name, &conv, &pamh); - } - - if (retval == PAM_SUCCESS) { - retval = pam_authenticate (pamh, 0); - if (retval != PAM_SUCCESS) { - pam_end (pamh, retval); - } - } - - if (retval == PAM_SUCCESS) { - retval = pam_acct_mgmt (pamh, 0); - if (retval != PAM_SUCCESS) { - pam_end (pamh, retval); - } - } - - if (retval != PAM_SUCCESS) { - fprintf (stderr, _("%s: PAM authentication failed\n"), Prog); - exit (E_NOPERM); - } -#endif /* USE_PAM */ /* * Close the password file. If any entries were modified, the file * will be re-written. */ - if (!pw_close ()) { fprintf (stderr, _("%s: can't rewrite password file\n"), Prog); cleanup (2); SYSLOG ((LOG_ERR, "failed rewriting %s", PASSWD_FILE)); closelog (); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change age", + pw->pw_name, getuid (), 0); +#endif exit (E_NOPERM); } cleanup (2); SYSLOG ((LOG_INFO, "changed password expiry for %s", name)); #ifdef USE_PAM - if (!lflg) { - if (retval == PAM_SUCCESS) { - retval = pam_chauthtok (pamh, 0); - if (retval != PAM_SUCCESS) { - pam_end (pamh, retval); - } - } - - if (retval != PAM_SUCCESS) { - fprintf (stderr, _("%s: PAM chauthtok failed\n"), Prog); - exit (E_NOPERM); - } - } - if (retval == PAM_SUCCESS) pam_end (pamh, PAM_SUCCESS); - #endif /* USE_PAM */ closelog (); diff --git a/src/chfn.c b/src/chfn.c index 0ce86f33..bff215c7 100644 --- a/src/chfn.c +++ b/src/chfn.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: chfn.c,v 1.31 2005/08/02 13:39:43 kloczek Exp $") +#ident "$Id: chfn.c,v 1.37 2005/10/04 20:25:55 kloczek Exp $" + #include #include #include @@ -77,7 +77,6 @@ static char *copy_field (char *, char *, char *); /* * usage - print command line syntax and exit */ - static void usage (void) { if (amroot) @@ -134,7 +133,6 @@ static int may_change_field (int field) * prompt the user for each of the four fields and fill in the fields from * the user's response, or leave alone if nothing was entered. */ - static void new_fields (void) { printf (_("Enter the new value, or press ENTER for the default\n")); @@ -173,7 +171,6 @@ static void new_fields (void) * out - where to copy the field to * extra - fields with '=' get copied here */ - static char *copy_field (char *in, char *out, char *extra) { char *cp = NULL; @@ -199,6 +196,12 @@ static char *copy_field (char *in, char *out, char *extra) return cp; } +#ifdef USE_PAM +static struct pam_conv conv = { + misc_conv, + NULL +}; +#endif /* USE_PAM */ /* * chfn - change a user's password file information @@ -216,7 +219,6 @@ static char *copy_field (char *in, char *out, char *extra) * * (*) requires root permission to execute. */ - int main (int argc, char **argv) { char *cp; /* temporary character pointer */ @@ -232,6 +234,12 @@ int main (int argc, char **argv) int oflg = 0; /* -o - set other information */ char *user; +#ifdef USE_PAM + pam_handle_t *pamh = NULL; + struct passwd *pampw; + int retval; +#endif + sanitize_env (); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); @@ -241,14 +249,12 @@ int main (int argc, char **argv) * This command behaves different for root and non-root * users. */ - amroot = (getuid () == 0); /* * Get the program name. The program name is used as a * prefix to most error messages. */ - Prog = Basename (argv[0]); OPENLOG ("chfn"); @@ -260,7 +266,6 @@ int main (int argc, char **argv) * environment and must agree with the real UID. Also, the UID will * be checked for any commands which are restricted to root only. */ - while ((flag = getopt (argc, argv, "f:r:w:h:o:")) != EOF) { switch (flag) { case 'f': @@ -317,7 +322,6 @@ int main (int argc, char **argv) * Get the name of the user to check. It is either the command line * name, or the name getlogin() returns. */ - if (optind < argc) { user = argv[optind]; pw = getpwnam (user); @@ -342,7 +346,6 @@ int main (int argc, char **argv) /* * Now we make sure this is a LOCAL password entry for this user ... */ - if (__ispwNIS ()) { char *nis_domain; char *nis_master; @@ -358,7 +361,7 @@ int main (int argc, char **argv) ("%s: `%s' is the NIS master for this client.\n"), Prog, nis_master); } - exit (1); + exit (E_NOPERM); } #endif @@ -366,7 +369,6 @@ int main (int argc, char **argv) * Non-privileged users are only allowed to change the gecos field * if the UID of the user matches the current real UID. */ - if (!amroot && pw->pw_uid != getuid ()) { fprintf (stderr, _("%s: Permission denied.\n"), Prog); closelog (); @@ -377,9 +379,8 @@ int main (int argc, char **argv) * If the UID of the user does not match the current real UID, * check if the change is allowed by SELinux policy. */ - if ((pw->pw_uid != getuid ()) - && (checkPasswdAccess (PASSWD__CHFN) != 0)) { + && (selinux_check_passwd_access (PASSWD__CHFN) != 0)) { fprintf (stderr, _("%s: Permission denied.\n"), Prog); closelog (); exit (E_NOPERM); @@ -393,17 +394,45 @@ int main (int argc, char **argv) * any changes can be made. Idea from util-linux chfn/chsh. * --marekm */ - if (!amroot && getdef_bool ("CHFN_AUTH")) passwd_check (pw->pw_name, pw->pw_passwd, "chfn"); -#endif /* !USE_PAM */ +#else /* !USE_PAM */ + retval = PAM_SUCCESS; + + pampw = getpwuid (getuid ()); + if (pampw == NULL) { + retval = PAM_USER_UNKNOWN; + } + + if (retval == PAM_SUCCESS) { + retval = pam_start ("chfn", pampw->pw_name, &conv, &pamh); + } + + if (retval == PAM_SUCCESS) { + retval = pam_authenticate (pamh, 0); + if (retval != PAM_SUCCESS) { + pam_end (pamh, retval); + } + } + + if (retval == PAM_SUCCESS) { + retval = pam_acct_mgmt (pamh, 0); + if (retval != PAM_SUCCESS) { + pam_end (pamh, retval); + } + } + + if (retval != PAM_SUCCESS) { + fprintf (stderr, _("%s: PAM authentication failed\n"), Prog); + exit (E_NOPERM); + } +#endif /* USE_PAM */ /* * Now get the full name. It is the first comma separated field in * the GECOS field. */ - STRFCPY (old_gecos, pw->pw_gecos); cp = copy_field (old_gecos, fflg ? (char *) 0 : fullnm, slop); @@ -411,21 +440,18 @@ int main (int argc, char **argv) * Now get the room number. It is the next comma separated field, * if there is indeed one. */ - if (cp) cp = copy_field (cp, rflg ? (char *) 0 : roomno, slop); /* * Now get the work phone number. It is the third field. */ - if (cp) cp = copy_field (cp, wflg ? (char *) 0 : workph, slop); /* * Now get the home phone number. It is the fourth field. */ - if (cp) cp = copy_field (cp, hflg ? (char *) 0 : homeph, slop); @@ -454,44 +480,43 @@ int main (int argc, char **argv) if (valid_field (fullnm, ":,=")) { fprintf (stderr, _("%s: invalid name: \"%s\"\n"), Prog, fullnm); closelog (); - exit (1); + exit (E_NOPERM); } if (valid_field (roomno, ":,=")) { fprintf (stderr, _("%s: invalid room number: \"%s\"\n"), Prog, roomno); closelog (); - exit (1); + exit (E_NOPERM); } if (valid_field (workph, ":,=")) { fprintf (stderr, _("%s: invalid work phone: \"%s\"\n"), Prog, workph); closelog (); - exit (1); + exit (E_NOPERM); } if (valid_field (homeph, ":,=")) { fprintf (stderr, _("%s: invalid home phone: \"%s\"\n"), Prog, homeph); closelog (); - exit (1); + exit (E_NOPERM); } if (valid_field (slop, ":")) { fprintf (stderr, _("%s: \"%s\" contains illegal characters\n"), Prog, slop); closelog (); - exit (1); + exit (E_NOPERM); } /* * Build the new GECOS field by plastering all the pieces together, * if they will fit ... */ - if (strlen (fullnm) + strlen (roomno) + strlen (workph) + strlen (homeph) + strlen (slop) > (unsigned int) 80) { fprintf (stderr, _("%s: fields too long\n"), Prog); closelog (); - exit (1); + exit (E_NOPERM); } snprintf (new_gecos, sizeof new_gecos, "%s,%s,%s,%s%s%s", fullnm, roomno, workph, homeph, slop[0] ? "," : "", slop); @@ -502,12 +527,11 @@ int main (int argc, char **argv) * against unexpected signals. Any keyboard signals are set to be * ignored. */ - if (setuid (0)) { fprintf (stderr, _("Cannot change ID to root.\n")); SYSLOG ((LOG_ERR, "can't setuid(0)")); closelog (); - exit (1); + exit (E_NOPERM); } pwd_init (); @@ -515,21 +539,20 @@ int main (int argc, char **argv) * The passwd entry is now ready to be committed back to the * password file. Get a lock on the file and open it. */ - if (!pw_lock ()) { fprintf (stderr, _ ("Cannot lock the password file; try again later.\n")); SYSLOG ((LOG_WARN, "can't lock /etc/passwd")); closelog (); - exit (1); + exit (E_NOPERM); } if (!pw_open (O_RDWR)) { fprintf (stderr, _("Cannot open the password file.\n")); pw_unlock (); SYSLOG ((LOG_ERR, "can't open /etc/passwd")); closelog (); - exit (1); + exit (E_NOPERM); } /* @@ -543,7 +566,7 @@ int main (int argc, char **argv) pw_unlock (); fprintf (stderr, _("%s: %s not found in /etc/passwd\n"), Prog, user); - exit (1); + exit (E_NOPERM); } /* @@ -562,7 +585,7 @@ int main (int argc, char **argv) pw_unlock (); SYSLOG ((LOG_ERR, "error updating passwd entry")); closelog (); - exit (1); + exit (E_NOPERM); } /* @@ -573,18 +596,23 @@ int main (int argc, char **argv) pw_unlock (); SYSLOG ((LOG_ERR, "can't rewrite /etc/passwd")); closelog (); - exit (1); + exit (E_NOPERM); } if (!pw_unlock ()) { fprintf (stderr, _("Cannot unlock the password file.\n")); SYSLOG ((LOG_ERR, "can't unlock /etc/passwd")); closelog (); - exit (1); + exit (E_NOPERM); } SYSLOG ((LOG_INFO, "changed user `%s' information", user)); nscd_flush_cache ("passwd"); +#ifdef USE_PAM + if (retval == PAM_SUCCESS) + pam_end (pamh, PAM_SUCCESS); +#endif /* USE_PAM */ + closelog (); exit (E_SUCCESS); } diff --git a/src/chpasswd.c b/src/chpasswd.c index 052da98c..a44296f3 100644 --- a/src/chpasswd.c +++ b/src/chpasswd.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: chpasswd.c,v 1.29 2005/08/11 16:23:34 kloczek Exp $") +#ident "$Id: chpasswd.c,v 1.33 2005/10/04 21:05:12 kloczek Exp $" + #include #include #include @@ -40,10 +40,10 @@ RCSID (PKG_VER "$Id: chpasswd.c,v 1.29 2005/08/11 16:23:34 kloczek Exp $") #include #include #endif /* USE_PAM */ -#include "prototypes.h" #include "defines.h" -#include "pwio.h" #include "nscd.h" +#include "prototypes.h" +#include "pwio.h" #include "shadowio.h" /* * Global variables @@ -60,7 +60,6 @@ static void usage (void); /* * usage - display usage message and exit */ - static void usage (void) { fprintf (stderr, _("Usage: chpasswd [options]\n" @@ -178,7 +177,6 @@ int main (int argc, char **argv) * Lock the password file and open it for reading. This will bring * all of the entries into memory where they may be updated. */ - if (!pw_lock ()) { fprintf (stderr, _("%s: can't lock password file\n"), Prog); exit (1); @@ -214,7 +212,6 @@ int main (int argc, char **argv) * last change date is set in the age only if aging information is * present. */ - while (fgets (buf, sizeof buf, stdin) != (char *) 0) { line++; if ((cp = strrchr (buf, '\n'))) { @@ -260,7 +257,6 @@ int main (int argc, char **argv) * Get the password file entry for this user. The user must * already exist. */ - pw = pw_locate (name); if (!pw) { fprintf (stderr, @@ -279,7 +275,6 @@ int main (int argc, char **argv) * user's password file entry and the last password change * date is set to the current date. */ - if (sp) { newsp = *sp; newsp.sp_pwdp = cp; @@ -294,7 +289,6 @@ int main (int argc, char **argv) * be written to the password file later, after all the * other entries have been updated as well. */ - if (sp) ok = spw_update (&newsp); else @@ -317,7 +311,6 @@ int main (int argc, char **argv) * changes to be written out all at once, and then unlocked * afterwards. */ - if (errors) { fprintf (stderr, _("%s: error detected, changes ignored\n"), Prog); @@ -345,18 +338,6 @@ int main (int argc, char **argv) pw_unlock (); #ifdef USE_PAM - if (retval == PAM_SUCCESS) { - retval = pam_chauthtok (pamh, 0); - if (retval != PAM_SUCCESS) { - pam_end (pamh, retval); - } - } - - if (retval != PAM_SUCCESS) { - fprintf (stderr, _("%s: PAM chauthtok failed\n"), Prog); - exit (1); - } - if (retval == PAM_SUCCESS) pam_end (pamh, PAM_SUCCESS); #endif /* USE_PAM */ diff --git a/src/chsh.c b/src/chsh.c index 0bac6883..f6cf2431 100644 --- a/src/chsh.c +++ b/src/chsh.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: chsh.c,v 1.30 2005/07/24 15:22:45 kloczek Exp $") +#ident "$Id: chsh.c,v 1.35 2005/10/04 21:02:22 kloczek Exp $" + #include #include #include @@ -56,7 +56,9 @@ RCSID (PKG_VER "$Id: chsh.c,v 1.30 2005/07/24 15:22:45 kloczek Exp $") #ifndef SHELLS_FILE #define SHELLS_FILE "/etc/shells" #endif -/* global variables */ +/* + * Global variables + */ static char *Prog; /* Program name */ static int amroot; /* Real UID is root */ static char loginsh[BUFSIZ]; /* Name of new login shell */ @@ -71,7 +73,6 @@ static int restricted_shell (const char *); /* * usage - print command line syntax and exit */ - static void usage (void) { fprintf (stderr, _("Usage: %s [-s shell] [name]\n"), Prog); @@ -84,7 +85,6 @@ static void usage (void) * prompt the user for the login shell and change it according to the * response, or leave it alone if nothing was entered. */ - static void new_fields (void) { printf (_("Enter the new value, or press ENTER for the default\n")); @@ -97,7 +97,6 @@ static void new_fields (void) * If the first letter of the filename is 'r' or 'R', the shell is * considered to be restricted. */ - static int restricted_shell (const char *sh) { /* @@ -108,6 +107,12 @@ static int restricted_shell (const char *sh) return !check_shell (sh); } +#ifdef USE_PAM +static struct pam_conv conv = { + misc_conv, + NULL +}; +#endif /* USE_PAM */ /* * chsh - this command controls changes to the user's shell @@ -115,7 +120,6 @@ static int restricted_shell (const char *sh) * The only supported option is -s which permits the the login shell to * be set from the command line. */ - int main (int argc, char **argv) { char *user; /* User name */ @@ -124,6 +128,12 @@ int main (int argc, char **argv) const struct passwd *pw; /* Password entry from /etc/passwd */ struct passwd pwent; /* New password entry */ +#ifdef USE_PAM + pam_handle_t *pamh = NULL; + struct passwd *pampw; + int retval; +#endif + sanitize_env (); setlocale (LC_ALL, ""); @@ -133,14 +143,12 @@ int main (int argc, char **argv) /* * This command behaves different for root and non-root users. */ - amroot = getuid () == 0; /* * Get the program name. The program name is used as a prefix to * most error messages. */ - Prog = Basename (argv[0]); OPENLOG ("chsh"); @@ -165,7 +173,6 @@ int main (int argc, char **argv) * There should be only one remaining argument at most and it should * be the user's name. */ - if (argc > optind + 1) usage (); @@ -173,7 +180,6 @@ int main (int argc, char **argv) * Get the name of the user to check. It is either the command line * name, or the name getlogin() returns. */ - if (optind < argc) { user = argv[optind]; pw = getpwnam (user); @@ -198,7 +204,6 @@ int main (int argc, char **argv) /* * Now we make sure this is a LOCAL password entry for this user ... */ - if (__ispwNIS ()) { char *nis_domain; char *nis_master; @@ -222,7 +227,6 @@ int main (int argc, char **argv) * Non-privileged users are only allowed to change the shell if the * UID of the user matches the current real UID. */ - if (!amroot && pw->pw_uid != getuid ()) { SYSLOG ((LOG_WARN, "can't change shell for `%s'", user)); closelog (); @@ -235,7 +239,6 @@ int main (int argc, char **argv) * Non-privileged users are only allowed to change the shell if it * is not a restricted one. */ - if (!amroot && restricted_shell (pw->pw_shell)) { SYSLOG ((LOG_WARN, "can't change shell for `%s'", user)); closelog (); @@ -248,9 +251,8 @@ int main (int argc, char **argv) * If the UID of the user does not match the current real UID, * check if the change is allowed by SELinux policy. */ - if ((pw->pw_uid != getuid ()) - && (checkPasswdAccess (PASSWD__CHSH) != 0)) { + && (selinux_check_passwd_access (PASSWD__CHSH) != 0)) { SYSLOG ((LOG_WARN, "can't change shell for `%s'", user)); closelog (); fprintf (stderr, @@ -266,17 +268,45 @@ int main (int argc, char **argv) * before any changes can be made. Idea from util-linux * chfn/chsh. --marekm */ - if (!amroot && getdef_bool ("CHSH_AUTH")) passwd_check (pw->pw_name, pw->pw_passwd, "chsh"); -#endif /* !USE_PAM */ +#else /* !USE_PAM */ + retval = PAM_SUCCESS; + + pampw = getpwuid (getuid ()); + if (pampw == NULL) { + retval = PAM_USER_UNKNOWN; + } + + if (retval == PAM_SUCCESS) { + retval = pam_start ("chsh", pampw->pw_name, &conv, &pamh); + } + + if (retval == PAM_SUCCESS) { + retval = pam_authenticate (pamh, 0); + if (retval != PAM_SUCCESS) { + pam_end (pamh, retval); + } + } + + if (retval == PAM_SUCCESS) { + retval = pam_acct_mgmt (pamh, 0); + if (retval != PAM_SUCCESS) { + pam_end (pamh, retval); + } + } + + if (retval != PAM_SUCCESS) { + fprintf (stderr, _("%s: PAM authentication failed\n"), Prog); + exit (E_NOPERM); + } +#endif /* USE_PAM */ /* * Now get the login shell. Either get it from the password * file, or use the value from the command line. */ - if (!sflg) STRFCPY (loginsh, pw->pw_shell); @@ -284,7 +314,6 @@ int main (int argc, char **argv) * If the login shell was not set on the command line, let the user * interactively change it. */ - if (!sflg) { printf (_("Changing the login shell for %s\n"), user); new_fields (); @@ -296,7 +325,6 @@ int main (int argc, char **argv) * users are restricted to using the shells in /etc/shells. * The shell must be executable by the user. */ - if (valid_field (loginsh, ":,=")) { fprintf (stderr, _("%s: Invalid entry: %s\n"), Prog, loginsh); closelog (); @@ -314,7 +342,6 @@ int main (int argc, char **argv) * to root to protect against unexpected signals. Any * keyboard signals are set to be ignored. */ - if (setuid (0)) { SYSLOG ((LOG_ERR, "can't setuid(0)")); closelog (); @@ -327,7 +354,6 @@ int main (int argc, char **argv) * The passwd entry is now ready to be committed back to * the password file. Get a lock on the file and open it. */ - if (!pw_lock ()) { SYSLOG ((LOG_WARN, "can't lock /etc/passwd")); closelog (); @@ -369,7 +395,6 @@ int main (int argc, char **argv) * Update the passwd file entry. If there is a DBM file, update * that entry as well. */ - if (!pw_update (&pwent)) { SYSLOG ((LOG_ERR, "error updating passwd entry")); closelog (); @@ -381,7 +406,6 @@ int main (int argc, char **argv) /* * Changes have all been made, so commit them and unlock the file. */ - if (!pw_close ()) { SYSLOG ((LOG_ERR, "can't rewrite /etc/passwd")); closelog (); @@ -399,6 +423,11 @@ int main (int argc, char **argv) nscd_flush_cache ("passwd"); +#ifdef USE_PAM + if (retval == PAM_SUCCESS) + pam_end (pamh, PAM_SUCCESS); +#endif /* USE_PAM */ + closelog (); exit (E_SUCCESS); } diff --git a/src/chsh_chkshell.c b/src/chsh_chkshell.c index 7e162db4..ac9195e2 100644 --- a/src/chsh_chkshell.c +++ b/src/chsh_chkshell.c @@ -29,13 +29,13 @@ #include -#include "rcsid.h" -RCSID ("$Id: chsh_chkshell.c,v 1.1 2005/07/07 08:40:27 kloczek Exp $") -#include -#include +#ident "$Id: chsh_chkshell.c,v 1.3 2005/08/31 17:25:00 kloczek Exp $" + #include -#include "prototypes.h" +#include +#include #include "defines.h" +#include "prototypes.h" #ifndef SHELLS_FILE #define SHELLS_FILE "/etc/shells" #endif diff --git a/src/expiry.c b/src/expiry.c index 3525aae6..3cc953b1 100644 --- a/src/expiry.c +++ b/src/expiry.c @@ -29,14 +29,14 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: expiry.c,v 1.14 2005/05/25 18:20:25 kloczek Exp $") -#include +#ident "$Id: expiry.c,v 1.18 2005/09/07 15:00:45 kloczek Exp $" + +#include #include #include -#include "prototypes.h" +#include #include "defines.h" -#include +#include "prototypes.h" /* local function prototypes */ static RETSIGTYPE catch (int); static void usage (void); @@ -44,7 +44,6 @@ static void usage (void); /* * catch - signal catcher */ - static RETSIGTYPE catch (int sig) { exit (10); @@ -53,7 +52,6 @@ static RETSIGTYPE catch (int sig) /* * usage - print syntax message and exit */ - static void usage (void) { fprintf (stderr, _("Usage: expiry {-f|-c}\n")); @@ -66,7 +64,6 @@ static void usage (void) * expiry checks (-c) the current password expiraction and forces (-f) * changes when required. It is callable as a normal user command. */ - int main (int argc, char **argv) { struct passwd *pwd; @@ -79,7 +76,6 @@ int main (int argc, char **argv) /* * Start by disabling all of the keyboard signals. */ - signal (SIGHUP, catch); signal (SIGINT, catch); signal (SIGQUIT, catch); @@ -91,7 +87,6 @@ int main (int argc, char **argv) * expiry takes one of two arguments. The default action is to give * the usage message. */ - setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); @@ -99,23 +94,9 @@ int main (int argc, char **argv) if (argc != 2 || (strcmp (argv[1], "-f") && strcmp (argv[1], "-c"))) usage (); -#if 0 /* could be setgid shadow with /etc/shadow mode 0640 */ - /* - * Make sure I am root. Can't open /etc/shadow without root - * authority. - */ - - if (geteuid () != 0) { - fprintf (stderr, - _("%s: WARNING! Must be set-UID root!\n"), argv[0]); - exit (10); - } -#endif - /* * Get user entries for /etc/passwd and /etc/shadow */ - if (!(pwd = get_my_pwent ())) { fprintf (stderr, _("%s: unknown user\n"), Prog); exit (10); @@ -125,26 +106,22 @@ int main (int argc, char **argv) /* * If checking accounts, use agecheck() function. */ - if (strcmp (argv[1], "-c") == 0) { /* * Print out number of days until expiration. */ - agecheck (pwd, spwd); /* * Exit with status indicating state of account. */ - exit (isexpired (pwd, spwd)); } /* * If forcing password change, use expire() function. */ - if (strcmp (argv[1], "-f") == 0) { /* @@ -152,7 +129,6 @@ int main (int argc, char **argv) * message indicating what to do. And it doesn't return at * all unless the account is unexpired. */ - expire (pwd, spwd); exit (0); } @@ -160,7 +136,6 @@ int main (int argc, char **argv) /* * Can't get here ... */ - usage (); exit (1); } diff --git a/src/faillog.c b/src/faillog.c index aa8967a0..dc1ee335 100644 --- a/src/faillog.c +++ b/src/faillog.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: faillog.c,v 1.24 2005/08/03 17:40:59 kloczek Exp $") +#ident "$Id: faillog.c,v 1.26 2005/08/31 17:25:00 kloczek Exp $" + #include #include #include @@ -41,7 +41,9 @@ RCSID (PKG_VER "$Id: faillog.c,v 1.24 2005/08/03 17:40:59 kloczek Exp $") #include "exitcodes.h" #include "faillog.h" #include "prototypes.h" -/* global variables */ +/* + * Global variables + */ static FILE *fail; /* failure file stream */ static uid_t user; /* one single user, specified on command line */ static int days; /* number of days to consider for print command */ diff --git a/src/gpasswd.c b/src/gpasswd.c index 97f4c704..fc7675f4 100644 --- a/src/gpasswd.c +++ b/src/gpasswd.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: gpasswd.c,v 1.28 2005/08/09 15:27:51 kloczek Exp $") +#ident "$Id: gpasswd.c,v 1.34 2005/09/07 15:00:45 kloczek Exp $" + #include #include #include @@ -45,7 +45,9 @@ RCSID (PKG_VER "$Id: gpasswd.c,v 1.28 2005/08/09 15:27:51 kloczek Exp $") #ifdef SHADOWGRP #include "sgroupio.h" #endif -/* global variables */ +/* + * Global variables + */ static char *Prog; #ifdef SHADOWGRP @@ -55,6 +57,8 @@ static int is_shadowgrp; static int aflg = 0, Aflg = 0, dflg = 0, Mflg = 0, rflg = 0, Rflg = 0; +unsigned int bywho = -1; + #ifndef RETRIES #define RETRIES 3 #endif @@ -67,7 +71,6 @@ static int check_list (const char *); /* * usage - display usage message */ - static void usage (void) { fprintf (stderr, _("Usage: %s [-r|-R] group\n"), Prog); @@ -89,7 +92,6 @@ static void usage (void) * with die() as the signal handler. If signal later calls die() with a * signal number, the terminal modes are then reset. */ - static RETSIGTYPE die (int killed) { static TERMIO sgtty; @@ -112,7 +114,6 @@ static RETSIGTYPE die (int killed) * check_list scans a comma-separated list of user names and checks * that each listed name exists. */ - static int check_list (const char *users) { const char *start, *end; @@ -146,13 +147,11 @@ static int check_list (const char *users) return errors; } - static void failure (void) { fprintf (stderr, _("%s: Permission denied.\n"), Prog); exit (1); - /*NOTREACHED*/} - +} /* * gpasswd - administer the /etc/group file @@ -164,7 +163,6 @@ static void failure (void) * -A user,... make list of users the administrative users * -M user,... make list of users the group members */ - int main (int argc, char **argv) { int flag; @@ -186,6 +184,10 @@ int main (int argc, char **argv) char *group = NULL; char *members = NULL; +#ifdef WITH_AUDIT + audit_help_open (); +#endif + sanitize_env (); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); @@ -198,8 +200,8 @@ int main (int argc, char **argv) * prevent the invoker from issuing signals which would interfer * with this command. */ - amroot = getuid () == 0; + bywho = getuid (); Prog = Basename (argv[0]); OPENLOG ("gpasswd"); @@ -217,14 +219,24 @@ int main (int argc, char **argv) fprintf (stderr, _("%s: unknown user %s\n"), Prog, user); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "adding to group", user, -1, 0); +#endif exit (1); } aflg++; break; #ifdef SHADOWGRP case 'A': - if (!amroot) + if (!amroot) { +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "Listing administrators", NULL, + bywho, 0); +#endif failure (); + } if (!is_shadowgrp) { fprintf (stderr, _ @@ -245,8 +257,14 @@ int main (int argc, char **argv) case 'g': /* no-op from normal password */ break; case 'M': - if (!amroot) + if (!amroot) { +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "listing members", NULL, bywho, + 0); +#endif failure (); + } members = optarg; if (check_list (members)) exit (1); @@ -280,7 +298,11 @@ int main (int argc, char **argv) pw = get_my_pwent (); if (!pw) { fprintf (stderr, _("Who are you?\n")); - exit (1); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "user lookup", NULL, + bywho, 0); +#endif + failure (); } myname = xstrdup (pw->pw_name); @@ -293,13 +315,16 @@ int main (int argc, char **argv) * XXX - should get the entry using gr_locate() and modify that, * getgrnam() could give us a NIS group. --marekm */ - if (!(group = argv[optind])) usage (); if (!(gr = getgrnam (group))) { fprintf (stderr, _("unknown group: %s\n"), group); - exit (1); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "group lookup", group, + -1, 0); +#endif + failure (); } grent = *gr; grent.gr_name = xstrdup (gr->gr_name); @@ -339,9 +364,13 @@ int main (int argc, char **argv) * Administrative members can do anything to a group that the root * user can. */ - - if (!amroot && !is_on_list (sgent.sg_adm, myname)) + if (!amroot && !is_on_list (sgent.sg_adm, myname)) { +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "modify group", group, + -1, 0); +#endif failure (); + } #else /* ! SHADOWGRP */ #ifdef FIRST_MEMBER_IS_ADMIN @@ -352,13 +381,22 @@ int main (int argc, char **argv) * the root user can. The rationale for this hack is that the FIRST * user is probably the most important user in this entire group. */ - if (!amroot) { - if (grent.gr_mem[0] == (char *) 0) + if (grent.gr_mem[0] == (char *) 0) { +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "modifying group", group, -1, 0); +#endif failure (); + } - if (strcmp (grent.gr_mem[0], myname) != 0) + if (strcmp (grent.gr_mem[0], myname) != 0) { +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "modifying group", myname, -1, 0); +#endif failure (); + } } #else /* @@ -366,9 +404,13 @@ int main (int argc, char **argv) * installed on existing systems where the first group member might * be just a normal user. --marekm */ - - if (!amroot) + if (!amroot) { +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "modifying group", + group, -1, 0); +#endif failure (); + } #endif #endif /* SHADOWGRP */ @@ -377,11 +419,14 @@ int main (int argc, char **argv) * Removing a password is straight forward. Just set the password * field to a "". */ - if (rflg) { grent.gr_passwd = ""; /* XXX warning: const */ #ifdef SHADOWGRP sgent.sg_passwd = ""; /* XXX warning: const */ +#endif +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "deleting group password", group, -1, 1); #endif SYSLOG ((LOG_INFO, "remove password from group %s by %s", group, myname)); @@ -391,10 +436,13 @@ int main (int argc, char **argv) * Same thing for restricting the group. Set the password * field to "!". */ - grent.gr_passwd = "!"; /* XXX warning: const */ #ifdef SHADOWGRP sgent.sg_passwd = "!"; /* XXX warning: const */ +#endif +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "restrict access to group", group, -1, 1); #endif SYSLOG ((LOG_INFO, "restrict access to group %s by %s", group, myname)); @@ -405,12 +453,15 @@ int main (int argc, char **argv) * Adding a member to a member list is pretty straightforward as * well. Call the appropriate routine and split. */ - if (aflg) { printf (_("Adding user %s to group %s\n"), user, group); grent.gr_mem = add_list (grent.gr_mem, user); #ifdef SHADOWGRP sgent.sg_mem = add_list (sgent.sg_mem, user); +#endif +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding group member", + user, -1, 1); #endif SYSLOG ((LOG_INFO, "add member %s to group %s by %s", user, group, myname)); @@ -421,7 +472,6 @@ int main (int argc, char **argv) * Removing a member from the member list is the same deal as adding * one, except the routine is different. */ - if (dflg) { int removed = 0; @@ -440,8 +490,16 @@ int main (int argc, char **argv) if (!removed) { fprintf (stderr, _("%s: unknown member %s\n"), Prog, user); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "deleting member", user, -1, 0); +#endif exit (1); } +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting member", + user, -1, 1); +#endif SYSLOG ((LOG_INFO, "remove member %s from group %s by %s", user, group, myname)); goto output; @@ -452,8 +510,11 @@ int main (int argc, char **argv) * list to make sure everyone is a real user. Then slap the new list * in place. */ - if (Aflg) { +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "setting group admin", + group, -1, 1); +#endif SYSLOG ((LOG_INFO, "set administrators of %s to %s", group, admins)); sgent.sg_adm = comma_to_list (admins); @@ -467,8 +528,11 @@ int main (int argc, char **argv) * make sure everyone is a real user. Then slap the new list in * place. */ - if (Mflg) { +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "setting group members", group, -1, 1); +#endif SYSLOG ((LOG_INFO, "set members of %s to %s", group, members)); #ifdef SHADOWGRP sgent.sg_mem = comma_to_list (members); @@ -482,9 +546,12 @@ int main (int argc, char **argv) * be a tty. The typical keyboard signals are caught so the termio * modes can be restored. */ - if (!isatty (0) || !isatty (1)) { fprintf (stderr, _("%s: Not a tty\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing password", + group, -1, 0); +#endif exit (1); } @@ -504,7 +571,6 @@ int main (int argc, char **argv) * identical. There is no need to validate the old password since * the invoker is either the group owner, or root. */ - printf (_("Changing the password for group %s\n"), group); for (retries = 0; retries < RETRIES; retries++) { @@ -524,8 +590,13 @@ int main (int argc, char **argv) strzero (cp); memzero (pass, sizeof pass); - if (retries + 1 < RETRIES) + if (retries + 1 < RETRIES) { puts (_("They don't match; try again")); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "changing password", group, -1, 0); +#endif + } } if (retries == RETRIES) { @@ -541,6 +612,10 @@ int main (int argc, char **argv) else #endif grent.gr_passwd = cp; +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing password", group, + -1, 1); +#endif SYSLOG ((LOG_INFO, "change the password for group %s by %s", group, myname)); @@ -550,11 +625,14 @@ int main (int argc, char **argv) * will be locked and opened for writing. The new entry will be * output, etc. */ - output: if (setuid (0)) { fprintf (stderr, _("Cannot change ID to root.\n")); SYSLOG ((LOG_ERR, "can't setuid(0)")); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing id to root", + group, -1, 0); +#endif closelog (); exit (1); } @@ -563,48 +641,80 @@ int main (int argc, char **argv) if (!gr_lock ()) { fprintf (stderr, _("%s: can't get lock\n"), Prog); SYSLOG ((LOG_WARN, "failed to get lock for /etc/group")); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "locking /etc/group", + group, -1, 0); +#endif exit (1); } #ifdef SHADOWGRP if (is_shadowgrp && !sgr_lock ()) { fprintf (stderr, _("%s: can't get shadow lock\n"), Prog); SYSLOG ((LOG_WARN, "failed to get lock for /etc/gshadow")); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "locking /etc/gshadow", group, -1, 0); +#endif exit (1); } #endif if (!gr_open (O_RDWR)) { fprintf (stderr, _("%s: can't open file\n"), Prog); SYSLOG ((LOG_WARN, "cannot open /etc/group")); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "opening /etc/group", + group, -1, 0); +#endif exit (1); } #ifdef SHADOWGRP if (is_shadowgrp && !sgr_open (O_RDWR)) { fprintf (stderr, _("%s: can't open shadow file\n"), Prog); SYSLOG ((LOG_WARN, "cannot open /etc/gshadow")); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "opening /etc/gshadow", group, -1, 0); +#endif exit (1); } #endif if (!gr_update (&grent)) { fprintf (stderr, _("%s: can't update entry\n"), Prog); SYSLOG ((LOG_WARN, "cannot update /etc/group")); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "updating /etc/group", + group, -1, 0); +#endif exit (1); } #ifdef SHADOWGRP if (is_shadowgrp && !sgr_update (&sgent)) { fprintf (stderr, _("%s: can't update shadow entry\n"), Prog); SYSLOG ((LOG_WARN, "cannot update /etc/gshadow")); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "updating /etc/gshadow", group, -1, 0); +#endif exit (1); } #endif if (!gr_close ()) { fprintf (stderr, _("%s: can't re-write file\n"), Prog); SYSLOG ((LOG_WARN, "cannot re-write /etc/group")); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "rewriting /etc/group", group, -1, 0); +#endif exit (1); } #ifdef SHADOWGRP if (is_shadowgrp && !sgr_close ()) { fprintf (stderr, _("%s: can't re-write shadow file\n"), Prog); SYSLOG ((LOG_WARN, "cannot re-write /etc/gshadow")); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "rewriting /etc/gshadow", group, -1, 0); +#endif exit (1); } if (is_shadowgrp) @@ -612,6 +722,10 @@ int main (int argc, char **argv) #endif if (!gr_unlock ()) { fprintf (stderr, _("%s: can't unlock file\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "unlocking group file", group, -1, 0); +#endif exit (1); } diff --git a/src/groupadd.c b/src/groupadd.c index d42b3ec0..f7c3d07d 100644 --- a/src/groupadd.c +++ b/src/groupadd.c @@ -29,25 +29,25 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: groupadd.c,v 1.41 2005/08/11 13:45:41 kloczek Exp $") -#include -#include -#include -#include +#ident "$Id: groupadd.c,v 1.48 2005/10/04 21:05:12 kloczek Exp $" + #include #include +#include +#include +#include +#include #ifdef USE_PAM #include #include #include #endif /* USE_PAM */ -#include "defines.h" -#include "prototypes.h" #include "chkname.h" +#include "defines.h" #include "getdef.h" #include "groupio.h" #include "nscd.h" +#include "prototypes.h" #ifdef SHADOWGRP #include "sgroupio.h" static int is_shadow_grp; @@ -56,7 +56,6 @@ static int is_shadow_grp; /* * exit status values */ - #define E_SUCCESS 0 /* success */ #define E_USAGE 2 /* invalid command syntax */ #define E_BAD_ARG 3 /* invalid argument to option */ @@ -64,6 +63,9 @@ static int is_shadow_grp; #define E_NAME_IN_USE 9 /* group name not unique */ #define E_GRP_UPDATE 10 /* can't update group file */ +/* + * Global variables + */ static char *group_name; static gid_t group_id; static char *empty_list = NULL; @@ -92,7 +94,6 @@ static void fail_exit (int); /* * usage - display usage message and exit */ - static void usage (void) { fprintf (stderr, _("Usage: groupadd [options] group\n" @@ -114,7 +115,6 @@ static void usage (void) * new_grent() takes all of the values that have been entered and fills * in a (struct group) with them. */ - static void new_grent (struct group *grent) { memzero (grent, sizeof *grent); @@ -131,7 +131,6 @@ static void new_grent (struct group *grent) * new_sgent() takes all of the values that have been entered and fills * in a (struct sgrp) with them. */ - static void new_sgent (struct sgrp *sgent) { memzero (sgent, sizeof *sgent); @@ -147,7 +146,6 @@ static void new_sgent (struct sgrp *sgent) * * grp_update() writes the new records to the group files. */ - static void grp_update (void) { struct group grp; @@ -180,6 +178,10 @@ static void grp_update (void) fail_exit (E_GRP_UPDATE); } #endif /* SHADOWGRP */ +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding group", group_name, + group_id, 1); +#endif SYSLOG ((LOG_INFO, "new group: name=%s, GID=%u", group_name, (unsigned int) group_id)); } @@ -191,13 +193,12 @@ static void grp_update (void) * file, or checks the given group ID against the existing ones for * uniqueness. */ - static void find_new_gid (void) { const struct group *grp; gid_t gid_min, gid_max; - gid_min = getdef_unum ("GID_MIN", 100); + gid_min = getdef_unum ("GID_MIN", 1000); gid_max = getdef_unum ("GID_MAX", 60000); /* @@ -213,7 +214,6 @@ static void find_new_gid (void) * user specified one with -g) or looking for the largest unused * value. */ - #ifdef NO_GETGRENT gr_rewind (); while ((grp = gr_next ())) { @@ -276,7 +276,6 @@ static void find_new_gid (void) * check_new_name() insures that the new name doesn't contain any * illegal characters. */ - static void check_new_name (void) { if (check_group_name (group_name)) @@ -298,7 +297,6 @@ static void check_new_name (void) * close_files() closes all of the files that were opened for this new * group. This causes any modified entries to be written out. */ - static void close_files (void) { if (!gr_close ()) { @@ -322,15 +320,22 @@ static void close_files (void) * * open_files() opens the two group files. */ - static void open_files (void) { if (!gr_lock ()) { fprintf (stderr, _("%s: unable to lock group file\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "locking group file", + group_name, -1, 0); +#endif exit (E_GRP_UPDATE); } if (!gr_open (O_RDWR)) { fprintf (stderr, _("%s: unable to open group file\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "opening group file", + group_name, -1, 0); +#endif fail_exit (E_GRP_UPDATE); } #ifdef SHADOWGRP @@ -350,13 +355,17 @@ static void open_files (void) /* * fail_exit - exit with an error code after unlocking files */ - static void fail_exit (int code) { (void) gr_unlock (); #ifdef SHADOWGRP if (is_shadow_grp) sgr_unlock (); +#endif + if (code != E_SUCCESS) +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding group", + group_name, -1, 0); #endif exit (code); } @@ -380,10 +389,12 @@ int main (int argc, char **argv) int retval; #endif +#ifdef WITH_AUDIT + audit_help_open (); +#endif /* * Get my name so that I can use it to report errors. */ - Prog = Basename (argv[0]); setlocale (LC_ALL, ""); @@ -514,12 +525,15 @@ int main (int argc, char **argv) /* * Start with a quick check to see if the group exists. */ - if (getgrnam (group_name)) { if (fflg) { exit (E_SUCCESS); } fprintf (stderr, _("%s: group %s exists\n"), Prog, group_name); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding group", + group_name, -1, 0); +#endif exit (E_NAME_IN_USE); } @@ -538,18 +552,6 @@ int main (int argc, char **argv) close_files (); #ifdef USE_PAM - if (retval == PAM_SUCCESS) { - retval = pam_chauthtok (pamh, 0); - if (retval != PAM_SUCCESS) { - pam_end (pamh, retval); - } - } - - if (retval != PAM_SUCCESS) { - fprintf (stderr, _("%s: PAM chauthtok failed\n"), Prog); - exit (1); - } - if (retval == PAM_SUCCESS) pam_end (pamh, PAM_SUCCESS); #endif /* USE_PAM */ diff --git a/src/groupdel.c b/src/groupdel.c index 1cbcfc9d..2d7c7b4d 100644 --- a/src/groupdel.c +++ b/src/groupdel.c @@ -29,37 +29,40 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: groupdel.c,v 1.23 2005/08/11 16:23:34 kloczek Exp $") -#include -#include -#include +#ident "$Id: groupdel.c,v 1.29 2005/10/04 21:05:12 kloczek Exp $" + #include #include +#include #include #ifdef USE_PAM #include #include #endif /* USE_PAM */ +#include +#include +#include "defines.h" +#include "groupio.h" #include "nscd.h" #include "prototypes.h" -#include "defines.h" +#ifdef SHADOWGRP +#include "sgroupio.h" +#endif +/* + * Global variables + */ static char *group_name; static char *Prog; static int errors; - -#include "groupio.h" +static gid_t group_id = -1; #ifdef SHADOWGRP -#include "sgroupio.h" - static int is_shadow_grp; #endif /* * exit status values */ - #define E_SUCCESS 0 /* success */ #define E_USAGE 2 /* invalid command syntax */ #define E_NOTFOUND 6 /* specified group doesn't exist */ @@ -76,7 +79,6 @@ static void group_busy (gid_t); /* * usage - display usage message and exit */ - static void usage (void) { fprintf (stderr, _("Usage: groupdel group\n")); @@ -88,7 +90,6 @@ static void usage (void) * * grp_update() writes the new records to the group files. */ - static void grp_update (void) { if (!gr_remove (group_name)) { @@ -105,6 +106,10 @@ static void grp_update (void) errors++; } #endif /* SHADOWGRP */ +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting group", group_name, + group_id, 1); +#endif SYSLOG ((LOG_INFO, "remove group `%s'\n", group_name)); return; } @@ -115,7 +120,6 @@ static void grp_update (void) * close_files() closes all of the files that were opened for this * new group. This causes any modified entries to be written out. */ - static void close_files (void) { if (!gr_close ()) { @@ -139,7 +143,6 @@ static void close_files (void) * * open_files() opens the two group files. */ - static void open_files (void) { if (!gr_lock ()) { @@ -171,7 +174,6 @@ static void open_files (void) * for any user. You must remove all users before you remove * the group. */ - static void group_busy (gid_t gid) { struct passwd *pwd; @@ -196,7 +198,6 @@ static void group_busy (gid_t gid) /* * Can't remove the group. */ - fprintf (stderr, _("%s: cannot remove user's primary group.\n"), Prog); exit (E_GROUP_BUSY); } @@ -228,6 +229,10 @@ int main (int argc, char **argv) int retval; #endif +#ifdef WITH_AUDIT + audit_help_open (); +#endif + /* * Get my name so that I can use it to report errors. */ @@ -287,8 +292,15 @@ int main (int argc, char **argv) if (!(grp = getgrnam (group_name))) { fprintf (stderr, _("%s: group %s does not exist\n"), Prog, group_name); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting group", + group_name, -1, 0); +#endif exit (E_NOTFOUND); } + + group_id = grp->gr_gid; /* LAUS */ + #ifdef USE_NIS /* * Make sure this isn't a NIS group @@ -300,6 +312,10 @@ int main (int argc, char **argv) fprintf (stderr, _("%s: group %s is a NIS group\n"), Prog, group_name); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting group", + group_name, -1, 0); +#endif if (!yp_get_default_domain (&nis_domain) && !yp_master (nis_domain, "group.byname", &nis_master)) { fprintf (stderr, _("%s: %s is the NIS master\n"), @@ -327,21 +343,14 @@ int main (int argc, char **argv) close_files (); #ifdef USE_PAM - if (retval == PAM_SUCCESS) { - retval = pam_chauthtok (pamh, 0); - if (retval != PAM_SUCCESS) { - pam_end (pamh, retval); - } - } - - if (retval != PAM_SUCCESS) { - fprintf (stderr, _("%s: PAM chauthtok failed\n"), Prog); - exit (1); - } - if (retval == PAM_SUCCESS) pam_end (pamh, PAM_SUCCESS); #endif /* USE_PAM */ + if (errors != 0) +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting group", + group_name, -1, 0); +#endif exit (errors == 0 ? E_SUCCESS : E_GRP_UPDATE); /* NOT REACHED */ } diff --git a/src/groupmod.c b/src/groupmod.c index 5119ba06..222628c9 100644 --- a/src/groupmod.c +++ b/src/groupmod.c @@ -29,32 +29,29 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: groupmod.c,v 1.30 2005/08/02 17:49:17 kloczek Exp $") -#include -#include -#include +#ident "$Id: groupmod.c,v 1.36 2005/10/04 21:05:12 kloczek Exp $" + #include #include +#include +#include +#include #ifdef USE_PAM #include #include #include #endif /* USE_PAM */ -#include "prototypes.h" #include "chkname.h" #include "defines.h" #include "groupio.h" #include "nscd.h" +#include "prototypes.h" #ifdef SHADOWGRP #include "sgroupio.h" -static int is_shadow_grp; #endif - /* * exit status values */ - #define E_SUCCESS 0 /* success */ #define E_USAGE 2 /* invalid command syntax */ #define E_BAD_ARG 3 /* invalid argument to option */ @@ -62,7 +59,12 @@ static int is_shadow_grp; #define E_NOTFOUND 6 /* specified group doesn't exist */ #define E_NAME_IN_USE 9 /* group name already in use */ #define E_GRP_UPDATE 10 /* can't update group file */ - +/* + * Global variables + */ +#ifdef SHADOWGRP +static int is_shadow_grp; +#endif static char *group_name; static char *group_newname; static gid_t group_id; @@ -105,7 +107,6 @@ static void usage (void) * new_grent() takes all of the values that have been entered and fills * in a (struct group) with them. */ - static void new_grent (struct group *grent) { if (nflg) @@ -122,7 +123,6 @@ static void new_grent (struct group *grent) * new_sgent() takes all of the values that have been entered and fills * in a (struct sgrp) with them. */ - static void new_sgent (struct sgrp *sgent) { if (nflg) @@ -135,7 +135,6 @@ static void new_sgent (struct sgrp *sgent) * * grp_update() writes the new records to the group files. */ - static void grp_update (void) { struct group grp; @@ -149,12 +148,15 @@ static void grp_update (void) /* * Get the current settings for this group. */ - ogrp = gr_locate (group_name); if (!ogrp) { fprintf (stderr, _("%s: %s not found in /etc/group\n"), Prog, group_name); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "modifying group", + group_name, -1, 0); +#endif exit (E_GRP_UPDATE); } grp = *ogrp; @@ -169,40 +171,58 @@ static void grp_update (void) /* * Write out the new group file entry. */ - if (!gr_update (&grp)) { fprintf (stderr, _("%s: error adding new group entry\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding group", + group_name, -1, 0); +#endif exit (E_GRP_UPDATE); } if (nflg && !gr_remove (group_name)) { fprintf (stderr, _("%s: error removing group entry\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting group", + group_name, -1, 0); +#endif exit (E_GRP_UPDATE); } #ifdef SHADOWGRP + /* * Make sure there was a shadow entry to begin with. Skip down to * "out" if there wasn't. Can't just return because there might be * some syslogging to do. */ - if (!osgrp) goto out; /* * Write out the new shadow group entries as well. */ - if (!sgr_update (&sgrp)) { fprintf (stderr, _("%s: error adding new group entry\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding group", + group_name, -1, 0); +#endif exit (E_GRP_UPDATE); } if (nflg && !sgr_remove (group_name)) { fprintf (stderr, _("%s: error removing group entry\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting group", + group_name, -1, 0); +#endif exit (E_GRP_UPDATE); } out: #endif /* SHADOWGRP */ +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "modifing group", group_name, + group_id, 1); +#endif if (nflg) SYSLOG ((LOG_INFO, "change group `%s' to `%s'", group_name, group_newname)); @@ -217,7 +237,6 @@ static void grp_update (void) * * check_new_gid() insures that the new GID value is unique. */ - static void check_new_gid (void) { /* @@ -225,7 +244,6 @@ static void check_new_gid (void) * didn't really change, just return. If the ID didn't change, turn * off those flags. No sense doing needless work. */ - if (group_id == group_newid) { gflg = 0; return; @@ -237,8 +255,11 @@ static void check_new_gid (void) /* * Tell the user what they did wrong. */ - fprintf (stderr, _("%s: %u is not a unique GID\n"), Prog, group_newid); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "modify gid", NULL, + group_newid, 0); +#endif exit (E_GID_IN_USE); } @@ -248,13 +269,11 @@ static void check_new_gid (void) * check_new_name() insures that the new name does not exist already. * You can't have the same name twice, period. */ - static void check_new_name (void) { /* * Make sure they are actually changing the name. */ - if (strcmp (group_name, group_newname) == 0) { nflg = 0; return; @@ -265,11 +284,14 @@ static void check_new_name (void) /* * If the entry is found, too bad. */ - if (getgrnam (group_newname)) { fprintf (stderr, _("%s: %s is not a unique name\n"), Prog, group_newname); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "modifying group", group_name, -1, 0); +#endif exit (E_NAME_IN_USE); } return; @@ -281,6 +303,10 @@ static void check_new_name (void) fprintf (stderr, _("%s: %s is not a valid group name\n"), Prog, group_newname); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "modifying group", group_name, + -1, 0); +#endif exit (E_BAD_ARG); } @@ -291,7 +317,6 @@ static void check_new_name (void) * values that the user will be created with accordingly. The values * are checked for sanity. */ - static void process_flags (int argc, char **argv) { char *end; @@ -306,6 +331,11 @@ static void process_flags (int argc, char **argv) fprintf (stderr, _("%s: invalid group %s\n"), Prog, optarg); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "modifying group", NULL, + group_newid, 0); +#endif exit (E_BAD_ARG); } break; @@ -335,7 +365,6 @@ static void process_flags (int argc, char **argv) * close_files() closes all of the files that were opened for this new * group. This causes any modified entries to be written out. */ - static void close_files (void) { if (!gr_close ()) { @@ -359,7 +388,6 @@ static void close_files (void) * * open_files() opens the two group files. */ - static void open_files (void) { if (!gr_lock ()) { @@ -403,7 +431,6 @@ static struct pam_conv conv = { * -o - permit the group ID value to be non-unique * -n - specify a new group name */ - int main (int argc, char **argv) { struct group *grp; @@ -414,10 +441,13 @@ int main (int argc, char **argv) int retval; #endif +#ifdef WITH_AUDIT + audit_help_open (); +#endif + /* * Get my name so that I can use it to report errors. */ - Prog = Basename (argv[0]); setlocale (LC_ALL, ""); @@ -469,10 +499,22 @@ int main (int argc, char **argv) if (!(grp = getgrnam (group_name))) { fprintf (stderr, _("%s: group %s does not exist\n"), Prog, group_name); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "modifying group", + group_name, -1, 0); +#endif exit (E_NOTFOUND); } else group_id = grp->gr_gid; +#ifdef WITH_AUDIT + /* Set new name/id to original if not specified on command line */ + if (nflg == 0) + group_newname = group_name; + if (gflg == 0) + group_newid = group_id; +#endif + #ifdef USE_NIS /* * Now make sure it isn't an NIS group. @@ -484,6 +526,10 @@ int main (int argc, char **argv) fprintf (stderr, _("%s: group %s is a NIS group\n"), Prog, group_name); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "modifying group", + group_name, -1, 0); +#endif if (!yp_get_default_domain (&nis_domain) && !yp_master (nis_domain, "group.byname", &nis_master)) { fprintf (stderr, _("%s: %s is the NIS master\n"), @@ -503,7 +549,6 @@ int main (int argc, char **argv) * Do the hard stuff - open the files, create the group entries, * then close and update the files. */ - open_files (); grp_update (); @@ -512,18 +557,6 @@ int main (int argc, char **argv) close_files (); #ifdef USE_PAM - if (retval == PAM_SUCCESS) { - retval = pam_chauthtok (pamh, 0); - if (retval != PAM_SUCCESS) { - pam_end (pamh, retval); - } - } - - if (retval != PAM_SUCCESS) { - fprintf (stderr, _("%s: PAM chauthtok failed\n"), Prog); - exit (1); - } - if (retval == PAM_SUCCESS) pam_end (pamh, PAM_SUCCESS); #endif /* USE_PAM */ diff --git a/src/groups.c b/src/groups.c index e143edcb..ae44f478 100644 --- a/src/groups.c +++ b/src/groups.c @@ -29,13 +29,13 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: groups.c,v 1.10 2005/03/31 05:14:54 kloczek Exp $") -#include -#include +#ident "$Id: groups.c,v 1.13 2005/09/07 15:00:45 kloczek Exp $" + #include -#include "prototypes.h" +#include +#include #include "defines.h" +#include "prototypes.h" /* * Global variables */ @@ -50,7 +50,6 @@ static void print_groups (const char *); * print_groups() scans the groups file for the list of groups which * the user is listed as being a member of. */ - static void print_groups (const char *member) { int groups = 0; @@ -87,7 +86,6 @@ static void print_groups (const char *member) /* * groups - print out the groups a process is a member of */ - int main (int argc, char **argv) { long sys_ngroups; @@ -114,7 +112,6 @@ int main (int argc, char **argv) /* * Get the program name so that error messages can use it. */ - Prog = Basename (argv[0]); if (argc == 1) { @@ -130,7 +127,6 @@ int main (int argc, char **argv) * the system to tell me which groups are currently set for * this process. */ - ngroups = getgroups (sys_ngroups, groups); if (ngroups < 0) { perror ("getgroups"); @@ -140,7 +136,6 @@ int main (int argc, char **argv) /* * The groupset includes the primary group as well. */ - pri_grp = getegid (); for (i = 0; i < ngroups; i++) if (pri_grp == (int) groups[i]) @@ -154,7 +149,6 @@ int main (int argc, char **argv) * set. Unknown groups are printed as their decimal group ID * values. */ - if (pri_grp != -1) { if ((gr = getgrgid (pri_grp))) printf ("%s", gr->gr_name); @@ -177,7 +171,6 @@ int main (int argc, char **argv) * This system does not have the getgroups() system call, so * I must check the groups file directly. */ - if ((logname = getlogin ())) print_groups (logname); else @@ -189,7 +182,6 @@ int main (int argc, char **argv) * The invoker wanted to know about some other user. Use * that name to look up the groups instead. */ - print_groups (argv[1]); } exit (0); diff --git a/src/grpck.c b/src/grpck.c index a51006ea..5f70c7d5 100644 --- a/src/grpck.c +++ b/src/grpck.c @@ -29,17 +29,17 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: grpck.c,v 1.25 2005/08/09 15:27:51 kloczek Exp $") -#include +#ident "$Id: grpck.c,v 1.28 2005/09/07 15:00:45 kloczek Exp $" + #include #include -#include "prototypes.h" -#include "defines.h" -#include "chkname.h" #include +#include +#include "chkname.h" #include "commonio.h" +#include "defines.h" #include "groupio.h" +#include "prototypes.h" extern void __gr_del_entry (const struct commonio_entry *); extern struct commonio_entry *__gr_get_head (void); @@ -61,9 +61,8 @@ extern struct commonio_entry *__sgr_get_head (void); #define E_CANT_UPDATE 5 /* - * Local variables + * Global variables */ - static char *Prog; static const char *grp_file = GROUP_FILE; @@ -80,7 +79,6 @@ static void delete_member (char **, const char *); /* * usage - print syntax message and exit */ - static void usage (void) { #ifdef SHADOWGRP @@ -94,7 +92,6 @@ static void usage (void) /* * yes_or_no - get answer to question from the user */ - static int yes_or_no (void) { char buf[80]; @@ -102,7 +99,6 @@ static int yes_or_no (void) /* * In read-only mode all questions are answered "no". */ - if (read_only) { printf (_("No\n")); return 0; @@ -111,7 +107,6 @@ static int yes_or_no (void) /* * Get a line and see what the first character is. */ - if (fgets (buf, sizeof buf, stdin)) return buf[0] == 'y' || buf[0] == 'Y'; @@ -121,7 +116,6 @@ static int yes_or_no (void) /* * delete_member - delete an entry in a list of members */ - static void delete_member (char **list, const char *member) { int i; @@ -138,7 +132,6 @@ static void delete_member (char **list, const char *member) /* * grpck - verify group file integrity */ - int main (int argc, char **argv) { int arg; @@ -158,7 +151,6 @@ int main (int argc, char **argv) /* * Get my name so that I can use it to report errors. */ - Prog = Basename (argv[0]); setlocale (LC_ALL, ""); @@ -170,7 +162,6 @@ int main (int argc, char **argv) /* * Parse the command line arguments */ - while ((arg = getopt (argc, argv, "qrs")) != EOF) { switch (arg) { case 'q': @@ -195,7 +186,6 @@ int main (int argc, char **argv) /* * Make certain we have the right number of arguments */ - #ifdef SHADOWGRP if (optind != argc && optind + 1 != argc && optind + 2 != argc) #else @@ -207,7 +197,6 @@ int main (int argc, char **argv) * If there are two left over filenames, use those as the group and * group password filenames. */ - if (optind != argc) { grp_file = argv[optind]; gr_name (grp_file); @@ -224,7 +213,6 @@ int main (int argc, char **argv) /* * Lock the files if we aren't in "read-only" mode */ - if (!read_only) { if (!gr_lock ()) { fprintf (stderr, _("%s: cannot lock file %s\n"), @@ -250,7 +238,6 @@ int main (int argc, char **argv) * Open the files. Use O_RDONLY if we are in read_only mode, * O_RDWR otherwise. */ - if (!gr_open (read_only ? O_RDONLY : O_RDWR)) { fprintf (stderr, _("%s: cannot open file %s\n"), Prog, grp_file); @@ -282,7 +269,6 @@ int main (int argc, char **argv) /* * Loop through the entire group file. */ - for (gre = __gr_get_head (); gre; gre = gre->next) { /* * Skip all NIS entries. @@ -296,14 +282,12 @@ int main (int argc, char **argv) * have no (struct group) entry because they couldn't be * parsed properly. */ - if (!gre->eptr) { /* * Tell the user this entire line is bogus and ask * them to delete it. */ - printf (_("invalid group file entry\n")); printf (_("delete line `%s'? "), gre->line); errors++; @@ -311,7 +295,6 @@ int main (int argc, char **argv) /* * prompt the user to delete the entry or not */ - if (!yes_or_no ()) continue; @@ -321,7 +304,6 @@ int main (int argc, char **argv) * When done, it skips back to the top of the loop * to try out the next list element. */ - delete_gr: SYSLOG ((LOG_INFO, "delete group line `%s'", gre->line)); @@ -334,13 +316,11 @@ int main (int argc, char **argv) /* * Group structure is good, start using it. */ - grp = gre->eptr; /* * Make sure this entry has a unique name. */ - for (tgre = __gr_get_head (); tgre; tgre = tgre->next) { const struct group *ent = tgre->eptr; @@ -348,14 +328,12 @@ int main (int argc, char **argv) /* * Don't check this entry */ - if (tgre == gre) continue; /* * Don't check invalid entries. */ - if (!ent) continue; @@ -366,7 +344,6 @@ int main (int argc, char **argv) * Tell the user this entry is a duplicate of * another and ask them to delete it. */ - printf (_("duplicate group entry\n")); printf (_("delete line `%s'? "), gre->line); errors++; @@ -374,7 +351,6 @@ int main (int argc, char **argv) /* * prompt the user to delete the entry or not */ - if (yes_or_no ()) goto delete_gr; } @@ -392,7 +368,6 @@ int main (int argc, char **argv) * groups with no members are returned as groups with one * member "", causing grpck to fail. --marekm */ - if (grp->gr_mem[0] && !grp->gr_mem[1] && *(grp->gr_mem[0]) == '\0') grp->gr_mem[0] = (char *) 0; @@ -400,7 +375,6 @@ int main (int argc, char **argv) /* * Make sure each member exists */ - for (i = 0; grp->gr_mem[i]; i++) { if (getpwnam (grp->gr_mem[i])) continue; @@ -408,7 +382,6 @@ int main (int argc, char **argv) * Can't find this user. Remove them * from the list. */ - errors++; printf (_("group %s: no user %s\n"), grp->gr_name, grp->gr_mem[i]); @@ -433,7 +406,6 @@ int main (int argc, char **argv) /* * Loop through the entire shadow group file. */ - for (sge = __sgr_get_head (); sge; sge = sge->next) { /* @@ -441,14 +413,12 @@ int main (int argc, char **argv) * have no (struct sgrp) entry because they couldn't be * parsed properly. */ - if (!sge->eptr) { /* * Tell the user this entire line is bogus and ask * them to delete it. */ - printf (_("invalid shadow group file entry\n")); printf (_("delete line `%s'? "), sge->line); errors++; @@ -456,7 +426,6 @@ int main (int argc, char **argv) /* * prompt the user to delete the entry or not */ - if (!yes_or_no ()) continue; @@ -466,7 +435,6 @@ int main (int argc, char **argv) * linked list. When done, it skips back to the top * of the loop to try out the next list element. */ - delete_sg: SYSLOG ((LOG_INFO, "delete shadow line `%s'", sge->line)); @@ -479,13 +447,11 @@ int main (int argc, char **argv) /* * Shadow group structure is good, start using it. */ - sgr = sge->eptr; /* * Make sure this entry has a unique name. */ - for (tsge = __sgr_get_head (); tsge; tsge = tsge->next) { const struct sgrp *ent = tsge->eptr; @@ -493,14 +459,12 @@ int main (int argc, char **argv) /* * Don't check this entry */ - if (tsge == sge) continue; /* * Don't check invalid entries. */ - if (!ent) continue; @@ -511,7 +475,6 @@ int main (int argc, char **argv) * Tell the user this entry is a duplicate of * another and ask them to delete it. */ - printf (_("duplicate shadow group entry\n")); printf (_("delete line `%s'? "), sge->line); errors++; @@ -519,7 +482,6 @@ int main (int argc, char **argv) /* * prompt the user to delete the entry or not */ - if (yes_or_no ()) goto delete_sg; } @@ -527,7 +489,6 @@ int main (int argc, char **argv) /* * Make sure this entry exists in the /etc/group file. */ - if (!gr_locate (sgr->sg_name)) { printf (_("no matching group file entry\n")); printf (_("delete line `%s'? "), sge->line); @@ -539,7 +500,6 @@ int main (int argc, char **argv) /* * Make sure each administrator exists */ - for (i = 0; sgr->sg_adm[i]; i++) { if (getpwnam (sgr->sg_adm[i])) continue; @@ -547,7 +507,6 @@ int main (int argc, char **argv) * Can't find this user. Remove them * from the list. */ - errors++; printf (_ ("shadow group %s: no administrative user %s\n"), @@ -570,7 +529,6 @@ int main (int argc, char **argv) /* * Make sure each member exists */ - for (i = 0; sgr->sg_mem[i]; i++) { if (getpwnam (sgr->sg_mem[i])) continue; @@ -578,7 +536,6 @@ int main (int argc, char **argv) /* * Can't find this user. Remove them from the list. */ - errors++; printf (_("shadow group %s: no user %s\n"), sgr->sg_name, sgr->sg_mem[i]); @@ -604,7 +561,6 @@ int main (int argc, char **argv) * All done. If there were no deletions we can just abandon any * changes to the files. */ - if (deleted) { write_and_bye: if (!gr_close ()) { @@ -624,7 +580,6 @@ int main (int argc, char **argv) /* * Don't be anti-social - unlock the files when you're done. */ - #ifdef SHADOWGRP if (is_shadow) sgr_unlock (); @@ -636,7 +591,6 @@ int main (int argc, char **argv) /* * Tell the user what we did and exit. */ - if (errors) printf (deleted ? _("%s: the files have been updated\n") : diff --git a/src/grpconv.c b/src/grpconv.c index c2b6ae30..84f3695d 100644 --- a/src/grpconv.c +++ b/src/grpconv.c @@ -9,26 +9,23 @@ */ #include +#ident "$Id: grpconv.c,v 1.19 2005/08/31 17:25:00 kloczek Exp $" -#include #include +#include +#include +#include #include #include -#include #include #include - -#include #include "prototypes.h" - #ifdef SHADOWGRP - #include "groupio.h" #include "sgroupio.h" - -#include "rcsid.h" -RCSID (PKG_VER "$Id: grpconv.c,v 1.17 2005/08/09 15:27:51 kloczek Exp $") - +/* + * Global variables + */ static int group_locked = 0; static int gshadow_locked = 0; diff --git a/src/grpunconv.c b/src/grpunconv.c index 4b7f6d19..232175a2 100644 --- a/src/grpunconv.c +++ b/src/grpunconv.c @@ -10,8 +10,8 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: grpunconv.c,v 1.15 2005/08/09 15:27:51 kloczek Exp $") +#ident "$Id: grpunconv.c,v 1.17 2005/08/31 17:25:00 kloczek Exp $" + #include #include #include @@ -23,6 +23,9 @@ RCSID (PKG_VER "$Id: grpunconv.c,v 1.15 2005/08/09 15:27:51 kloczek Exp $") #ifdef SHADOWGRP #include "groupio.h" #include "sgroupio.h" +/* + * Global variables + */ static int group_locked = 0; static int gshadow_locked = 0; diff --git a/src/id.c b/src/id.c index f6e5c473..5d1e2966 100644 --- a/src/id.c +++ b/src/id.c @@ -37,12 +37,12 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: id.c,v 1.15 2005/06/20 10:17:08 kloczek Exp $") -#include -#include +#ident "$Id: id.c,v 1.18 2005/09/07 15:00:45 kloczek Exp $" + #include #include +#include +#include #include "defines.h" /* local function prototypes */ static void usage (void); @@ -154,7 +154,6 @@ static void usage (void) * Print out the concurrent group set if the user has requested it. * The group numbers will be printed followed by their names. */ - if (aflg && (ngroups = getgroups (sys_ngroups, groups)) != -1) { /* @@ -165,7 +164,6 @@ static void usage (void) * where "###" is a numerical value and "aaa" is the * corresponding name for each respective numerical value. */ - printf (_(" groups=")); for (i = 0; i < ngroups; i++) { if (i) @@ -184,7 +182,6 @@ static void usage (void) /* * Finish off the line. */ - putchar ('\n'); exit (0); /* NOT REACHED */ diff --git a/src/lastlog.c b/src/lastlog.c index 7c042158..68897454 100644 --- a/src/lastlog.c +++ b/src/lastlog.c @@ -29,30 +29,37 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: lastlog.c,v 1.18 2005/04/27 16:55:33 kloczek Exp $") -#include -#include -#include -#include -#include -#include "prototypes.h" -#include "defines.h" -#include +#ident "$Id: lastlog.c,v 1.23 2005/08/31 17:25:00 kloczek Exp $" + #include +#include +#include +#include +#include +#include +#include +#include "defines.h" +#include "prototypes.h" /* * Needed for MkLinux DR1/2/2.1 - J. */ #ifndef LASTLOG_FILE #define LASTLOG_FILE "/var/log/lastlog" #endif +/* + * Global variables + */ static FILE *lastlogfile; /* lastlog file stream */ static off_t user; /* one single user, specified on command line */ static int days; /* number of days to consider for print command */ static time_t seconds; /* that number of days in seconds */ +static int inverse_days; /* number of days to consider for print command */ +static time_t inverse_seconds; /* that number of days in seconds */ + static int uflg = 0; /* set if user is a valid user id */ static int tflg = 0; /* print is restricted to most recent days */ +static int bflg = 0; /* print excludes most recent days */ static struct lastlog lastlog; /* scratch structure to play with ... */ static struct stat statbuf; /* fstat buffer for file size */ static struct passwd *pwent; @@ -64,9 +71,10 @@ static void usage (void) fprintf (stdout, _("Usage: lastlog [options]\n" "\n" "Options:\n" - " -u, --user LOGIN print lastlog record for user with specified LOGIN\n" + " -b, --before DAYS print only lastlog records older than DAYS\n" " -h, --help display this help message and exit\n" - " -t, --time DAYS print only lastlog records more recent than DAYS\n")); + " -t, --time DAYS print only lastlog records more recent than DAYS\n" + " -u, --user LOGIN print lastlog record for user with specified LOGIN\n")); exit (1); } @@ -148,6 +156,9 @@ static void print (void) if (tflg && NOW - lastlog.ll_time > seconds) continue; + if (bflg && NOW - lastlog.ll_time < inverse_seconds) + continue; + print_one (pwent); } } @@ -164,12 +175,13 @@ int main (int argc, char **argv) static struct option const longopts[] = { {"help", no_argument, NULL, 'h'}, {"time", required_argument, NULL, 't'}, + {"before", required_argument, NULL, 'b'}, {"user", required_argument, NULL, 'u'}, {NULL, 0, NULL, '\0'} }; while ((c = - getopt_long (argc, argv, "ht:u:", longopts, + getopt_long (argc, argv, "ht:b:u:", longopts, NULL)) != -1) { switch (c) { case 'h': @@ -180,6 +192,11 @@ int main (int argc, char **argv) seconds = days * DAY; tflg++; break; + case 'b': + inverse_days = atoi (optarg); + inverse_seconds = inverse_days * DAY; + bflg++; + break; case 'u': pwent = getpwnam (optarg); if (!pwent) { diff --git a/src/login.c b/src/login.c index b4373b9b..b0f5aa88 100644 --- a/src/login.c +++ b/src/login.c @@ -29,24 +29,24 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: login.c,v 1.67 2005/08/11 11:26:11 kloczek Exp $") -#include "prototypes.h" -#include "defines.h" -#include -#include +#ident "$Id: login.c,v 1.74 2005/09/07 15:00:45 kloczek Exp $" + #include -#include #include -#include #include -#include "faillog.h" -#include "failure.h" -#include "pwauth.h" -#include "getdef.h" #ifdef UT_ADDR #include #endif +#include +#include +#include +#include +#include "defines.h" +#include "faillog.h" +#include "failure.h" +#include "getdef.h" +#include "prototypes.h" +#include "pwauth.h" #ifdef USE_PAM #include "pam_defs.h" static const struct pam_conv conv = { @@ -73,6 +73,9 @@ static pam_handle_t *pamh = NULL; #define LASTLOG_FILE "/var/log/lastlog" #endif +/* + * Global variables + */ const char *hostname = ""; static struct passwd pwent; @@ -150,7 +153,6 @@ static RETSIGTYPE alarm_handler (int); * login -h hostname (for telnetd, etc.) * login -f name (for pre-authenticated login: datakit, xterm, etc.) */ - static void usage (void) { fprintf (stderr, _("Usage: %s [-p] [name]\n"), Prog); @@ -172,7 +174,6 @@ static void setup_tty (void) /* * Add your favorite terminal modes here ... */ - termio.c_lflag |= ISIG | ICANON | ECHO | ECHOE; termio.c_iflag |= ICRNL; @@ -184,7 +185,6 @@ static void setup_tty (void) * ttymon invocation prefers this, but these settings won't come into * effect after the first username login */ - STTY (0, &termio); } @@ -210,7 +210,6 @@ static void check_nologin (void) * out for root so she knows to remove the file if she's * forgotten about it ... */ - fname = getdef_str ("NOLOGINS_FILE"); if (fname != NULL && access (fname, F_OK) == 0) { FILE *nlfp; @@ -220,7 +219,6 @@ static void check_nologin (void) * Cat the file if it can be opened, otherwise just * print a default message */ - if ((nlfp = fopen (fname, "r"))) { while ((c = getc (nlfp)) != EOF) { if (c == '\n') @@ -274,26 +272,24 @@ static void init_env (void) * Add the timezone environmental variable so that time functions * work correctly. */ - if ((tmp = getenv ("TZ"))) { addenv ("TZ", tmp); - } + } #ifndef USE_PAM - else if ((cp = getdef_str ("ENV_TZ"))) + else if ((cp = getdef_str ("ENV_TZ"))) addenv (*cp == '/' ? tz (cp) : cp, NULL); -#endif /* !USE_PAM */ +#endif /* !USE_PAM */ /* * Add the clock frequency so that profiling commands work * correctly. */ - if ((tmp = getenv ("HZ"))) { addenv ("HZ", tmp); - } + } #ifndef USE_PAM - else if ((cp = getdef_str ("ENV_HZ"))) + else if ((cp = getdef_str ("ENV_HZ"))) addenv (cp, NULL); -#endif /* !USE_PAM */ +#endif /* !USE_PAM */ } @@ -321,7 +317,6 @@ static RETSIGTYPE alarm_handler (int sig) * -f - do not perform authentication, user is preauthenticated * -h - the name of the remote host */ - int main (int argc, char **argv) { char username[32]; @@ -434,14 +429,6 @@ int main (int argc, char **argv) if (!isatty (0) || !isatty (1) || !isatty (2)) exit (1); /* must be a terminal */ -#if 0 - /* - * Get the utmp file entry and get the tty name from it. The - * current process ID must match the process ID in the utmp - * file if there are no additional flags on the command line. - */ - checkutmp (!rflg && !fflg && !hflg); -#else /* * Be picky if run by normal users (possible if installed setuid * root), but not if run by root. This way it still allows logins @@ -450,7 +437,6 @@ int main (int argc, char **argv) * entry (will not overwrite remote hostname). --marekm */ checkutmp (!amroot); -#endif STRFCPY (tty, utent.ut_line); is_console = console (tty); @@ -517,7 +503,6 @@ int main (int argc, char **argv) * user may have one for themselves, but otherwise, * just take what you get. */ - long limit = getdef_long ("ULIMIT", -1L); if (limit != -1) @@ -529,7 +514,6 @@ int main (int argc, char **argv) * The entire environment will be preserved if the -p flag * is used. */ - if (pflg) while (*envp) /* add inherited environment, */ addenv (*envp++, NULL); /* some variables change later */ @@ -593,12 +577,13 @@ int main (int argc, char **argv) retcode = pam_start ("login", username, &conv, &pamh); if (retcode != PAM_SUCCESS) { fprintf (stderr, - "login: PAM Failure, aborting: %s\n", + _("login: PAM Failure, aborting: %s\n"), pam_strerror (pamh, retcode)); SYSLOG ((LOG_ERR, "Couldn't initialize PAM: %s", - pam_strerror (pamh, retcode))); + pam_strerror (pamh, retcode))); exit (99); } + /* * hostname & tty are either set to NULL or their correct values, * depending on how much we know. We also set PAM's fail delay to @@ -646,7 +631,6 @@ int main (int argc, char **argv) * pay attention to failure count and get rid of * MAX_LOGIN_TRIES? */ - retcode = pam_authenticate (pamh, 0); while ((failcount++ < retries) && ((retcode == PAM_AUTH_ERR) || @@ -656,13 +640,13 @@ int main (int argc, char **argv) pam_get_item (pamh, PAM_USER, (const void **) &pam_user); SYSLOG ((LOG_NOTICE, - "FAILED LOGIN %d FROM %s FOR %s, %s", - failcount, hostname, pam_user, - pam_strerror (pamh, retcode))); + "FAILED LOGIN %d FROM %s FOR %s, %s", + failcount, hostname, pam_user, + pam_strerror (pamh, retcode))); #ifdef HAVE_PAM_FAIL_DELAY pam_fail_delay (pamh, 1000000 * delay); #endif - fprintf (stderr, "Login incorrect\n\n"); + fprintf (stderr, _("\nLogin incorrect\n")); pam_set_item (pamh, PAM_USER, NULL); retcode = pam_authenticate (pamh, 0); } @@ -673,15 +657,15 @@ int main (int argc, char **argv) if (retcode == PAM_MAXTRIES) SYSLOG ((LOG_NOTICE, - "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s", - failcount, hostname, - pam_user, - pam_strerror (pamh, retcode))); + "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s", + failcount, hostname, + pam_user, + pam_strerror (pamh, retcode))); else SYSLOG ((LOG_NOTICE, - "FAILED LOGIN SESSION FROM %s FOR %s, %s", - hostname, pam_user, - pam_strerror (pamh, retcode))); + "FAILED LOGIN SESSION FROM %s FOR %s, %s", + hostname, pam_user, + pam_strerror (pamh, retcode))); fprintf (stderr, "\nLogin incorrect\n"); pam_end (pamh, retcode); @@ -803,7 +787,6 @@ int main (int argc, char **argv) * If you reach this far, your password has been * authenticated and so on. */ - if (!failed && pwent.pw_name && pwent.pw_uid == 0 && !is_console) { SYSLOG ((LOG_CRIT, "ILLEGAL ROOT LOGIN %s", fromhost)); @@ -867,7 +850,6 @@ int main (int argc, char **argv) if (--retries <= 0) SYSLOG ((LOG_CRIT, "REPEATED login failures%s", fromhost)); -#if 1 /* * If this was a passwordless account and we get here, login * was denied (securetty, faillog, etc.). There was no @@ -875,16 +857,14 @@ int main (int argc, char **argv) * guys won't see that the passwordless account exists at * all). --marekm */ - if (pwent.pw_passwd[0] == '\0') pw_auth ("!", username, reason, (char *) 0); -#endif + /* * Wait a while (a la SVR4 /usr/bin/login) before attempting * to login the user again. If the earlier alarm occurs * before the sleep() below completes, login will exit. */ - if (delay > 0) sleep (delay); @@ -969,8 +949,8 @@ int main (int argc, char **argv) child = fork (); if (child < 0) { /* error in fork() */ - fprintf (stderr, "login: failure forking: %s", - strerror (errno)); + fprintf (stderr, _("%s: failure forking: %s"), + Prog, strerror (errno)); PAM_END; exit (0); } else if (child) { diff --git a/src/login_nopam.c b/src/login_nopam.c index 8425285f..0d977953 100644 --- a/src/login_nopam.c +++ b/src/login_nopam.c @@ -22,8 +22,8 @@ #endif #ifndef USE_PAM -#include "rcsid.h" -RCSID ("$Id: login_nopam.c,v 1.5 2005/07/02 17:53:06 kloczek Exp $") +#ident "$Id: login_nopam.c,v 1.8 2005/09/07 15:00:45 kloczek Exp $" + #include "prototypes.h" /* * This module implements a simple but effective form of login access @@ -63,13 +63,11 @@ extern int innetgr (); #define TABLE "/etc/login.access" #endif - /* Delimiters for fields and for lists of users, ttys or hosts. */ - +/* Delimiters for fields and for lists of users, ttys or hosts. */ static char fs[] = ":"; /* field separator */ static char sep[] = ", \t"; /* list-element separator */ - /* Constants to be used in assignments only, not in comparisons... */ - +/* Constants to be used in assignments only, not in comparisons... */ #define YES 1 #define NO 0 @@ -79,7 +77,6 @@ static int from_match (); static int string_match (); /* login_access - match username/group and host/tty with access control file */ - int login_access (const char *user, const char *from) { FILE *fp; @@ -98,14 +95,13 @@ int login_access (const char *user, const char *from) * mandatory. The first field should be a "+" or "-" character. A * non-existing table means no access control. */ - if ((fp = fopen (TABLE, "r"))) { while (!match && fgets (line, sizeof (line), fp)) { lineno++; if (line[end = strlen (line) - 1] != '\n') { SYSLOG ((LOG_ERR, - "%s: line %d: missing newline or line too long", - TABLE, lineno)); + "%s: line %d: missing newline or line too long", + TABLE, lineno)); continue; } if (line[0] == '#') @@ -120,14 +116,14 @@ int login_access (const char *user, const char *from) || !(froms = strtok ((char *) 0, fs)) || strtok ((char *) 0, fs)) { SYSLOG ((LOG_ERR, - "%s: line %d: bad field count", - TABLE, lineno)); + "%s: line %d: bad field count", + TABLE, lineno)); continue; } if (perm[0] != '+' && perm[0] != '-') { SYSLOG ((LOG_ERR, - "%s: line %d: bad first field", - TABLE, lineno)); + "%s: line %d: bad first field", + TABLE, lineno)); continue; } match = (list_match (froms, from, from_match) @@ -141,7 +137,6 @@ int login_access (const char *user, const char *from) } /* list_match - match an item against a list of tokens with exceptions */ - static int list_match (char *list, const char *item, int (*match_fn) ()) { char *tok; @@ -153,15 +148,14 @@ static int list_match (char *list, const char *item, int (*match_fn) ()) * a match, look for an "EXCEPT" list and recurse to determine whether * the match is affected by any exceptions. */ - for (tok = strtok (list, sep); tok != 0; tok = strtok ((char *) 0, sep)) { if (strcasecmp (tok, "EXCEPT") == 0) /* EXCEPT: give up */ break; if ((match = (*match_fn) (tok, item))) /* YES */ break; } - /* Process exceptions to matches. */ + /* Process exceptions to matches. */ if (match != NO) { while ((tok = strtok ((char *) 0, sep)) && strcasecmp (tok, "EXCEPT")) @@ -173,7 +167,6 @@ static int list_match (char *list, const char *item, int (*match_fn) ()) } /* myhostname - figure out local machine name */ - static char *myhostname (void) { static char name[MAXHOSTNAMELEN + 1] = ""; @@ -186,7 +179,6 @@ static char *myhostname (void) } /* netgroup_match - match group against machine or user */ - static int netgroup_match (const char *group, const char *machine, const char *user) { @@ -203,7 +195,6 @@ netgroup_match (const char *group, const char *machine, const char *user) } /* user_match - match a username against one token */ - static int user_match (const char *tok, const char *string) { struct group *group; @@ -219,7 +210,6 @@ static int user_match (const char *tok, const char *string) * Otherwise, return YES if the token fully matches the username, or if * the token is a group that contains the username. */ - if ((at = strchr (tok + 1, '@')) != 0) { /* split user@host pattern */ *at = 0; return (user_match (tok, string) @@ -281,7 +271,6 @@ static int from_match (const char *tok, const char *string) * contain a "." character. If the token is a network number, return YES * if it matches the head of the string. */ - if (tok[0] == '@') { /* netgroup */ return (netgroup_match (tok + 1, string, (char *) 0)); } else if (string_match (tok, string)) { /* ALL or exact match */ @@ -301,7 +290,6 @@ static int from_match (const char *tok, const char *string) } /* string_match - match a string against one token */ - static int string_match (const char *tok, const char *string) { @@ -309,7 +297,6 @@ static int string_match (const char *tok, const char *string) * If the token has the magic value "ALL" the match always succeeds. * Otherwise, return YES if the token fully matches the string. */ - if (strcasecmp (tok, "ALL") == 0) { /* all: always matches */ return (YES); } else if (strcasecmp (tok, string) == 0) { /* try exact match */ diff --git a/src/logoutd.c b/src/logoutd.c index add70319..ef76d072 100644 --- a/src/logoutd.c +++ b/src/logoutd.c @@ -29,19 +29,22 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: logoutd.c,v 1.26 2005/07/05 20:17:51 kloczek Exp $") -#include -#include -#include -#include +#ident "$Id: logoutd.c,v 1.30 2005/09/07 15:00:45 kloczek Exp $" + #include -#include "prototypes.h" +#include +#include +#include +#include #include "defines.h" +#include "prototypes.h" +/* + * Global variables + */ static char *Prog; #ifndef DEFAULT_HUP_MESG -#define DEFAULT_HUP_MESG "login time exceeded\r\n" +#define DEFAULT_HUP_MESG _("login time exceeded\n\n") #endif #ifndef HUP_MESG_FILE @@ -130,7 +133,6 @@ static void send_mesg_to_tty (int tty_fd) * utmpx/utmp file is periodically scanned and offending users are logged * off from the system. */ - int main (int argc, char **argv) { int i; @@ -158,7 +160,6 @@ int main (int argc, char **argv) /* * Put this process in the background. */ - pid = fork (); if (pid > 0) { /* parent */ @@ -173,7 +174,6 @@ int main (int argc, char **argv) /* * Start syslogging everything */ - Prog = Basename (argv[0]); OPENLOG ("logoutd"); @@ -182,14 +182,12 @@ int main (int argc, char **argv) * Scan the utmpx/utmp file once per minute looking for users that * are not supposed to still be logged in. */ - while (1) { /* * Attempt to re-open the utmpx/utmp file. The file is only * open while it is being used. */ - #if HAVE_UTMPX_H setutxent (); #else @@ -201,7 +199,6 @@ int main (int argc, char **argv) * for login sessions will be checked to see if the user * is permitted to be signed on at this time. */ - #if HAVE_UTMPX_H while ((ut = getutxent ())) { #else @@ -258,7 +255,6 @@ int main (int argc, char **argv) * vhangup() the line to kill try and kill * whatever is out there using it. */ - if ((tty_fd = open (tty_name, O_RDONLY | O_NDELAY)) == -1) continue; @@ -277,7 +273,6 @@ int main (int argc, char **argv) /* * This child has done all it can, drop dead. */ - exit (0); } @@ -293,7 +288,6 @@ int main (int argc, char **argv) /* * Reap any dead babies ... */ - while (wait (&status) != -1); } return 1; diff --git a/src/newgrp.c b/src/newgrp.c index 30c0e6c3..8d0bc931 100644 --- a/src/newgrp.c +++ b/src/newgrp.c @@ -29,15 +29,18 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: newgrp.c,v 1.35 2005/08/11 11:26:11 kloczek Exp $") -#include +#ident "$Id: newgrp.c,v 1.41 2005/09/07 15:00:45 kloczek Exp $" + #include #include #include -#include "prototypes.h" +#include #include "defines.h" #include "getdef.h" +#include "prototypes.h" +/* + * Global variables + */ extern char **environ; #ifdef HAVE_SETGROUPS @@ -54,7 +57,6 @@ static void usage (void); /* * usage - print command usage message */ - static void usage (void) { if (is_newgrp) @@ -67,7 +69,6 @@ static void usage (void) * find_matching_group - search all groups of a given group id for * membership of a given username */ - static struct group *find_matching_group (const char *name, gid_t gid) { struct group *gr; @@ -79,6 +80,7 @@ static struct group *find_matching_group (const char *name, gid_t gid) if (gr->gr_gid != gid) { continue; } + /* * A group with matching GID was found. * Test for membership of 'name'. @@ -95,7 +97,6 @@ static struct group *find_matching_group (const char *name, gid_t gid) /* * newgrp - change the invokers current real and effective group id */ - int main (int argc, char **argv) { int initflag = 0; @@ -144,7 +145,6 @@ int main (int argc, char **argv) * but we do not need to restore the previous process persona and we * don't need to re-exec anything. -- JWP */ - Prog = Basename (argv[0]); is_newgrp = (strcmp (Prog, "newgrp") == 0); OPENLOG (is_newgrp ? "newgrp" : "sg"); @@ -180,7 +180,6 @@ int main (int argc, char **argv) * sg [-] * sg [-] groupid [[-c command] */ - if (argc > 0 && (!strcmp (argv[0], "-") || !strcmp (argv[0], "-l"))) { argc--; argv++; @@ -191,7 +190,6 @@ int main (int argc, char **argv) * Do the command line for everything that is * not "newgrp". */ - if (argc > 0 && argv[0][0] != '-') { group = argv[0]; argc--; @@ -208,7 +206,6 @@ int main (int argc, char **argv) * "sg group -c command" (as in the man page) or * "sg group command" (as in the usage message). */ - if (argc > 1 && strcmp (argv[0], "-c") == 0) command = argv[1]; else @@ -216,19 +213,16 @@ int main (int argc, char **argv) cflag++; } } else { - /* * Do the command line for "newgrp". It's just making sure * there aren't any flags and getting the new group name. */ - if (argc > 0 && argv[0][0] == '-') { usage (); goto failure; } else if (argv[0] != (char *) 0) { group = argv[0]; } else { - /* * get the group file entry for her login group id. * the entry must exist, simply to be annoying. @@ -236,7 +230,6 @@ int main (int argc, char **argv) * Perhaps in the past, but the default behavior now depends on the * group entry, so it had better exist. -- JWP */ - if (!(grp = getgrgid (pwd->pw_gid))) { fprintf (stderr, _("unknown GID: %lu\n"), (unsigned long) pwd->pw_gid); @@ -255,7 +248,6 @@ int main (int argc, char **argv) * nasty message but at least your real and effective group id's are * set. */ - /* don't use getgroups(0, 0) - it doesn't work on some systems */ i = 16; for (;;) { @@ -313,7 +305,6 @@ int main (int argc, char **argv) * including the user's name in the member list of the user's login * group. -- JWP */ - if (!(grp = getgrnam (group))) { fprintf (stderr, _("unknown group: %s\n"), group); goto failure; @@ -348,7 +339,6 @@ int main (int argc, char **argv) * password, she will be denied access anyway. * */ - if (!is_on_list (grp->gr_mem, name)) needspasswd = 1; @@ -357,7 +347,6 @@ int main (int argc, char **argv) * password, and the group has a password, she needs to give the * group password. */ - if ((spwd = getspnam (name))) pwd->pw_passwd = spwd->sp_pwdp; @@ -373,14 +362,11 @@ int main (int argc, char **argv) * Note that she now has to provide the password to her own group, * unless she is listed as a member. -- JWP */ - if (getuid () != 0 && needspasswd) { - /* * get the password from her, and set the salt for * the decryption from the group file. */ - if (!(cp = getpass (_("Password: ")))) goto failure; @@ -389,7 +375,6 @@ int main (int argc, char **argv) * password in the group file. The result of this encryption * must match the previously encrypted value in the file. */ - cpasswd = pw_encrypt (cp, grp->gr_passwd); strzero (cp); @@ -416,7 +401,6 @@ int main (int argc, char **argv) * all successful validations pass through this point. The group id * will be set, and the group added to the concurrent groupset. */ - #ifdef USE_SYSLOG if (getdef_bool ("SYSLOG_SG_ENAB")) SYSLOG ((LOG_INFO, "user `%s' switched to group `%s'", @@ -467,14 +451,24 @@ int main (int argc, char **argv) child = fork (); if (child < 0) { /* error in fork() */ - fprintf (stderr, "%s: failure forking: %s", + fprintf (stderr, _("%s: failure forking: %s"), is_newgrp ? "newgrp" : "sg", strerror (errno)); exit (1); } else if (child) { /* parent - wait for child to finish, then log session close */ + int cst = 0; + do { - pid = waitpid (child, NULL, 0); - } while (pid != child); + errno = 0; + pid = waitpid (child, &cst, WUNTRACED); + if (pid == child && WIFSTOPPED (cst)) { + /* stop when child stops */ + raise (SIGSTOP); + /* wake child when resumed */ + kill (child, SIGCONT); + } + } while (pid == child && WIFSTOPPED (cst) || + pid != child && errno == EINTR); SYSLOG ((LOG_INFO, "user `%s' (login `%s' on %s) returned to group `%s'", name, loginname, tty, @@ -482,6 +476,7 @@ int main (int argc, char **argv) closelog (); exit (0); } + /* child - restore signals to their default state */ signal (SIGINT, SIG_DFL); signal (SIGQUIT, SIG_DFL); @@ -502,7 +497,6 @@ int main (int argc, char **argv) * If the group doesn't fit, i'll complain loudly and skip this * part. */ - for (i = 0; i < ngroups; i++) { if (gid == grouplist[i]) break; @@ -524,7 +518,6 @@ int main (int argc, char **argv) * to the real UID. For root, this also sets the real GID to the * new group id. */ - if (setgid (gid)) perror ("setgid"); @@ -537,7 +530,6 @@ int main (int argc, char **argv) * See if the "-c" flag was used. If it was, i just create a shell * command for her using the argument that followed the "-c" flag. */ - if (cflag) { closelog (); execl ("/bin/sh", "sh", "-c", command, (char *) 0); @@ -567,7 +559,6 @@ int main (int argc, char **argv) * problem, try using $SHELL as a workaround; also please notify me * at jparmele@wildbear.com -- JWP */ - if (!initflag && (cp = getenv ("SHELL"))) prog = cp; else if (pwd->pw_shell && pwd->pw_shell[0]) @@ -579,7 +570,6 @@ int main (int argc, char **argv) * Now i try to find the basename of the login shell. This will * become argv[0] of the spawned command. */ - cp = Basename ((char *) prog); endspent (); @@ -593,7 +583,6 @@ int main (int argc, char **argv) * Switch back to her home directory if i am doing login * initialization. */ - if (initflag) { if (chdir (pwd->pw_dir)) perror ("chdir"); @@ -616,7 +605,6 @@ int main (int argc, char **argv) * Exec the login shell and go away. We are trying to get back to * the previous environment which should be the user's login shell. */ - shell (prog, initflag ? (char *) 0 : cp); /* NOTREACHED */ failure: @@ -631,7 +619,6 @@ int main (int argc, char **argv) * process. The closelog is probably unnecessary, but it does no * harm. -- JWP */ - closelog (); exit (1); } diff --git a/src/newusers.c b/src/newusers.c index d9363b60..1d4d0e1c 100644 --- a/src/newusers.c +++ b/src/newusers.c @@ -35,12 +35,10 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: newusers.c,v 1.26 2005/08/11 16:23:34 kloczek Exp $") +#ident "$Id: newusers.c,v 1.30 2005/10/04 21:05:12 kloczek Exp $" + #include #include -#include "prototypes.h" -#include "defines.h" #include #include #include @@ -49,13 +47,16 @@ RCSID (PKG_VER "$Id: newusers.c,v 1.26 2005/08/11 16:23:34 kloczek Exp $") #include #include #endif /* USE_PAM */ -static char *Prog; - +#include "prototypes.h" +#include "defines.h" #include "getdef.h" #include "pwio.h" #include "groupio.h" - #include "shadowio.h" +/* + * Global variables + */ +static char *Prog; static int is_shadow; @@ -69,7 +70,6 @@ static int add_passwd (struct passwd *, const char *); /* * usage - display usage message and exit */ - static void usage (void) { fprintf (stderr, _("Usage: %s [input]\n"), Prog); @@ -79,7 +79,6 @@ static void usage (void) /* * add_group - create a new group or add a user to an existing group */ - static int add_group (const char *name, const char *gid, gid_t * ngid) { const struct passwd *pwd; @@ -92,7 +91,6 @@ static int add_group (const char *name, const char *gid, gid_t * ngid) * Start by seeing if the named group already exists. This will be * very easy to deal with if it does. */ - if ((grp = gr_locate (gid))) { add_member: grent = *grp; @@ -115,7 +113,6 @@ static int add_group (const char *name, const char *gid, gid_t * ngid) * out the GID from the password file. I want the UID and GID to * match, unless the GID is already used. */ - if (gid[0] == '\0') { i = 100; for (pw_rewind (); (pwd = pw_next ());) { @@ -129,13 +126,11 @@ static int add_group (const char *name, const char *gid, gid_t * ngid) } } } else if (gid[0] >= '0' && gid[0] <= '9') { - /* * The GID is a number, which means either this is a brand * new group, or an existing group. For existing groups I * just add myself as a member, just like I did earlier. */ - i = atoi (gid); for (gr_rewind (); (grp = gr_next ());) if (grp->gr_gid == i) @@ -147,13 +142,11 @@ static int add_group (const char *name, const char *gid, gid_t * ngid) * figure out what group ID that group name is going to * have. */ - i = -1; /* * If I don't have a group ID by now, I'll go get the next one. */ - if (i == -1) { for (i = 100, gr_rewind (); (grp = gr_next ());) if (grp->gr_gid >= i) @@ -163,7 +156,6 @@ static int add_group (const char *name, const char *gid, gid_t * ngid) /* * Now I have all of the fields required to create the new group. */ - if (gid[0] && (gid[0] <= '0' || gid[0] >= '9')) grent.gr_name = xstrdup (gid); else @@ -182,7 +174,6 @@ static int add_group (const char *name, const char *gid, gid_t * ngid) /* * add_user - create a new user ID */ - static int add_user (const char *name, const char *uid, uid_t * nuid, gid_t gid) { const struct passwd *pwd; @@ -193,7 +184,6 @@ static int add_user (const char *name, const char *uid, uid_t * nuid, gid_t gid) * The first guess for the UID is either the numerical UID that the * caller provided, or the next available UID. */ - if (uid[0] >= '0' && uid[0] <= '9') { i = atoi (uid); } else if (uid[0] && (pwd = pw_locate (uid))) { @@ -210,7 +200,6 @@ static int add_user (const char *name, const char *uid, uid_t * nuid, gid_t gid) * JUST YET, since there is still more data to be added. So, I fill * in the parts that I have. */ - pwent.pw_name = xstrdup (name); pwent.pw_passwd = "x"; /* XXX warning: const */ pwent.pw_uid = i; @@ -231,7 +220,6 @@ static void update_passwd (struct passwd *pwd, const char *passwd) /* * add_passwd - add or update the encrypted password */ - static int add_passwd (struct passwd *pwd, const char *passwd) { const struct spwd *sp; @@ -242,16 +230,15 @@ static int add_passwd (struct passwd *pwd, const char *passwd) * points to the entry in the password file. Shadow files are * harder since there are zillions of things to do ... */ - if (!is_shadow) { update_passwd (pwd, passwd); return 0; } + /* * Do the first and easiest shadow file case. The user already * exists in the shadow password file. */ - if ((sp = spw_locate (pwd->pw_name))) { spent = *sp; spent.sp_pwdp = pw_encrypt (passwd, crypt_make_salt ()); @@ -264,7 +251,6 @@ static int add_passwd (struct passwd *pwd, const char *passwd) * when the entry was created, so this user would have to have had * the password set someplace else. */ - if (strcmp (pwd->pw_passwd, "x") != 0) { update_passwd (pwd, passwd); return 0; @@ -274,7 +260,6 @@ static int add_passwd (struct passwd *pwd, const char *passwd) * Now the really hard case - I need to create an entirely new * shadow password file entry. */ - spent.sp_namp = pwd->pw_name; spent.sp_pwdp = pw_encrypt (passwd, crypt_make_salt ()); spent.sp_lstchg = time ((time_t *) 0) / SCALE; @@ -370,7 +355,6 @@ int main (int argc, char **argv) * modified, or new entries added. The password file is the key - if * it gets locked, assume the others can be locked right away. */ - if (!pw_lock ()) { fprintf (stderr, _("%s: can't lock /etc/passwd.\n"), Prog); exit (1); @@ -404,7 +388,6 @@ int main (int argc, char **argv) * over 100 is allocated. The pw_gid field will be updated with that * value. */ - while (fgets (buf, sizeof buf, stdin) != (char *) 0) { line++; if ((cp = strrchr (buf, '\n'))) { @@ -421,7 +404,6 @@ int main (int argc, char **argv) * There MUST be 7 colon separated fields, although the * values aren't that particular. */ - for (cp = buf, nfields = 0; nfields < 7; nfields++) { fields[nfields] = cp; if ((cp = strchr (cp, ':'))) @@ -445,7 +427,6 @@ int main (int argc, char **argv) * new group, if that group ID exists, a whole new group ID * will be made up. */ - if (!(pw = pw_locate (fields[0])) && add_group (fields[0], fields[3], &gid)) { fprintf (stderr, @@ -462,7 +443,6 @@ int main (int argc, char **argv) * available user ID is computed and used. After this there * will at least be a (struct passwd) for the user. */ - if (!pw && add_user (fields[0], fields[2], &uid, gid)) { fprintf (stderr, _("%s: line %d: can't create UID\n"), @@ -475,7 +455,6 @@ int main (int argc, char **argv) * The password, gecos field, directory, and shell fields * all come next. */ - if (!(pw = pw_locate (fields[0]))) { fprintf (stderr, _("%s: line %d: cannot find user %s\n"), @@ -517,7 +496,6 @@ int main (int argc, char **argv) /* * Update the password entry with the new changes made. */ - if (!pw_update (&newpw)) { fprintf (stderr, _("%s: line %d: can't update entry\n"), @@ -534,7 +512,6 @@ int main (int argc, char **argv) * changes to be written out all at once, and then unlocked * afterwards. */ - if (errors) { fprintf (stderr, _("%s: error detected, changes ignored\n"), Prog); @@ -562,18 +539,6 @@ int main (int argc, char **argv) (void) pw_unlock (); #ifdef USE_PAM - if (retval == PAM_SUCCESS) { - retval = pam_chauthtok (pamh, 0); - if (retval != PAM_SUCCESS) { - pam_end (pamh, retval); - } - } - - if (retval != PAM_SUCCESS) { - fprintf (stderr, _("%s: PAM chauthtok failed\n"), Prog); - exit (1); - } - if (retval == PAM_SUCCESS) pam_end (pamh, PAM_SUCCESS); #endif /* USE_PAM */ diff --git a/src/passwd.c b/src/passwd.c index b3054ff1..a6f44ee7 100644 --- a/src/passwd.c +++ b/src/passwd.c @@ -29,16 +29,27 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: passwd.c,v 1.44 2005/08/03 16:00:46 kloczek Exp $") -#include "prototypes.h" -#include "defines.h" -#include -#include -#include -#include -#include +#ident "$Id: passwd.c,v 1.52 2005/09/07 15:00:45 kloczek Exp $" + #include +#include +#include +#include +#include +#include +#include +#ifdef WITH_SELINUX +#include +#include +#endif +#include +#include "defines.h" +#include "getdef.h" +#include "nscd.h" +#include "prototypes.h" +#include "pwauth.h" +#include "pwio.h" +#include "shadowio.h" #ifndef GPASSWD_PROGRAM #define GPASSWD_PROGRAM "gpasswd" #endif @@ -48,16 +59,6 @@ RCSID (PKG_VER "$Id: passwd.c,v 1.44 2005/08/03 16:00:46 kloczek Exp $") #ifndef CHSH_PROGRAM #define CHSH_PROGRAM "chsh" #endif -#include -#include "pwauth.h" -#include "shadowio.h" -#include "pwio.h" -#include "nscd.h" -#include "getdef.h" -#ifdef WITH_SELINUX -#include -#include -#endif /* * exit status values */ @@ -77,18 +78,18 @@ static char *Prog; /* Program name */ static int amroot; /* The real UID was 0 */ static int - eflg = 0, /* -e - force password change */ + aflg = 0, /* -a - show status for all users */ + dflg = 0, /* -d - delete password */ + eflg = 0, /* -e - force password change */ iflg = 0, /* -i - set inactive days */ kflg = 0, /* -k - change only if expired */ - nflg = 0, /* -n - set minimum days */ - wflg = 0, /* -w - set warning days */ - xflg = 0, /* -x - set maximum days */ - aflg = 0, /* -a - show status for all users */ - dflg = 0, /* -d - delete password */ lflg = 0, /* -l - lock account */ + nflg = 0, /* -n - set minimum days */ qflg = 0, /* -q - quiet mode */ Sflg = 0, /* -S - show password status */ - uflg = 0; /* -u - unlock account */ + uflg = 0, /* -u - unlock account */ + wflg = 0, /* -w - set warning days */ + xflg = 0; /* -x - set maximum days */ /* * set to 1 if there are any flags which require root privileges, @@ -136,17 +137,28 @@ static long getnumber (const char *); /* * usage - print command usage and exit */ - static void usage (int status) { - fprintf (stderr, _("Usage: %s [-f|-s] [name]\n"), Prog); - if (amroot) { - fprintf (stderr, - _ - (" %s [-x max] [-n min] [-w warn] [-i inact] name\n"), - Prog); - fprintf (stderr, _(" %s {-l|-u|-d|-S|-e} name\n"), Prog); - } + fprintf (stderr, _("Usage: passwd [options] [login]\n" + "\n" + "Options:\n" + " -a, --all report password status on all accounts\n" + " -d, --delete delete the password for the named account\n" + " -e, --expire force expire the password for the named account\n" + " -h, --help display this help message and exit\n" + " -k, --keep-tokens change password only if expired\n" + " -i, --inactive INACTIVE set password inactive after expiration\n" + " to INACTIVE\n" + " -l, --lock lock the named account\n" + " -n, --mindays MIN_DAYS set minimum number of days before password\n" + " change to MIN_DAYS\n" + " -q, --quiet quiet mode\n" + " -r, --repository REPOSITORY change password in REPOSITORY repository\n" + " -S, --status report password status on the named account\n" + " -u, --unlock unlock the named account\n" + " -w, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" + " -x, --maxdays MAX_DAYS set maximim number of days before password\n" + " change to MAX_DAYS\n")); exit (status); } @@ -177,8 +189,7 @@ static int reuse (const char *pass, const struct passwd *pw) * new_password - validate old password and replace with new (both old and * new in global "char crypt_passwd[128]") */ - - /*ARGSUSED*/ static int new_password (const struct passwd *pw) +static int new_password (const struct passwd *pw) { char *clear; /* Pointer to clear text */ char *cipher; /* Pointer to cipher text */ @@ -204,11 +215,11 @@ static int reuse (const char *pass, const struct passwd *pw) cipher = pw_encrypt (clear, crypt_passwd); if (strcmp (cipher, crypt_passwd) != 0) { - SYSLOG ((LOG_WARN, "incorrect password for `%s'", + SYSLOG ((LOG_WARN, "incorrect password for %s", pw->pw_name)); sleep (1); fprintf (stderr, - _("Incorrect password for `%s'\n"), + _("Incorrect password for %s.\n"), pw->pw_name); return -1; } @@ -225,7 +236,6 @@ static int reuse (const char *pass, const struct passwd *pw) * for strength, unless it is the root user. This provides an escape * for initial login passwords. */ - if (getdef_bool ("MD5_CRYPT_ENAB")) pass_max_len = 127; else @@ -251,6 +261,7 @@ Please use a combination of upper and lower case letters and numbers.\n"), getde printf (_("Try again.\n")); continue; } + /* * If enabled, warn about weak passwords even if you are * root (enter this password again to use it anyway). @@ -284,7 +295,6 @@ Please use a combination of upper and lower case letters and numbers.\n"), getde /* * Encrypt the password, then wipe the cleartext password. */ - cp = pw_encrypt (pass, crypt_make_salt ()); memzero (pass, sizeof pass); @@ -301,7 +311,6 @@ Please use a combination of upper and lower case letters and numbers.\n"), getde * check_password() sees if the invoker has permission to change the * password for the given user. */ - static void check_password (const struct passwd *pw, const struct spwd *sp) { time_t now, last, ok; @@ -319,7 +328,6 @@ static void check_password (const struct passwd *pw, const struct spwd *sp) /* * Root can change any password any time. */ - if (amroot) return; @@ -331,7 +339,6 @@ static void check_password (const struct passwd *pw, const struct spwd *sp) * changed. Passwords which have been inactive too long cannot be * changed. */ - if (sp->sp_pwdp[0] == '!' || exp_status > 1 || (sp->sp_max >= 0 && sp->sp_min > sp->sp_max)) { fprintf (stderr, @@ -345,7 +352,6 @@ static void check_password (const struct passwd *pw, const struct spwd *sp) /* * Passwords may only be changed after sp_min time is up. */ - last = sp->sp_lstchg * SCALE; ok = last + (sp->sp_min > 0 ? sp->sp_min * SCALE : 0); @@ -397,7 +403,6 @@ static const char *pw_status (const char *pass) /* * print_status - print current password status */ - static void print_status (const struct passwd *pw) { struct spwd *sp; @@ -534,6 +539,7 @@ static void update_shadow (void) nsp->sp_inact = (inact * DAY) / SCALE; if (do_update_age) nsp->sp_lstchg = time ((time_t *) 0) / SCALE; + /* * Force change on next login, like SunOS 4.x passwd -e or Solaris * 2.x passwd -f. Solaris 2.x seems to do the same thing (set @@ -574,19 +580,20 @@ static long getnumber (const char *str) * * The valid options are * - * -l lock the named account (*) - * -u unlock the named account (*) * -d delete the password for the named account (*) * -e expire the password for the named account (*) - * -x # set sp_max to # days (*) - * -n # set sp_min to # days (*) - * -w # set sp_warn to # days (*) - * -i # set sp_inact to # days (*) - * -S show password status of named account - * -g execute gpasswd command to interpret flags * -f execute chfn command to interpret flags - * -s execute chsh command to interpret flags + * -g execute gpasswd command to interpret flags + * -i # set sp_inact to # days (*) * -k change password only if expired + * -l lock the named account (*) + * -n # set sp_min to # days (*) + * -r # change password in # repository + * -s execute chsh command to interpret flags + * -S show password status of named account + * -u unlock the named account (*) + * -w # set sp_warn to # days (*) + * -x # set sp_max to # days (*) * * (*) requires root permission to execute. * @@ -594,7 +601,6 @@ static long getnumber (const char *str) * appropriate internal format. For finer resolute the chage * command must be used. */ - int main (int argc, char **argv) { int flag; /* Current option to process */ @@ -634,7 +640,6 @@ int main (int argc, char **argv) * These flags are deprecated, may change in a future release. * Please run these programs directly. --marekm */ - if (argc > 1 && argv[1][0] == '-' && strchr ("gfs", argv[1][1])) { char buf[200]; @@ -661,81 +666,99 @@ int main (int argc, char **argv) exit (E_FAILURE); } - /* - * The remaining arguments will be processed one by one and executed - * by this command. The name is the last argument if it does not - * begin with a "-", otherwise the name is determined from the - * environment and must agree with the real UID. Also, the UID will - * be checked for any commands which are restricted to root only. - */ + { + /* + * Parse the command line options. + */ + int option_index = 0; + int c; + static struct option long_options[] = { + {"all", no_argument, NULL, 'a'}, + {"delete", no_argument, NULL, 'd'}, + {"expire", no_argument, NULL, 'e'}, + {"help", no_argument, NULL, 'h'}, + {"inactive", required_argument, NULL, 'i'}, + {"keep-tokens", no_argument, NULL, 'k'}, + {"lock", no_argument, NULL, 'l'}, + {"mindays", required_argument, NULL, 'n'}, + {"quiet", no_argument, NULL, 'q'}, + {"repository", required_argument, NULL, 'r'}, + {"status", no_argument, NULL, 'S'}, + {"unlock", no_argument, NULL, 'u'}, + {"warning", required_argument, NULL, 'w'}, + {"maxdays", required_argument, NULL, 'x'}, + {NULL, 0, NULL, '\0'} + }; - - while ((flag = getopt (argc, argv, "adei:kln:qr:Suw:x:")) != EOF) { - switch (flag) { - case 'a': - aflg++; - break; - case 'd': - dflg++; - anyflag = 1; - break; - case 'e': - eflg++; - anyflag = 1; - break; - case 'i': - inact = getnumber (optarg); - if (inact >= -1) - iflg++; - anyflag = 1; - break; - case 'k': - /* change only if expired, like Linux-PAM passwd -k. */ - kflg++; /* ok for users */ - break; - case 'l': - lflg++; - anyflag = 1; - break; - case 'n': - age_min = getnumber (optarg); - nflg++; - anyflag = 1; - break; - case 'q': - qflg++; /* ok for users */ - break; - case 'S': - Sflg++; /* ok for users */ - break; - case 'u': - uflg++; - anyflag = 1; - break; - case 'w': - warn = getnumber (optarg); - if (warn >= -1) - wflg++; - anyflag = 1; - break; - case 'r': - /* -r repository (files|nis|nisplus) */ - /* only "files" supported for now */ - if (strcmp (optarg, "files") != 0) { - fprintf (stderr, - _ - ("%s: repository %s not supported\n"), - Prog, optarg); - exit (E_BAD_ARG); + while ((c = + getopt_long (argc, argv, "adei:kln:qr:Suw:x:", + long_options, &option_index)) != -1) { + switch (c) { + case 'a': + aflg++; + break; + case 'd': + dflg++; + anyflag = 1; + break; + case 'e': + eflg++; + anyflag = 1; + break; + case 'i': + inact = getnumber (optarg); + if (inact >= -1) + iflg++; + anyflag = 1; + break; + case 'k': + /* change only if expired, like Linux-PAM passwd -k. */ + kflg++; /* ok for users */ + break; + case 'l': + lflg++; + anyflag = 1; + break; + case 'n': + age_min = getnumber (optarg); + nflg++; + anyflag = 1; + break; + case 'q': + qflg++; /* ok for users */ + break; + case 'r': + /* -r repository (files|nis|nisplus) */ + /* only "files" supported for now */ + if (strcmp (optarg, "files") != 0) { + fprintf (stderr, + _ + ("%s: repository %s not supported\n"), + Prog, optarg); + exit (E_BAD_ARG); + } + break; + case 'S': + Sflg++; /* ok for users */ + break; + case 'u': + uflg++; + anyflag = 1; + break; + case 'w': + warn = getnumber (optarg); + if (warn >= -1) + wflg++; + anyflag = 1; + break; + case 'x': + age_max = getnumber (optarg); + xflg++; + anyflag = 1; + break; + default: + usage (E_BAD_ARG); } - break; - case 'x': - age_max = getnumber (optarg); - xflg++; - anyflag = 1; - break; - default: - usage (E_BAD_ARG); } } @@ -744,7 +767,6 @@ int main (int argc, char **argv) * command line if possible. Otherwise it is figured out from the * environment. */ - pw = get_my_pwent (); if (!pw) { fprintf (stderr, @@ -761,7 +783,6 @@ int main (int argc, char **argv) * The -a flag requires -S, no other flags, no username, and * you must be root. --marekm */ - if (aflg) { if (anyflag || !Sflg || (optind < argc)) usage (E_USAGE); @@ -794,7 +815,6 @@ int main (int argc, char **argv) * -S now ok for normal users (check status of my own account), and * doesn't require username. --marekm */ - if (anyflag && optind >= argc) usage (E_USAGE); @@ -817,7 +837,7 @@ int main (int argc, char **argv) * check if the change is allowed by SELinux policy. */ if ((pw->pw_uid != getuid ()) - && (checkPasswdAccess (PASSWD__PASSWD) != 0)) { + && (selinux_check_passwd_access (PASSWD__PASSWD) != 0)) { #else /* * If the UID of the user does not match the current real UID, @@ -844,7 +864,6 @@ int main (int argc, char **argv) /* * The user name is valid, so let's get the shadow file entry. */ - sp = getspnam (name); if (!sp) sp = pwd_to_spwd (pw); @@ -854,7 +873,6 @@ int main (int argc, char **argv) /* * If there are no other flags, just change the password. */ - if (!anyflag) { STRFCPY (crypt_passwd, cp); @@ -862,7 +880,6 @@ int main (int argc, char **argv) * See if the user is permitted to change the password. * Otherwise, go ahead and set a new password. */ - check_password (pw, sp); /* @@ -888,13 +905,12 @@ int main (int argc, char **argv) * against unexpected signals. Any keyboard signals are set to be * ignored. */ - pwd_init (); +#ifdef USE_PAM /* * Don't set the real UID for PAM... */ -#ifdef USE_PAM if (!anyflag) { do_pam_passwd (name, qflg, kflg); exit (E_SUCCESS); diff --git a/src/pwck.c b/src/pwck.c index 4794831c..be50b93d 100644 --- a/src/pwck.c +++ b/src/pwck.c @@ -29,21 +29,21 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: pwck.c,v 1.29 2005/08/09 15:27:02 kloczek Exp $") -#include +#ident "$Id: pwck.c,v 1.32 2005/09/07 15:00:45 kloczek Exp $" + #include #include -#include "prototypes.h" -#include "defines.h" -#include "chkname.h" #include +#include +#include "chkname.h" #include "commonio.h" +#include "defines.h" +#include "prototypes.h" #include "pwio.h" +#include "shadowio.h" extern void __pw_del_entry (const struct commonio_entry *); extern struct commonio_entry *__pw_get_head (void); -#include "shadowio.h" extern void __spw_del_entry (const struct commonio_entry *); extern struct commonio_entry *__spw_get_head (void); @@ -59,7 +59,7 @@ extern struct commonio_entry *__spw_get_head (void); #define E_CANTUPDATE 5 /* - * Local variables + * Global variables */ static char *Prog; @@ -76,7 +76,6 @@ static int yes_or_no (void); /* * usage - print syntax message and exit */ - static void usage (void) { fprintf (stderr, _("Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"), @@ -87,7 +86,6 @@ static void usage (void) /* * yes_or_no - get answer to question from the user */ - static int yes_or_no (void) { char buf[80]; @@ -104,7 +102,6 @@ static int yes_or_no (void) /* * Get a line and see what the first character is. */ - if (fgets (buf, sizeof buf, stdin)) return buf[0] == 'y' || buf[0] == 'Y'; @@ -114,7 +111,6 @@ static int yes_or_no (void) /* * pwck - verify password file integrity */ - int main (int argc, char **argv) { int arg; @@ -131,7 +127,6 @@ int main (int argc, char **argv) /* * Get my name so that I can use it to report errors. */ - Prog = Basename (argv[0]); setlocale (LC_ALL, ""); @@ -143,7 +138,6 @@ int main (int argc, char **argv) /* * Parse the command line arguments */ - while ((arg = getopt (argc, argv, "eqrs")) != EOF) { switch (arg) { case 'e': /* added for Debian shadow-961025-2 compatibility */ @@ -169,7 +163,6 @@ int main (int argc, char **argv) /* * Make certain we have the right number of arguments */ - if (optind != argc && optind + 1 != argc && optind + 2 != argc) usage (); @@ -177,7 +170,6 @@ int main (int argc, char **argv) * If there are two left over filenames, use those as the password * and shadow password filenames. */ - if (optind != argc) { pwd_file = argv[optind]; pw_name (pwd_file); @@ -192,7 +184,6 @@ int main (int argc, char **argv) /* * Lock the files if we aren't in "read-only" mode */ - if (!read_only) { if (!pw_lock ()) { fprintf (stderr, _("%s: cannot lock file %s\n"), @@ -216,7 +207,6 @@ int main (int argc, char **argv) * Open the files. Use O_RDONLY if we are in read_only mode, O_RDWR * otherwise. */ - if (!pw_open (read_only ? O_RDONLY : O_RDWR)) { fprintf (stderr, _("%s: cannot open file %s\n"), Prog, pwd_file); @@ -244,13 +234,11 @@ int main (int argc, char **argv) /* * Loop through the entire password file. */ - for (pfe = __pw_get_head (); pfe; pfe = pfe->next) { /* * If this is a NIS line, skip it. You can't "know" what NIS * is going to do without directly asking NIS ... */ - if (pfe->line[0] == '+' || pfe->line[0] == '-') continue; @@ -259,14 +247,11 @@ int main (int argc, char **argv) * have no (struct passwd) entry because they couldn't be * parsed properly. */ - if (!pfe->eptr) { - /* * Tell the user this entire line is bogus and ask * them to delete it. */ - printf (_("invalid password file entry\n")); printf (_("delete line `%s'? "), pfe->line); errors++; @@ -274,7 +259,6 @@ int main (int argc, char **argv) /* * prompt the user to delete the entry or not */ - if (!yes_or_no ()) continue; @@ -284,7 +268,6 @@ int main (int argc, char **argv) * list. When done, it skips back to the top of the * loop to try out the next list element. */ - delete_pw: SYSLOG ((LOG_INFO, "delete passwd line `%s'", pfe->line)); @@ -297,27 +280,23 @@ int main (int argc, char **argv) /* * Password structure is good, start using it. */ - pwd = pfe->eptr; /* * Make sure this entry has a unique name. */ - for (tpfe = __pw_get_head (); tpfe; tpfe = tpfe->next) { const struct passwd *ent = tpfe->eptr; /* * Don't check this entry */ - if (tpfe == pfe) continue; /* * Don't check invalid entries. */ - if (!ent) continue; @@ -328,7 +307,6 @@ int main (int argc, char **argv) * Tell the user this entry is a duplicate of * another and ask them to delete it. */ - printf (_("duplicate password entry\n")); printf (_("delete line `%s'? "), pfe->line); errors++; @@ -336,7 +314,6 @@ int main (int argc, char **argv) /* * prompt the user to delete the entry or not */ - if (yes_or_no ()) goto delete_pw; } @@ -352,7 +329,6 @@ int main (int argc, char **argv) /* * Make sure the primary group exists */ - if (!quiet && !getgrgid (pwd->pw_gid)) { /* @@ -367,13 +343,10 @@ int main (int argc, char **argv) /* * Make sure the home directory exists */ - if (!quiet && access (pwd->pw_dir, F_OK)) { - /* * Home directory doesn't exist, give a warning */ - printf (_ ("user %s: directory %s does not exist\n"), pwd->pw_name, pwd->pw_dir); @@ -383,14 +356,12 @@ int main (int argc, char **argv) /* * Make sure the login shell is executable */ - if (!quiet && pwd->pw_shell[0] && access (pwd->pw_shell, F_OK)) { /* * Login shell doesn't exist, give a warning */ - printf (_("user %s: program %s does not exist\n"), pwd->pw_name, pwd->pw_shell); errors++; @@ -403,13 +374,11 @@ int main (int argc, char **argv) /* * Loop through the entire shadow password file. */ - for (spe = __spw_get_head (); spe; spe = spe->next) { /* * If this is a NIS line, skip it. You can't "know" what NIS * is going to do without directly asking NIS ... */ - if (spe->line[0] == '+' || spe->line[0] == '-') continue; @@ -418,14 +387,11 @@ int main (int argc, char **argv) * have no (struct spwd) entry because they couldn't be * parsed properly. */ - if (!spe->eptr) { - /* * Tell the user this entire line is bogus and ask * them to delete it. */ - printf (_("invalid shadow password file entry\n")); printf (_("delete line `%s'? "), spe->line); errors++; @@ -433,7 +399,6 @@ int main (int argc, char **argv) /* * prompt the user to delete the entry or not */ - if (!yes_or_no ()) continue; @@ -443,7 +408,6 @@ int main (int argc, char **argv) * When done, it skips back to the top of the loop * to try out the next list element. */ - delete_spw: SYSLOG ((LOG_INFO, "delete shadow line `%s'", spe->line)); @@ -456,27 +420,23 @@ int main (int argc, char **argv) /* * Shadow password structure is good, start using it. */ - spw = spe->eptr; /* * Make sure this entry has a unique name. */ - for (tspe = __spw_get_head (); tspe; tspe = tspe->next) { const struct spwd *ent = tspe->eptr; /* * Don't check this entry */ - if (tspe == spe) continue; /* * Don't check invalid entries. */ - if (!ent) continue; @@ -487,7 +447,6 @@ int main (int argc, char **argv) * Tell the user this entry is a duplicate of * another and ask them to delete it. */ - printf (_("duplicate shadow password entry\n")); printf (_("delete line `%s'? "), spe->line); errors++; @@ -495,7 +454,6 @@ int main (int argc, char **argv) /* * prompt the user to delete the entry or not */ - if (yes_or_no ()) goto delete_spw; } @@ -504,14 +462,11 @@ int main (int argc, char **argv) * Make sure this entry exists in the /etc/passwd * file. */ - if (!pw_locate (spw->sp_namp)) { - /* * Tell the user this entry has no matching * /etc/passwd entry and ask them to delete it. */ - printf (_("no matching password file entry\n")); printf (_("delete line `%s'? "), spe->line); errors++; @@ -519,7 +474,6 @@ int main (int argc, char **argv) /* * prompt the user to delete the entry or not */ - if (yes_or_no ()) goto delete_spw; } @@ -527,7 +481,6 @@ int main (int argc, char **argv) /* * Warn if last password change in the future. --marekm */ - if (!quiet && spw->sp_lstchg > time ((time_t *) 0) / SCALE) { printf (_ ("user %s: last password change in the future\n"), @@ -542,7 +495,6 @@ int main (int argc, char **argv) * All done. If there were no deletions we can just abandon any * changes to the files. */ - if (deleted) { write_and_bye: if (!pw_close ()) { @@ -564,7 +516,6 @@ int main (int argc, char **argv) /* * Don't be anti-social - unlock the files when you're done. */ - if (is_shadow) spw_unlock (); (void) pw_unlock (); @@ -574,7 +525,6 @@ int main (int argc, char **argv) /* * Tell the user what we did and exit. */ - if (errors) printf (deleted ? _("%s: the files have been updated\n") : diff --git a/src/pwconv.c b/src/pwconv.c index 07baff01..896be05f 100644 --- a/src/pwconv.c +++ b/src/pwconv.c @@ -28,21 +28,21 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: pwconv.c,v 1.18 2005/08/09 15:27:02 kloczek Exp $") +#ident "$Id: pwconv.c,v 1.21 2005/09/07 15:00:45 kloczek Exp $" + +#include +#include +#include #include #include #include -#include #include #include -#include -#include -#include "prototypes.h" #include "defines.h" +#include "getdef.h" +#include "prototypes.h" #include "pwio.h" #include "shadowio.h" -#include "getdef.h" /* * exit status values */ @@ -53,6 +53,9 @@ RCSID (PKG_VER "$Id: pwconv.c,v 1.18 2005/08/09 15:27:02 kloczek Exp $") #define E_MISSING 4 /* unexpected failure, passwd file missing */ #define E_PWDBUSY 5 /* passwd file(s) busy */ #define E_BADENTRY 6 /* bad shadow entry */ +/* + * Global variables + */ static int shadow_locked = 0, passwd_locked = 0; @@ -153,6 +156,7 @@ int main (int argc, char **argv) Prog, spent.sp_namp); fail_exit (E_FAILURE); } + /* remove password from /etc/passwd */ pwent = *pw; pwent.pw_passwd = SHADOW_PASSWD_STRING; /* XXX warning: const */ diff --git a/src/pwunconv.c b/src/pwunconv.c index 9f5c637b..e4f1f8a2 100644 --- a/src/pwunconv.c +++ b/src/pwunconv.c @@ -29,22 +29,25 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: pwunconv.c,v 1.18 2005/08/03 16:00:46 kloczek Exp $") -#include "defines.h" -#include -#include +#ident "$Id: pwunconv.c,v 1.21 2005/09/07 15:00:45 kloczek Exp $" + #include #include +#include +#include #include +#include "defines.h" +#include "nscd.h" #include "prototypes.h" #include "pwio.h" #include "shadowio.h" -#include "nscd.h" -char *l64a (); - +/* + * Global variables + */ static int shadow_locked = 0, passwd_locked = 0; +char *l64a (); + /* local function prototypes */ static void fail_exit (int); @@ -117,7 +120,6 @@ int main (int argc, char **argv) * put into the new file. Otherwise, the days are converted * to weeks and so on. */ - if (!pw_update (&pwent)) { fprintf (stderr, _("%s: can't update entry for user %s\n"), diff --git a/src/su.c b/src/su.c index 55e5f86e..54726c8e 100644 --- a/src/su.c +++ b/src/su.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: su.c,v 1.41 2005/08/04 19:13:43 kloczek Exp $") +#ident "$Id: su.c,v 1.45 2005/09/07 15:00:45 kloczek Exp $" + #include #include #include @@ -88,7 +88,6 @@ static int iswheel (const char *); * with die() as the signal handler. If signal later calls die() with a * signal number, the terminal modes are then reset. */ - static RETSIGTYPE die (int killed) { static TERMIO sgtty; @@ -216,7 +215,7 @@ static void run_shell (const char *shellstr, char *args[], int doshell) if (ret != PAM_SUCCESS) { SYSLOG ((LOG_ERR, "pam_close_session: %s", pam_strerror (pamh, ret))); - fprintf (stderr, "%s: %s\n", Prog, pam_strerror (pamh, ret)); + fprintf (stderr, _("%s: %s\n"), Prog, pam_strerror (pamh, ret)); pam_end (pamh, ret); exit (1); } @@ -247,7 +246,6 @@ static void run_shell (const char *shellstr, char *args[], int doshell) * particular, the argument "-c" will cause the next argument to be * interpreted as a command by the common shell programs. */ - int main (int argc, char **argv) { char *cp; @@ -283,7 +281,6 @@ int main (int argc, char **argv) * Get the program name. The program name is used as a prefix to * most error messages. */ - Prog = Basename (argv[0]); OPENLOG ("su"); @@ -297,7 +294,6 @@ int main (int argc, char **argv) * Get the tty name. Entries will be logged indicating that the user * tried to change to the named new user from the current terminal. */ - if (isatty (0) && (cp = ttyname (0))) { if (strncmp (cp, "/dev/", 5) == 0) tty = cp + 5; @@ -321,7 +317,6 @@ int main (int argc, char **argv) /* * Process the command line arguments. */ - argc--; argv++; /* shift out command name */ @@ -335,7 +330,6 @@ int main (int argc, char **argv) * If a new login is being set up, the old environment will be * ignored and a new one created later on. */ - if (fakelogin) { /* * The terminal type will be left alone if it is present in @@ -346,11 +340,13 @@ int main (int argc, char **argv) #ifndef USE_PAM if ((cp = getdef_str ("ENV_TZ"))) addenv (*cp == '/' ? tz (cp) : cp, NULL); + /* * The clock frequency will be reset to the login value if required */ if ((cp = getdef_str ("ENV_HZ"))) addenv (cp, NULL); /* set the default $HZ, if one */ + /* * Also leave DISPLAY and XAUTHORITY if present, else * pam_xauth will not work. @@ -371,7 +367,6 @@ int main (int argc, char **argv) * doesn't start with a "-" unless you specify the new user name. * Any remaining arguments will be passed to the user's login shell. */ - if (argc > 0 && argv[0][0] != '-') { STRFCPY (name, argv[0]); /* use this login id */ argc--; @@ -386,7 +381,6 @@ int main (int argc, char **argv) * Get the user's real name. The current UID is used to determine * who has executed su. That user ID must exist. */ - pw = get_my_pwent (); if (!pw) { SYSLOG ((LOG_CRIT, "Unknown UID: %u", my_uid)); @@ -420,7 +414,7 @@ int main (int argc, char **argv) if (ret != PAM_SUCCESS) { SYSLOG ((LOG_ERR, "pam_set_item: %s", pam_strerror (pamh, ret))); - fprintf (stderr, "%s: %s\n", Prog, pam_strerror (pamh, ret)); + fprintf (stderr, _("%s: %s\n"), Prog, pam_strerror (pamh, ret)); pam_end (pamh, ret); exit (1); } @@ -435,7 +429,6 @@ int main (int argc, char **argv) * The password file entries for the user is gotten and the account * validated. */ - if (!(pw = getpwnam (name))) { (void) fprintf (stderr, _("Unknown id: %s\n"), name); closelog (); @@ -498,7 +491,6 @@ int main (int argc, char **argv) /* * Set the default shell. */ - if (pwent.pw_shell[0] == '\0') pwent.pw_shell = "/bin/sh"; /* XXX warning: const */ @@ -509,7 +501,7 @@ int main (int argc, char **argv) if (ret != PAM_SUCCESS) { SYSLOG ((LOG_ERR, "pam_authenticate: %s", pam_strerror (pamh, ret))); - fprintf (stderr, "%s: %s\n", Prog, pam_strerror (pamh, ret)); + fprintf (stderr, _("%s: %s\n"), Prog, pam_strerror (pamh, ret)); pam_end (pamh, ret); su_failure (tty); } @@ -522,7 +514,7 @@ int main (int argc, char **argv) } else { SYSLOG ((LOG_ERR, "pam_acct_mgmt: %s", pam_strerror (pamh, ret))); - fprintf (stderr, "%s: %s\n", Prog, + fprintf (stderr, _("%s: %s\n"), Prog, pam_strerror (pamh, ret)); pam_end (pamh, ret); su_failure (tty); @@ -532,7 +524,6 @@ int main (int argc, char **argv) /* * Set up a signal handler in case the user types QUIT. */ - die (0); oldsig = signal (SIGQUIT, die); @@ -541,7 +532,6 @@ int main (int argc, char **argv) * The first character of an administrator defined method is an '@' * character. */ - if (!amroot && pw_auth (pwent.pw_passwd, name, PW_SU, (char *) 0)) { SYSLOG ((pwent.pw_uid ? LOG_NOTICE : LOG_WARN, "Authentication failed for %s", name)); @@ -554,7 +544,6 @@ int main (int argc, char **argv) * expired accounts, but normal users can't become a user with an * expired password. */ - if (!amroot) { if (!spwd) spwd = pwd_to_spwd (&pwent); @@ -572,7 +561,6 @@ int main (int argc, char **argv) * there is a "SU" entry in the /etc/porttime file denying access to * the account. */ - if (!amroot) { if (!isttytime (pwent.pw_name, "SU", time ((time_t *) 0))) { SYSLOG ((pwent.pw_uid ? LOG_WARN : LOG_CRIT, @@ -595,7 +583,10 @@ int main (int argc, char **argv) addenv ("PATH", cp); } +#ifndef USE_PAM + /* setup the environment for PAM later on, else we run into auth problems */ environ = newenvp; /* make new environment active */ +#endif if (getenv ("IFS")) /* don't export user IFS ... */ addenv ("IFS= \t\n", NULL); /* ... instead, set a safe IFS */ @@ -631,7 +622,7 @@ int main (int argc, char **argv) ret = pam_setcred (pamh, PAM_ESTABLISH_CRED); if (ret != PAM_SUCCESS) { SYSLOG ((LOG_ERR, "pam_setcred: %s", pam_strerror (pamh, ret))); - fprintf (stderr, "%s: %s\n", Prog, pam_strerror (pamh, ret)); + fprintf (stderr, _("%s: %s\n"), Prog, pam_strerror (pamh, ret)); pam_end (pamh, ret); exit (1); } @@ -640,7 +631,7 @@ int main (int argc, char **argv) if (ret != PAM_SUCCESS) { SYSLOG ((LOG_ERR, "pam_open_session: %s", pam_strerror (pamh, ret))); - fprintf (stderr, "%s: %s\n", Prog, pam_strerror (pamh, ret)); + fprintf (stderr, _("%s: %s\n"), Prog, pam_strerror (pamh, ret)); pam_end (pamh, ret); exit (1); } @@ -694,7 +685,6 @@ int main (int argc, char **argv) * See if the user has extra arguments on the command line. In that * case they will be provided to the new user's shell as arguments. */ - if (fakelogin) { char *arg0; @@ -710,12 +700,10 @@ int main (int argc, char **argv) cp = Basename (pwent.pw_shell); if (!doshell) { - /* * Use new user's shell from /etc/passwd and create an argv * with the rest of the command line included. */ - argv[-1] = pwent.pw_shell; #ifndef USE_PAM (void) execv (pwent.pw_shell, &argv[-1]); diff --git a/src/suauth.c b/src/suauth.c index 13249f08..824daf6e 100644 --- a/src/suauth.c +++ b/src/suauth.c @@ -1,12 +1,11 @@ #include - -#include -#include -#include -#include #include -#include "prototypes.h" +#include +#include +#include +#include #include "defines.h" +#include "prototypes.h" #ifndef SUAUTHFILE #define SUAUTHFILE "/etc/suauth" @@ -17,6 +16,9 @@ #define DENY -1 #define OWNPWORD 2 +/* + * Global variables + */ struct passwd pwent; #ifdef SU_ACCESS @@ -24,7 +26,6 @@ struct passwd pwent; /* Really, I could do with a few const char's here defining all the * strings output to the user or the syslog. -- chris */ - static int applies (const char *, char *); int check_su_auth (const char *, const char *); diff --git a/src/sulogin.c b/src/sulogin.c index e45b649c..d1559e8f 100644 --- a/src/sulogin.c +++ b/src/sulogin.c @@ -29,16 +29,19 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: sulogin.c,v 1.20 2005/07/06 11:33:06 kloczek Exp $") -#include "prototypes.h" -#include "defines.h" -#include "getdef.h" +#ident "$Id: sulogin.c,v 1.23 2005/09/07 15:00:45 kloczek Exp $" + +#include +#include #include #include -#include -#include +#include "defines.h" +#include "getdef.h" +#include "prototypes.h" #include "pwauth.h" +/* + * Global variables + */ static char name[BUFSIZ]; static char pass[BUFSIZ]; @@ -156,11 +159,9 @@ static RETSIGTYPE catch (int sig) while (1) { /* repeatedly get login/password pairs */ pw_entry (name, &pwent); /* get entry from password file */ if (pwent.pw_name == (char *) 0) { - /* * Fail secure */ - printf (_("No password entry for 'root'\n")); #ifdef USE_SYSLOG SYSLOG (LOG_WARN, "No password entry for 'root'\n"); diff --git a/src/useradd.c b/src/useradd.c index ed707e30..b8546fb5 100644 --- a/src/useradd.c +++ b/src/useradd.c @@ -29,8 +29,8 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: useradd.c,v 1.75 2005/08/11 16:23:34 kloczek Exp $") +#ident "$Id: useradd.c,v 1.84 2005/10/04 21:05:12 kloczek Exp $" + #include #include #include @@ -46,12 +46,20 @@ RCSID (PKG_VER "$Id: useradd.c,v 1.75 2005/08/11 16:23:34 kloczek Exp $") #include #include #include -#include "prototypes.h" -#include "defines.h" #include "chkname.h" -#include "pwauth.h" +#include "defines.h" #include "faillog.h" +#include "getdef.h" +#include "groupio.h" #include "nscd.h" +#include "prototypes.h" +#include "pwauth.h" +#include "pwio.h" +#ifdef SHADOWGRP +#include "sgroupio.h" +#endif +#include "shadowio.h" + #ifndef SKEL_DIR #define SKEL_DIR "/etc/skel" #endif @@ -65,6 +73,9 @@ RCSID (PKG_VER "$Id: useradd.c,v 1.75 2005/08/11 16:23:34 kloczek Exp $") #ifndef LASTLOG_FILE #define LASTLOG_FILE "/var/log/lastlog" #endif +/* + * Global variables + */ /* * These defaults are used if there is no defaults file. */ @@ -124,16 +135,6 @@ extern int optind; static int home_added; -#include "groupio.h" - -#ifdef SHADOWGRP -#include "sgroupio.h" -#endif - -#include "pwio.h" -#include "shadowio.h" -#include "getdef.h" - /* * exit status values */ @@ -185,17 +186,19 @@ static void create_mail (void); /* * fail_exit - undo as much as possible */ - static void fail_exit (int code) { if (home_added) rmdir (user_home); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding user", user_name, -1, + 0); +#endif SYSLOG ((LOG_INFO, "failed adding user `%s', data deleted", user_name)); exit (code); } - static struct group *getgr_nam_gid (const char *name) { gid_t gid; @@ -208,7 +211,6 @@ static struct group *getgr_nam_gid (const char *name) return getgrnam (name); } - static long get_number (const char *cp) { long val; @@ -244,7 +246,6 @@ static uid_t get_uid (const char *cp) * various values from the file, or uses built-in default values if the * file does not exist. */ - static void get_defaults (void) { FILE *fp; @@ -263,7 +264,6 @@ static void get_defaults (void) * Read the file a line at a time. Only the lines that have relevant * values are used, everything else can be ignored. */ - while (fgets (buf, sizeof buf, fp)) { if ((cp = strrchr (buf, '\n'))) *cp = '\0'; @@ -276,7 +276,6 @@ static void get_defaults (void) /* * Primary GROUP identifier */ - if (MATCH (buf, DGROUP)) { unsigned int val = (unsigned int) strtoul (cp, &ep, 10); @@ -353,14 +352,12 @@ static void get_defaults (void) } } - /* * show_defaults - show the contents of the defaults file * * show_defaults() displays the values that are used from the default * file and the built-in values. */ - static void show_defaults (void) { printf ("GROUP=%u\n", (unsigned int) def_group); @@ -379,7 +376,6 @@ static void show_defaults (void) * are currently set. Duplicated lines are pruned, missing lines are * added, and unrecognized lines are copied as is. */ - static int set_defaults (void) { FILE *ifp; @@ -399,7 +395,6 @@ static int set_defaults (void) /* * Create a temporary file to copy the new output to. */ - if ((ofd = mkstemp (new_file)) == -1) { fprintf (stderr, _("%s: cannot create new defaults file\n"), Prog); @@ -417,7 +412,6 @@ static int set_defaults (void) * temporary file, using any new values. Each line is checked * to insure that it is not output more than once. */ - if (!(ifp = fopen (def_file, "r"))) { fprintf (ofp, "# useradd defaults file\n"); goto skip; @@ -461,7 +455,6 @@ static int set_defaults (void) * causes new values to be added to a file which did not previously * have an entry for that value. */ - if (!out_group) fprintf (ofp, DGROUP "%u\n", (unsigned int) def_group); if (!out_home) @@ -482,7 +475,6 @@ static int set_defaults (void) * Flush and close the file. Check for errors to make certain * the new file is intact. */ - fflush (ofp); if (ferror (ofp) || fclose (ofp)) { unlink (new_file); @@ -492,7 +484,6 @@ static int set_defaults (void) /* * Rename the current default file to its backup name. */ - snprintf (buf, sizeof buf, "%s-", def_file); if (rename (def_file, buf) && errno != ENOENT) { snprintf (buf, sizeof buf, _("%s: rename: %s"), Prog, def_file); @@ -504,12 +495,15 @@ static int set_defaults (void) /* * Rename the new default file to its correct name. */ - if (rename (new_file, def_file)) { snprintf (buf, sizeof buf, _("%s: rename: %s"), Prog, new_file); perror (buf); return -1; } +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing user defaults", + NULL, -1, 1); +#endif SYSLOG ((LOG_INFO, "useradd defaults: GROUP=%u, HOME=%s, SHELL=%s, INACTIVE=%ld, " "EXPIRE=%s, SKEL=%s, CREATE_MAIL_SPOOL=%s", @@ -526,7 +520,6 @@ static int set_defaults (void) * converts it to a NULL-terminated array. Any unknown group * names are reported as errors. */ - static int get_groups (char *list) { char *cp; @@ -537,7 +530,6 @@ static int get_groups (char *list) /* * Initialize the list to be empty */ - user_groups[0] = (char *) 0; if (!*list) @@ -548,12 +540,10 @@ static int get_groups (char *list) * each name and look it up. A mix of numerical and string * values for group identifiers is permitted. */ - do { /* * Strip off a single name from the list */ - if ((cp = strchr (list, ','))) *cp++ = '\0'; @@ -561,14 +551,12 @@ static int get_groups (char *list) * Names starting with digits are treated as numerical * GID values, otherwise the string is looked up as is. */ - grp = getgr_nam_gid (list); /* * There must be a match, either by GID value or by * string name. */ - if (!grp) { fprintf (stderr, _("%s: unknown group %s\n"), Prog, list); @@ -588,7 +576,6 @@ static int get_groups (char *list) * Don't add this group if they are an NIS group. Tell * the user to go to the server for this group. */ - if (__isgrNIS ()) { fprintf (stderr, _("%s: group `%s' is a NIS group.\n"), @@ -617,7 +604,6 @@ static int get_groups (char *list) /* * Any errors in finding group names are fatal */ - if (errors) return -1; @@ -627,7 +613,6 @@ static int get_groups (char *list) /* * usage - display usage message and exit */ - static void usage (void) { fprintf (stderr, _("Usage: useradd [options] LOGIN\n" @@ -665,7 +650,6 @@ static void usage (void) * new_pwent() takes all of the values that have been entered and * fills in a (struct passwd) with them. */ - static void new_pwent (struct passwd *pwent) { memzero (pwent, sizeof *pwent); @@ -696,7 +680,6 @@ static long scale_age (long x) * new_spent() takes all of the values that have been entered and * fills in a (struct spwd) with them. */ - static void new_spent (struct spwd *spent) { memzero (spent, sizeof *spent); @@ -717,7 +700,6 @@ static void new_spent (struct spwd *spent) * grp_update() takes the secondary group set given in user_groups * and adds the user to each group given by that set. */ - static void grp_update (void) { const struct group *grp; @@ -732,7 +714,6 @@ static void grp_update (void) * Lock and open the group file. This will load all of the group * entries. */ - if (!gr_lock ()) { fprintf (stderr, _("%s: error locking group file\n"), Prog); fail_exit (E_GRP_UPDATE); @@ -758,14 +739,12 @@ static void grp_update (void) * Scan through the entire group file looking for the groups that * the user is a member of. */ - for (gr_rewind (), grp = gr_next (); grp; grp = gr_next ()) { /* * See if the user specified this group as one of their * concurrent groups. */ - if (!is_on_list (user_groups, grp->gr_name)) continue; @@ -773,7 +752,6 @@ static void grp_update (void) * Make a copy - gr_update() will free() everything * from the old entry, and we need it later. */ - ngrp = __gr_dup (grp); if (!ngrp) { fail_exit (E_GRP_UPDATE); /* XXX */ @@ -783,13 +761,16 @@ static void grp_update (void) * Add the username to the list of group members and * update the group entry to reflect the change. */ - ngrp->gr_mem = add_list (ngrp->gr_mem, user_name); if (!gr_update (ngrp)) { fprintf (stderr, - "%s: error adding new group entry\n", Prog); + _("%s: error adding new group entry\n"), Prog); fail_exit (E_GRP_UPDATE); } +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "adding user to group", user_name, -1, 1); +#endif SYSLOG ((LOG_INFO, "add `%s' to group `%s'", user_name, ngrp->gr_name)); } @@ -803,14 +784,12 @@ static void grp_update (void) * that the user is a member of. The administrative list isn't * modified. */ - for (sgr_rewind (), sgrp = sgr_next (); sgrp; sgrp = sgr_next ()) { /* * See if the user specified this group as one of their * concurrent groups. */ - if (!gr_locate (sgrp->sg_name)) continue; @@ -821,7 +800,6 @@ static void grp_update (void) * Make a copy - sgr_update() will free() everything * from the old entry, and we need it later. */ - nsgrp = __sgr_dup (sgrp); if (!nsgrp) { fail_exit (E_GRP_UPDATE); /* XXX */ @@ -831,13 +809,16 @@ static void grp_update (void) * Add the username to the list of group members and * update the group entry to reflect the change. */ - nsgrp->sg_mem = add_list (nsgrp->sg_mem, user_name); if (!sgr_update (nsgrp)) { fprintf (stderr, _("%s: error adding new group entry\n"), Prog); fail_exit (E_GRP_UPDATE); } +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "adding user to shadow group", user_name, -1, 1); +#endif SYSLOG ((LOG_INFO, "add `%s' to shadow group `%s'", user_name, nsgrp->sg_name)); } @@ -851,20 +832,18 @@ static void grp_update (void) * file, or checks the given user ID against the existing ones for * uniqueness. */ - static void find_new_uid (void) { const struct passwd *pwd; uid_t uid_min, uid_max; - uid_min = getdef_unum ("UID_MIN", 100); + uid_min = getdef_unum ("UID_MIN", 1000); uid_max = getdef_unum ("UID_MAX", 60000); /* * Start with some UID value if the user didn't provide us with * one already. */ - if (!uflg) user_id = uid_min; @@ -873,7 +852,6 @@ static void find_new_uid (void) * UID (if the user specified one with -u) or looking for the * largest unused value. */ - #ifdef NO_GETPWENT pw_rewind (); while ((pwd = pw_next ())) { @@ -884,11 +862,19 @@ static void find_new_uid (void) if (strcmp (user_name, pwd->pw_name) == 0) { fprintf (stderr, _("%s: name %s is not unique\n"), Prog, user_name); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding user", + user_name, user_id, 0); +#endif exit (E_NAME_IN_USE); } if (uflg && user_id == pwd->pw_uid) { fprintf (stderr, _("%s: UID %u is not unique\n"), Prog, (unsigned int) user_id); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding user", + user_name, user_id, 0); +#endif exit (E_UID_IN_USE); } if (!uflg && pwd->pw_uid >= user_id) { @@ -897,6 +883,7 @@ static void find_new_uid (void) user_id = pwd->pw_uid + 1; } } + /* * If a user with UID equal to UID_MAX exists, the above algorithm * will give us UID_MAX+1 even if not unique. Search for the first @@ -930,7 +917,6 @@ static void find_new_uid (void) * the values that the user will be created with accordingly. The * values are checked for sanity. */ - static void process_flags (int argc, char **argv) { const struct group *grp; @@ -1140,6 +1126,7 @@ static void process_flags (int argc, char **argv) anyflag++; } } + /* * Certain options are only valid in combination with others. * Check it here so that they can be specified in any order. @@ -1167,6 +1154,10 @@ static void process_flags (int argc, char **argv) _ ("%s: invalid user name '%s'\n"), Prog, user_name); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding user", + user_name, -1, 0); +#endif exit (E_BAD_ARG); } if (!dflg) { @@ -1195,7 +1186,6 @@ static void process_flags (int argc, char **argv) * close_files() closes all of the files that were opened for this * new user. This causes any modified entries to be written out. */ - static void close_files (void) { if (!pw_close ()) { @@ -1236,27 +1226,44 @@ static void close_files (void) * * open_files() opens the two password files. */ - static void open_files (void) { if (!pw_lock ()) { fprintf (stderr, _("%s: unable to lock password file\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "locking password file", user_name, user_id, 0); +#endif exit (E_PW_UPDATE); } if (!pw_open (O_RDWR)) { fprintf (stderr, _("%s: unable to open password file\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "opening password file", user_name, user_id, 0); +#endif pw_unlock (); exit (E_PW_UPDATE); } if (is_shadow_pwd && !spw_lock ()) { fprintf (stderr, _("%s: cannot lock shadow password file\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "locking shadow password file", user_name, + user_id, 0); +#endif pw_unlock (); exit (E_PW_UPDATE); } if (is_shadow_pwd && !spw_open (O_RDWR)) { fprintf (stderr, _("%s: cannot open shadow password file\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "opening shadow password file", user_name, + user_id, 0); +#endif spw_unlock (); pw_unlock (); exit (E_PW_UPDATE); @@ -1298,7 +1305,6 @@ static void lastlog_reset (uid_t uid) * usr_update() creates the password file entries for this user * and will update the group entries if required. */ - static void usr_update (void) { struct passwd pwent; @@ -1311,7 +1317,6 @@ static void usr_update (void) * Fill in the password structure with any new fields, making * copies of strings. */ - new_pwent (&pwent); new_spent (&spent); @@ -1319,7 +1324,6 @@ static void usr_update (void) * Create a syslog entry. We need to do this now in case anything * happens so we know what we were trying to accomplish. */ - SYSLOG ((LOG_INFO, "new user: name=%s, UID=%u, GID=%u, home=%s, shell=%s", user_name, (unsigned int) user_id, @@ -1331,7 +1335,6 @@ static void usr_update (void) * no user with this UID exists yet (entries for shared UIDs * are left unchanged). --marekm */ - if (!getpwuid (user_id)) { faillog_reset (user_id); lastlog_reset (user_id); @@ -1340,7 +1343,6 @@ static void usr_update (void) /* * Put the new (struct passwd) in the table. */ - if (!pw_update (&pwent)) { fprintf (stderr, _("%s: error adding new password entry\n"), Prog); @@ -1350,19 +1352,25 @@ static void usr_update (void) /* * Put the new (struct spwd) in the table. */ - if (is_shadow_pwd && !spw_update (&spent)) { fprintf (stderr, _ ("%s: error adding new shadow password entry\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "adding shadow password", user_name, user_id, 0); +#endif exit (E_PW_UPDATE); } +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding user", user_name, + user_id, 1); +#endif /* * Do any group file updates for this user. */ - if (do_grp_update) grp_update (); } @@ -1374,7 +1382,6 @@ static void usr_update (void) * already exist. It will be created mode 755 owned by the user * with the user's default group. */ - static void create_home (void) { if (access (user_home, F_OK)) { @@ -1389,6 +1396,10 @@ static void create_home (void) chown (user_home, user_id, user_gid); chmod (user_home, 0777 & ~getdef_num ("UMASK", 022)); home_added++; +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "adding home directory", user_name, user_id, 1); +#endif } } @@ -1454,7 +1465,6 @@ static struct pam_conv conv = { /* * main - useradd command */ - int main (int argc, char **argv) { #ifdef USE_PAM @@ -1463,10 +1473,13 @@ int main (int argc, char **argv) int retval; #endif +#ifdef WITH_AUDIT + audit_help_open (); +#endif + /* * Get my name so that I can use it to report errors. */ - Prog = Basename (argv[0]); setlocale (LC_ALL, ""); @@ -1523,7 +1536,6 @@ int main (int argc, char **argv) * See if we are messing with the defaults file, or creating * a new user. */ - if (Dflg) { if (gflg || bflg || fflg || eflg || sflg) exit (set_defaults ()? 1 : 0); @@ -1535,9 +1547,12 @@ int main (int argc, char **argv) /* * Start with a quick check to see if the user exists. */ - if (getpwnam (user_name)) { fprintf (stderr, _("%s: user %s exists\n"), Prog, user_name); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "adding user", + user_name, -1, 0); +#endif exit (E_NAME_IN_USE); } @@ -1553,6 +1568,10 @@ int main (int argc, char **argv) _ ("%s: group %s exists - if you want to add this user to that group, use -g.\n"), Prog, user_name); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "adding group", user_name, -1, 0); +#endif exit (E_NAME_IN_USE); } } @@ -1566,7 +1585,6 @@ int main (int argc, char **argv) * - flush nscd caches for passwd and group services, * - then close and update the files. */ - open_files (); usr_update (); @@ -1579,7 +1597,8 @@ int main (int argc, char **argv) fprintf (stderr, _ ("%s: warning: the home directory already exists.\n" - "Not copying any file from skel directory into it.\n"), Prog); + "Not copying any file from skel directory into it.\n"), + Prog); } else if (getdef_str ("CREATE_HOME")) { /* @@ -1608,18 +1627,6 @@ int main (int argc, char **argv) close_files (); #ifdef USE_PAM - if (retval == PAM_SUCCESS) { - retval = pam_chauthtok (pamh, 0); - if (retval != PAM_SUCCESS) { - pam_end (pamh, retval); - } - } - - if (retval != PAM_SUCCESS) { - fprintf (stderr, _("%s: PAM chauthtok failed\n"), Prog); - exit (1); - } - if (retval == PAM_SUCCESS) pam_end (pamh, PAM_SUCCESS); #endif /* USE_PAM */ diff --git a/src/userdel.c b/src/userdel.c index ba8471df..da38c9dd 100644 --- a/src/userdel.c +++ b/src/userdel.c @@ -29,24 +29,31 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: userdel.c,v 1.45 2005/08/11 16:23:34 kloczek Exp $") -#include -#include +#ident "$Id: userdel.c,v 1.52 2005/10/04 21:05:12 kloczek Exp $" + #include -#include -#include -#include #include +#include +#include +#include +#include +#include +#include #ifdef USE_PAM #include #include #endif /* USE_PAM */ -#include "prototypes.h" #include "defines.h" #include "getdef.h" -#include "pwauth.h" +#include "groupio.h" #include "nscd.h" +#include "prototypes.h" +#include "pwauth.h" +#include "pwio.h" +#include "shadowio.h" +#ifdef SHADOWGRP +#include "sgroupio.h" +#endif /* * exit status values */ @@ -64,14 +71,6 @@ static char *user_home; static char *Prog; static int fflg = 0, rflg = 0; -#include "groupio.h" -#include "pwio.h" -#include "shadowio.h" - -#ifdef SHADOWGRP -#include "sgroupio.h" -#endif - static int is_shadow_pwd; #ifdef SHADOWGRP @@ -97,7 +96,6 @@ static void remove_mailbox (void); /* * usage - display usage message and exit */ - static void usage (void) { fprintf (stderr, _("Usage: %s [-r] name\n"), Prog); @@ -114,11 +112,11 @@ static void usage (void) * name is their user name) and delete them too (only if USERGROUPS_ENAB * is enabled). */ - static void update_groups (void) { const struct group *grp; struct group *ngrp; + struct passwd *pwd; #ifdef SHADOWGRP int deleted_user_group = 0; @@ -130,14 +128,12 @@ static void update_groups (void) * Scan through the entire group file looking for the groups that * the user is a member of. */ - for (gr_rewind (), grp = gr_next (); grp; grp = gr_next ()) { /* * See if the user specified this group as one of their * concurrent groups. */ - if (!is_on_list (grp->gr_mem, user_name)) continue; @@ -145,7 +141,6 @@ static void update_groups (void) * Delete the username from the list of group members and * update the group entry to reflect the change. */ - ngrp = __gr_dup (grp); if (!ngrp) { exit (13); /* XXX */ @@ -158,28 +153,61 @@ static void update_groups (void) /* * Update the DBM group file with the new entry as well. */ - +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "deleting user from group", user_name, user_id, + 0); +#endif SYSLOG ((LOG_INFO, "delete `%s' from group `%s'\n", user_name, ngrp->gr_name)); } + /* * we've removed their name from all the groups above, so * now if they have a group with the same name as their * user name, with no members, we delete it. */ - grp = getgrnam (user_name); if (grp && getdef_bool ("USERGROUPS_ENAB") && (grp->gr_mem[0] == NULL)) { - gr_remove (grp->gr_name); + /* + * Scan the passwd file to check if this group is still + * used as a primary group. + */ + setpwent (); + while ((pwd = getpwent ())) { + if (strcmp (pwd->pw_name, user_name) == 0) + continue; + if (pwd->pw_gid == grp->gr_gid) { + fprintf (stderr, + _ + ("%s: Cannot remove group %s which is a primary group for another user.\n"), + Prog, grp->gr_name); + break; + } + } + endpwent (); + + if (pwd == NULL) { + /* + * We can remove this group, it is not the primary + * group of any remaining user. + */ + gr_remove (grp->gr_name); #ifdef SHADOWGRP - deleted_user_group = 1; + deleted_user_group = 1; #endif - SYSLOG ((LOG_INFO, "removed group `%s' owned by `%s'\n", - grp->gr_name, user_name)); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "deleting group", user_name, user_id, 0); +#endif + SYSLOG ((LOG_INFO, + "removed group `%s' owned by `%s'\n", + grp->gr_name, user_name)); + } } #ifdef SHADOWGRP if (!is_shadow_grp) @@ -190,7 +218,6 @@ static void update_groups (void) * that the user is a member of. Both the administrative list and * the ordinary membership list is checked. */ - for (sgr_rewind (), sgrp = sgr_next (); sgrp; sgrp = sgr_next ()) { int was_member, was_admin; @@ -198,7 +225,6 @@ static void update_groups (void) * See if the user specified this group as one of their * concurrent groups. */ - was_member = is_on_list (sgrp->sg_mem, user_name); was_admin = is_on_list (sgrp->sg_adm, user_name); @@ -219,6 +245,11 @@ static void update_groups (void) if (!sgr_update (nsgrp)) fprintf (stderr, _("%s: error updating group entry\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "deleting user from shadow group", user_name, + user_id, 0); +#endif SYSLOG ((LOG_INFO, "delete `%s' from shadow group `%s'\n", user_name, nsgrp->sg_name)); } @@ -234,7 +265,6 @@ static void update_groups (void) * close_files() closes all of the files that were opened for this * new user. This causes any modified entries to be written out. */ - static void close_files (void) { if (!pw_close ()) @@ -262,7 +292,6 @@ static void close_files (void) /* * fail_exit - exit with a failure code after unlocking the files */ - static void fail_exit (int code) { (void) pw_unlock (); @@ -272,6 +301,10 @@ static void fail_exit (int code) #ifdef SHADOWGRP if (is_shadow_grp) sgr_unlock (); +#endif +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting user", user_name, + user_id, 0); #endif exit (code); } @@ -286,39 +319,76 @@ static void open_files (void) { if (!pw_lock ()) { fprintf (stderr, _("%s: unable to lock password file\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "locking password file", user_name, user_id, 1, + 0); +#endif exit (E_PW_UPDATE); } if (!pw_open (O_RDWR)) { fprintf (stderr, _("%s: unable to open password file\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "opening password file", user_name, user_id, 0); +#endif fail_exit (E_PW_UPDATE); } if (is_shadow_pwd && !spw_lock ()) { fprintf (stderr, _("%s: cannot lock shadow password file\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "locking shadow password file", user_name, + user_id, 0); +#endif fail_exit (E_PW_UPDATE); } if (is_shadow_pwd && !spw_open (O_RDWR)) { fprintf (stderr, _("%s: cannot open shadow password file\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "opening shadow password file", user_name, + user_id, 0); +#endif fail_exit (E_PW_UPDATE); } if (!gr_lock ()) { fprintf (stderr, _("%s: unable to lock group file\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "locking group file", + user_name, user_id, 0); +#endif fail_exit (E_GRP_UPDATE); } if (!gr_open (O_RDWR)) { fprintf (stderr, _("%s: cannot open group file\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "opening group file", + user_name, user_id, 0); +#endif fail_exit (E_GRP_UPDATE); } #ifdef SHADOWGRP if (is_shadow_grp && !sgr_lock ()) { fprintf (stderr, _("%s: unable to lock shadow group file\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "locking shadow group file", user_name, user_id, + 0); +#endif fail_exit (E_GRP_UPDATE); } if (is_shadow_grp && !sgr_open (O_RDWR)) { fprintf (stderr, _("%s: cannot open shadow group file\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "opening shadow group file", user_name, user_id, + 0); +#endif fail_exit (E_GRP_UPDATE); } #endif @@ -330,7 +400,6 @@ static void open_files (void) * update_user() deletes the password file entries for this user * and will update the group entries as required. */ - static void update_user (void) { if (!pw_remove (user_name)) @@ -339,6 +408,10 @@ static void update_user (void) if (is_shadow_pwd && !spw_remove (user_name)) fprintf (stderr, _("%s: error deleting shadow password entry\n"), Prog); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting user entries", + user_name, user_id, 1); +#endif SYSLOG ((LOG_INFO, "delete user `%s'\n", user_name)); } @@ -349,7 +422,6 @@ static void update_user (void) * by this user. Also, I think this check should be in usermod * as well (at least when changing username or UID). --marekm */ - static void user_busy (const char *name, uid_t uid) { @@ -379,7 +451,13 @@ static void user_busy (const char *name, uid_t uid) continue; fprintf (stderr, _("%s: user %s is currently logged in\n"), Prog, name); - exit (E_USER_BUSY); + if (!fflg) { +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "deleting user logged in", name, -1, 0); +#endif + exit (E_USER_BUSY); + } } } @@ -420,7 +498,6 @@ lprm $1 exit 0 ========== */ - static void user_cancel (const char *user) { char *cmd; @@ -480,6 +557,10 @@ static void remove_mailbox (void) snprintf (mailfile, sizeof mailfile, "%s/%s", maildir, user_name); if (fflg) { unlink (mailfile); /* always remove, ignore errors */ +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting mail file", + user_name, user_id, 1); +#endif return; } i = is_owner (user_id, mailfile); @@ -488,6 +569,10 @@ static void remove_mailbox (void) _ ("%s: %s not owned by %s, not removing\n"), Prog, mailfile, user_name); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting mail file", + user_name, user_id, 0); +#endif return; } else if (i == -1) return; /* mailbox doesn't exist */ @@ -495,6 +580,12 @@ static void remove_mailbox (void) fprintf (stderr, _("%s: warning: can't remove "), Prog); perror (mailfile); } +#ifdef WITH_AUDIT + else { + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting mail file", + user_name, user_id, 0); + } +#endif } #ifdef USE_PAM @@ -502,6 +593,7 @@ static struct pam_conv conv = { misc_conv, NULL }; #endif /* USE_PAM */ + /* * main - userdel command */ @@ -516,6 +608,11 @@ int main (int argc, char **argv) struct passwd *pampw; int retval; #endif + +#ifdef WITH_AUDIT + audit_help_open (); +#endif + /* * Get my name so that I can use it to report errors. */ @@ -582,6 +679,10 @@ int main (int argc, char **argv) if (!(pwd = getpwnam (user_name))) { fprintf (stderr, _("%s: user %s does not exist\n"), Prog, user_name); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "deleting user not found", user_name, -1, 0); +#endif exit (E_NOTFOUND); } #ifdef USE_NIS @@ -589,7 +690,6 @@ int main (int argc, char **argv) /* * Now make sure it isn't an NIS user. */ - if (__ispwNIS ()) { char *nis_domain; char *nis_master; @@ -611,6 +711,7 @@ int main (int argc, char **argv) * Check to make certain the user isn't logged in. */ user_busy (user_name, user_id); + /* * Do the hard stuff - open the files, create the user entries, * create the home directory, then close and update the files. @@ -631,9 +732,8 @@ int main (int argc, char **argv) rflg = 0; errors++; } - -/* This may be slow, the above should be good enough. */ #ifdef EXTRA_CHECK_HOME_DIR + /* This may be slow, the above should be good enough. */ if (rflg && !fflg) { /* * For safety, refuse to remove the home directory if it @@ -656,6 +756,7 @@ int main (int argc, char **argv) break; } } + endpwent (); } #endif @@ -665,32 +766,34 @@ int main (int argc, char **argv) fprintf (stderr, _("%s: error removing directory %s\n"), Prog, user_home); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "deleting home directory", user_name, + user_id, 1); +#endif errors++; } +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "deleting home directory", user_name, user_id, 1); +#endif } /* * Cancel any crontabs or at jobs. Have to do this before we remove * the entry from /etc/passwd. */ - user_cancel (user_name); close_files (); #ifdef USE_PAM - if (retval == PAM_SUCCESS) { - retval = pam_chauthtok (pamh, 0); - if (retval != PAM_SUCCESS) - pam_end (pamh, retval); - } - - if (retval != PAM_SUCCESS) { - fprintf (stderr, _("%s: PAM chauthtok failed\n"), Prog); - exit (E_PW_UPDATE); - } - if (retval == PAM_SUCCESS) pam_end (pamh, PAM_SUCCESS); #endif /* USE_PAM */ +#ifdef WITH_AUDIT + if (errors) + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "deleting home directory", user_name, -1, 0); +#endif exit (errors ? E_HOMEDIR : E_SUCCESS); /* NOT REACHED */ } diff --git a/src/usermod.c b/src/usermod.c index c0bfede7..c9bfba70 100644 --- a/src/usermod.c +++ b/src/usermod.c @@ -29,30 +29,30 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: usermod.c,v 1.51 2005/08/11 16:23:34 kloczek Exp $") -#include -#include -#include -#include -#include -#include +#ident "$Id: usermod.c,v 1.58 2005/10/04 21:05:12 kloczek Exp $" + #include +#include #include -#include +#include +#include +#include #ifdef USE_PAM #include #include #endif /* USE_PAM */ -#include "prototypes.h" -#include "defines.h" +#include +#include +#include +#include #include "chkname.h" +#include "defines.h" #include "faillog.h" -#include -#include "pwauth.h" #include "getdef.h" #include "groupio.h" #include "nscd.h" +#include "prototypes.h" +#include "pwauth.h" #include "pwio.h" #ifdef SHADOWGRP #include "sgroupio.h" @@ -68,14 +68,17 @@ RCSID (PKG_VER "$Id: usermod.c,v 1.51 2005/08/11 16:23:34 kloczek Exp $") #define E_USAGE 2 /* invalid command syntax */ #define E_BAD_ARG 3 /* invalid argument to option */ #define E_UID_IN_USE 4 /* UID already in use (and no -o) */ - /* #define E_BAD_PWFILE 5 *//* passwd file contains errors */ + /* #define E_BAD_PWFILE 5 *//* passwd file contains errors */ #define E_NOTFOUND 6 /* specified user/group doesn't exist */ #define E_USER_BUSY 8 /* user to modify is logged in */ #define E_NAME_IN_USE 9 /* username already in use */ #define E_GRP_UPDATE 10 /* can't update group file */ - /* #define E_NOSPACE 11 *//* insufficient space to move home dir */ + /* #define E_NOSPACE 11 *//* insufficient space to move home dir */ #define E_HOMEDIR 12 /* unable to complete home dir move */ #define VALID(s) (strcspn (s, ":\n") == strlen (s)) +/* + * Global variables + */ static char *user_name; static char *user_newname; static char *user_pass; @@ -84,12 +87,16 @@ static uid_t user_newid; static gid_t user_gid; static gid_t user_newgid; static char *user_comment; +static char *user_newcomment; /* Audit */ static char *user_home; static char *user_newhome; static char *user_shell; +static char *user_newshell; /* Audit */ static long user_expire; +static long user_newexpire; /* Audit */ static long user_inactive; +static long user_newinactive; /* Audit */ static long sys_ngroups; static char **user_groups; /* NULL-terminated list */ @@ -163,7 +170,6 @@ static struct group *getgr_nam_gid (const char *name) return getgrnam (name); } - /* * get_groups - convert a list of group names to an array of group IDs * @@ -171,7 +177,6 @@ static struct group *getgr_nam_gid (const char *name) * converts it to a NULL-terminated array. Any unknown group names are * reported as errors. */ - static int get_groups (char *list) { char *cp; @@ -182,7 +187,6 @@ static int get_groups (char *list) /* * Initialize the list to be empty */ - user_groups[0] = (char *) 0; if (!*list) @@ -193,7 +197,6 @@ static int get_groups (char *list) * name and look it up. A mix of numerical and string values for * group identifiers is permitted. */ - do { /* * Strip off a single name from the list @@ -230,7 +233,6 @@ static int get_groups (char *list) * Don't add this group if they are an NIS group. Tell the * user to go to the server for this group. */ - if (__isgrNIS ()) { fprintf (stderr, _("%s: group `%s' is a NIS group.\n"), @@ -250,7 +252,6 @@ static int get_groups (char *list) /* * Add the group name to the user's list of groups. */ - user_groups[ngroups++] = xstrdup (grp->gr_name); } while (list); @@ -259,7 +260,6 @@ static int get_groups (char *list) /* * Any errors in finding group names are fatal */ - if (errors) return -1; @@ -269,7 +269,6 @@ static int get_groups (char *list) /* * usage - display usage message and exit */ - static void usage (void) { fprintf (stderr, @@ -289,12 +288,15 @@ static void usage (void) * update encrypted password string (for both shadow and non-shadow * passwords) */ - static char *new_pw_passwd (char *pw_pass, const char *pw_name) { if (Lflg && pw_pass[0] != '!') { char *buf = xmalloc (strlen (pw_pass) + 2); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "updating passwd", + user_newname, user_newid, 0); +#endif SYSLOG ((LOG_INFO, "lock user `%s' password", pw_name)); strcpy (buf, "!"); strcat (buf, pw_pass); @@ -302,6 +304,10 @@ static char *new_pw_passwd (char *pw_pass, const char *pw_name) } else if (Uflg && pw_pass[0] == '!') { char *s; +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "updating password", + user_newname, user_newid, 0); +#endif SYSLOG ((LOG_INFO, "unlock user `%s' password", pw_name)); s = pw_pass; while (*s) { @@ -309,6 +315,10 @@ static char *new_pw_passwd (char *pw_pass, const char *pw_name) s++; } } else if (pflg) { +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing password", + user_newname, user_newid, 1); +#endif SYSLOG ((LOG_INFO, "change user `%s' password", pw_name)); pw_pass = xstrdup (user_pass); } @@ -321,10 +331,13 @@ static char *new_pw_passwd (char *pw_pass, const char *pw_name) * new_pwent() takes all of the values that have been entered and fills * in a (struct passwd) with them. */ - static void new_pwent (struct passwd *pwent) { if (lflg) { +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing name", + user_newname, user_newid, 1); +#endif SYSLOG ((LOG_INFO, "change user name `%s' to `%s'", pwent->pw_name, user_newname)); pwent->pw_name = xstrdup (user_newname); @@ -334,31 +347,60 @@ static void new_pwent (struct passwd *pwent) new_pw_passwd (pwent->pw_passwd, pwent->pw_name); if (uflg) { +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing uid", + user_newname, user_newid, 1); +#endif SYSLOG ((LOG_INFO, "change user `%s' UID from `%d' to `%d'", pwent->pw_name, pwent->pw_uid, user_newid)); pwent->pw_uid = user_newid; } if (gflg) { +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "changing primary group", user_newname, + user_newid, 1); +#endif SYSLOG ((LOG_INFO, "change user `%s' GID from `%d' to `%d'", pwent->pw_name, pwent->pw_gid, user_newgid)); pwent->pw_gid = user_newgid; } - if (cflg) + if (cflg) { +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing comment", + user_newname, user_newid, 1); + pwent->pw_gecos = user_newcomment; +#else pwent->pw_gecos = user_comment; +#endif + } if (dflg) { +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "changing home directory", user_newname, + user_newid, 1); +#endif SYSLOG ((LOG_INFO, "change user `%s' home from `%s' to `%s'", pwent->pw_name, pwent->pw_dir, user_newhome)); pwent->pw_dir = user_newhome; } if (sflg) { +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing user shell", + user_newname, user_newid, 1); + SYSLOG ((LOG_INFO, "change user `%s' shell from `%s' to `%s'", + pwent->pw_name, pwent->pw_shell, user_newshell)); + pwent->pw_shell = user_newshell; +#else SYSLOG ((LOG_INFO, "change user `%s' shell from `%s' to `%s'", pwent->pw_name, pwent->pw_shell, user_shell)); pwent->pw_shell = user_shell; +#endif } } @@ -368,24 +410,84 @@ static void new_pwent (struct passwd *pwent) * new_spent() takes all of the values that have been entered and fills * in a (struct spwd) with them. */ - static void new_spent (struct spwd *spent) { if (lflg) spent->sp_namp = xstrdup (user_newname); if (fflg) { +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "changing inactive days", user_newname, + user_newid, 1); + SYSLOG ((LOG_INFO, + "change user `%s' inactive from `%ld' to `%ld'", + spent->sp_namp, spent->sp_inact, user_newinactive)); + spent->sp_inact = user_newinactive; +#else + SYSLOG ((LOG_INFO, "change user `%s' inactive from `%ld' to `%ld'", spent->sp_namp, spent->sp_inact, user_inactive)); spent->sp_inact = user_inactive; +#endif } if (eflg) { /* XXX - dates might be better than numbers of days. --marekm */ +#ifdef WITH_AUDIT + if (audit_fd >= 0) { + time_t exp_t; + struct tm *exp_tm; + char new_exp[16], old_exp[16]; + + if (user_newexpire == -1) + new_exp[0] = '\0'; + else { + exp_t = user_newexpire * DAY; + exp_tm = gmtime (&exp_t); +#ifdef HAVE_STRFTIME + strftime (new_exp, sizeof (new_exp), "%Y-%m-%d", + exp_tm); +#else + memset (new_exp, 0, sizeof (new_exp)); + snprintf (new_exp, sizeof (new_exp) - 1, + "%04i-%02i-%02i", + exp_tm->tm_year + 1900, + exp_tm->tm_mon + 1, exp_tm->tm_mday); +#endif + } + + if (user_expire == -1) + old_exp[0] = '\0'; + else { + exp_t = user_expire * DAY; + exp_tm = gmtime (&exp_t); +#ifdef HAVE_STRFTIME + strftime (old_exp, sizeof (old_exp), "%Y-%m-%d", + exp_tm); +#else + memset (old_exp, 0, sizeof (old_exp)); + snprintf (old_exp, sizeof (old_exp) - 1, + "%04i-%02i-%02i", + exp_tm->tm_year + 1900, + exp_tm->tm_mon + 1, exp_tm->tm_mday); +#endif + } + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "changing expiration date", user_newname, + user_newid, 1); + } + + SYSLOG ((LOG_INFO, + "change user `%s' expiration from `%ld' to `%ld'", + spent->sp_namp, spent->sp_expire, user_newexpire)); + spent->sp_expire = user_newexpire; +#else SYSLOG ((LOG_INFO, "change user `%s' expiration from `%ld' to `%ld'", spent->sp_namp, spent->sp_expire, user_expire)); spent->sp_expire = user_expire; +#endif } spent->sp_pwdp = new_pw_passwd (spent->sp_pwdp, spent->sp_namp); if (pflg) @@ -395,7 +497,6 @@ static void new_spent (struct spwd *spent) /* * fail_exit - exit with an error code after unlocking files */ - static void fail_exit (int code) { (void) gr_unlock (); @@ -406,6 +507,10 @@ static void fail_exit (int code) if (is_shadow_pwd) spw_unlock (); (void) pw_unlock (); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "modifying account", + user_name, -1, 0); +#endif exit (code); } @@ -441,7 +546,6 @@ static int update_group (void) * the user is a member of. */ while ((grp = gr_next ())) { - /* * See if the user specified this group as one of their * concurrent groups. @@ -468,6 +572,11 @@ static int update_group (void) ngrp->gr_mem = add_list (ngrp->gr_mem, user_newname); changed = 1; +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "changing group member", + user_newname, -1, 1); +#endif SYSLOG ((LOG_INFO, "change `%s' to `%s' in group `%s'", user_name, user_newname, @@ -476,6 +585,11 @@ static int update_group (void) } else if (was_member && !aflg && Gflg && !is_member) { ngrp->gr_mem = del_list (ngrp->gr_mem, user_name); changed = 1; +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "removing group member", user_name, -1, + 1); +#endif SYSLOG ((LOG_INFO, "delete `%s' from group `%s'", user_name, ngrp->gr_name)); } else if (!was_member && Gflg && is_member) { @@ -483,6 +597,10 @@ static int update_group (void) lflg ? user_newname : user_name); changed = 1; +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "adding user to group", user_name, -1, 1); +#endif SYSLOG ((LOG_INFO, "add `%s' to group `%s'", lflg ? user_newname : user_name, ngrp->gr_name)); @@ -574,6 +692,11 @@ static int update_gshadow (void) nsgrp->sg_adm = del_list (nsgrp->sg_adm, user_name); nsgrp->sg_adm = add_list (nsgrp->sg_adm, user_newname); changed = 1; +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "changing admin name in shadow group", + user_name, -1, 1); +#endif SYSLOG ((LOG_INFO, "change admin `%s' to `%s' in shadow group `%s'", user_name, user_newname, nsgrp->sg_name)); @@ -585,6 +708,11 @@ static int update_gshadow (void) nsgrp->sg_mem = add_list (nsgrp->sg_mem, user_newname); changed = 1; +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "changing member in shadow group", + user_name, -1, 1); +#endif SYSLOG ((LOG_INFO, "change `%s' to `%s' in shadow group `%s'", user_name, user_newname, @@ -593,6 +721,11 @@ static int update_gshadow (void) } else if (was_member && !aflg && Gflg && !is_member) { nsgrp->sg_mem = del_list (nsgrp->sg_mem, user_name); changed = 1; +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "removing user from shadow group", + user_name, -1, 1); +#endif SYSLOG ((LOG_INFO, "delete `%s' from shadow group `%s'", user_name, nsgrp->sg_name)); @@ -601,6 +734,11 @@ static int update_gshadow (void) lflg ? user_newname : user_name); changed = 1; +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "adding user to shadow group", + user_newname, -1, 1); +#endif SYSLOG ((LOG_INFO, "add `%s' to shadow group `%s'", lflg ? user_newname : user_name, nsgrp->sg_name)); @@ -639,7 +777,6 @@ static int update_gshadow (void) * grp_update() takes the secondary group set given in user_groups and * adds the user to each group given by that set. */ - static int grp_update (void) { int ret; @@ -685,7 +822,6 @@ static uid_t get_id (const char *cp) * values that the user will be created with accordingly. The values * are checked for sanity. */ - static void process_flags (int argc, char **argv) { const struct group *grp; @@ -703,14 +839,26 @@ static void process_flags (int argc, char **argv) Prog, argv[argc - 1]); exit (E_NOTFOUND); } + user_name = argv[argc - 1]; + user_id = pwd->pw_uid; + user_gid = pwd->pw_gid; + user_comment = xstrdup (pwd->pw_gecos); + user_home = xstrdup (pwd->pw_dir); + user_shell = xstrdup (pwd->pw_shell); +#ifdef WITH_AUDIT + user_newname = user_name; + user_newid = user_id; + user_newgid = user_gid; + user_newcomment = user_comment; + user_newhome = user_home; + user_newshell = user_shell; +#endif #ifdef USE_NIS - /* * Now make sure it isn't an NIS user. */ - if (__ispwNIS ()) { char *nis_domain; char *nis_master; @@ -726,15 +874,14 @@ static void process_flags (int argc, char **argv) exit (E_NOTFOUND); } #endif - user_id = pwd->pw_uid; - user_gid = pwd->pw_gid; - user_comment = xstrdup (pwd->pw_gecos); - user_home = xstrdup (pwd->pw_dir); - user_shell = xstrdup (pwd->pw_shell); if (is_shadow_pwd && (spwd = getspnam (user_name))) { user_expire = spwd->sp_expire; user_inactive = spwd->sp_inact; +#ifdef WITH_AUDIT + user_newexpire = user_expire; + user_newinactive = user_inactive; +#endif } while ((arg = getopt (argc, argv, "ac:d:e:f:g:G:l:Lmop:s:u:U")) != EOF) { @@ -749,7 +896,11 @@ static void process_flags (int argc, char **argv) Prog, optarg); exit (E_BAD_ARG); } +#ifdef WITH_AUDIT + user_newcomment = optarg; +#else user_comment = optarg; +#endif cflg++; break; case 'd': @@ -764,21 +915,38 @@ static void process_flags (int argc, char **argv) break; case 'e': if (*optarg) { +#ifdef WITH_AUDIT + user_newexpire = strtoday (optarg); + if (user_newexpire == -1) { +#else user_expire = strtoday (optarg); if (user_expire == -1) { +#endif fprintf (stderr, _ ("%s: invalid date `%s'\n"), Prog, optarg); exit (E_BAD_ARG); } +#ifdef WITH_AUDIT + user_newexpire *= DAY / SCALE; +#else user_expire *= DAY / SCALE; +#endif } else +#ifdef WITH_AUDIT + user_newexpire = -1; +#else user_expire = -1; +#endif eflg++; break; case 'f': +#ifdef WITH_AUDIT + user_newinactive = get_number (optarg); +#else user_inactive = get_number (optarg); +#endif fflg++; break; case 'g': @@ -810,7 +978,6 @@ static void process_flags (int argc, char **argv) * set the flag as this will cause rather serious * problems later! */ - if (strcmp (user_name, optarg)) lflg++; @@ -848,7 +1015,11 @@ static void process_flags (int argc, char **argv) Prog, optarg); exit (E_BAD_ARG); } +#ifdef WITH_AUDIT + user_newshell = optarg; +#else user_shell = optarg; +#endif sflg++; break; case 'u': @@ -913,7 +1084,6 @@ static void process_flags (int argc, char **argv) * close_files() closes all of the files that were opened for this new * user. This causes any modified entries to be written out. */ - static void close_files (void) { if (!pw_close ()) { @@ -932,7 +1102,6 @@ static void close_files (void) /* * Close the DBM and/or flat files */ - endpwent (); endspent (); endgrent (); @@ -946,7 +1115,6 @@ static void close_files (void) * * open_files() opens the two password files. */ - static void open_files (void) { if (!pw_lock ()) { @@ -975,7 +1143,6 @@ static void open_files (void) * usr_update() creates the password file entries for this user and * will update the group entries if required. */ - static void usr_update (void) { struct passwd pwent; @@ -987,7 +1154,6 @@ static void usr_update (void) /* * Locate the entry in /etc/passwd, which MUST exist. */ - pwd = pw_locate (user_name); if (!pwd) { fprintf (stderr, _("%s: %s not found in /etc/passwd\n"), @@ -1002,7 +1168,6 @@ static void usr_update (void) * Locate the entry in /etc/shadow. It doesn't have to exist, and * won't be created if it doesn't. */ - if (is_shadow_pwd && (spwd = spw_locate (user_name))) { spent = *spwd; new_spent (&spent); @@ -1047,7 +1212,6 @@ static void usr_update (void) * move_home() moves the user's home directory to a new location. The * files will be copied if the directory cannot simply be renamed. */ - static void move_home (void) { struct stat sb; @@ -1088,6 +1252,13 @@ static void move_home (void) _ ("%s: warning: failed to completely remove old home directory %s"), Prog, user_home); +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, + Prog, + "moving home directory", + user_newname, user_newid, + 1); +#endif return; } @@ -1100,17 +1271,27 @@ static void move_home (void) Prog, user_home, user_newhome); fail_exit (E_HOMEDIR); } +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "moving home directory", user_newname, user_newid, + 1); +#endif } - if (uflg || gflg) + if (uflg || gflg) { +#ifdef WITH_AUDIT + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "changing home directory owner", user_newname, + user_newid, 1); +#endif chown (dflg ? user_newhome : user_home, uflg ? user_newid : user_id, gflg ? user_newgid : user_gid); + } } /* * update_files - update the lastlog and faillog files */ - static void update_files (void) { struct lastlog ll; @@ -1122,7 +1303,6 @@ static void update_files (void) * left alone in case the UID was shared. It doesn't hurt anything * to just leave it be. */ - if ((fd = open (LASTLOG_FILE, O_RDWR)) != -1) { lseek (fd, (off_t) user_id * sizeof ll, SEEK_SET); if (read (fd, (char *) &ll, sizeof ll) == sizeof ll) { @@ -1135,7 +1315,6 @@ static void update_files (void) /* * Relocate the "faillog" entries in the same manner. */ - if ((fd = open (FAILLOG_FILE, O_RDWR)) != -1) { lseek (fd, (off_t) user_id * sizeof fl, SEEK_SET); if (read (fd, (char *) &fl, sizeof fl) == sizeof fl) { @@ -1175,7 +1354,6 @@ static void move_mailbox (void) * replacing /var/spool/mail/luser with a hard link to /etc/passwd * between stat and chown). --marekm */ - snprintf (mailfile, sizeof mailfile, "%s/%s", maildir, user_name); fd = open (mailfile, O_RDONLY | O_NONBLOCK, 0); if (fd < 0) { @@ -1196,16 +1374,34 @@ static void move_mailbox (void) close (fd); return; } - if (uflg && fchown (fd, user_newid, (gid_t) - 1) < 0) - perror (_("failed to change mailbox owner")); + if (uflg) { + if (fchown (fd, user_newid, (gid_t) - 1) < 0) { + perror (_("failed to change mailbox owner")); + } +#ifdef WITH_AUDIT + else { + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "changing mail file owner", user_newname, + user_newid, 1); + } +#endif + } close (fd); if (lflg) { snprintf (newmailfile, sizeof newmailfile, "%s/%s", maildir, user_newname); - if (link (mailfile, newmailfile) || unlink (mailfile)) + if (link (mailfile, newmailfile) || unlink (mailfile)) { perror (_("failed to rename mailbox")); + } +#ifdef WITH_AUDIT + else { + audit_logger (AUDIT_USER_CHAUTHTOK, Prog, + "changing mail file name", user_newname, + user_newid, 1); + } +#endif } } #endif @@ -1220,7 +1416,6 @@ static struct pam_conv conv = { /* * main - usermod command */ - int main (int argc, char **argv) { int grp_err = 0; @@ -1231,6 +1426,10 @@ int main (int argc, char **argv) int retval; #endif +#ifdef WITH_AUDIT + audit_help_open (); +#endif + /* * Get my name so that I can use it to report errors. */ @@ -1289,7 +1488,6 @@ int main (int argc, char **argv) * Do the hard stuff - open the files, change the user entries, * change the home directory, then close and update the files. */ - open_files (); usr_update (); @@ -1316,7 +1514,6 @@ int main (int argc, char **argv) * Change the UID on all of the files owned by `user_id' to * `user_newid' in the user's home directory. */ - chown_tree (dflg ? user_newhome : user_home, user_id, user_newid, user_gid, gflg ? user_newgid : user_gid); @@ -1326,18 +1523,6 @@ int main (int argc, char **argv) exit (E_GRP_UPDATE); #ifdef USE_PAM - if (retval == PAM_SUCCESS) { - retval = pam_chauthtok (pamh, 0); - if (retval != PAM_SUCCESS) { - pam_end (pamh, retval); - } - } - - if (retval != PAM_SUCCESS) { - fprintf (stderr, _("%s: PAM authentication failed\n"), Prog); - exit (1); - } - if (retval == PAM_SUCCESS) pam_end (pamh, PAM_SUCCESS); #endif /* USE_PAM */ diff --git a/src/vipw.c b/src/vipw.c index 27e27e02..3caa58ad 100644 --- a/src/vipw.c +++ b/src/vipw.c @@ -22,23 +22,26 @@ #include -#include "rcsid.h" -RCSID (PKG_VER "$Id: vipw.c,v 1.14 2005/08/03 16:00:46 kloczek Exp $") -#include "defines.h" +#ident "$Id: vipw.c,v 1.17 2005/09/07 15:00:45 kloczek Exp $" + #include -#include -#include +#include #include #include +#include #include -#include +#include #include +#include "defines.h" +#include "groupio.h" +#include "nscd.h" #include "prototypes.h" #include "pwio.h" -#include "shadowio.h" -#include "groupio.h" #include "sgroupio.h" -#include "nscd.h" +#include "shadowio.h" +/* + * Global variables + */ static const char *progname, *filename, *fileeditname; static int filelocked = 0, createedit = 0; static int (*unlock) (void); @@ -186,7 +189,6 @@ vipwedit (const char *file, int (*file_lock) (void), int (*file_unlock) (void)) * ask the user what to do (edit again, save changes anyway, or quit * without saving). Use pwck or grpck to do the check. --marekm */ - createedit = 0; unlink (filebackup); link (file, filebackup); @@ -201,7 +203,6 @@ vipwedit (const char *file, int (*file_lock) (void), int (*file_unlock) (void)) (*file_unlock) (); } - int main (int argc, char **argv) { int flag;