From 9d5ab87d61ee5b09f4c08ed743ac5d9ced479636 Mon Sep 17 00:00:00 2001 From: Chris Hofstaedtler Date: Tue, 26 Aug 2025 22:55:14 +0200 Subject: [PATCH] New upstream version 4.18.0 --- Makefile.am | 2 +- Makefile.in | 7 +- aclocal.m4 | 43 +- config.h.in | 9 - configure | 472 +- configure.ac | 10 +- contrib/Makefile.am | 4 - contrib/Makefile.in | 507 - contrib/README | 7 - contrib/adduser.c | 503 - contrib/adduser.sh | 90 - contrib/adduser2.sh | 743 - doc/Makefile.in | 3 +- etc/Makefile.in | 3 +- etc/pam.d/Makefile.in | 3 +- etc/shadow-maint/Makefile.in | 3 +- lib/Makefile.am | 41 +- lib/Makefile.in | 549 +- lib/adds.h | 2 +- lib/atoi/a2i/a2s.h | 46 +- lib/atoi/a2i/a2u.h | 46 +- lib/atoi/{str2i => }/str2i.c | 4 +- lib/atoi/str2i.h | 31 + lib/atoi/str2i/str2i.h | 31 - lib/atoi/str2i/str2s.c | 14 - lib/atoi/str2i/str2s.h | 57 - lib/atoi/str2i/str2u.c | 14 - lib/atoi/str2i/str2u.h | 57 - lib/audit_help.c | 2 +- lib/commonio.c | 11 +- lib/console.c | 5 +- lib/copydir.c | 18 +- lib/defines.h | 8 + lib/encrypt.c | 4 +- lib/env.c | 11 +- lib/fields.c | 48 +- lib/fields.h | 20 + lib/fs/mkstemp/fmkomstemp.c | 13 + lib/fs/mkstemp/fmkomstemp.h | 44 + lib/fs/mkstemp/mkomstemp.c | 12 + lib/fs/mkstemp/mkomstemp.h | 41 + lib/fs/readlink/areadlink.h | 2 +- lib/fs/readlink/readlinknul.h | 2 +- lib/get_pid.c | 19 +- lib/getdate.c | 2293 -- lib/getdate.h | 16 - lib/getdate.y | 745 - lib/getdef.c | 20 +- lib/groupio.c | 5 +- lib/gshadow.c | 57 +- lib/limits.c | 34 +- lib/list.c | 21 +- lib/mail.c | 4 +- lib/must_be.h | 117 - lib/nss.c | 6 +- lib/obscure.c | 33 +- lib/pam_pass.c | 7 +- lib/port.c | 40 +- lib/prefix_flag.c | 33 +- lib/prototypes.h | 4 - lib/pwio.c | 8 +- lib/root_flag.c | 20 +- lib/run_part.c | 6 +- lib/search/l/lfind.h | 2 +- lib/search/l/lsearch.h | 2 +- lib/search/sort/qsort.h | 2 +- lib/selinux.c | 11 +- lib/semanage.c | 10 +- lib/setupenv.c | 9 +- lib/sgetgrent.c | 89 +- lib/sgetpwent.c | 60 +- lib/sgetspent.c | 44 +- lib/sgroupio.c | 1 + lib/shadow.c | 113 - lib/shadowio.c | 10 +- lib/sizeof.h | 21 +- .../ctype/strchrisascii/strchriscntrl.c | 12 + .../ctype/strchrisascii/strchriscntrl.h | 36 + lib/string/ctype/strisascii/strisprint.c | 12 + lib/string/ctype/strisascii/strisprint.h | 39 + lib/string/ctype/strtoascii/strtolower.c | 10 + lib/string/ctype/strtoascii/strtolower.h | 34 + lib/string/sprintf/aprintf.c | 13 + lib/string/sprintf/aprintf.h | 57 + lib/string/sprintf/snprintf.h | 2 +- lib/string/sprintf/stpeprintf.h | 2 +- lib/string/sprintf/xaprintf.c | 13 + lib/string/sprintf/xaprintf.h | 59 + lib/string/sprintf/xasprintf.c | 14 - lib/string/sprintf/xasprintf.h | 54 - lib/string/strcmp/strcaseprefix.c | 10 + lib/string/strcmp/strcaseprefix.h | 49 + lib/string/strcmp/strprefix.c | 10 + lib/string/strcmp/strprefix.h | 53 + lib/string/strcpy/stpecpy.h | 2 +- lib/string/strcpy/strncat.h | 2 +- lib/string/strcpy/strncpy.h | 2 +- lib/string/strcpy/strtcpy.h | 4 +- lib/string/strdup/strndupa.h | 15 +- lib/string/strdup/xstrndup.h | 2 +- lib/string/strftime.h | 2 +- lib/string/strtok/astrsep2ls.c | 13 + lib/string/strtok/astrsep2ls.h | 52 + lib/string/strtok/strsep2arr.c | 14 + lib/string/strtok/strsep2arr.h | 52 + lib/string/strtok/strsep2ls.c | 14 + lib/string/strtok/strsep2ls.h | 48 + lib/string/strtok/xastrsep2ls.c | 13 + lib/string/strtok/xastrsep2ls.h | 46 + lib/strtoday.c | 109 +- lib/subordinateio.c | 20 +- lib/tcbfuncs.c | 71 +- lib/time/day_to_str.h | 2 +- lib/ttytype.c | 3 +- lib/typetraits.h | 13 +- lib/user_busy.c | 7 +- lib/utmp.c | 8 +- lib/yesno.c | 7 +- libsubid/Makefile.in | 3 +- ltmain.sh | 855 +- m4/libtool.m4 | 229 +- m4/ltoptions.m4 | 4 +- m4/ltsugar.m4 | 2 +- m4/ltversion.m4 | 13 +- m4/lt~obsolete.m4 | 4 +- man/Makefile.in | 3 +- man/chage.1.xml | 52 +- man/chfn.1.xml | 22 +- man/config.xml | 2 +- man/cs/Makefile.in | 3 +- man/da/Makefile.in | 3 +- man/da/man1/chfn.1 | 27 +- man/da/man1/newgrp.1 | 6 +- man/da/man1/sg.1 | 6 +- man/da/man5/gshadow.5 | 6 +- man/da/man8/groupdel.8 | 6 +- man/da/man8/logoutd.8 | 6 +- man/da/man8/nologin.8 | 6 +- man/da/man8/vipw.8 | 6 +- man/de/Makefile.in | 3 +- man/de/man1/chage.1 | 31 +- man/de/man1/chfn.1 | 27 +- man/de/man1/chsh.1 | 6 +- man/de/man1/expiry.1 | 6 +- man/de/man1/gpasswd.1 | 6 +- man/de/man1/login.1 | 6 +- man/de/man1/newgrp.1 | 6 +- man/de/man1/passwd.1 | 34 +- man/de/man1/sg.1 | 6 +- man/de/man1/su.1 | 6 +- man/de/man3/shadow.3 | 6 +- man/de/man5/faillog.5 | 6 +- man/de/man5/gshadow.5 | 6 +- man/de/man5/limits.5 | 6 +- man/de/man5/login.access.5 | 6 +- man/de/man5/login.defs.5 | 6 +- man/de/man5/passwd.5 | 6 +- man/de/man5/porttime.5 | 6 +- man/de/man5/shadow.5 | 45 +- man/de/man5/suauth.5 | 6 +- man/de/man8/chgpasswd.8 | 6 +- man/de/man8/chpasswd.8 | 6 +- man/de/man8/faillog.8 | 6 +- man/de/man8/groupadd.8 | 6 +- man/de/man8/groupdel.8 | 6 +- man/de/man8/groupmems.8 | 6 +- man/de/man8/groupmod.8 | 6 +- man/de/man8/grpck.8 | 6 +- man/de/man8/lastlog.8 | 6 +- man/de/man8/logoutd.8 | 6 +- man/de/man8/newusers.8 | 6 +- man/de/man8/nologin.8 | 6 +- man/de/man8/pwck.8 | 6 +- man/de/man8/pwconv.8 | 50 +- man/de/man8/sulogin.8 | 6 +- man/de/man8/useradd.8 | 38 +- man/de/man8/userdel.8 | 6 +- man/de/man8/usermod.8 | 33 +- man/de/man8/vipw.8 | 6 +- man/es/Makefile.in | 3 +- man/fi/Makefile.in | 3 +- man/fr/Makefile.in | 3 +- man/fr/man1/chage.1 | 31 +- man/fr/man1/chfn.1 | 27 +- man/fr/man1/chsh.1 | 6 +- man/fr/man1/expiry.1 | 6 +- man/fr/man1/gpasswd.1 | 6 +- man/fr/man1/login.1 | 6 +- man/fr/man1/newgidmap.1 | 6 +- man/fr/man1/newgrp.1 | 6 +- man/fr/man1/newuidmap.1 | 6 +- man/fr/man1/passwd.1 | 34 +- man/fr/man1/sg.1 | 6 +- man/fr/man1/su.1 | 6 +- man/fr/man3/shadow.3 | 6 +- man/fr/man5/faillog.5 | 6 +- man/fr/man5/gshadow.5 | 6 +- man/fr/man5/limits.5 | 6 +- man/fr/man5/login.access.5 | 6 +- man/fr/man5/login.defs.5 | 6 +- man/fr/man5/passwd.5 | 6 +- man/fr/man5/porttime.5 | 6 +- man/fr/man5/shadow.5 | 45 +- man/fr/man5/suauth.5 | 6 +- man/fr/man5/subgid.5 | 6 +- man/fr/man5/subuid.5 | 6 +- man/fr/man8/chgpasswd.8 | 6 +- man/fr/man8/chpasswd.8 | 6 +- man/fr/man8/faillog.8 | 6 +- man/fr/man8/groupadd.8 | 6 +- man/fr/man8/groupdel.8 | 6 +- man/fr/man8/groupmems.8 | 6 +- man/fr/man8/groupmod.8 | 6 +- man/fr/man8/grpck.8 | 6 +- man/fr/man8/lastlog.8 | 6 +- man/fr/man8/logoutd.8 | 6 +- man/fr/man8/newusers.8 | 6 +- man/fr/man8/nologin.8 | 6 +- man/fr/man8/pwck.8 | 6 +- man/fr/man8/pwconv.8 | 50 +- man/fr/man8/sulogin.8 | 6 +- man/fr/man8/useradd.8 | 38 +- man/fr/man8/userdel.8 | 6 +- man/fr/man8/usermod.8 | 33 +- man/fr/man8/vipw.8 | 6 +- man/hu/Makefile.in | 3 +- man/id/Makefile.in | 3 +- man/it/Makefile.in | 3 +- man/it/man1/chage.1 | 31 +- man/it/man1/chfn.1 | 27 +- man/it/man1/chsh.1 | 6 +- man/it/man1/expiry.1 | 6 +- man/it/man1/gpasswd.1 | 6 +- man/it/man1/login.1 | 6 +- man/it/man1/newgrp.1 | 6 +- man/it/man1/passwd.1 | 34 +- man/it/man1/sg.1 | 6 +- man/it/man1/su.1 | 6 +- man/it/man3/shadow.3 | 6 +- man/it/man5/faillog.5 | 6 +- man/it/man5/gshadow.5 | 6 +- man/it/man5/limits.5 | 6 +- man/it/man5/login.access.5 | 6 +- man/it/man5/login.defs.5 | 6 +- man/it/man5/passwd.5 | 6 +- man/it/man5/porttime.5 | 6 +- man/it/man5/shadow.5 | 45 +- man/it/man5/suauth.5 | 6 +- man/it/man8/chgpasswd.8 | 6 +- man/it/man8/chpasswd.8 | 6 +- man/it/man8/faillog.8 | 6 +- man/it/man8/groupadd.8 | 6 +- man/it/man8/groupdel.8 | 6 +- man/it/man8/groupmems.8 | 6 +- man/it/man8/groupmod.8 | 6 +- man/it/man8/grpck.8 | 6 +- man/it/man8/lastlog.8 | 6 +- man/it/man8/logoutd.8 | 6 +- man/it/man8/newusers.8 | 6 +- man/it/man8/nologin.8 | 6 +- man/it/man8/pwck.8 | 6 +- man/it/man8/pwconv.8 | 50 +- man/it/man8/sulogin.8 | 6 +- man/it/man8/useradd.8 | 38 +- man/it/man8/userdel.8 | 6 +- man/it/man8/usermod.8 | 33 +- man/it/man8/vipw.8 | 6 +- man/ja/Makefile.in | 3 +- man/ko/Makefile.in | 3 +- man/man1/chage.1 | 31 +- man/man1/chfn.1 | 27 +- man/man1/chsh.1 | 6 +- man/man1/expiry.1 | 6 +- man/man1/getsubids.1 | 6 +- man/man1/gpasswd.1 | 6 +- man/man1/login.1 | 6 +- man/man1/newgidmap.1 | 6 +- man/man1/newgrp.1 | 6 +- man/man1/newuidmap.1 | 6 +- man/man1/passwd.1 | 34 +- man/man1/sg.1 | 6 +- man/man1/su.1 | 6 +- man/man3/shadow.3 | 6 +- man/man5/faillog.5 | 6 +- man/man5/gshadow.5 | 6 +- man/man5/limits.5 | 6 +- man/man5/login.access.5 | 6 +- man/man5/login.defs.5 | 6 +- man/man5/passwd.5 | 6 +- man/man5/porttime.5 | 6 +- man/man5/shadow.5 | 45 +- man/man5/suauth.5 | 6 +- man/man5/subgid.5 | 6 +- man/man5/subuid.5 | 6 +- man/man8/chgpasswd.8 | 6 +- man/man8/chpasswd.8 | 6 +- man/man8/faillog.8 | 6 +- man/man8/groupadd.8 | 6 +- man/man8/groupdel.8 | 6 +- man/man8/groupmems.8 | 6 +- man/man8/groupmod.8 | 6 +- man/man8/grpck.8 | 6 +- man/man8/lastlog.8 | 6 +- man/man8/logoutd.8 | 6 +- man/man8/newusers.8 | 6 +- man/man8/nologin.8 | 6 +- man/man8/pwck.8 | 6 +- man/man8/pwconv.8 | 50 +- man/man8/sulogin.8 | 6 +- man/man8/useradd.8 | 38 +- man/man8/userdel.8 | 6 +- man/man8/usermod.8 | 33 +- man/man8/vipw.8 | 6 +- man/passwd.1.xml | 61 +- man/pl/Makefile.in | 3 +- man/pl/man1/chage.1 | 33 +- man/pl/man1/chsh.1 | 6 +- man/pl/man1/expiry.1 | 6 +- man/pl/man1/newgrp.1 | 6 +- man/pl/man1/sg.1 | 6 +- man/pl/man3/shadow.3 | 6 +- man/pl/man5/faillog.5 | 6 +- man/pl/man5/porttime.5 | 6 +- man/pl/man8/faillog.8 | 6 +- man/pl/man8/groupadd.8 | 6 +- man/pl/man8/groupdel.8 | 6 +- man/pl/man8/groupmems.8 | 6 +- man/pl/man8/groupmod.8 | 6 +- man/pl/man8/grpck.8 | 6 +- man/pl/man8/lastlog.8 | 6 +- man/pl/man8/logoutd.8 | 6 +- man/pl/man8/userdel.8 | 6 +- man/pl/man8/usermod.8 | 33 +- man/pl/man8/vipw.8 | 6 +- man/po/pt.po | 24378 ++++++++++------ man/po/ro.po | 4898 +++- man/pt_BR/Makefile.in | 3 +- man/pwconv.8.xml | 48 +- man/ru/Makefile.in | 3 +- man/ru/man1/chage.1 | 31 +- man/ru/man1/chfn.1 | 27 +- man/ru/man1/chsh.1 | 6 +- man/ru/man1/expiry.1 | 6 +- man/ru/man1/gpasswd.1 | 6 +- man/ru/man1/login.1 | 6 +- man/ru/man1/newgrp.1 | 6 +- man/ru/man1/passwd.1 | 34 +- man/ru/man1/sg.1 | 6 +- man/ru/man1/su.1 | 6 +- man/ru/man3/shadow.3 | 6 +- man/ru/man5/faillog.5 | 6 +- man/ru/man5/gshadow.5 | 6 +- man/ru/man5/limits.5 | 6 +- man/ru/man5/login.access.5 | 6 +- man/ru/man5/login.defs.5 | 6 +- man/ru/man5/passwd.5 | 6 +- man/ru/man5/porttime.5 | 6 +- man/ru/man5/shadow.5 | 45 +- man/ru/man5/suauth.5 | 6 +- man/ru/man8/chgpasswd.8 | 6 +- man/ru/man8/chpasswd.8 | 6 +- man/ru/man8/faillog.8 | 6 +- man/ru/man8/groupadd.8 | 6 +- man/ru/man8/groupdel.8 | 6 +- man/ru/man8/groupmems.8 | 6 +- man/ru/man8/groupmod.8 | 6 +- man/ru/man8/grpck.8 | 6 +- man/ru/man8/lastlog.8 | 6 +- man/ru/man8/logoutd.8 | 6 +- man/ru/man8/newusers.8 | 6 +- man/ru/man8/nologin.8 | 6 +- man/ru/man8/pwck.8 | 6 +- man/ru/man8/pwconv.8 | 50 +- man/ru/man8/sulogin.8 | 6 +- man/ru/man8/useradd.8 | 38 +- man/ru/man8/userdel.8 | 6 +- man/ru/man8/usermod.8 | 33 +- man/ru/man8/vipw.8 | 6 +- man/shadow.5.xml | 84 +- man/sv/Makefile.in | 3 +- man/sv/man1/chage.1 | 31 +- man/sv/man1/chsh.1 | 6 +- man/sv/man1/expiry.1 | 6 +- man/sv/man1/newgrp.1 | 6 +- man/sv/man1/passwd.1 | 34 +- man/sv/man1/sg.1 | 6 +- man/sv/man3/shadow.3 | 6 +- man/sv/man5/faillog.5 | 6 +- man/sv/man5/gshadow.5 | 6 +- man/sv/man5/limits.5 | 6 +- man/sv/man5/passwd.5 | 6 +- man/sv/man5/porttime.5 | 6 +- man/sv/man5/suauth.5 | 6 +- man/sv/man8/faillog.8 | 6 +- man/sv/man8/groupadd.8 | 6 +- man/sv/man8/groupdel.8 | 6 +- man/sv/man8/groupmems.8 | 6 +- man/sv/man8/groupmod.8 | 6 +- man/sv/man8/grpck.8 | 6 +- man/sv/man8/lastlog.8 | 6 +- man/sv/man8/logoutd.8 | 6 +- man/sv/man8/nologin.8 | 6 +- man/sv/man8/pwck.8 | 6 +- man/sv/man8/userdel.8 | 6 +- man/sv/man8/vipw.8 | 6 +- man/tr/Makefile.in | 3 +- man/uk/Makefile.in | 3 +- man/uk/man1/chage.1 | 32 +- man/uk/man1/chfn.1 | 27 +- man/uk/man1/chsh.1 | 6 +- man/uk/man1/expiry.1 | 6 +- man/uk/man1/gpasswd.1 | 6 +- man/uk/man1/login.1 | 6 +- man/uk/man1/newgrp.1 | 6 +- man/uk/man1/passwd.1 | 34 +- man/uk/man1/sg.1 | 6 +- man/uk/man1/su.1 | 6 +- man/uk/man3/shadow.3 | 6 +- man/uk/man5/faillog.5 | 6 +- man/uk/man5/gshadow.5 | 6 +- man/uk/man5/login.access.5 | 6 +- man/uk/man5/login.defs.5 | 6 +- man/uk/man5/passwd.5 | 6 +- man/uk/man5/porttime.5 | 6 +- man/uk/man5/shadow.5 | 45 +- man/uk/man5/suauth.5 | 6 +- man/uk/man8/chgpasswd.8 | 6 +- man/uk/man8/chpasswd.8 | 6 +- man/uk/man8/faillog.8 | 6 +- man/uk/man8/groupadd.8 | 6 +- man/uk/man8/groupdel.8 | 6 +- man/uk/man8/groupmems.8 | 6 +- man/uk/man8/groupmod.8 | 6 +- man/uk/man8/grpck.8 | 6 +- man/uk/man8/lastlog.8 | 6 +- man/uk/man8/logoutd.8 | 6 +- man/uk/man8/newusers.8 | 6 +- man/uk/man8/nologin.8 | 6 +- man/uk/man8/pwck.8 | 6 +- man/uk/man8/pwconv.8 | 50 +- man/uk/man8/sulogin.8 | 6 +- man/uk/man8/useradd.8 | 38 +- man/uk/man8/userdel.8 | 6 +- man/uk/man8/usermod.8 | 33 +- man/uk/man8/vipw.8 | 6 +- man/useradd.8.xml | 55 +- man/usermod.8.xml | 48 +- man/zh_CN/Makefile.in | 3 +- man/zh_CN/man1/chage.1 | 31 +- man/zh_CN/man1/chfn.1 | 27 +- man/zh_CN/man1/chsh.1 | 6 +- man/zh_CN/man1/expiry.1 | 6 +- man/zh_CN/man1/gpasswd.1 | 6 +- man/zh_CN/man1/login.1 | 6 +- man/zh_CN/man1/newgrp.1 | 6 +- man/zh_CN/man1/passwd.1 | 34 +- man/zh_CN/man1/sg.1 | 6 +- man/zh_CN/man1/su.1 | 6 +- man/zh_CN/man3/shadow.3 | 6 +- man/zh_CN/man5/faillog.5 | 6 +- man/zh_CN/man5/gshadow.5 | 6 +- man/zh_CN/man5/limits.5 | 6 +- man/zh_CN/man5/login.access.5 | 6 +- man/zh_CN/man5/login.defs.5 | 6 +- man/zh_CN/man5/passwd.5 | 6 +- man/zh_CN/man5/porttime.5 | 6 +- man/zh_CN/man5/shadow.5 | 45 +- man/zh_CN/man5/suauth.5 | 6 +- man/zh_CN/man8/chgpasswd.8 | 6 +- man/zh_CN/man8/chpasswd.8 | 6 +- man/zh_CN/man8/faillog.8 | 6 +- man/zh_CN/man8/groupadd.8 | 6 +- man/zh_CN/man8/groupdel.8 | 6 +- man/zh_CN/man8/groupmems.8 | 6 +- man/zh_CN/man8/groupmod.8 | 6 +- man/zh_CN/man8/grpck.8 | 6 +- man/zh_CN/man8/lastlog.8 | 6 +- man/zh_CN/man8/logoutd.8 | 6 +- man/zh_CN/man8/newusers.8 | 6 +- man/zh_CN/man8/nologin.8 | 6 +- man/zh_CN/man8/pwck.8 | 6 +- man/zh_CN/man8/pwconv.8 | 50 +- man/zh_CN/man8/sulogin.8 | 6 +- man/zh_CN/man8/useradd.8 | 38 +- man/zh_CN/man8/userdel.8 | 6 +- man/zh_CN/man8/usermod.8 | 33 +- man/zh_CN/man8/vipw.8 | 6 +- man/zh_TW/Makefile.in | 3 +- po/POTFILES.in | 1 - po/bs.po | 17 +- po/ca.gmo | Bin 84369 -> 84073 bytes po/ca.po | 25 +- po/cs.po | 16 +- po/da.po | 20 +- po/de.po | 20 +- po/dz.po | 14 +- po/el.po | 16 +- po/es.po | 16 +- po/eu.po | 18 +- po/fi.po | 14 +- po/fr.gmo | Bin 86458 -> 86149 bytes po/fr.po | 21 +- po/gl.po | 14 +- po/he.po | 17 +- po/hu.po | 14 +- po/id.po | 14 +- po/it.po | 14 +- po/ja.po | 20 +- po/ka.gmo | Bin 122598 -> 122082 bytes po/ka.po | 21 +- po/kk.po | 20 +- po/km.po | 14 +- po/ko.po | 17 +- po/nb.po | 16 +- po/ne.po | 14 +- po/nl.gmo | Bin 83492 -> 83207 bytes po/nl.po | 21 +- po/nn.po | 14 +- po/pl.po | 14 +- po/pt.po | 20 +- po/pt_BR.po | 16 +- po/ro.gmo | Bin 86777 -> 86468 bytes po/ro.po | 21 +- po/ru.po | 20 +- po/shadow.pot | 12 +- po/sk.po | 14 +- po/sq.po | 17 +- po/sv.po | 20 +- po/tl.po | 14 +- po/tr.po | 14 +- po/uk.po | 16 +- po/vi.po | 20 +- po/zh_CN.po | 16 +- po/zh_TW.po | 16 +- src/Makefile.in | 3 +- src/chage.c | 1 + src/check_subid_range.c | 9 +- src/chfn.c | 1 + src/chgpasswd.c | 2 +- src/chpasswd.c | 5 +- src/chsh.c | 27 +- src/faillog.c | 2 +- src/free_subid_range.c | 2 +- src/grpck.c | 3 +- src/lastlog.c | 2 +- src/login.c | 11 +- src/login_nopam.c | 23 +- src/new_subid_range.c | 2 +- src/newgidmap.c | 19 +- src/newgrp.c | 17 +- src/newuidmap.c | 16 +- src/newusers.c | 19 +- src/passwd.c | 12 +- src/pwck.c | 5 +- src/su.c | 12 +- src/suauth.c | 3 +- src/sulogin.c | 3 +- src/useradd.c | 77 +- src/userdel.c | 15 +- src/usermod.c | 31 +- src/vipw.c | 10 +- tests/system/etc/login.defs | 2 +- tests/system/framework/hosts/base.py | 14 +- tests/system/framework/hosts/shadow.py | 31 + tests/system/framework/misc/__init__.py | 12 + tests/system/framework/roles/shadow.py | 13 + tests/system/framework/utils/tools.py | 183 + tests/system/tests/test_chage.py | 244 + tests/system/tests/test_groupadd.py | 12 +- tests/system/tests/test_groupdel.py | 9 +- tests/system/tests/test_groupmod.py | 12 +- tests/system/tests/test_useradd.py | 137 +- tests/system/tests/test_userdel.py | 24 +- tests/system/tests/test_usermod.py | 148 +- tests/unit/Makefile.am | 15 +- tests/unit/Makefile.in | 133 +- tests/unit/test_snprintf.c | 4 +- tests/unit/test_strtcpy.c | 4 +- .../{test_xasprintf.c => test_xaprintf.c} | 51 +- ylwrap | 247 - 580 files changed, 25692 insertions(+), 19474 deletions(-) delete mode 100644 contrib/Makefile.am delete mode 100644 contrib/Makefile.in delete mode 100644 contrib/README delete mode 100644 contrib/adduser.c delete mode 100755 contrib/adduser.sh delete mode 100755 contrib/adduser2.sh rename lib/atoi/{str2i => }/str2i.c (57%) create mode 100644 lib/atoi/str2i.h delete mode 100644 lib/atoi/str2i/str2i.h delete mode 100644 lib/atoi/str2i/str2s.c delete mode 100644 lib/atoi/str2i/str2s.h delete mode 100644 lib/atoi/str2i/str2u.c delete mode 100644 lib/atoi/str2i/str2u.h create mode 100644 lib/fields.h create mode 100644 lib/fs/mkstemp/fmkomstemp.c create mode 100644 lib/fs/mkstemp/fmkomstemp.h create mode 100644 lib/fs/mkstemp/mkomstemp.c create mode 100644 lib/fs/mkstemp/mkomstemp.h delete mode 100644 lib/getdate.c delete mode 100644 lib/getdate.h delete mode 100644 lib/getdate.y delete mode 100644 lib/must_be.h delete mode 100644 lib/shadow.c create mode 100644 lib/string/ctype/strchrisascii/strchriscntrl.c create mode 100644 lib/string/ctype/strchrisascii/strchriscntrl.h create mode 100644 lib/string/ctype/strisascii/strisprint.c create mode 100644 lib/string/ctype/strisascii/strisprint.h create mode 100644 lib/string/ctype/strtoascii/strtolower.c create mode 100644 lib/string/ctype/strtoascii/strtolower.h create mode 100644 lib/string/sprintf/aprintf.c create mode 100644 lib/string/sprintf/aprintf.h create mode 100644 lib/string/sprintf/xaprintf.c create mode 100644 lib/string/sprintf/xaprintf.h delete mode 100644 lib/string/sprintf/xasprintf.c delete mode 100644 lib/string/sprintf/xasprintf.h create mode 100644 lib/string/strcmp/strcaseprefix.c create mode 100644 lib/string/strcmp/strcaseprefix.h create mode 100644 lib/string/strcmp/strprefix.c create mode 100644 lib/string/strcmp/strprefix.h create mode 100644 lib/string/strtok/astrsep2ls.c create mode 100644 lib/string/strtok/astrsep2ls.h create mode 100644 lib/string/strtok/strsep2arr.c create mode 100644 lib/string/strtok/strsep2arr.h create mode 100644 lib/string/strtok/strsep2ls.c create mode 100644 lib/string/strtok/strsep2ls.h create mode 100644 lib/string/strtok/xastrsep2ls.c create mode 100644 lib/string/strtok/xastrsep2ls.h create mode 100644 tests/system/tests/test_chage.py rename tests/unit/{test_xasprintf.c => test_xaprintf.c} (59%) delete mode 100755 ylwrap diff --git a/Makefile.am b/Makefile.am index 47eb9c44..4c9c655f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,7 +6,7 @@ if ENABLE_SUBIDS SUBDIRS += libsubid endif -SUBDIRS += src po contrib doc etc tests/unit +SUBDIRS += src po doc etc tests/unit if ENABLE_REGENERATE_MAN SUBDIRS += man diff --git a/Makefile.in b/Makefile.in index cba3bae1..f7ddaefe 100644 --- a/Makefile.in +++ b/Makefile.in @@ -163,7 +163,7 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -DIST_SUBDIRS = lib libsubid src po contrib doc etc tests/unit man +DIST_SUBDIRS = lib libsubid src po doc etc tests/unit man am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(top_srcdir)/man/po/Makefile.in ABOUT-NLS AUTHORS.md COPYING \ ChangeLog NEWS README compile config.guess config.rpath \ @@ -243,6 +243,7 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -333,8 +334,6 @@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMLCATALOG = @XMLCATALOG@ XML_CATALOG_FILE = @XML_CATALOG_FILE@ XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -389,7 +388,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -SUBDIRS = lib $(am__append_1) src po contrib doc etc tests/unit \ +SUBDIRS = lib $(am__append_1) src po doc etc tests/unit \ $(am__append_2) CLEANFILES = man/8.out man/po/remove-potcdate.* man/*/login.defs.d man/*/*.mo EXTRA_DIST = NEWS README tests/ diff --git a/aclocal.m4 b/aclocal.m4 index da88563d..3aa89a36 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -22,14 +22,15 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.]) # ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*- # -# Copyright (C) 1999-2008, 2011-2015 Free Software Foundation, Inc. +# Copyright (C) 1999-2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. # Written by Thomas Tanner, 1999 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. -# serial 20 LTDL_INIT +# serial 21 LTDL_INIT # LT_CONFIG_LTDL_DIR(DIRECTORY, [LTDL-MODE]) # ------------------------------------------ @@ -357,7 +358,7 @@ AC_CONFIG_COMMANDS_PRE([ if test -n "$_LT_LIBOBJS"; then # Remove the extension. _lt_sed_drop_objext='s/\.o$//;s/\.obj$//' - for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do + for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | $SED "$_lt_sed_drop_objext" | sort -u`; do _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext" _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo" done @@ -495,7 +496,7 @@ AC_CACHE_CHECK([whether deplibs are loaded by dlopen], # If you are looking for one http://www.opendarwin.org/projects/dlcompat lt_cv_sys_dlopen_deplibs=yes ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) lt_cv_sys_dlopen_deplibs=yes ;; gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) @@ -930,8 +931,8 @@ AU_ALIAS([AC_LTDL_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LTDL_DLSYM_USCORE], []) -# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -# serial 11 (pkg-config-0.29.1) +# pkg.m4 - Macros to locate and use pkg-config. -*- Autoconf -*- +# serial 12 (pkg-config-0.29.2) dnl Copyright © 2004 Scott James Remnant . dnl Copyright © 2012-2015 Dan Nicholson @@ -973,7 +974,7 @@ dnl dnl See the "Since" comment for each macro you use to see what version dnl of the macros you require. m4_defun([PKG_PREREQ], -[m4_define([PKG_MACROS_VERSION], [0.29.1]) +[m4_define([PKG_MACROS_VERSION], [0.29.2]) m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) ])dnl PKG_PREREQ @@ -1018,7 +1019,7 @@ dnl Check to see whether a particular set of modules exists. Similar to dnl PKG_CHECK_MODULES(), but does not set variables or print errors. dnl dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -dnl only at the first occurence in configure.ac, so if the first place +dnl only at the first occurrence in configure.ac, so if the first place dnl it's called might be skipped (such as if it is within an "if", you dnl have to call PKG_CHECK_EXISTS manually AC_DEFUN([PKG_CHECK_EXISTS], @@ -1074,7 +1075,7 @@ AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no -AC_MSG_CHECKING([for $1]) +AC_MSG_CHECKING([for $2]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) @@ -1084,17 +1085,17 @@ and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then - AC_MSG_RESULT([no]) + AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` - else - $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` + else + $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD + # Put the nasty error message in config.log where it belongs + echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - m4_default([$4], [AC_MSG_ERROR( + m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS @@ -1105,8 +1106,8 @@ installed software in a non-standard prefix. _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then - AC_MSG_RESULT([no]) - m4_default([$4], [AC_MSG_FAILURE( + AC_MSG_RESULT([no]) + m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -1116,10 +1117,10 @@ _PKG_TEXT To get pkg-config, see .])[]dnl ]) else - $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS - $1[]_LIBS=$pkg_cv_[]$1[]_LIBS + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS + $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) - $3 + $3 fi[]dnl ])dnl PKG_CHECK_MODULES diff --git a/config.h.in b/config.h.in index 76a09af6..e19deca6 100644 --- a/config.h.in +++ b/config.h.in @@ -91,27 +91,18 @@ /* Defined to 1 if you have the declaration of 'fgetpwent_r' */ #undef HAVE_FGETPWENT_R -/* Define to 1 if you have the `futimes' function. */ -#undef HAVE_FUTIMES - /* Define to 1 if you have the `getentropy' function. */ #undef HAVE_GETENTROPY /* Define to 1 if you have the `getrandom' function. */ #undef HAVE_GETRANDOM -/* Define to 1 if you have the `getspnam' function. */ -#undef HAVE_GETSPNAM - /* Define to 1 if you have the `getspnam_r' function. */ #undef HAVE_GETSPNAM_R /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT -/* Define to 1 if you have the `getusershell' function. */ -#undef HAVE_GETUSERSHELL - /* Define if you have the iconv() function and it works. */ #undef HAVE_ICONV diff --git a/configure b/configure index 576ac057..ba36ad9b 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for shadow 4.17.4. +# Generated by GNU Autoconf 2.71 for shadow 4.18.0. # # Report bugs to . # @@ -621,8 +621,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='shadow' PACKAGE_TARNAME='shadow' -PACKAGE_VERSION='4.17.4' -PACKAGE_STRING='shadow 4.17.4' +PACKAGE_VERSION='4.18.0' +PACKAGE_STRING='shadow 4.18.0' PACKAGE_BUGREPORT='pkg-shadow-devel@lists.alioth.debian.org' PACKAGE_URL='https://github.com/shadow-maint/shadow' @@ -763,6 +763,7 @@ ac_ct_AR AR DLLTOOL OBJDUMP +FILECMD NM ac_ct_DUMPBIN DUMPBIN @@ -780,8 +781,6 @@ build_vendor build_cpu build LIBTOOL -YFLAGS -YACC LN_S MAINT MAINTAINER_MODE_FALSE @@ -929,8 +928,6 @@ CFLAGS LDFLAGS LIBS CPPFLAGS -YACC -YFLAGS LT_SYS_LIBRARY_PATH PKG_CONFIG PKG_CONFIG_PATH @@ -1488,7 +1485,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures shadow 4.17.4 to adapt to many kinds of systems. +\`configure' configures shadow 4.18.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1559,7 +1556,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of shadow 4.17.4:";; + short | recursive ) echo "Configuration of shadow 4.18.0:";; esac cat <<\_ACEOF @@ -1649,12 +1646,6 @@ Some influential environment variables: LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory - YACC The `Yet Another Compiler Compiler' implementation to use. - Defaults to the first program found out of: `bison -y', `byacc', - `yacc'. - YFLAGS The list of arguments that will be passed by default to $YACC. - This script will default YFLAGS to the empty string to avoid a - default value of `-d' given by some make applications. LT_SYS_LIBRARY_PATH User-defined run-time library search path. PKG_CONFIG path to pkg-config utility @@ -1738,7 +1729,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -shadow configure 4.17.4 +shadow configure 4.18.0 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -2338,7 +2329,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by shadow $as_me 4.17.4, which was +It was created by shadow $as_me 4.18.0, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3611,7 +3602,7 @@ fi # Define the identity of the package. PACKAGE='shadow' - VERSION='4.17.4' + VERSION='4.18.0' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -6300,54 +6291,6 @@ else printf "%s\n" "no, using $LN_S" >&6; } fi -for ac_prog in 'bison -y' byacc -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_YACC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$YACC"; then - ac_cv_prog_YACC="$YACC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_YACC="$ac_prog" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -YACC=$ac_cv_prog_YACC -if test -n "$YACC"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5 -printf "%s\n" "$YACC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$YACC" && break -done -test -n "$YACC" || YACC="yacc" - case `pwd` in *\ * | *\ *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 @@ -6356,8 +6299,8 @@ esac -macro_version='2.4.6' -macro_revision='2.4.6' +macro_version='2.4.7' +macro_revision='2.4.7' @@ -6985,13 +6928,13 @@ else mingw*) lt_bad_file=conftest.nm/nofile ;; *) lt_bad_file=/dev/null ;; esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in + case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break 2 ;; *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 @@ -7129,7 +7072,7 @@ esac fi fi - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; @@ -7222,7 +7165,7 @@ else $as_nop lt_cv_sys_max_cmd_len=8192; ;; - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` @@ -7265,7 +7208,7 @@ else $as_nop sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi @@ -7470,6 +7413,114 @@ esac +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. +set dummy ${ac_tool_prefix}file; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FILECMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FILECMD"; then + ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_FILECMD="${ac_tool_prefix}file" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +FILECMD=$ac_cv_prog_FILECMD +if test -n "$FILECMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 +printf "%s\n" "$FILECMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_FILECMD"; then + ac_ct_FILECMD=$FILECMD + # Extract the first word of "file", so it can be a program name with args. +set dummy file; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FILECMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FILECMD"; then + ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_FILECMD="file" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD +if test -n "$ac_ct_FILECMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 +printf "%s\n" "$ac_ct_FILECMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_FILECMD" = x; then + FILECMD=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FILECMD=$ac_ct_FILECMD + fi +else + FILECMD="$ac_cv_prog_FILECMD" +fi + + + + + + + if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 @@ -7613,7 +7664,7 @@ beos*) bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_cmd='$FILECMD -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; @@ -7647,14 +7698,14 @@ darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac @@ -7668,7 +7719,7 @@ haiku*) ;; hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' @@ -7715,7 +7766,7 @@ netbsd* | netbsdelf*-gnu) newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; @@ -8088,13 +8139,29 @@ esac fi : ${AR=ar} -: ${AR_FLAGS=cr} +# Use ARFLAGS variable as AR's operation code to sync the variable naming with +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have +# higher priority because thats what people were doing historically (setting +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS +# variable obsoleted/removed. + +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} +lt_ar_flags=$AR_FLAGS + + + + + + +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. + @@ -8511,7 +8578,7 @@ esac if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" + lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" # Adjust the below global symbol transforms to fixup imported variables. lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" @@ -8529,20 +8596,20 @@ fi # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n"\ +lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ $lt_cdecl_hook\ " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ +lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ $lt_c_name_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" # Transform an extracted symbol line into symbol name with lib prefix and # symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ $lt_c_name_lib_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ @@ -8566,7 +8633,7 @@ for ac_symprfx in "" "_"; do if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function, # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++, + # Also find C++ and __fastcall symbols from MSVC++ or ICC, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ @@ -8584,9 +8651,9 @@ for ac_symprfx in "" "_"; do " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no @@ -8786,7 +8853,7 @@ case $with_sysroot in #( fi ;; #( /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` ;; #( no|'') ;; #( @@ -8911,7 +8978,7 @@ ia64-*-hpux*) ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; @@ -8932,7 +8999,7 @@ ia64-*-hpux*) printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test yes = "$lt_cv_prog_gnu_ld"; then - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; @@ -8944,7 +9011,7 @@ ia64-*-hpux*) ;; esac else - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; @@ -8970,7 +9037,7 @@ mips64*-*linux*) printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then emul=elf - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; @@ -8978,7 +9045,7 @@ mips64*-*linux*) emul="${emul}64" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; @@ -8986,7 +9053,7 @@ mips64*-*linux*) emul="${emul}ltsmip" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; @@ -9010,14 +9077,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; @@ -9125,7 +9192,7 @@ printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) @@ -9908,8 +9975,8 @@ int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR cr libconftest.a conftest.o" >&5 - $AR cr libconftest.a conftest.o 2>&5 + echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5 + $AR $AR_FLAGS libconftest.a conftest.o 2>&5 echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF @@ -9936,17 +10003,12 @@ printf "%s\n" "$lt_cv_ld_force_load" >&6; } _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[912]*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - 10.[012][,.]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*|11.*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + darwin*) + case $MACOSX_DEPLOYMENT_TARGET,$host in + 10.[012],*|,*powerpc*-darwin[5-8]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac @@ -10243,8 +10305,8 @@ esac ofile=libtool can_build_shared=yes -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). +# All known linkers require a '.a' archive for static linking (except MSVC and +# ICC, which need '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld @@ -10762,7 +10824,7 @@ lt_prog_compiler_static= lt_prog_compiler_static='-qstaticlink' ;; *) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' @@ -11185,15 +11247,15 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries case $host_os in cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) with_gnu_ld=yes ;; openbsd* | bitrig*) @@ -11248,7 +11310,7 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries whole_archive_flag_spec= fi supports_anon_versioning=no - case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... @@ -11360,6 +11422,7 @@ _LT_EOF emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes=yes + file_list_spec='@' ;; interix[3-9]*) @@ -11374,7 +11437,7 @@ _LT_EOF # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) @@ -11417,7 +11480,7 @@ _LT_EOF compiler_needs_object=yes ;; esac - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object=yes @@ -11429,13 +11492,14 @@ _LT_EOF if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in tcc*) + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' export_dynamic_flag_spec='-rdynamic' ;; xlf* | bgf* | bgxlf* | mpixlf*) @@ -11445,7 +11509,7 @@ _LT_EOF archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi @@ -11577,7 +11641,7 @@ _LT_EOF if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no @@ -11848,12 +11912,12 @@ fi cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in - cl*) - # Native MSVC + cl* | icl*) + # Native MSVC or ICC hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported always_export_symbols=yes @@ -11894,7 +11958,7 @@ fi fi' ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. @@ -11935,8 +11999,8 @@ fi output_verbose_link_cmd=func_echo_all archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" - module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + archive_expsym_cmds="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + module_expsym_cmds="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" else ld_shlibs=no @@ -11970,7 +12034,7 @@ fi ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes @@ -12151,6 +12215,7 @@ printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } # Fabrice Bellard et al's Tiny C Compiler ld_shlibs=yes archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' ;; esac ;; @@ -12222,6 +12287,7 @@ printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes=yes + file_list_spec='@' ;; osf3*) @@ -12914,7 +12980,7 @@ cygwin* | mingw* | pw32* | cegcc*) case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; @@ -12924,14 +12990,14 @@ cygwin* | mingw* | pw32* | cegcc*) ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; - *,cl*) - # Native MSVC + *,cl* | *,icl*) + # Native MSVC or ICC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' @@ -12950,7 +13016,7 @@ cygwin* | mingw* | pw32* | cegcc*) done IFS=$lt_save_ifs # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form @@ -12987,7 +13053,7 @@ cygwin* | mingw* | pw32* | cegcc*) ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; @@ -13020,7 +13086,7 @@ dgux*) shlibpath_var=LD_LIBRARY_PATH ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then @@ -14185,30 +14251,41 @@ striplib= old_striplib= { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 printf %s "checking whether stripping libraries is possible... " >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } +if test -z "$STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP"; then + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough striplib="$STRIP -x" old_striplib="$STRIP -S" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } - else + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + ;; + *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - fi - ;; - *) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - ;; - esac + ;; + esac + fi fi @@ -14714,12 +14791,6 @@ if test "x$ac_cv_func_arc4random_buf" = xyes then : printf "%s\n" "#define HAVE_ARC4RANDOM_BUF 1" >>confdefs.h -fi -ac_fn_c_check_func "$LINENO" "futimes" "ac_cv_func_futimes" -if test "x$ac_cv_func_futimes" = xyes -then : - printf "%s\n" "#define HAVE_FUTIMES 1" >>confdefs.h - fi ac_fn_c_check_func "$LINENO" "getentropy" "ac_cv_func_getentropy" if test "x$ac_cv_func_getentropy" = xyes @@ -14732,18 +14803,6 @@ if test "x$ac_cv_func_getrandom" = xyes then : printf "%s\n" "#define HAVE_GETRANDOM 1" >>confdefs.h -fi -ac_fn_c_check_func "$LINENO" "getspnam" "ac_cv_func_getspnam" -if test "x$ac_cv_func_getspnam" = xyes -then : - printf "%s\n" "#define HAVE_GETSPNAM 1" >>confdefs.h - -fi -ac_fn_c_check_func "$LINENO" "getusershell" "ac_cv_func_getusershell" -if test "x$ac_cv_func_getusershell" = xyes -then : - printf "%s\n" "#define HAVE_GETUSERSHELL 1" >>confdefs.h - fi ac_fn_c_check_func "$LINENO" "lckpwdf" "ac_cv_func_lckpwdf" if test "x$ac_cv_func_lckpwdf" = xyes @@ -15797,8 +15856,8 @@ printf "%s\n" "no" >&6; } fi pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CMOCKA" >&5 -printf %s "checking for CMOCKA... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cmocka" >&5 +printf %s "checking for cmocka... " >&6; } if test -n "$CMOCKA_CFLAGS"; then pkg_cv_CMOCKA_CFLAGS="$CMOCKA_CFLAGS" @@ -15838,7 +15897,7 @@ fi if test $pkg_failed = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -15847,26 +15906,26 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - CMOCKA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "cmocka" 2>&1` + CMOCKA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "cmocka" 2>&1` else - CMOCKA_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "cmocka" 2>&1` + CMOCKA_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "cmocka" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$CMOCKA_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$CMOCKA_PKG_ERRORS" >&5 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libcmocka not found, cmocka tests will not be built" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libcmocka not found, cmocka tests will not be built" >&5 printf "%s\n" "$as_me: WARNING: libcmocka not found, cmocka tests will not be built" >&2;} elif test $pkg_failed = untried; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libcmocka not found, cmocka tests will not be built" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libcmocka not found, cmocka tests will not be built" >&5 printf "%s\n" "$as_me: WARNING: libcmocka not found, cmocka tests will not be built" >&2;} else - CMOCKA_CFLAGS=$pkg_cv_CMOCKA_CFLAGS - CMOCKA_LIBS=$pkg_cv_CMOCKA_LIBS + CMOCKA_CFLAGS=$pkg_cv_CMOCKA_CFLAGS + CMOCKA_LIBS=$pkg_cv_CMOCKA_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } - have_cmocka="yes" + have_cmocka="yes" fi if test x$have_cmocka = xyes; then HAVE_CMOCKA_TRUE= @@ -16273,7 +16332,7 @@ printf "%s\n" "#define ENABLE_LASTLOG 1" >>confdefs.h enable_lastlog="yes" else as_fn_error $? "Cannot enable support for lastlog on systems where the data structures aren't available" "$LINENO" 5 - enable_subids="no" + enable_lastlog="no" fi fi if test "x$enable_lastlog" != "xno"; then @@ -16500,8 +16559,8 @@ then : pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for LIBBSD" >&5 -printf %s "checking for LIBBSD... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libbsd-overlay" >&5 +printf %s "checking for libbsd-overlay... " >&6; } if test -n "$LIBBSD_CFLAGS"; then pkg_cv_LIBBSD_CFLAGS="$LIBBSD_CFLAGS" @@ -16541,7 +16600,7 @@ fi if test $pkg_failed = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -16550,14 +16609,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LIBBSD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libbsd-overlay" 2>&1` + LIBBSD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libbsd-overlay" 2>&1` else - LIBBSD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libbsd-overlay" 2>&1` + LIBBSD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libbsd-overlay" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$LIBBSD_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$LIBBSD_PKG_ERRORS" >&5 - as_fn_error $? "Package requirements (libbsd-overlay) were not met: + as_fn_error $? "Package requirements (libbsd-overlay) were not met: $LIBBSD_PKG_ERRORS @@ -16568,9 +16627,9 @@ Alternatively, you may set the environment variables LIBBSD_CFLAGS and LIBBSD_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full @@ -16583,8 +16642,8 @@ See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else - LIBBSD_CFLAGS=$pkg_cv_LIBBSD_CFLAGS - LIBBSD_LIBS=$pkg_cv_LIBBSD_LIBS + LIBBSD_CFLAGS=$pkg_cv_LIBBSD_CFLAGS + LIBBSD_LIBS=$pkg_cv_LIBBSD_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } @@ -19952,7 +20011,7 @@ else fi -ac_config_files="$ac_config_files Makefile po/Makefile.in doc/Makefile man/Makefile man/config.xml man/po/Makefile man/cs/Makefile man/da/Makefile man/de/Makefile man/es/Makefile man/fi/Makefile man/fr/Makefile man/hu/Makefile man/id/Makefile man/it/Makefile man/ja/Makefile man/ko/Makefile man/pl/Makefile man/pt_BR/Makefile man/ru/Makefile man/sv/Makefile man/tr/Makefile man/uk/Makefile man/zh_CN/Makefile man/zh_TW/Makefile lib/Makefile libsubid/Makefile libsubid/subid.h src/Makefile contrib/Makefile etc/Makefile etc/pam.d/Makefile etc/shadow-maint/Makefile tests/unit/Makefile" +ac_config_files="$ac_config_files Makefile po/Makefile.in doc/Makefile man/Makefile man/config.xml man/po/Makefile man/cs/Makefile man/da/Makefile man/de/Makefile man/es/Makefile man/fi/Makefile man/fr/Makefile man/hu/Makefile man/id/Makefile man/it/Makefile man/ja/Makefile man/ko/Makefile man/pl/Makefile man/pt_BR/Makefile man/ru/Makefile man/sv/Makefile man/tr/Makefile man/uk/Makefile man/zh_CN/Makefile man/zh_TW/Makefile lib/Makefile libsubid/Makefile libsubid/subid.h src/Makefile etc/Makefile etc/pam.d/Makefile etc/shadow-maint/Makefile tests/unit/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -20561,7 +20620,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by shadow $as_me 4.17.4, which was +This file was extended by shadow $as_me 4.18.0, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20630,7 +20689,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -shadow config.status 4.17.4 +shadow config.status 4.18.0 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" @@ -20793,6 +20852,7 @@ lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_q lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' @@ -20801,6 +20861,7 @@ want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' @@ -20921,6 +20982,7 @@ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ +FILECMD \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ @@ -20929,7 +20991,6 @@ want_nocaseglob \ DLLTOOL \ sharedlib_from_linklib_cmd \ AR \ -AR_FLAGS \ archiver_list_spec \ STRIP \ RANLIB \ @@ -21082,7 +21143,6 @@ do "libsubid/Makefile") CONFIG_FILES="$CONFIG_FILES libsubid/Makefile" ;; "libsubid/subid.h") CONFIG_FILES="$CONFIG_FILES libsubid/subid.h" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; - "contrib/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/Makefile" ;; "etc/Makefile") CONFIG_FILES="$CONFIG_FILES etc/Makefile" ;; "etc/pam.d/Makefile") CONFIG_FILES="$CONFIG_FILES etc/pam.d/Makefile" ;; "etc/shadow-maint/Makefile") CONFIG_FILES="$CONFIG_FILES etc/shadow-maint/Makefile" ;; @@ -21912,6 +21972,9 @@ to_host_file_cmd=$lt_cv_to_host_file_cmd # convert \$build files to toolchain format. to_tool_file_cmd=$lt_cv_to_tool_file_cmd +# A file(cmd) program that detects file types. +FILECMD=$lt_FILECMD + # An object symbol dumper. OBJDUMP=$lt_OBJDUMP @@ -21936,8 +21999,11 @@ sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd # The archiver. AR=$lt_AR +# Flags to create an archive (by configure). +lt_ar_flags=$lt_ar_flags + # Flags to create an archive. -AR_FLAGS=$lt_AR_FLAGS +AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"} # How to feed a file listing to the archiver. archiver_list_spec=$lt_archiver_list_spec @@ -22313,7 +22379,7 @@ ltmain=$ac_aux_dir/ltmain.sh # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ + $SED '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || diff --git a/configure.ac b/configure.ac index 571e20da..bacce98a 100644 --- a/configure.ac +++ b/configure.ac @@ -4,7 +4,7 @@ m4_define([libsubid_abi_major], 5) m4_define([libsubid_abi_minor], 0) m4_define([libsubid_abi_micro], 0) m4_define([libsubid_abi], [libsubid_abi_major.libsubid_abi_minor.libsubid_abi_micro]) -AC_INIT([shadow], [4.17.4], [pkg-shadow-devel@lists.alioth.debian.org], [], +AC_INIT([shadow], [4.18.0], [pkg-shadow-devel@lists.alioth.debian.org], [], [https://github.com/shadow-maint/shadow]) AM_INIT_AUTOMAKE([1.11 foreign dist-xz subdir-objects tar-pax]) AC_CONFIG_MACRO_DIRS([m4]) @@ -30,7 +30,6 @@ AM_MAINTAINER_MODE dnl Checks for programs. AC_PROG_CC AC_PROG_LN_S -AC_PROG_YACC LT_INIT LT_LIB_DLLOAD @@ -39,8 +38,8 @@ dnl Checks for libraries. dnl shadow now uses the libc's shadow implementation AC_CHECK_HEADER([shadow.h],,[AC_MSG_ERROR([You need a libc with shadow.h])]) -AC_CHECK_FUNCS(arc4random_buf futimes \ - getentropy getrandom getspnam getusershell \ +AC_CHECK_FUNCS(arc4random_buf \ + getentropy getrandom \ lckpwdf lutimes \ updwtmpx innetgr \ getspnam_r \ @@ -331,7 +330,7 @@ if test "$enable_lastlog" = "yes" && test "$ac_cv_header_lastlog_h" = "yes"; the enable_lastlog="yes" else AC_MSG_ERROR([Cannot enable support for lastlog on systems where the data structures aren't available]) - enable_subids="no" + enable_lastlog="no" fi fi AM_CONDITIONAL(ENABLE_LASTLOG, test "x$enable_lastlog" != "xno") @@ -684,7 +683,6 @@ AC_CONFIG_FILES([ libsubid/Makefile libsubid/subid.h src/Makefile - contrib/Makefile etc/Makefile etc/pam.d/Makefile etc/shadow-maint/Makefile diff --git a/contrib/Makefile.am b/contrib/Makefile.am deleted file mode 100644 index dc3ccd26..00000000 --- a/contrib/Makefile.am +++ /dev/null @@ -1,4 +0,0 @@ -# This is a dummy Makefile.am to get automake work flawlessly, -# and also cooperate to make a distribution for `make dist' - -EXTRA_DIST = README adduser.c adduser.sh adduser2.sh diff --git a/contrib/Makefile.in b/contrib/Makefile.in deleted file mode 100644 index ad2d07a3..00000000 --- a/contrib/Makefile.in +++ /dev/null @@ -1,507 +0,0 @@ -# Makefile.in generated by automake 1.16.5 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2021 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# This is a dummy Makefile.am to get automake work flawlessly, -# and also cooperate to make a distribution for `make dist' -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = contrib -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in README -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ -CMOCKA_LIBS = @CMOCKA_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CSCOPE = @CSCOPE@ -CTAGS = @CTAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -ECONF_CPPFLAGS = @ECONF_CPPFLAGS@ -EGREP = @EGREP@ -ETAGS = @ETAGS@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBADD_DL = @LIBADD_DL@ -LIBADD_DLD_LINK = @LIBADD_DLD_LINK@ -LIBADD_DLOPEN = @LIBADD_DLOPEN@ -LIBADD_SHL_LOAD = @LIBADD_SHL_LOAD@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBBSD = @LIBBSD@ -LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ -LIBBSD_LIBS = @LIBBSD_LIBS@ -LIBCRYPT = @LIBCRYPT@ -LIBECONF = @LIBECONF@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBSUBID_ABI = @LIBSUBID_ABI@ -LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@ -LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@ -LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@ -LIBSYSTEMD = @LIBSYSTEMD@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LIYESCRYPT = @LIYESCRYPT@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_DLLOADERS = @LT_DLLOADERS@ -LT_DLPREOPEN = @LT_DLPREOPEN@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VENDORDIR = @VENDORDIR@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -capcmd = @capcmd@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = README adduser.c adduser.sh adduser2.sh -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign contrib/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign contrib/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# 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/contrib/README b/contrib/README deleted file mode 100644 index 6002923a..00000000 --- a/contrib/README +++ /dev/null @@ -1,7 +0,0 @@ -People keep sending various adduser programs and scripts... They are -all in this directory. I haven't tested them, use at your own risk. -Anyway, the best one I've seen so far is adduser-3.x from Debian. - -udbachk.tgz is a passwd/group/shadow file integrity checker. - ---marekm diff --git a/contrib/adduser.c b/contrib/adduser.c deleted file mode 100644 index 8061c76a..00000000 --- a/contrib/adduser.c +++ /dev/null @@ -1,503 +0,0 @@ -/**** -** 04/21/96 -** hacked even more, replaced gets() with something slightly harder to buffer -** overflow. Added support for setting a default quota on new account, with -** edquota -p. Other cleanups for security, I let some users run adduser suid -** root to add new accounts. (overflow checks, clobber environment, valid -** shell checks, restrictions on gid + home dir settings). - -** Added max. username length. Used syslog() a bit for important events. -** Support to immediately expire account with passwd -e. - -** Called it version 2.0! Because I felt like it! - -** -- Chris, chris@ferret.lmh.ox.ac.uk - -** 03/17/96 -** hacked a bit more, removed unused code, cleaned up for gcc -Wall. -** --marekm -** -** 02/26/96 -** modified to call shadow utils (useradd,chage,passwd) on shadowed -** systems - Cristian Gafton, gafton@sorosis.ro -** -** 6/27/95 -** shadow-adduser 1.4: -** -** now it copies the /etc/skel dir into the person's dir, -** makes the mail folders, changed some defaults and made a 'make -** install' just for the hell of it. -** -** Greg Gallagher -** CIN.Net -** -** 1/28/95 -** shadow-adduser 1.3: -** -** Basically a bug-fix on my additions in 1.2. Thanks to Terry Stewart -** (stew@texas.net) for pointing out one of the many idiotic bugs I introduced. -** It was such a stupid bug that I would have never seen it myself. -** -** Brandon -***** -** 01/27/95 -** -** shadow-adduser 1.2: -** I took the C source from adduser-shadow (credits are below) and made -** it a little more worthwhile. Many small changes... Here's -** the ones I can remember: -** -** Removed support for non-shadowed systems (if you don't have shadow, -** use the original adduser, don't get this shadow version!) -** Added support for the correct /etc/shadow fields (Min days before -** password change, max days before password change, Warning days, -** and how many days from expiry date does the account go invalid) -** The previous version just left all of those fields blank. -** There is still one field left (expiry date for the account, period) -** which I have left blank because I do not use it and didn't want to -** spend any more time on this. I'm sure someone will put it in and -** tack another plethora of credits on here. :) -** Added in the password date field, which should always reflect the last -** date the password was changed, for expiry purposes. "passwd" always -** updates this field, so the adduser program should set it up right -** initially (or a user could keep their initial password forever ;) -** The number is in days since Jan 1st, 1970. -** -** Have fun with it, and someone please make -** a real version(this is still just a hack) -** for us all to use (and Email it to me???) -** -** Brandon -** photon@usis.com -** -***** -** adduser 1.0: add a new user account (For systems not using shadow) -** With a nice little interface and a will to do all the work for you. -** -** Craig Hagan -** hagan@opine.cs.umass.edu -** -** Modified to really work, look clean, and find unused uid by Chris Cappuccio -** chris@slinky.cs.umass.edu -** -***** -** -** 01/19/95 -** -** FURTHER modifications to enable shadow passwd support (kludged, but -** no more so than the original) by Dan Crowson - dcrowson@mo.net -** -** Search on DAN for all changes... -** -***** -** -** cc -O -o adduser adduser.c -** Use gcc if you have it... (political reasons beyond my control) (chris) -** -** I've gotten this program to work with success under Linux (without -** shadow) and SunOS 4.1.3. I would assume it should work pretty well -** on any system that uses no shadow. (chris) -** -** If you have no crypt() then try -** cc -DNO_CRYPT -O -o adduser adduser.c xfdes.c -** I'm not sure how login operates with no crypt()... I guess -** the same way we're doing it here. -*/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "string/strcmp/streq.h" - - -#define IMMEDIATE_CHANGE /* Expire newly created password, must be changed - * immediately upon next login */ -#define HAVE_QUOTAS /* Obvious */ -#define EXPIRE_VALS_SET /* If defined, 'normal' users can't change - * password expiry values (if running suid root) */ - -#define HAVE_GETUSERSHELL /* FIXME: Isn't this defined in config.h too? */ -#define LOGGING /* If we want to log various things to syslog */ -#define MAX_USRNAME 8 /* Longer usernames seem to work on my system.... - * But they're probably a poor idea */ - - -#define DEFAULT_SHELL "/bin/bash" /* because BASH is your friend */ -#define DEFAULT_HOME "/home" -#define USERADD_PATH "/usr/sbin/useradd" -#define CHAGE_PATH "/usr/bin/chage" -#define PASSWD_PATH "/usr/bin/passwd" -#define EDQUOTA_PATH "/usr/sbin/edquota" -#define QUOTA_DEFAULT "defuser" -#define DEFAULT_GROUP 100 - -#define DEFAULT_MIN_PASS 0 -#define DEFAULT_MAX_PASS 100 -#define DEFAULT_WARN_PASS 14 -#define DEFAULT_USER_DIE 366 - -void safeget (char *, int); - -void -main (void) -{ - char foo[32]; - char usrname[32], person[32], dir[32], shell[32]; - unsigned int group, min_pass, max_pass, warn_pass, user_die; - /* the group and uid of the new user */ - int bad = 0, done = 0, correct = 0, olduid; - char cmd[255]; - struct group *grp; - - /* flags, in order: - * bad to see if the username is in /etc/passwd, or if strange stuff has - * been typed if the user might be put in group 0 - * done allows the program to exit when a user has been added - * correct loops until a username is found that isn't in /etc/passwd - */ - - /* The real program starts HERE! */ - - if (geteuid () != 0) - { - printf ("It seems you don't have access to add a new user. Try\n"); - printf ("logging in as root or su root to gain superuser access.\n"); - exit (1); - } - - /* Sanity checks - */ - -#ifdef LOGGING - openlog ("adduser", LOG_PID | LOG_CONS | LOG_NOWAIT, LOG_AUTH); - syslog (LOG_INFO, "invoked by user %s\n", getpwuid (getuid ())->pw_name); -#endif - - if (!(grp = getgrgid (DEFAULT_GROUP))) - { - printf ("Error: the default group %d does not exist on this system!\n", - DEFAULT_GROUP); - printf ("adduser must be recompiled.\n"); -#ifdef LOGGING - syslog (LOG_ERR, "warning: failed. no such default group\n"); - closelog (); -#endif - exit (1); - }; - - while (!correct) - { /* loop until a "good" usrname is chosen */ - while (!done) - { - printf ("\nLogin to add (^C to quit): "); - fflush (stdout); - - safeget (usrname, sizeof (usrname)); - - if (!strlen (usrname)) - { - printf ("Empty input.\n"); - done = 0; - continue; - }; - - /* what I saw here before made me think maybe I was running DOS */ - /* might this be a solution? (chris) */ - if (strlen (usrname) > MAX_USRNAME) - { - printf ("That name is longer than the maximum of %d characters. Choose another.\n", MAX_USRNAME); - done = 0; - } - else if (getpwnam (usrname) != NULL) - { - printf ("That name is in use, choose another.\n"); - done = 0; - } - else if (strchr (usrname, ' ') != NULL) - { - printf ("No spaces in username!!\n"); - done = 0; - } - else - done = 1; - }; /* done, we have a valid new user name */ - - /* all set, get the rest of the stuff */ - printf ("\nEditing information for new user [%s]\n", usrname); - - printf ("\nFull Name [%s]: ", usrname); - fflush (stdout); - safeget (person, sizeof (person)); - if (!strlen (person)) - { - bzero (person, sizeof (person)); - strcpy (person, usrname); - }; - - if (getuid () == 0) - { - do - { - bad = 0; - printf ("GID [%d]: ", DEFAULT_GROUP); - fflush (stdout); - safeget (foo, sizeof (foo)); - if (!strlen (foo)) - group = DEFAULT_GROUP; - else if (isdigit (*foo)) - { - group = atoi (foo); - if (!(grp = getgrgid (group))) - { - printf ("unknown gid %s\n", foo); - group = DEFAULT_GROUP; - bad = 1; - }; - } - else if ((grp = getgrnam (foo))) - group = grp->gr_gid; - else - { - printf ("unknown group %s\n", foo); - group = DEFAULT_GROUP; - bad = 1; - } - if (group == 0) - { /* You're not allowed to make root group users! */ - printf ("Creation of root group users not allowed (must be done by hand)\n"); - group = DEFAULT_GROUP; - bad = 1; - }; - } - while (bad); - } - else - { - printf ("Group will be default of: %d\n", DEFAULT_GROUP); - group = DEFAULT_GROUP; - } - - if (getuid () == 0) - { - printf ("\nIf home dir ends with a / then '%s' will be appended to it\n", usrname); - printf ("Home Directory [%s/%s]: ", DEFAULT_HOME, usrname); - fflush (stdout); - safeget (dir, sizeof (dir)); - if (!strlen(dir)) /* hit return */ - sprintf(dir, "%s/%s", DEFAULT_HOME, usrname); - else if (dir[strlen (dir) - 1] == '/') - strcat(dir, usrname); - } - else - { - printf ("\nHome directory will be %s/%s\n", DEFAULT_HOME, usrname); - sprintf (dir, "%s/%s", DEFAULT_HOME, usrname); - } - - printf ("\nShell [%s]: ", DEFAULT_SHELL); - fflush (stdout); - safeget (shell, sizeof (shell)); - if (!strlen (shell)) - strcpy(shell, DEFAULT_SHELL); - else - { - char *sh; - int ok = 0; -#ifdef HAVE_GETUSERSHELL - setusershell (); - while ((sh = getusershell ()) != NULL) - if (streq(shell, sh)) - ok = 1; - endusershell (); -#endif - if (!ok) - { - if (getuid () == 0) - printf ("Warning: root allowed non standard shell\n"); - else - { - printf ("Shell NOT in /etc/shells, DEFAULT used\n"); - strcpy(shell, DEFAULT_SHELL); - } - } - } - -#ifdef EXPIRE_VALS_SET - if (getuid () == 0) - { -#endif - printf ("\nMin. Password Change Days [%d]: ", DEFAULT_MIN_PASS); - fflush (stdout); - safeget (foo, sizeof (foo)); - if (strlen (foo) > 1) - min_pass = DEFAULT_MIN_PASS; - else - min_pass = atoi (foo); - - printf ("Max. Password Change Days [%d]: ", DEFAULT_MAX_PASS); - fflush (stdout); - safeget (foo, sizeof (foo)); - if (strlen (foo) > 1) - max_pass = atoi (foo); - else - max_pass = DEFAULT_MAX_PASS; - - printf ("Password Warning Days [%d]: ", DEFAULT_WARN_PASS); - fflush (stdout); - safeget (foo, sizeof (foo)); - warn_pass = atoi (foo); - if (warn_pass == 0) - - warn_pass = DEFAULT_WARN_PASS; - - printf ("Days after Password Expiry for Account Locking [%d]: ", DEFAULT_USER_DIE); - fflush (stdout); - safeget (foo, sizeof (foo)); - user_die = atoi (foo); - if (user_die == 0) - user_die = DEFAULT_USER_DIE; - -#ifdef EXPIRE_VALS_SET - } - else - { - printf ("\nSorry, account expiry values are set.\n"); - user_die = DEFAULT_USER_DIE; - warn_pass = DEFAULT_WARN_PASS; - max_pass = DEFAULT_MAX_PASS; - min_pass = DEFAULT_MIN_PASS; - } -#endif - - printf ("\nInformation for new user [%s] [%s]:\n", usrname, person); - printf ("Home directory: [%s] Shell: [%s]\n", dir, shell); - printf ("GID: [%d]\n", group); - printf ("MinPass: [%d] MaxPass: [%d] WarnPass: [%d] UserExpire: [%d]\n", - min_pass, max_pass, warn_pass, user_die); - printf ("\nIs this correct? [y/N]: "); - fflush (stdout); - safeget (foo, sizeof (foo)); - - done = bad = correct = (foo[0] == 'y' || foo[0] == 'Y'); - - if (bad != 1) - printf ("\nUser [%s] not added\n", usrname); - } - - /* Clobber the environment, I run this suid root sometimes to let - * non root privileged accounts add users --chris */ - - *environ = NULL; - - bzero (cmd, sizeof (cmd)); - sprintf (cmd, "%s -g %d -d %s -s %s -c \"%s\" -m -k /etc/skel %s", - USERADD_PATH, group, dir, shell, person, usrname); - printf ("Calling useradd to add new user:\n%s\n", cmd); - if (system (cmd)) - { - printf ("User add failed!\n"); -#ifdef LOGGING - syslog (LOG_ERR, "could not add new user\n"); - closelog (); -#endif - exit (errno); - }; - - olduid = getuid (); /* chage, passwd, edquota etc. require ruid = root - */ - setuid (0); - - bzero (cmd, sizeof (cmd)); - - /* Chage runs suid root. => we need ruid root to run it with - * anything other than chage -l - */ - - sprintf (cmd, "%s -m %d -M %d -W %d -I %d %s", CHAGE_PATH, - min_pass, max_pass, warn_pass, user_die, usrname); - printf ("%s\n", cmd); - if (system (cmd)) - { - printf ("There was an error setting password expire values\n"); -#ifdef LOGGING - syslog (LOG_ERR, "password expire values could not be set\n"); -#endif - }; - - /* I want to add a user completely with one easy command --chris */ - -#ifdef HAVE_QUOTAS - bzero (cmd, sizeof (cmd)); - sprintf (cmd, "%s -p %s -u %s", EDQUOTA_PATH, QUOTA_DEFAULT, usrname); - printf ("%s\n", cmd); - if (system (cmd)) - { - printf ("\nWarning: error setting quota\n"); -#ifdef LOGGING - syslog (LOG_ERR, "warning: account created but NO quotas set!\n"); -#endif /* LOGGING */ - } - else - printf ("\nDefault quota set.\n"); -#endif /* HAVE_QUOTAS */ - - bzero (cmd, sizeof (cmd)); - sprintf (cmd, "%s %s", PASSWD_PATH, usrname); - if (system (cmd)) - { - printf ("\nWarning: error setting password\n"); -#ifdef LOGGING - syslog (LOG_ERR, "warning: password set failed!\n"); -#endif - } -#ifdef IMMEDIATE_CHANGE - bzero (cmd, sizeof (cmd)); - sprintf (cmd, "%s -e %s", PASSWD_PATH, usrname); - if (system (cmd)) - { - printf ("\nWarning: error expiring password\n"); -#ifdef LOGGING - syslog (LOG_ERR, "warning: password expire failed!\n"); -#endif /* LOGGING */ - } -#endif /* IMMEDIATE_CHANGE */ - - setuid (olduid); - -#ifdef LOGGING - closelog (); -#endif - - printf ("\nDone.\n"); -} - -void -safeget (char *buf, int maxlen) -{ - int c, i = 0, bad = 0; - char *bstart = buf; - while ((c = getc (stdin)) != EOF && (c != '\n') && (++i < maxlen)) - { - bad = (!isalnum (c) && (c != '_') && (c != ' ')); - *(buf++) = c; - } - stpcpy(buf, ""); - - if (bad) - { - printf ("\nString contained banned character. Please stick to alphanumerics.\n"); - stpcpy(bstart, ""); - } -} - diff --git a/contrib/adduser.sh b/contrib/adduser.sh deleted file mode 100755 index 0efb27a3..00000000 --- a/contrib/adduser.sh +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/sh -# adduser script for use with shadow passwords and useradd command. -# by Hrvoje Dogan , Dec 1995. - -echo -n "Login name for new user []:" -read LOGIN -if [ -z $LOGIN ] -then echo "Come on, man, you can't leave the login field empty...";exit -fi -echo -echo -n "User id for $LOGIN [ defaults to next available]:" -read ID -GUID="-u $ID" -if [ -z $ID ] -then GUID="" -fi - -echo -echo -n "Initial group for $LOGIN [users]:" -read GID -GGID="-g $GID" -if [ -z $GID ] -then GGID="" -fi - -echo -echo -n "Additional groups for $LOGIN []:" -read AGID -GAGID="-G $AGID" -if [ -z $AGID ] -then GAGID="" -fi - -echo -echo -n "$LOGIN's home directory [/home/$LOGIN]:" -read HME -GHME="-d $HME" -if [ -z $HME ] -then GHME="" -fi - -echo -echo -n "$LOGIN's shell [/bin/bash]:" -read SHL -GSHL="-s $SHL" -if [ -z $SHL ] -then GSHL="" -fi - -echo -echo -n "$LOGIN's account expiry date (MM/DD/YY) []:" -read EXP -GEXP="-e $EXP" -if [ -z $EXP ] -then GEXP="" -fi -echo -echo OK, I'm about to make a new account. Here's what you entered so far: -echo New login name: $LOGIN -if [ -z $GUID ] -then echo New UID: [Next available] -else echo New UID: $UID -fi -if [ -z $GGID ] -then echo Initial group: users -else echo Initial group: $GID -fi -if [ -z $GAGID ] -then echo Additional groups: [none] -else echo Additional groups: $AGID -fi -if [ -z $GHME ] -then echo Home directory: /home/$LOGIN -else echo Home directory: $HME -fi -if [ -z $GSHL ] -then echo Shell: /bin/bash -else echo Shell: $SHL -fi -if [ -z $GEXP ] -then echo Expiry date: [no expiration] -else echo Expiry date: $EXP -fi -echo "This is it... if you want to bail out, you'd better do it now." -read FOO -echo Making new account... -/usr/sbin/useradd $GHME -m $GEXP $GGID $GAGID $GSHL $GUID $LOGIN -/usr/bin/chfn $LOGIN -/usr/bin/passwd $LOGIN -echo "Done..." diff --git a/contrib/adduser2.sh b/contrib/adduser2.sh deleted file mode 100755 index 7656d028..00000000 --- a/contrib/adduser2.sh +++ /dev/null @@ -1,743 +0,0 @@ -#!/bin/bash -# -# adduser Interactive user adding program. -# -# Copyright (C) 1996 Petri Mattila, Prihateam Networks -# petri@prihateam.fi -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# Changes: -# 220496 v0.01 Initial version -# 230496 v0.02 More checks, embolden summary -# 240496 Even more checks -# 250496 Help with ? -# 040596 v0.03 Cleanups -# 050596 v0.04 Bug fixes, expire date checks -# 070596 v0.05 Iso-latin-1 names -# - -## Defaults - -# default groups -def_group="users" -def_other_groups="" - -# default home directory -def_home_dir=/home/users - -# default shell -def_shell=/bin/tcsh - -# Default expiration date (mm/dd/yy) -def_expire="" - -# default dates -def_pwd_min=0 -def_pwd_max=90 -def_pwd_warn=14 -def_pwd_iact=14 - - -# possible UIDs -uid_low=1000 -uid_high=64000 - -# skel directory -skel=/etc/skel - -# default mode for home directory -def_mode=711 - -# Regex, that the login name must meet, only ANSI characters -login_regex='^[0-9a-zA-Z_-]*$' - -# Regex, that the user name must meet -# ANSI version -##name_regex='^[0-9a-zA-Z_-\ ]*$' -# ISO-LATIN-1 version -name_regex='^[0-9a-zA-Z_-\ ]*$' - -# set PATH -export PATH="/bin:/sbin:/usr/bin:/usr/sbin" - -# Some special characters -case "$TERM" in - vt*|ansi*|con*|xterm*|linux*) - S='' # start embolden - E='' # end embolden - ;; - *) - S='' - E='' - ;; -esac - - -## Functions - -check_root() { - if test "$EUID" -ne 0 - then - echo "You must be root to run this program." - exit 1 - fi -} - -check_user() { - local usr pwd uid gid name home sh - - cat /etc/passwd | ( - while IFS=":" read usr pwd uid gid name home sh - do - if test "$1" = "${usr}" - then - return 1 - fi - done - return 0 - ) -} - -check_group() { - local read grp pwd gid members - - cat /etc/group | ( - while IFS=":" read grp pwd gid members - do - if test "$1" = "${grp}" - then - return 1 - fi - done - return 0 - ) -} - -check_other_groups() { - local grp check IFS - - check="$1" - IFS="," - - set ${check} - for grp - do - if check_group "${grp}" - then - echo "Group ${grp} does not exist." - return 1 - fi - done - return 0 -} - -check_uid() { - local usr pwd uid gid name home sh - - cat /etc/passwd | ( - while IFS=":" read usr pwd uid gid name home sh - do - if test "$1" = "${uid}" - then - return 1 - fi - done - return 0 - ) -} - -read_yn() { - local ans ynd - - ynd="$1" - - while : - do - read ans - case "${ans}" in - "") return ${ynd} ;; - [nN]) return 1 ;; - [yY]) return 0 ;; - *) echo -n "Y or N, please ? " ;; - esac - done -} - -read_login() { - echo - while : - do - echo -n "Login: ${def_login:+[${def_login}] }" - read login - - if test "${login}" = '?' - then - less /etc/passwd - echo - continue - fi - - if test -z "${login}" -a -n "${def_login}" - then - login="${def_login}" - echo "Using ${login}" - return - fi - - if test "${#login}" -gt 8 - then - echo "Login must be at most 8 characters long" - continue - fi - - if test "${#login}" -lt 2 - then - echo "Login must be at least 2 characters long" - continue - fi - - if ! expr "${login}" : "${login_regex}" &> /dev/null - then - echo "Please use letters, numbers and special characters _-,." - continue - fi - - if ! check_user "${login}" - then - echo "Username ${login} is already in use" - continue - fi - - def_login="${login}" - return - done -} - -read_name () { - echo - while : - do - echo -n "Real name: ${def_name:+[${def_name}] }" - read name - - if test "${name}" = '?' - then - less /etc/passwd - echo - continue - fi - - if test -z "${name}" -a -n "${def_name}" - then - name="${def_name}" - echo "Using ${name}" - fi - - if test "${#name}" -gt 32 - then - echo "Name should be at most 32 characters long" - continue - fi - - if ! expr "${name}" : "${name_regex}" &> /dev/null - then - echo "Please use letters, numbers, spaces and special characters ,._-" - continue - fi - - def_name="${name}" - return - done -} - -read_home() { - local x - - echo - while : - do - echo -n "Home Directory: [${def_home_dir}/${login}] " - read home - - if test -z "${home}" - then - home="${def_home_dir}/${login}" - echo "Using ${home}" - fi - - if ! expr "${home}" : '^[0-9a-zA-Z,._-\/]*$' &> /dev/null - then - echo "Please use letters, numbers, spaces and special characters ,._-/" - continue - fi - - x="$(basename ${home})" - if test "${x}" != "${login}" - then - echo "Warning: you are about to use different login name and home directory." - fi - - x="$(dirname ${home})" - if ! test -d "${x}" - then - echo "Directory ${x} does not exist." - echo "If you still want to use it, please make it manually." - continue - fi - - def_home_dir="${x}" - return - done -} - -read_shell () { - local x - - echo - while : - do - echo -n "Shell: [${def_shell}] " - read shell - - if test -z "${shell}" - then - shell="${def_shell}" - echo "Using ${shell}" - fi - - for x in $(cat /etc/shells) - do - if test "${x}" = "${shell}" - then - def_shell="${shell}" - return - fi - done - - echo "Possible shells are:" - cat /etc/shells - done -} - -read_group () { - echo - while : - do - echo -n "Group: [${def_group}] " - read group - - if test -z "${group}" - then - group="${def_group}" - echo "Using ${group}" - fi - - if test "${group}" = '?' - then - less /etc/group - echo - continue - fi - - if check_group "${group}" - then - echo "Group ${group} does not exist." - continue - fi - - def_group="${group}" - return - done -} - -read_other_groups () { - echo - while : - do - echo -n "Other groups: [${def_og:-none}] " - read other_groups - - if test "${other_groups}" = '?' - then - less /etc/group - echo - continue - fi - - if test -z "${other_groups}" - then - if test -n "${def_og}" - then - other_groups="${def_og}" - echo "Using ${other_groups}" - else - echo "No other groups" - return - fi - fi - - - if ! check_other_groups "${other_groups}" - then - continue - fi - - def_og="${other_groups}" - return - done -} - -read_uid () { - echo - while : - do - echo -n "uid: [first free] " - read uid - - if test -z "${uid}" - then - echo "Using first free UID." - return - fi - - if test "${uid}" = '?' - then - less /etc/passwd - echo - continue - fi - - if ! expr "${uid}" : '^[0-9]+$' &> /dev/null - then - echo "Please use numbers only." - continue - fi - if test "${uid}" -lt "${uid_low}" - then - echo "UID must be greater than ${uid_low}" - continue - fi - if test "${uid}" -gt "${uid_high}" - then - echo "UID must be smaller than ${uid_high}" - continue - fi - if ! check_uid "${uid}" - then - echo "UID ${uid} is already in use" - continue - fi - - return - done -} - -read_max_valid_days() { - echo - while : - do - echo -en "Maximum days between password changes: [${def_pwd_max}] " - read max_days - - if test -z "${max_days}" - then - max_days="${def_pwd_max}" - echo "Using ${max_days}" - return - fi - - if ! expr "${max_days}" : '^[0-9]+$' &> /dev/null - then - echo "Please use numbers only." - continue - fi - if test "${max_days}" -lt 7 - then - echo "Warning: you are using a value shorter than a week." - fi - - def_pwd_max="${max_days}" - return - done -} - -read_min_valid_days() { - echo - while : - do - echo -en "Minimum days between password changes: [${def_pwd_min}] " - read min_days - - if test -z "${min_days}" - then - min_days="${def_pwd_min}" - echo "Using ${min_days}" - return - fi - - if ! expr "${min_days}" : '^[0-9]+$' &> /dev/null - then - echo "Please use numbers only." - continue - fi - if test "${min_days}" -gt 7 - then - echo "Warning: you are using a value longer than a week." - fi - - def_pwd_min="${min_days}" - return - done -} - -read_warning_days() { - echo - while : - do - echo -en "Number of warning days before password expires: [${def_pwd_warn}] " - read warn_days - - if test -z "${warn_days}" - then - warn_days="${def_pwd_warn}" - echo "Using ${warn_days}" - fi - - if ! expr "${warn_days}" : '^[0-9]+$' &> /dev/null - then - echo "Please use numbers only." - continue - fi - if test "${warn_days}" -gt 14 - then - echo "Warning: you are using a value longer than two week." - fi - - def_pwd_warn="${warn_days}" - return - done -} - - -read_inactive_days() { - echo - while : - do - echo -en "Number of usable days after expiration: [${def_pwd_iact}] " - read iact_days - - if test -z "${iact_days}" - then - iact_days="${def_pwd_iact}" - echo "Using ${iact_days}" - return - fi - if ! expr "${iact_days}" : '^[0-9]+$' &> /dev/null - then - echo "Please use numbers only." - continue - fi - if test "${iact_days}" -gt 14 - then - echo "Warning: you are using a value that is more than two weeks." - fi - - def_pwd_iact="${iact_days}" - return - done -} - -read_expire_date() { - local ans - - echo - while : - do - echo -en "Expire date of this account (mm/dd/yy): [${def_expire:-never}] " - read ans - - if test -z "${ans}" - then - if test -z "${def_expire}" - then - ans="never" - else - ans="${def_expire}" - echo "Using ${def_expire}" - fi - fi - - if test "${ans}" = "never" - then - echo "Account will never expire." - def_expire="" - expire="" - return - fi - - if ! expr "${ans}" : '^[0-9][0-9]/[0-9][0-9]/[0-9][0-9]$' &> /dev/null - then - echo "Please use format mm/dd/yy" - continue - fi - - if ! expire_date="$(date -d ${ans} '+%A, %B %d %Y')" - then - continue - fi - - def_expire="${expire}" - return - done -} - -read_passwd_yn() { - echo -en "\nDo you want to set password [Y/n] ? " - if read_yn 0 - then - set_pwd="YES" - else - set_pwd="" - fi -} - - -print_values() { - -clear -cat << EOM - -Login: ${S}${login}${E} -Group: ${S}${group}${E} -Other groups: ${S}${other_groups:-[none]}${E} - -Real Name: ${S}${name}${E} - -uid: ${S}${uid:-[first free]}${E} -home: ${S}${home}${E} -shell: ${S}${shell}${E} - -Account expiration date: ${S}${expire_date:-never}${E} -Minimum days between password changes: ${S}${min_days}${E} -Maximum days between password changes: ${S}${max_days}${E} -Number of usable days after expiration: ${S}${iact_days}${E} -Number of warning days before expiration: ${S}${warn_days}${E} - -${S}${set_pwd:+Set password for this account.}${E} - -EOM -} - -set_user() { - if ! useradd \ - -c "${name}" \ - -d "${home}" \ - -g "${group}" \ - -s "${shell}" \ - ${expire:+-e ${expire}} \ - ${uid:+-u ${uid}} \ - ${other_groups:+-G ${other_groups}} \ - ${login} - then - echo "Error ($?) in useradd...exiting..." - exit 1 - fi -} - -set_aging() { - if ! passwd \ - -x ${max_days} \ - -n ${min_days} \ - -w ${warn_days} \ - -i ${iact_days} \ - ${login} - then - echo "Error ($?) in setting password aging...exiting..." - exit 1 - fi -} - -set_password() { - if test -n "${set_pwd}" - then - echo - passwd ${login} - echo - fi -} - -set_system() { - if test -d "${home}" - then - echo "Directory ${home} already exists." - echo "Skeleton files not copied." - return - fi - - echo -n "Copying skeleton files..." - ( - mkdir ${home} - cd ${skel} && cp -af . ${home} - chmod ${def_mode} ${home} - chown -R ${login}:${group} ${home} - ) - echo "done." - - ## Add your own stuff here: - echo -n "Setting up other files..." - ( - mailbox="/var/spool/mail/${login}" - touch ${mailbox} - chown "${login}:mail" ${mailbox} - chmod 600 ${mailbox} - ) - echo "done." -} - - -read_values() { - clear - echo -e "\nPlease answer the following questions about the new user to be added." - - while : - do - read_login - read_name - read_group - read_other_groups - read_home - read_shell - read_uid - read_expire_date - read_max_valid_days - read_min_valid_days - read_warning_days - read_inactive_days - read_passwd_yn - - print_values - - echo -n "Is this correct [N/y] ? " - read_yn 1 && return - done -} - - -main() { - check_root - read_values - set_user - set_aging - set_system - set_password -} - - -## Run it 8-) -main - -# End. diff --git a/doc/Makefile.in b/doc/Makefile.in index 0eef0de1..c714c2c3 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -161,6 +161,7 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -251,8 +252,6 @@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMLCATALOG = @XMLCATALOG@ XML_CATALOG_FILE = @XML_CATALOG_FILE@ XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/etc/Makefile.in b/etc/Makefile.in index 8c9751d9..fc1877c7 100644 --- a/etc/Makefile.in +++ b/etc/Makefile.in @@ -250,6 +250,7 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -340,8 +341,6 @@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMLCATALOG = @XMLCATALOG@ XML_CATALOG_FILE = @XML_CATALOG_FILE@ XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/etc/pam.d/Makefile.in b/etc/pam.d/Makefile.in index 02900580..8a836d3c 100644 --- a/etc/pam.d/Makefile.in +++ b/etc/pam.d/Makefile.in @@ -193,6 +193,7 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -283,8 +284,6 @@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMLCATALOG = @XMLCATALOG@ XML_CATALOG_FILE = @XML_CATALOG_FILE@ XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/etc/shadow-maint/Makefile.in b/etc/shadow-maint/Makefile.in index ab46b8c6..b6a258dc 100644 --- a/etc/shadow-maint/Makefile.in +++ b/etc/shadow-maint/Makefile.in @@ -158,6 +158,7 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -248,8 +249,6 @@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMLCATALOG = @XMLCATALOG@ XML_CATALOG_FILE = @XML_CATALOG_FILE@ XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/lib/Makefile.am b/lib/Makefile.am index 307e7046..21653c5b 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -59,12 +59,8 @@ libshadow_la_SOURCES = \ atoi/a2i/a2u_nc.h \ atoi/getnum.c \ atoi/getnum.h \ - atoi/str2i/str2i.c \ - atoi/str2i/str2i.h \ - atoi/str2i/str2s.c \ - atoi/str2i/str2s.h \ - atoi/str2i/str2u.c \ - atoi/str2i/str2u.h \ + atoi/str2i.c \ + atoi/str2i.h \ atoi/strtoi/strtoi.c \ atoi/strtoi/strtoi.h \ atoi/strtoi/strtou.c \ @@ -98,18 +94,21 @@ libshadow_la_SOURCES = \ failure.h \ fd.c \ fields.c \ + fields.h \ find_new_gid.c \ find_new_uid.c \ find_new_sub_gids.c \ find_new_sub_uids.c \ fputsx.c \ + fs/mkstemp/fmkomstemp.c \ + fs/mkstemp/fmkomstemp.h \ + fs/mkstemp/mkomstemp.c \ + fs/mkstemp/mkomstemp.h \ fs/readlink/areadlink.c \ fs/readlink/areadlink.h \ fs/readlink/readlinknul.c \ fs/readlink/readlinknul.h \ get_pid.c \ - getdate.h \ - getdate.y \ getdef.c \ getdef.h \ getgr_nam_gid.c \ @@ -129,7 +128,6 @@ libshadow_la_SOURCES = \ loginprompt.c \ mail.c \ motd.c \ - must_be.h \ myname.c \ nss.c \ nscd.c \ @@ -172,7 +170,6 @@ libshadow_la_SOURCES = \ sgetspent.c \ sgroupio.c \ sgroupio.h\ - shadow.c \ shadow/grp/agetgroups.c \ shadow/grp/agetgroups.h \ shadowio.c \ @@ -186,16 +183,24 @@ libshadow_la_SOURCES = \ spawn.c \ sssd.c \ sssd.h \ + string/ctype/strchrisascii/strchriscntrl.c \ + string/ctype/strchrisascii/strchriscntrl.h \ string/ctype/strisascii/strisdigit.c \ string/ctype/strisascii/strisdigit.h \ + string/ctype/strisascii/strisprint.c \ + string/ctype/strisascii/strisprint.h \ + string/ctype/strtoascii/strtolower.c \ + string/ctype/strtoascii/strtolower.h \ string/memset/memzero.c \ string/memset/memzero.h \ + string/sprintf/aprintf.c \ + string/sprintf/aprintf.h \ string/sprintf/snprintf.c \ string/sprintf/snprintf.h \ string/sprintf/stpeprintf.c \ string/sprintf/stpeprintf.h \ - string/sprintf/xasprintf.c \ - string/sprintf/xasprintf.h \ + string/sprintf/xaprintf.c \ + string/sprintf/xaprintf.h \ string/strchr/strchrcnt.c \ string/strchr/strchrcnt.h \ string/strchr/strchrscnt.c \ @@ -204,8 +209,12 @@ libshadow_la_SOURCES = \ string/strchr/strnul.h \ string/strcmp/strcaseeq.c \ string/strcmp/strcaseeq.h \ + string/strcmp/strcaseprefix.c \ + string/strcmp/strcaseprefix.h \ string/strcmp/streq.c \ string/strcmp/streq.h \ + string/strcmp/strprefix.c \ + string/strcmp/strprefix.h \ string/strcpy/stpecpy.c \ string/strcpy/stpecpy.h \ string/strcpy/strncat.c \ @@ -234,6 +243,14 @@ libshadow_la_SOURCES = \ string/strspn/strrspn.h \ string/strtok/stpsep.c \ string/strtok/stpsep.h \ + string/strtok/astrsep2ls.c \ + string/strtok/astrsep2ls.h \ + string/strtok/strsep2arr.c \ + string/strtok/strsep2arr.h \ + string/strtok/strsep2ls.c \ + string/strtok/strsep2ls.h \ + string/strtok/xastrsep2ls.c \ + string/strtok/xastrsep2ls.h \ strtoday.c \ sub.c \ subordinateio.h \ diff --git a/lib/Makefile.in b/lib/Makefile.in index 66f9f188..076eee6d 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -131,24 +131,25 @@ am__libshadow_la_SOURCES_DIST = addgrps.c adds.c adds.h age.c \ atoi/a2i/a2s_c.h atoi/a2i/a2s_nc.c atoi/a2i/a2s_nc.h \ atoi/a2i/a2u.c atoi/a2i/a2u.h atoi/a2i/a2u_c.c \ atoi/a2i/a2u_c.h atoi/a2i/a2u_nc.c atoi/a2i/a2u_nc.h \ - atoi/getnum.c atoi/getnum.h atoi/str2i/str2i.c \ - atoi/str2i/str2i.h atoi/str2i/str2s.c atoi/str2i/str2s.h \ - atoi/str2i/str2u.c atoi/str2i/str2u.h atoi/strtoi/strtoi.c \ - atoi/strtoi/strtoi.h atoi/strtoi/strtou.c atoi/strtoi/strtou.h \ - atoi/strtoi/strtou_noneg.c atoi/strtoi/strtou_noneg.h attr.h \ - audit_help.c basename.c bit.c bit.h cast.h chkname.c chkname.h \ - chowndir.c chowntty.c cleanup.c cleanup_group.c cleanup_user.c \ - commonio.c commonio.h console.c copydir.c csrand.c defines.h \ - encrypt.c env.c exitcodes.h faillog.h failure.c failure.h fd.c \ - fields.c find_new_gid.c find_new_uid.c find_new_sub_gids.c \ - find_new_sub_uids.c fputsx.c fs/readlink/areadlink.c \ + atoi/getnum.c atoi/getnum.h atoi/str2i.c atoi/str2i.h \ + atoi/strtoi/strtoi.c atoi/strtoi/strtoi.h atoi/strtoi/strtou.c \ + atoi/strtoi/strtou.h atoi/strtoi/strtou_noneg.c \ + atoi/strtoi/strtou_noneg.h attr.h audit_help.c basename.c \ + bit.c bit.h cast.h chkname.c chkname.h chowndir.c chowntty.c \ + cleanup.c cleanup_group.c cleanup_user.c commonio.c commonio.h \ + console.c copydir.c csrand.c defines.h encrypt.c env.c \ + exitcodes.h faillog.h failure.c failure.h fd.c fields.c \ + fields.h find_new_gid.c find_new_uid.c find_new_sub_gids.c \ + find_new_sub_uids.c fputsx.c fs/mkstemp/fmkomstemp.c \ + fs/mkstemp/fmkomstemp.h fs/mkstemp/mkomstemp.c \ + fs/mkstemp/mkomstemp.h fs/readlink/areadlink.c \ fs/readlink/areadlink.h fs/readlink/readlinknul.c \ - fs/readlink/readlinknul.h get_pid.c getdate.h getdate.y \ - getdef.c getdef.h getgr_nam_gid.c getrange.c gettime.c \ - groupio.c groupmem.c groupio.h gshadow.c hushed.c idmapping.h \ - idmapping.c isexpired.c limits.c list.c lockpw.c loginprompt.c \ - mail.c motd.c must_be.h myname.c nss.c nscd.c nscd.h obscure.c \ - pam_defs.h pam_pass.c pam_pass_non_interactive.c port.c port.h \ + fs/readlink/readlinknul.h get_pid.c getdef.c getdef.h \ + getgr_nam_gid.c getrange.c gettime.c groupio.c groupmem.c \ + groupio.h gshadow.c hushed.c idmapping.h idmapping.c \ + isexpired.c limits.c list.c lockpw.c loginprompt.c mail.c \ + motd.c myname.c nss.c nscd.c nscd.h obscure.c pam_defs.h \ + pam_pass.c pam_pass_non_interactive.c port.c port.h \ prefix_flag.c prototypes.h pwauth.c pwauth.h pwio.c pwio.h \ pwd_init.c pwd2spwd.c pwdcheck.c pwmem.c remove_tree.c \ root_flag.c run_part.h run_part.c salt.c search/cmp/cmp.c \ @@ -156,20 +157,29 @@ am__libshadow_la_SOURCES_DIST = addgrps.c adds.c adds.h age.c \ search/l/lsearch.c search/l/lsearch.h search/sort/qsort.c \ search/sort/qsort.h selinux.c semanage.c setugid.c setupenv.c \ sgetgrent.c sgetpwent.c sgetspent.c sgroupio.c sgroupio.h \ - shadow.c shadow/grp/agetgroups.c shadow/grp/agetgroups.h \ - shadowio.c shadowio.h shadowlog.c shadowlog.h \ - shadowlog_internal.h shadowmem.c shell.c sizeof.h spawn.c \ - sssd.c sssd.h string/ctype/strisascii/strisdigit.c \ - string/ctype/strisascii/strisdigit.h string/memset/memzero.c \ - string/memset/memzero.h string/sprintf/snprintf.c \ + shadow/grp/agetgroups.c shadow/grp/agetgroups.h shadowio.c \ + shadowio.h shadowlog.c shadowlog.h shadowlog_internal.h \ + shadowmem.c shell.c sizeof.h spawn.c sssd.c sssd.h \ + string/ctype/strchrisascii/strchriscntrl.c \ + string/ctype/strchrisascii/strchriscntrl.h \ + string/ctype/strisascii/strisdigit.c \ + string/ctype/strisascii/strisdigit.h \ + string/ctype/strisascii/strisprint.c \ + string/ctype/strisascii/strisprint.h \ + string/ctype/strtoascii/strtolower.c \ + string/ctype/strtoascii/strtolower.h string/memset/memzero.c \ + string/memset/memzero.h string/sprintf/aprintf.c \ + string/sprintf/aprintf.h string/sprintf/snprintf.c \ string/sprintf/snprintf.h string/sprintf/stpeprintf.c \ - string/sprintf/stpeprintf.h string/sprintf/xasprintf.c \ - string/sprintf/xasprintf.h string/strchr/strchrcnt.c \ + string/sprintf/stpeprintf.h string/sprintf/xaprintf.c \ + string/sprintf/xaprintf.h string/strchr/strchrcnt.c \ string/strchr/strchrcnt.h string/strchr/strchrscnt.c \ string/strchr/strchrscnt.h string/strchr/strnul.c \ string/strchr/strnul.h string/strcmp/strcaseeq.c \ - string/strcmp/strcaseeq.h string/strcmp/streq.c \ - string/strcmp/streq.h string/strcpy/stpecpy.c \ + string/strcmp/strcaseeq.h string/strcmp/strcaseprefix.c \ + string/strcmp/strcaseprefix.h string/strcmp/streq.c \ + string/strcmp/streq.h string/strcmp/strprefix.c \ + string/strcmp/strprefix.h string/strcpy/stpecpy.c \ string/strcpy/stpecpy.h string/strcpy/strncat.c \ string/strcpy/strncat.h string/strcpy/strncpy.c \ string/strcpy/strncpy.h string/strcpy/strtcpy.c \ @@ -182,10 +192,14 @@ am__libshadow_la_SOURCES_DIST = addgrps.c adds.c adds.h age.c \ string/strspn/stprspn.c string/strspn/stprspn.h \ string/strspn/strrcspn.c string/strspn/strrcspn.h \ string/strspn/strrspn.c string/strspn/strrspn.h \ - string/strtok/stpsep.c string/strtok/stpsep.h strtoday.c sub.c \ - subordinateio.h subordinateio.c sulog.c time/day_to_str.c \ - time/day_to_str.h ttytype.c typetraits.h tz.c ulimit.c \ - user_busy.c valid.c write_full.c xgetpwnam.c \ + string/strtok/stpsep.c string/strtok/stpsep.h \ + string/strtok/astrsep2ls.c string/strtok/astrsep2ls.h \ + string/strtok/strsep2arr.c string/strtok/strsep2arr.h \ + string/strtok/strsep2ls.c string/strtok/strsep2ls.h \ + string/strtok/xastrsep2ls.c string/strtok/xastrsep2ls.h \ + strtoday.c sub.c subordinateio.h subordinateio.c sulog.c \ + time/day_to_str.c time/day_to_str.h ttytype.c typetraits.h \ + tz.c ulimit.c user_busy.c valid.c write_full.c xgetpwnam.c \ xprefix_getpwnam.c xgetpwuid.c xgetgrnam.c xgetgrgid.c \ xgetspnam.c yesno.c tcbfuncs.c tcbfuncs.h btrfs.c log.c \ logind.c utmp.c freezero.h freezero.c readpassphrase.h \ @@ -208,9 +222,7 @@ am_libshadow_la_OBJECTS = libshadow_la-addgrps.lo libshadow_la-adds.lo \ atoi/a2i/libshadow_la-a2s.lo atoi/a2i/libshadow_la-a2s_c.lo \ atoi/a2i/libshadow_la-a2s_nc.lo atoi/a2i/libshadow_la-a2u.lo \ atoi/a2i/libshadow_la-a2u_c.lo atoi/a2i/libshadow_la-a2u_nc.lo \ - atoi/libshadow_la-getnum.lo atoi/str2i/libshadow_la-str2i.lo \ - atoi/str2i/libshadow_la-str2s.lo \ - atoi/str2i/libshadow_la-str2u.lo \ + atoi/libshadow_la-getnum.lo atoi/libshadow_la-str2i.lo \ atoi/strtoi/libshadow_la-strtoi.lo \ atoi/strtoi/libshadow_la-strtou.lo \ atoi/strtoi/libshadow_la-strtou_noneg.lo \ @@ -225,20 +237,21 @@ am_libshadow_la_OBJECTS = libshadow_la-addgrps.lo libshadow_la-adds.lo \ libshadow_la-fields.lo libshadow_la-find_new_gid.lo \ libshadow_la-find_new_uid.lo libshadow_la-find_new_sub_gids.lo \ libshadow_la-find_new_sub_uids.lo libshadow_la-fputsx.lo \ + fs/mkstemp/libshadow_la-fmkomstemp.lo \ + fs/mkstemp/libshadow_la-mkomstemp.lo \ fs/readlink/libshadow_la-areadlink.lo \ fs/readlink/libshadow_la-readlinknul.lo \ - libshadow_la-get_pid.lo libshadow_la-getdate.lo \ - libshadow_la-getdef.lo libshadow_la-getgr_nam_gid.lo \ - libshadow_la-getrange.lo libshadow_la-gettime.lo \ - libshadow_la-groupio.lo libshadow_la-groupmem.lo \ - libshadow_la-gshadow.lo libshadow_la-hushed.lo \ - libshadow_la-idmapping.lo libshadow_la-isexpired.lo \ - libshadow_la-limits.lo libshadow_la-list.lo \ - libshadow_la-lockpw.lo libshadow_la-loginprompt.lo \ - libshadow_la-mail.lo libshadow_la-motd.lo \ - libshadow_la-myname.lo libshadow_la-nss.lo \ - libshadow_la-nscd.lo libshadow_la-obscure.lo \ - libshadow_la-pam_pass.lo \ + libshadow_la-get_pid.lo libshadow_la-getdef.lo \ + libshadow_la-getgr_nam_gid.lo libshadow_la-getrange.lo \ + libshadow_la-gettime.lo libshadow_la-groupio.lo \ + libshadow_la-groupmem.lo libshadow_la-gshadow.lo \ + libshadow_la-hushed.lo libshadow_la-idmapping.lo \ + libshadow_la-isexpired.lo libshadow_la-limits.lo \ + libshadow_la-list.lo libshadow_la-lockpw.lo \ + libshadow_la-loginprompt.lo libshadow_la-mail.lo \ + libshadow_la-motd.lo libshadow_la-myname.lo \ + libshadow_la-nss.lo libshadow_la-nscd.lo \ + libshadow_la-obscure.lo libshadow_la-pam_pass.lo \ libshadow_la-pam_pass_non_interactive.lo libshadow_la-port.lo \ libshadow_la-prefix_flag.lo libshadow_la-pwauth.lo \ libshadow_la-pwio.lo libshadow_la-pwd_init.lo \ @@ -252,21 +265,26 @@ am_libshadow_la_OBJECTS = libshadow_la-addgrps.lo libshadow_la-adds.lo \ libshadow_la-semanage.lo libshadow_la-setugid.lo \ libshadow_la-setupenv.lo libshadow_la-sgetgrent.lo \ libshadow_la-sgetpwent.lo libshadow_la-sgetspent.lo \ - libshadow_la-sgroupio.lo libshadow_la-shadow.lo \ - shadow/grp/libshadow_la-agetgroups.lo libshadow_la-shadowio.lo \ - libshadow_la-shadowlog.lo libshadow_la-shadowmem.lo \ - libshadow_la-shell.lo libshadow_la-spawn.lo \ - libshadow_la-sssd.lo \ + libshadow_la-sgroupio.lo shadow/grp/libshadow_la-agetgroups.lo \ + libshadow_la-shadowio.lo libshadow_la-shadowlog.lo \ + libshadow_la-shadowmem.lo libshadow_la-shell.lo \ + libshadow_la-spawn.lo libshadow_la-sssd.lo \ + string/ctype/strchrisascii/libshadow_la-strchriscntrl.lo \ string/ctype/strisascii/libshadow_la-strisdigit.lo \ + string/ctype/strisascii/libshadow_la-strisprint.lo \ + string/ctype/strtoascii/libshadow_la-strtolower.lo \ string/memset/libshadow_la-memzero.lo \ + string/sprintf/libshadow_la-aprintf.lo \ string/sprintf/libshadow_la-snprintf.lo \ string/sprintf/libshadow_la-stpeprintf.lo \ - string/sprintf/libshadow_la-xasprintf.lo \ + string/sprintf/libshadow_la-xaprintf.lo \ string/strchr/libshadow_la-strchrcnt.lo \ string/strchr/libshadow_la-strchrscnt.lo \ string/strchr/libshadow_la-strnul.lo \ string/strcmp/libshadow_la-strcaseeq.lo \ + string/strcmp/libshadow_la-strcaseprefix.lo \ string/strcmp/libshadow_la-streq.lo \ + string/strcmp/libshadow_la-strprefix.lo \ string/strcpy/libshadow_la-stpecpy.lo \ string/strcpy/libshadow_la-strncat.lo \ string/strcpy/libshadow_la-strncpy.lo \ @@ -280,18 +298,22 @@ am_libshadow_la_OBJECTS = libshadow_la-addgrps.lo libshadow_la-adds.lo \ string/strspn/libshadow_la-stprspn.lo \ string/strspn/libshadow_la-strrcspn.lo \ string/strspn/libshadow_la-strrspn.lo \ - string/strtok/libshadow_la-stpsep.lo libshadow_la-strtoday.lo \ - libshadow_la-sub.lo libshadow_la-subordinateio.lo \ - libshadow_la-sulog.lo time/libshadow_la-day_to_str.lo \ - libshadow_la-ttytype.lo libshadow_la-tz.lo \ - libshadow_la-ulimit.lo libshadow_la-user_busy.lo \ - libshadow_la-valid.lo libshadow_la-write_full.lo \ - libshadow_la-xgetpwnam.lo libshadow_la-xprefix_getpwnam.lo \ - libshadow_la-xgetpwuid.lo libshadow_la-xgetgrnam.lo \ - libshadow_la-xgetgrgid.lo libshadow_la-xgetspnam.lo \ - libshadow_la-yesno.lo $(am__objects_1) $(am__objects_2) \ - $(am__objects_3) $(am__objects_4) $(am__objects_5) \ - $(am__objects_6) + string/strtok/libshadow_la-stpsep.lo \ + string/strtok/libshadow_la-astrsep2ls.lo \ + string/strtok/libshadow_la-strsep2arr.lo \ + string/strtok/libshadow_la-strsep2ls.lo \ + string/strtok/libshadow_la-xastrsep2ls.lo \ + libshadow_la-strtoday.lo libshadow_la-sub.lo \ + libshadow_la-subordinateio.lo libshadow_la-sulog.lo \ + time/libshadow_la-day_to_str.lo libshadow_la-ttytype.lo \ + libshadow_la-tz.lo libshadow_la-ulimit.lo \ + libshadow_la-user_busy.lo libshadow_la-valid.lo \ + libshadow_la-write_full.lo libshadow_la-xgetpwnam.lo \ + libshadow_la-xprefix_getpwnam.lo libshadow_la-xgetpwuid.lo \ + libshadow_la-xgetgrnam.lo libshadow_la-xgetgrgid.lo \ + libshadow_la-xgetspnam.lo libshadow_la-yesno.lo \ + $(am__objects_1) $(am__objects_2) $(am__objects_3) \ + $(am__objects_4) $(am__objects_5) $(am__objects_6) libshadow_la_OBJECTS = $(am_libshadow_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) @@ -345,7 +367,6 @@ am__depfiles_remade = ./$(DEPDIR)/libshadow_la-addgrps.Plo \ ./$(DEPDIR)/libshadow_la-fputsx.Plo \ ./$(DEPDIR)/libshadow_la-freezero.Plo \ ./$(DEPDIR)/libshadow_la-get_pid.Plo \ - ./$(DEPDIR)/libshadow_la-getdate.Plo \ ./$(DEPDIR)/libshadow_la-getdef.Plo \ ./$(DEPDIR)/libshadow_la-getgr_nam_gid.Plo \ ./$(DEPDIR)/libshadow_la-getrange.Plo \ @@ -391,7 +412,6 @@ am__depfiles_remade = ./$(DEPDIR)/libshadow_la-addgrps.Plo \ ./$(DEPDIR)/libshadow_la-sgetpwent.Plo \ ./$(DEPDIR)/libshadow_la-sgetspent.Plo \ ./$(DEPDIR)/libshadow_la-sgroupio.Plo \ - ./$(DEPDIR)/libshadow_la-shadow.Plo \ ./$(DEPDIR)/libshadow_la-shadowio.Plo \ ./$(DEPDIR)/libshadow_la-shadowlog.Plo \ ./$(DEPDIR)/libshadow_la-shadowmem.Plo \ @@ -425,6 +445,7 @@ am__depfiles_remade = ./$(DEPDIR)/libshadow_la-addgrps.Plo \ alloc/x/$(DEPDIR)/libshadow_la-xmalloc.Plo \ alloc/x/$(DEPDIR)/libshadow_la-xrealloc.Plo \ atoi/$(DEPDIR)/libshadow_la-getnum.Plo \ + atoi/$(DEPDIR)/libshadow_la-str2i.Plo \ atoi/a2i/$(DEPDIR)/libshadow_la-a2i.Plo \ atoi/a2i/$(DEPDIR)/libshadow_la-a2s.Plo \ atoi/a2i/$(DEPDIR)/libshadow_la-a2s_c.Plo \ @@ -432,12 +453,11 @@ am__depfiles_remade = ./$(DEPDIR)/libshadow_la-addgrps.Plo \ atoi/a2i/$(DEPDIR)/libshadow_la-a2u.Plo \ atoi/a2i/$(DEPDIR)/libshadow_la-a2u_c.Plo \ atoi/a2i/$(DEPDIR)/libshadow_la-a2u_nc.Plo \ - atoi/str2i/$(DEPDIR)/libshadow_la-str2i.Plo \ - atoi/str2i/$(DEPDIR)/libshadow_la-str2s.Plo \ - atoi/str2i/$(DEPDIR)/libshadow_la-str2u.Plo \ atoi/strtoi/$(DEPDIR)/libshadow_la-strtoi.Plo \ atoi/strtoi/$(DEPDIR)/libshadow_la-strtou.Plo \ atoi/strtoi/$(DEPDIR)/libshadow_la-strtou_noneg.Plo \ + fs/mkstemp/$(DEPDIR)/libshadow_la-fmkomstemp.Plo \ + fs/mkstemp/$(DEPDIR)/libshadow_la-mkomstemp.Plo \ fs/readlink/$(DEPDIR)/libshadow_la-areadlink.Plo \ fs/readlink/$(DEPDIR)/libshadow_la-readlinknul.Plo \ search/cmp/$(DEPDIR)/libshadow_la-cmp.Plo \ @@ -446,16 +466,22 @@ am__depfiles_remade = ./$(DEPDIR)/libshadow_la-addgrps.Plo \ search/sort/$(DEPDIR)/libshadow_la-qsort.Plo \ shadow/grp/$(DEPDIR)/libshadow_la-agetgroups.Plo \ string/$(DEPDIR)/libshadow_la-strftime.Plo \ + string/ctype/strchrisascii/$(DEPDIR)/libshadow_la-strchriscntrl.Plo \ string/ctype/strisascii/$(DEPDIR)/libshadow_la-strisdigit.Plo \ + string/ctype/strisascii/$(DEPDIR)/libshadow_la-strisprint.Plo \ + string/ctype/strtoascii/$(DEPDIR)/libshadow_la-strtolower.Plo \ string/memset/$(DEPDIR)/libshadow_la-memzero.Plo \ + string/sprintf/$(DEPDIR)/libshadow_la-aprintf.Plo \ string/sprintf/$(DEPDIR)/libshadow_la-snprintf.Plo \ string/sprintf/$(DEPDIR)/libshadow_la-stpeprintf.Plo \ - string/sprintf/$(DEPDIR)/libshadow_la-xasprintf.Plo \ + string/sprintf/$(DEPDIR)/libshadow_la-xaprintf.Plo \ string/strchr/$(DEPDIR)/libshadow_la-strchrcnt.Plo \ string/strchr/$(DEPDIR)/libshadow_la-strchrscnt.Plo \ string/strchr/$(DEPDIR)/libshadow_la-strnul.Plo \ string/strcmp/$(DEPDIR)/libshadow_la-strcaseeq.Plo \ + string/strcmp/$(DEPDIR)/libshadow_la-strcaseprefix.Plo \ string/strcmp/$(DEPDIR)/libshadow_la-streq.Plo \ + string/strcmp/$(DEPDIR)/libshadow_la-strprefix.Plo \ string/strcpy/$(DEPDIR)/libshadow_la-stpecpy.Plo \ string/strcpy/$(DEPDIR)/libshadow_la-strncat.Plo \ string/strcpy/$(DEPDIR)/libshadow_la-strncpy.Plo \ @@ -468,7 +494,11 @@ am__depfiles_remade = ./$(DEPDIR)/libshadow_la-addgrps.Plo \ string/strspn/$(DEPDIR)/libshadow_la-stpspn.Plo \ string/strspn/$(DEPDIR)/libshadow_la-strrcspn.Plo \ string/strspn/$(DEPDIR)/libshadow_la-strrspn.Plo \ + string/strtok/$(DEPDIR)/libshadow_la-astrsep2ls.Plo \ string/strtok/$(DEPDIR)/libshadow_la-stpsep.Plo \ + string/strtok/$(DEPDIR)/libshadow_la-strsep2arr.Plo \ + string/strtok/$(DEPDIR)/libshadow_la-strsep2ls.Plo \ + string/strtok/$(DEPDIR)/libshadow_la-xastrsep2ls.Plo \ time/$(DEPDIR)/libshadow_la-day_to_str.Plo am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ @@ -489,17 +519,6 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = -@MAINTAINER_MODE_FALSE@am__skipyacc = test -f $@ || -am__yacc_c2h = sed -e s/cc$$/hh/ -e s/cpp$$/hpp/ -e s/cxx$$/hxx/ \ - -e s/c++$$/h++/ -e s/c$$/h/ -YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS) -LTYACCCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(YACC) $(AM_YFLAGS) $(YFLAGS) -AM_V_YACC = $(am__v_YACC_@AM_V@) -am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@) -am__v_YACC_0 = @echo " YACC " $@; -am__v_YACC_1 = -YLWRAP = $(top_srcdir)/ylwrap SOURCES = $(libshadow_la_SOURCES) DIST_SOURCES = $(am__libshadow_la_SOURCES_DIST) am__can_run_installinfo = \ @@ -524,8 +543,7 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ - $(top_srcdir)/ylwrap getdate.c +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -558,6 +576,7 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -648,8 +667,6 @@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMLCATALOG = @XMLCATALOG@ XML_CATALOG_FILE = @XML_CATALOG_FILE@ XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -723,24 +740,25 @@ libshadow_la_SOURCES = addgrps.c adds.c adds.h age.c agetpass.c \ atoi/a2i/a2s_c.h atoi/a2i/a2s_nc.c atoi/a2i/a2s_nc.h \ atoi/a2i/a2u.c atoi/a2i/a2u.h atoi/a2i/a2u_c.c \ atoi/a2i/a2u_c.h atoi/a2i/a2u_nc.c atoi/a2i/a2u_nc.h \ - atoi/getnum.c atoi/getnum.h atoi/str2i/str2i.c \ - atoi/str2i/str2i.h atoi/str2i/str2s.c atoi/str2i/str2s.h \ - atoi/str2i/str2u.c atoi/str2i/str2u.h atoi/strtoi/strtoi.c \ - atoi/strtoi/strtoi.h atoi/strtoi/strtou.c atoi/strtoi/strtou.h \ - atoi/strtoi/strtou_noneg.c atoi/strtoi/strtou_noneg.h attr.h \ - audit_help.c basename.c bit.c bit.h cast.h chkname.c chkname.h \ - chowndir.c chowntty.c cleanup.c cleanup_group.c cleanup_user.c \ - commonio.c commonio.h console.c copydir.c csrand.c defines.h \ - encrypt.c env.c exitcodes.h faillog.h failure.c failure.h fd.c \ - fields.c find_new_gid.c find_new_uid.c find_new_sub_gids.c \ - find_new_sub_uids.c fputsx.c fs/readlink/areadlink.c \ + atoi/getnum.c atoi/getnum.h atoi/str2i.c atoi/str2i.h \ + atoi/strtoi/strtoi.c atoi/strtoi/strtoi.h atoi/strtoi/strtou.c \ + atoi/strtoi/strtou.h atoi/strtoi/strtou_noneg.c \ + atoi/strtoi/strtou_noneg.h attr.h audit_help.c basename.c \ + bit.c bit.h cast.h chkname.c chkname.h chowndir.c chowntty.c \ + cleanup.c cleanup_group.c cleanup_user.c commonio.c commonio.h \ + console.c copydir.c csrand.c defines.h encrypt.c env.c \ + exitcodes.h faillog.h failure.c failure.h fd.c fields.c \ + fields.h find_new_gid.c find_new_uid.c find_new_sub_gids.c \ + find_new_sub_uids.c fputsx.c fs/mkstemp/fmkomstemp.c \ + fs/mkstemp/fmkomstemp.h fs/mkstemp/mkomstemp.c \ + fs/mkstemp/mkomstemp.h fs/readlink/areadlink.c \ fs/readlink/areadlink.h fs/readlink/readlinknul.c \ - fs/readlink/readlinknul.h get_pid.c getdate.h getdate.y \ - getdef.c getdef.h getgr_nam_gid.c getrange.c gettime.c \ - groupio.c groupmem.c groupio.h gshadow.c hushed.c idmapping.h \ - idmapping.c isexpired.c limits.c list.c lockpw.c loginprompt.c \ - mail.c motd.c must_be.h myname.c nss.c nscd.c nscd.h obscure.c \ - pam_defs.h pam_pass.c pam_pass_non_interactive.c port.c port.h \ + fs/readlink/readlinknul.h get_pid.c getdef.c getdef.h \ + getgr_nam_gid.c getrange.c gettime.c groupio.c groupmem.c \ + groupio.h gshadow.c hushed.c idmapping.h idmapping.c \ + isexpired.c limits.c list.c lockpw.c loginprompt.c mail.c \ + motd.c myname.c nss.c nscd.c nscd.h obscure.c pam_defs.h \ + pam_pass.c pam_pass_non_interactive.c port.c port.h \ prefix_flag.c prototypes.h pwauth.c pwauth.h pwio.c pwio.h \ pwd_init.c pwd2spwd.c pwdcheck.c pwmem.c remove_tree.c \ root_flag.c run_part.h run_part.c salt.c search/cmp/cmp.c \ @@ -748,20 +766,29 @@ libshadow_la_SOURCES = addgrps.c adds.c adds.h age.c agetpass.c \ search/l/lsearch.c search/l/lsearch.h search/sort/qsort.c \ search/sort/qsort.h selinux.c semanage.c setugid.c setupenv.c \ sgetgrent.c sgetpwent.c sgetspent.c sgroupio.c sgroupio.h \ - shadow.c shadow/grp/agetgroups.c shadow/grp/agetgroups.h \ - shadowio.c shadowio.h shadowlog.c shadowlog.h \ - shadowlog_internal.h shadowmem.c shell.c sizeof.h spawn.c \ - sssd.c sssd.h string/ctype/strisascii/strisdigit.c \ - string/ctype/strisascii/strisdigit.h string/memset/memzero.c \ - string/memset/memzero.h string/sprintf/snprintf.c \ + shadow/grp/agetgroups.c shadow/grp/agetgroups.h shadowio.c \ + shadowio.h shadowlog.c shadowlog.h shadowlog_internal.h \ + shadowmem.c shell.c sizeof.h spawn.c sssd.c sssd.h \ + string/ctype/strchrisascii/strchriscntrl.c \ + string/ctype/strchrisascii/strchriscntrl.h \ + string/ctype/strisascii/strisdigit.c \ + string/ctype/strisascii/strisdigit.h \ + string/ctype/strisascii/strisprint.c \ + string/ctype/strisascii/strisprint.h \ + string/ctype/strtoascii/strtolower.c \ + string/ctype/strtoascii/strtolower.h string/memset/memzero.c \ + string/memset/memzero.h string/sprintf/aprintf.c \ + string/sprintf/aprintf.h string/sprintf/snprintf.c \ string/sprintf/snprintf.h string/sprintf/stpeprintf.c \ - string/sprintf/stpeprintf.h string/sprintf/xasprintf.c \ - string/sprintf/xasprintf.h string/strchr/strchrcnt.c \ + string/sprintf/stpeprintf.h string/sprintf/xaprintf.c \ + string/sprintf/xaprintf.h string/strchr/strchrcnt.c \ string/strchr/strchrcnt.h string/strchr/strchrscnt.c \ string/strchr/strchrscnt.h string/strchr/strnul.c \ string/strchr/strnul.h string/strcmp/strcaseeq.c \ - string/strcmp/strcaseeq.h string/strcmp/streq.c \ - string/strcmp/streq.h string/strcpy/stpecpy.c \ + string/strcmp/strcaseeq.h string/strcmp/strcaseprefix.c \ + string/strcmp/strcaseprefix.h string/strcmp/streq.c \ + string/strcmp/streq.h string/strcmp/strprefix.c \ + string/strcmp/strprefix.h string/strcpy/stpecpy.c \ string/strcpy/stpecpy.h string/strcpy/strncat.c \ string/strcpy/strncat.h string/strcpy/strncpy.c \ string/strcpy/strncpy.h string/strcpy/strtcpy.c \ @@ -774,10 +801,14 @@ libshadow_la_SOURCES = addgrps.c adds.c adds.h age.c agetpass.c \ string/strspn/stprspn.c string/strspn/stprspn.h \ string/strspn/strrcspn.c string/strspn/strrcspn.h \ string/strspn/strrspn.c string/strspn/strrspn.h \ - string/strtok/stpsep.c string/strtok/stpsep.h strtoday.c sub.c \ - subordinateio.h subordinateio.c sulog.c time/day_to_str.c \ - time/day_to_str.h ttytype.c typetraits.h tz.c ulimit.c \ - user_busy.c valid.c write_full.c xgetpwnam.c \ + string/strtok/stpsep.c string/strtok/stpsep.h \ + string/strtok/astrsep2ls.c string/strtok/astrsep2ls.h \ + string/strtok/strsep2arr.c string/strtok/strsep2arr.h \ + string/strtok/strsep2ls.c string/strtok/strsep2ls.h \ + string/strtok/xastrsep2ls.c string/strtok/xastrsep2ls.h \ + strtoday.c sub.c subordinateio.h subordinateio.c sulog.c \ + time/day_to_str.c time/day_to_str.h ttytype.c typetraits.h \ + tz.c ulimit.c user_busy.c valid.c write_full.c xgetpwnam.c \ xprefix_getpwnam.c xgetpwuid.c xgetgrnam.c xgetgrgid.c \ xgetspnam.c yesno.c $(am__append_2) $(am__append_3) \ $(am__append_4) $(am__append_5) $(am__append_6) \ @@ -795,7 +826,7 @@ EXTRA_DIST = \ all: all-am .SUFFIXES: -.SUFFIXES: .c .lo .o .obj .y +.SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ @@ -890,18 +921,8 @@ atoi/$(DEPDIR)/$(am__dirstamp): @: > atoi/$(DEPDIR)/$(am__dirstamp) atoi/libshadow_la-getnum.lo: atoi/$(am__dirstamp) \ atoi/$(DEPDIR)/$(am__dirstamp) -atoi/str2i/$(am__dirstamp): - @$(MKDIR_P) atoi/str2i - @: > atoi/str2i/$(am__dirstamp) -atoi/str2i/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) atoi/str2i/$(DEPDIR) - @: > atoi/str2i/$(DEPDIR)/$(am__dirstamp) -atoi/str2i/libshadow_la-str2i.lo: atoi/str2i/$(am__dirstamp) \ - atoi/str2i/$(DEPDIR)/$(am__dirstamp) -atoi/str2i/libshadow_la-str2s.lo: atoi/str2i/$(am__dirstamp) \ - atoi/str2i/$(DEPDIR)/$(am__dirstamp) -atoi/str2i/libshadow_la-str2u.lo: atoi/str2i/$(am__dirstamp) \ - atoi/str2i/$(DEPDIR)/$(am__dirstamp) +atoi/libshadow_la-str2i.lo: atoi/$(am__dirstamp) \ + atoi/$(DEPDIR)/$(am__dirstamp) atoi/strtoi/$(am__dirstamp): @$(MKDIR_P) atoi/strtoi @: > atoi/strtoi/$(am__dirstamp) @@ -914,6 +935,16 @@ atoi/strtoi/libshadow_la-strtou.lo: atoi/strtoi/$(am__dirstamp) \ atoi/strtoi/$(DEPDIR)/$(am__dirstamp) atoi/strtoi/libshadow_la-strtou_noneg.lo: atoi/strtoi/$(am__dirstamp) \ atoi/strtoi/$(DEPDIR)/$(am__dirstamp) +fs/mkstemp/$(am__dirstamp): + @$(MKDIR_P) fs/mkstemp + @: > fs/mkstemp/$(am__dirstamp) +fs/mkstemp/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) fs/mkstemp/$(DEPDIR) + @: > fs/mkstemp/$(DEPDIR)/$(am__dirstamp) +fs/mkstemp/libshadow_la-fmkomstemp.lo: fs/mkstemp/$(am__dirstamp) \ + fs/mkstemp/$(DEPDIR)/$(am__dirstamp) +fs/mkstemp/libshadow_la-mkomstemp.lo: fs/mkstemp/$(am__dirstamp) \ + fs/mkstemp/$(DEPDIR)/$(am__dirstamp) fs/readlink/$(am__dirstamp): @$(MKDIR_P) fs/readlink @: > fs/readlink/$(am__dirstamp) @@ -958,6 +989,15 @@ shadow/grp/$(DEPDIR)/$(am__dirstamp): @: > shadow/grp/$(DEPDIR)/$(am__dirstamp) shadow/grp/libshadow_la-agetgroups.lo: shadow/grp/$(am__dirstamp) \ shadow/grp/$(DEPDIR)/$(am__dirstamp) +string/ctype/strchrisascii/$(am__dirstamp): + @$(MKDIR_P) string/ctype/strchrisascii + @: > string/ctype/strchrisascii/$(am__dirstamp) +string/ctype/strchrisascii/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) string/ctype/strchrisascii/$(DEPDIR) + @: > string/ctype/strchrisascii/$(DEPDIR)/$(am__dirstamp) +string/ctype/strchrisascii/libshadow_la-strchriscntrl.lo: \ + string/ctype/strchrisascii/$(am__dirstamp) \ + string/ctype/strchrisascii/$(DEPDIR)/$(am__dirstamp) string/ctype/strisascii/$(am__dirstamp): @$(MKDIR_P) string/ctype/strisascii @: > string/ctype/strisascii/$(am__dirstamp) @@ -967,6 +1007,18 @@ string/ctype/strisascii/$(DEPDIR)/$(am__dirstamp): string/ctype/strisascii/libshadow_la-strisdigit.lo: \ string/ctype/strisascii/$(am__dirstamp) \ string/ctype/strisascii/$(DEPDIR)/$(am__dirstamp) +string/ctype/strisascii/libshadow_la-strisprint.lo: \ + string/ctype/strisascii/$(am__dirstamp) \ + string/ctype/strisascii/$(DEPDIR)/$(am__dirstamp) +string/ctype/strtoascii/$(am__dirstamp): + @$(MKDIR_P) string/ctype/strtoascii + @: > string/ctype/strtoascii/$(am__dirstamp) +string/ctype/strtoascii/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) string/ctype/strtoascii/$(DEPDIR) + @: > string/ctype/strtoascii/$(DEPDIR)/$(am__dirstamp) +string/ctype/strtoascii/libshadow_la-strtolower.lo: \ + string/ctype/strtoascii/$(am__dirstamp) \ + string/ctype/strtoascii/$(DEPDIR)/$(am__dirstamp) string/memset/$(am__dirstamp): @$(MKDIR_P) string/memset @: > string/memset/$(am__dirstamp) @@ -981,13 +1033,16 @@ string/sprintf/$(am__dirstamp): string/sprintf/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) string/sprintf/$(DEPDIR) @: > string/sprintf/$(DEPDIR)/$(am__dirstamp) +string/sprintf/libshadow_la-aprintf.lo: \ + string/sprintf/$(am__dirstamp) \ + string/sprintf/$(DEPDIR)/$(am__dirstamp) string/sprintf/libshadow_la-snprintf.lo: \ string/sprintf/$(am__dirstamp) \ string/sprintf/$(DEPDIR)/$(am__dirstamp) string/sprintf/libshadow_la-stpeprintf.lo: \ string/sprintf/$(am__dirstamp) \ string/sprintf/$(DEPDIR)/$(am__dirstamp) -string/sprintf/libshadow_la-xasprintf.lo: \ +string/sprintf/libshadow_la-xaprintf.lo: \ string/sprintf/$(am__dirstamp) \ string/sprintf/$(DEPDIR)/$(am__dirstamp) string/strchr/$(am__dirstamp): @@ -1013,8 +1068,14 @@ string/strcmp/$(DEPDIR)/$(am__dirstamp): string/strcmp/libshadow_la-strcaseeq.lo: \ string/strcmp/$(am__dirstamp) \ string/strcmp/$(DEPDIR)/$(am__dirstamp) +string/strcmp/libshadow_la-strcaseprefix.lo: \ + string/strcmp/$(am__dirstamp) \ + string/strcmp/$(DEPDIR)/$(am__dirstamp) string/strcmp/libshadow_la-streq.lo: string/strcmp/$(am__dirstamp) \ string/strcmp/$(DEPDIR)/$(am__dirstamp) +string/strcmp/libshadow_la-strprefix.lo: \ + string/strcmp/$(am__dirstamp) \ + string/strcmp/$(DEPDIR)/$(am__dirstamp) string/strcpy/$(am__dirstamp): @$(MKDIR_P) string/strcpy @: > string/strcpy/$(am__dirstamp) @@ -1073,6 +1134,18 @@ string/strtok/$(DEPDIR)/$(am__dirstamp): @: > string/strtok/$(DEPDIR)/$(am__dirstamp) string/strtok/libshadow_la-stpsep.lo: string/strtok/$(am__dirstamp) \ string/strtok/$(DEPDIR)/$(am__dirstamp) +string/strtok/libshadow_la-astrsep2ls.lo: \ + string/strtok/$(am__dirstamp) \ + string/strtok/$(DEPDIR)/$(am__dirstamp) +string/strtok/libshadow_la-strsep2arr.lo: \ + string/strtok/$(am__dirstamp) \ + string/strtok/$(DEPDIR)/$(am__dirstamp) +string/strtok/libshadow_la-strsep2ls.lo: \ + string/strtok/$(am__dirstamp) \ + string/strtok/$(DEPDIR)/$(am__dirstamp) +string/strtok/libshadow_la-xastrsep2ls.lo: \ + string/strtok/$(am__dirstamp) \ + string/strtok/$(DEPDIR)/$(am__dirstamp) time/$(am__dirstamp): @$(MKDIR_P) time @: > time/$(am__dirstamp) @@ -1095,10 +1168,10 @@ mostlyclean-compile: -rm -f atoi/*.lo -rm -f atoi/a2i/*.$(OBJEXT) -rm -f atoi/a2i/*.lo - -rm -f atoi/str2i/*.$(OBJEXT) - -rm -f atoi/str2i/*.lo -rm -f atoi/strtoi/*.$(OBJEXT) -rm -f atoi/strtoi/*.lo + -rm -f fs/mkstemp/*.$(OBJEXT) + -rm -f fs/mkstemp/*.lo -rm -f fs/readlink/*.$(OBJEXT) -rm -f fs/readlink/*.lo -rm -f search/cmp/*.$(OBJEXT) @@ -1111,8 +1184,12 @@ mostlyclean-compile: -rm -f shadow/grp/*.lo -rm -f string/*.$(OBJEXT) -rm -f string/*.lo + -rm -f string/ctype/strchrisascii/*.$(OBJEXT) + -rm -f string/ctype/strchrisascii/*.lo -rm -f string/ctype/strisascii/*.$(OBJEXT) -rm -f string/ctype/strisascii/*.lo + -rm -f string/ctype/strtoascii/*.$(OBJEXT) + -rm -f string/ctype/strtoascii/*.lo -rm -f string/memset/*.$(OBJEXT) -rm -f string/memset/*.lo -rm -f string/sprintf/*.$(OBJEXT) @@ -1165,7 +1242,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-fputsx.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-freezero.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-get_pid.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-getdate.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-getdef.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-getgr_nam_gid.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-getrange.Plo@am__quote@ # am--include-marker @@ -1211,7 +1287,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-sgetpwent.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-sgetspent.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-sgroupio.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-shadow.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-shadowio.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-shadowlog.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-shadowmem.Plo@am__quote@ # am--include-marker @@ -1245,6 +1320,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@alloc/x/$(DEPDIR)/libshadow_la-xmalloc.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@alloc/x/$(DEPDIR)/libshadow_la-xrealloc.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@atoi/$(DEPDIR)/libshadow_la-getnum.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@atoi/$(DEPDIR)/libshadow_la-str2i.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@atoi/a2i/$(DEPDIR)/libshadow_la-a2i.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@atoi/a2i/$(DEPDIR)/libshadow_la-a2s.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@atoi/a2i/$(DEPDIR)/libshadow_la-a2s_c.Plo@am__quote@ # am--include-marker @@ -1252,12 +1328,11 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@atoi/a2i/$(DEPDIR)/libshadow_la-a2u.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@atoi/a2i/$(DEPDIR)/libshadow_la-a2u_c.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@atoi/a2i/$(DEPDIR)/libshadow_la-a2u_nc.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@atoi/str2i/$(DEPDIR)/libshadow_la-str2i.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@atoi/str2i/$(DEPDIR)/libshadow_la-str2s.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@atoi/str2i/$(DEPDIR)/libshadow_la-str2u.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@atoi/strtoi/$(DEPDIR)/libshadow_la-strtoi.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@atoi/strtoi/$(DEPDIR)/libshadow_la-strtou.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@atoi/strtoi/$(DEPDIR)/libshadow_la-strtou_noneg.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@fs/mkstemp/$(DEPDIR)/libshadow_la-fmkomstemp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@fs/mkstemp/$(DEPDIR)/libshadow_la-mkomstemp.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fs/readlink/$(DEPDIR)/libshadow_la-areadlink.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fs/readlink/$(DEPDIR)/libshadow_la-readlinknul.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@search/cmp/$(DEPDIR)/libshadow_la-cmp.Plo@am__quote@ # am--include-marker @@ -1266,16 +1341,22 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@search/sort/$(DEPDIR)/libshadow_la-qsort.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@shadow/grp/$(DEPDIR)/libshadow_la-agetgroups.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@string/$(DEPDIR)/libshadow_la-strftime.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/ctype/strchrisascii/$(DEPDIR)/libshadow_la-strchriscntrl.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@string/ctype/strisascii/$(DEPDIR)/libshadow_la-strisdigit.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/ctype/strisascii/$(DEPDIR)/libshadow_la-strisprint.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/ctype/strtoascii/$(DEPDIR)/libshadow_la-strtolower.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@string/memset/$(DEPDIR)/libshadow_la-memzero.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/sprintf/$(DEPDIR)/libshadow_la-aprintf.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@string/sprintf/$(DEPDIR)/libshadow_la-snprintf.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@string/sprintf/$(DEPDIR)/libshadow_la-stpeprintf.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@string/sprintf/$(DEPDIR)/libshadow_la-xasprintf.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/sprintf/$(DEPDIR)/libshadow_la-xaprintf.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@string/strchr/$(DEPDIR)/libshadow_la-strchrcnt.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@string/strchr/$(DEPDIR)/libshadow_la-strchrscnt.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@string/strchr/$(DEPDIR)/libshadow_la-strnul.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@string/strcmp/$(DEPDIR)/libshadow_la-strcaseeq.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/strcmp/$(DEPDIR)/libshadow_la-strcaseprefix.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@string/strcmp/$(DEPDIR)/libshadow_la-streq.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/strcmp/$(DEPDIR)/libshadow_la-strprefix.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@string/strcpy/$(DEPDIR)/libshadow_la-stpecpy.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@string/strcpy/$(DEPDIR)/libshadow_la-strncat.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@string/strcpy/$(DEPDIR)/libshadow_la-strncpy.Plo@am__quote@ # am--include-marker @@ -1288,7 +1369,11 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@string/strspn/$(DEPDIR)/libshadow_la-stpspn.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@string/strspn/$(DEPDIR)/libshadow_la-strrcspn.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@string/strspn/$(DEPDIR)/libshadow_la-strrspn.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/strtok/$(DEPDIR)/libshadow_la-astrsep2ls.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@string/strtok/$(DEPDIR)/libshadow_la-stpsep.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/strtok/$(DEPDIR)/libshadow_la-strsep2arr.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/strtok/$(DEPDIR)/libshadow_la-strsep2ls.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/strtok/$(DEPDIR)/libshadow_la-xastrsep2ls.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@time/$(DEPDIR)/libshadow_la-day_to_str.Plo@am__quote@ # am--include-marker $(am__depfiles_remade): @@ -1454,26 +1539,12 @@ atoi/libshadow_la-getnum.lo: atoi/getnum.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/libshadow_la-getnum.lo `test -f 'atoi/getnum.c' || echo '$(srcdir)/'`atoi/getnum.c -atoi/str2i/libshadow_la-str2i.lo: atoi/str2i/str2i.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/str2i/libshadow_la-str2i.lo -MD -MP -MF atoi/str2i/$(DEPDIR)/libshadow_la-str2i.Tpo -c -o atoi/str2i/libshadow_la-str2i.lo `test -f 'atoi/str2i/str2i.c' || echo '$(srcdir)/'`atoi/str2i/str2i.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/str2i/$(DEPDIR)/libshadow_la-str2i.Tpo atoi/str2i/$(DEPDIR)/libshadow_la-str2i.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/str2i/str2i.c' object='atoi/str2i/libshadow_la-str2i.lo' libtool=yes @AMDEPBACKSLASH@ +atoi/libshadow_la-str2i.lo: atoi/str2i.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/libshadow_la-str2i.lo -MD -MP -MF atoi/$(DEPDIR)/libshadow_la-str2i.Tpo -c -o atoi/libshadow_la-str2i.lo `test -f 'atoi/str2i.c' || echo '$(srcdir)/'`atoi/str2i.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/$(DEPDIR)/libshadow_la-str2i.Tpo atoi/$(DEPDIR)/libshadow_la-str2i.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/str2i.c' object='atoi/libshadow_la-str2i.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/str2i/libshadow_la-str2i.lo `test -f 'atoi/str2i/str2i.c' || echo '$(srcdir)/'`atoi/str2i/str2i.c - -atoi/str2i/libshadow_la-str2s.lo: atoi/str2i/str2s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/str2i/libshadow_la-str2s.lo -MD -MP -MF atoi/str2i/$(DEPDIR)/libshadow_la-str2s.Tpo -c -o atoi/str2i/libshadow_la-str2s.lo `test -f 'atoi/str2i/str2s.c' || echo '$(srcdir)/'`atoi/str2i/str2s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/str2i/$(DEPDIR)/libshadow_la-str2s.Tpo atoi/str2i/$(DEPDIR)/libshadow_la-str2s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/str2i/str2s.c' object='atoi/str2i/libshadow_la-str2s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/str2i/libshadow_la-str2s.lo `test -f 'atoi/str2i/str2s.c' || echo '$(srcdir)/'`atoi/str2i/str2s.c - -atoi/str2i/libshadow_la-str2u.lo: atoi/str2i/str2u.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/str2i/libshadow_la-str2u.lo -MD -MP -MF atoi/str2i/$(DEPDIR)/libshadow_la-str2u.Tpo -c -o atoi/str2i/libshadow_la-str2u.lo `test -f 'atoi/str2i/str2u.c' || echo '$(srcdir)/'`atoi/str2i/str2u.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/str2i/$(DEPDIR)/libshadow_la-str2u.Tpo atoi/str2i/$(DEPDIR)/libshadow_la-str2u.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/str2i/str2u.c' object='atoi/str2i/libshadow_la-str2u.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/str2i/libshadow_la-str2u.lo `test -f 'atoi/str2i/str2u.c' || echo '$(srcdir)/'`atoi/str2i/str2u.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/libshadow_la-str2i.lo `test -f 'atoi/str2i.c' || echo '$(srcdir)/'`atoi/str2i.c atoi/strtoi/libshadow_la-strtoi.lo: atoi/strtoi/strtoi.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/strtoi/libshadow_la-strtoi.lo -MD -MP -MF atoi/strtoi/$(DEPDIR)/libshadow_la-strtoi.Tpo -c -o atoi/strtoi/libshadow_la-strtoi.lo `test -f 'atoi/strtoi/strtoi.c' || echo '$(srcdir)/'`atoi/strtoi/strtoi.c @@ -1657,6 +1728,20 @@ libshadow_la-fputsx.lo: fputsx.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o libshadow_la-fputsx.lo `test -f 'fputsx.c' || echo '$(srcdir)/'`fputsx.c +fs/mkstemp/libshadow_la-fmkomstemp.lo: fs/mkstemp/fmkomstemp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT fs/mkstemp/libshadow_la-fmkomstemp.lo -MD -MP -MF fs/mkstemp/$(DEPDIR)/libshadow_la-fmkomstemp.Tpo -c -o fs/mkstemp/libshadow_la-fmkomstemp.lo `test -f 'fs/mkstemp/fmkomstemp.c' || echo '$(srcdir)/'`fs/mkstemp/fmkomstemp.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fs/mkstemp/$(DEPDIR)/libshadow_la-fmkomstemp.Tpo fs/mkstemp/$(DEPDIR)/libshadow_la-fmkomstemp.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs/mkstemp/fmkomstemp.c' object='fs/mkstemp/libshadow_la-fmkomstemp.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o fs/mkstemp/libshadow_la-fmkomstemp.lo `test -f 'fs/mkstemp/fmkomstemp.c' || echo '$(srcdir)/'`fs/mkstemp/fmkomstemp.c + +fs/mkstemp/libshadow_la-mkomstemp.lo: fs/mkstemp/mkomstemp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT fs/mkstemp/libshadow_la-mkomstemp.lo -MD -MP -MF fs/mkstemp/$(DEPDIR)/libshadow_la-mkomstemp.Tpo -c -o fs/mkstemp/libshadow_la-mkomstemp.lo `test -f 'fs/mkstemp/mkomstemp.c' || echo '$(srcdir)/'`fs/mkstemp/mkomstemp.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fs/mkstemp/$(DEPDIR)/libshadow_la-mkomstemp.Tpo fs/mkstemp/$(DEPDIR)/libshadow_la-mkomstemp.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs/mkstemp/mkomstemp.c' object='fs/mkstemp/libshadow_la-mkomstemp.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o fs/mkstemp/libshadow_la-mkomstemp.lo `test -f 'fs/mkstemp/mkomstemp.c' || echo '$(srcdir)/'`fs/mkstemp/mkomstemp.c + fs/readlink/libshadow_la-areadlink.lo: fs/readlink/areadlink.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT fs/readlink/libshadow_la-areadlink.lo -MD -MP -MF fs/readlink/$(DEPDIR)/libshadow_la-areadlink.Tpo -c -o fs/readlink/libshadow_la-areadlink.lo `test -f 'fs/readlink/areadlink.c' || echo '$(srcdir)/'`fs/readlink/areadlink.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fs/readlink/$(DEPDIR)/libshadow_la-areadlink.Tpo fs/readlink/$(DEPDIR)/libshadow_la-areadlink.Plo @@ -1678,13 +1763,6 @@ libshadow_la-get_pid.lo: get_pid.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o libshadow_la-get_pid.lo `test -f 'get_pid.c' || echo '$(srcdir)/'`get_pid.c -libshadow_la-getdate.lo: getdate.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT libshadow_la-getdate.lo -MD -MP -MF $(DEPDIR)/libshadow_la-getdate.Tpo -c -o libshadow_la-getdate.lo `test -f 'getdate.c' || echo '$(srcdir)/'`getdate.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-getdate.Tpo $(DEPDIR)/libshadow_la-getdate.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='getdate.c' object='libshadow_la-getdate.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o libshadow_la-getdate.lo `test -f 'getdate.c' || echo '$(srcdir)/'`getdate.c - libshadow_la-getdef.lo: getdef.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT libshadow_la-getdef.lo -MD -MP -MF $(DEPDIR)/libshadow_la-getdef.Tpo -c -o libshadow_la-getdef.lo `test -f 'getdef.c' || echo '$(srcdir)/'`getdef.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-getdef.Tpo $(DEPDIR)/libshadow_la-getdef.Plo @@ -2007,13 +2085,6 @@ libshadow_la-sgroupio.lo: sgroupio.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o libshadow_la-sgroupio.lo `test -f 'sgroupio.c' || echo '$(srcdir)/'`sgroupio.c -libshadow_la-shadow.lo: shadow.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT libshadow_la-shadow.lo -MD -MP -MF $(DEPDIR)/libshadow_la-shadow.Tpo -c -o libshadow_la-shadow.lo `test -f 'shadow.c' || echo '$(srcdir)/'`shadow.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-shadow.Tpo $(DEPDIR)/libshadow_la-shadow.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shadow.c' object='libshadow_la-shadow.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o libshadow_la-shadow.lo `test -f 'shadow.c' || echo '$(srcdir)/'`shadow.c - shadow/grp/libshadow_la-agetgroups.lo: shadow/grp/agetgroups.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT shadow/grp/libshadow_la-agetgroups.lo -MD -MP -MF shadow/grp/$(DEPDIR)/libshadow_la-agetgroups.Tpo -c -o shadow/grp/libshadow_la-agetgroups.lo `test -f 'shadow/grp/agetgroups.c' || echo '$(srcdir)/'`shadow/grp/agetgroups.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) shadow/grp/$(DEPDIR)/libshadow_la-agetgroups.Tpo shadow/grp/$(DEPDIR)/libshadow_la-agetgroups.Plo @@ -2063,6 +2134,13 @@ libshadow_la-sssd.lo: sssd.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o libshadow_la-sssd.lo `test -f 'sssd.c' || echo '$(srcdir)/'`sssd.c +string/ctype/strchrisascii/libshadow_la-strchriscntrl.lo: string/ctype/strchrisascii/strchriscntrl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/ctype/strchrisascii/libshadow_la-strchriscntrl.lo -MD -MP -MF string/ctype/strchrisascii/$(DEPDIR)/libshadow_la-strchriscntrl.Tpo -c -o string/ctype/strchrisascii/libshadow_la-strchriscntrl.lo `test -f 'string/ctype/strchrisascii/strchriscntrl.c' || echo '$(srcdir)/'`string/ctype/strchrisascii/strchriscntrl.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/ctype/strchrisascii/$(DEPDIR)/libshadow_la-strchriscntrl.Tpo string/ctype/strchrisascii/$(DEPDIR)/libshadow_la-strchriscntrl.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/ctype/strchrisascii/strchriscntrl.c' object='string/ctype/strchrisascii/libshadow_la-strchriscntrl.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/ctype/strchrisascii/libshadow_la-strchriscntrl.lo `test -f 'string/ctype/strchrisascii/strchriscntrl.c' || echo '$(srcdir)/'`string/ctype/strchrisascii/strchriscntrl.c + string/ctype/strisascii/libshadow_la-strisdigit.lo: string/ctype/strisascii/strisdigit.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/ctype/strisascii/libshadow_la-strisdigit.lo -MD -MP -MF string/ctype/strisascii/$(DEPDIR)/libshadow_la-strisdigit.Tpo -c -o string/ctype/strisascii/libshadow_la-strisdigit.lo `test -f 'string/ctype/strisascii/strisdigit.c' || echo '$(srcdir)/'`string/ctype/strisascii/strisdigit.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/ctype/strisascii/$(DEPDIR)/libshadow_la-strisdigit.Tpo string/ctype/strisascii/$(DEPDIR)/libshadow_la-strisdigit.Plo @@ -2070,6 +2148,20 @@ string/ctype/strisascii/libshadow_la-strisdigit.lo: string/ctype/strisascii/stri @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/ctype/strisascii/libshadow_la-strisdigit.lo `test -f 'string/ctype/strisascii/strisdigit.c' || echo '$(srcdir)/'`string/ctype/strisascii/strisdigit.c +string/ctype/strisascii/libshadow_la-strisprint.lo: string/ctype/strisascii/strisprint.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/ctype/strisascii/libshadow_la-strisprint.lo -MD -MP -MF string/ctype/strisascii/$(DEPDIR)/libshadow_la-strisprint.Tpo -c -o string/ctype/strisascii/libshadow_la-strisprint.lo `test -f 'string/ctype/strisascii/strisprint.c' || echo '$(srcdir)/'`string/ctype/strisascii/strisprint.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/ctype/strisascii/$(DEPDIR)/libshadow_la-strisprint.Tpo string/ctype/strisascii/$(DEPDIR)/libshadow_la-strisprint.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/ctype/strisascii/strisprint.c' object='string/ctype/strisascii/libshadow_la-strisprint.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/ctype/strisascii/libshadow_la-strisprint.lo `test -f 'string/ctype/strisascii/strisprint.c' || echo '$(srcdir)/'`string/ctype/strisascii/strisprint.c + +string/ctype/strtoascii/libshadow_la-strtolower.lo: string/ctype/strtoascii/strtolower.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/ctype/strtoascii/libshadow_la-strtolower.lo -MD -MP -MF string/ctype/strtoascii/$(DEPDIR)/libshadow_la-strtolower.Tpo -c -o string/ctype/strtoascii/libshadow_la-strtolower.lo `test -f 'string/ctype/strtoascii/strtolower.c' || echo '$(srcdir)/'`string/ctype/strtoascii/strtolower.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/ctype/strtoascii/$(DEPDIR)/libshadow_la-strtolower.Tpo string/ctype/strtoascii/$(DEPDIR)/libshadow_la-strtolower.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/ctype/strtoascii/strtolower.c' object='string/ctype/strtoascii/libshadow_la-strtolower.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/ctype/strtoascii/libshadow_la-strtolower.lo `test -f 'string/ctype/strtoascii/strtolower.c' || echo '$(srcdir)/'`string/ctype/strtoascii/strtolower.c + string/memset/libshadow_la-memzero.lo: string/memset/memzero.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/memset/libshadow_la-memzero.lo -MD -MP -MF string/memset/$(DEPDIR)/libshadow_la-memzero.Tpo -c -o string/memset/libshadow_la-memzero.lo `test -f 'string/memset/memzero.c' || echo '$(srcdir)/'`string/memset/memzero.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/memset/$(DEPDIR)/libshadow_la-memzero.Tpo string/memset/$(DEPDIR)/libshadow_la-memzero.Plo @@ -2077,6 +2169,13 @@ string/memset/libshadow_la-memzero.lo: string/memset/memzero.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/memset/libshadow_la-memzero.lo `test -f 'string/memset/memzero.c' || echo '$(srcdir)/'`string/memset/memzero.c +string/sprintf/libshadow_la-aprintf.lo: string/sprintf/aprintf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/sprintf/libshadow_la-aprintf.lo -MD -MP -MF string/sprintf/$(DEPDIR)/libshadow_la-aprintf.Tpo -c -o string/sprintf/libshadow_la-aprintf.lo `test -f 'string/sprintf/aprintf.c' || echo '$(srcdir)/'`string/sprintf/aprintf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/sprintf/$(DEPDIR)/libshadow_la-aprintf.Tpo string/sprintf/$(DEPDIR)/libshadow_la-aprintf.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/sprintf/aprintf.c' object='string/sprintf/libshadow_la-aprintf.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/sprintf/libshadow_la-aprintf.lo `test -f 'string/sprintf/aprintf.c' || echo '$(srcdir)/'`string/sprintf/aprintf.c + string/sprintf/libshadow_la-snprintf.lo: string/sprintf/snprintf.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/sprintf/libshadow_la-snprintf.lo -MD -MP -MF string/sprintf/$(DEPDIR)/libshadow_la-snprintf.Tpo -c -o string/sprintf/libshadow_la-snprintf.lo `test -f 'string/sprintf/snprintf.c' || echo '$(srcdir)/'`string/sprintf/snprintf.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/sprintf/$(DEPDIR)/libshadow_la-snprintf.Tpo string/sprintf/$(DEPDIR)/libshadow_la-snprintf.Plo @@ -2091,12 +2190,12 @@ string/sprintf/libshadow_la-stpeprintf.lo: string/sprintf/stpeprintf.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/sprintf/libshadow_la-stpeprintf.lo `test -f 'string/sprintf/stpeprintf.c' || echo '$(srcdir)/'`string/sprintf/stpeprintf.c -string/sprintf/libshadow_la-xasprintf.lo: string/sprintf/xasprintf.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/sprintf/libshadow_la-xasprintf.lo -MD -MP -MF string/sprintf/$(DEPDIR)/libshadow_la-xasprintf.Tpo -c -o string/sprintf/libshadow_la-xasprintf.lo `test -f 'string/sprintf/xasprintf.c' || echo '$(srcdir)/'`string/sprintf/xasprintf.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/sprintf/$(DEPDIR)/libshadow_la-xasprintf.Tpo string/sprintf/$(DEPDIR)/libshadow_la-xasprintf.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/sprintf/xasprintf.c' object='string/sprintf/libshadow_la-xasprintf.lo' libtool=yes @AMDEPBACKSLASH@ +string/sprintf/libshadow_la-xaprintf.lo: string/sprintf/xaprintf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/sprintf/libshadow_la-xaprintf.lo -MD -MP -MF string/sprintf/$(DEPDIR)/libshadow_la-xaprintf.Tpo -c -o string/sprintf/libshadow_la-xaprintf.lo `test -f 'string/sprintf/xaprintf.c' || echo '$(srcdir)/'`string/sprintf/xaprintf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/sprintf/$(DEPDIR)/libshadow_la-xaprintf.Tpo string/sprintf/$(DEPDIR)/libshadow_la-xaprintf.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/sprintf/xaprintf.c' object='string/sprintf/libshadow_la-xaprintf.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/sprintf/libshadow_la-xasprintf.lo `test -f 'string/sprintf/xasprintf.c' || echo '$(srcdir)/'`string/sprintf/xasprintf.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/sprintf/libshadow_la-xaprintf.lo `test -f 'string/sprintf/xaprintf.c' || echo '$(srcdir)/'`string/sprintf/xaprintf.c string/strchr/libshadow_la-strchrcnt.lo: string/strchr/strchrcnt.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/strchr/libshadow_la-strchrcnt.lo -MD -MP -MF string/strchr/$(DEPDIR)/libshadow_la-strchrcnt.Tpo -c -o string/strchr/libshadow_la-strchrcnt.lo `test -f 'string/strchr/strchrcnt.c' || echo '$(srcdir)/'`string/strchr/strchrcnt.c @@ -2126,6 +2225,13 @@ string/strcmp/libshadow_la-strcaseeq.lo: string/strcmp/strcaseeq.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/strcmp/libshadow_la-strcaseeq.lo `test -f 'string/strcmp/strcaseeq.c' || echo '$(srcdir)/'`string/strcmp/strcaseeq.c +string/strcmp/libshadow_la-strcaseprefix.lo: string/strcmp/strcaseprefix.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/strcmp/libshadow_la-strcaseprefix.lo -MD -MP -MF string/strcmp/$(DEPDIR)/libshadow_la-strcaseprefix.Tpo -c -o string/strcmp/libshadow_la-strcaseprefix.lo `test -f 'string/strcmp/strcaseprefix.c' || echo '$(srcdir)/'`string/strcmp/strcaseprefix.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/strcmp/$(DEPDIR)/libshadow_la-strcaseprefix.Tpo string/strcmp/$(DEPDIR)/libshadow_la-strcaseprefix.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/strcmp/strcaseprefix.c' object='string/strcmp/libshadow_la-strcaseprefix.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/strcmp/libshadow_la-strcaseprefix.lo `test -f 'string/strcmp/strcaseprefix.c' || echo '$(srcdir)/'`string/strcmp/strcaseprefix.c + string/strcmp/libshadow_la-streq.lo: string/strcmp/streq.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/strcmp/libshadow_la-streq.lo -MD -MP -MF string/strcmp/$(DEPDIR)/libshadow_la-streq.Tpo -c -o string/strcmp/libshadow_la-streq.lo `test -f 'string/strcmp/streq.c' || echo '$(srcdir)/'`string/strcmp/streq.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/strcmp/$(DEPDIR)/libshadow_la-streq.Tpo string/strcmp/$(DEPDIR)/libshadow_la-streq.Plo @@ -2133,6 +2239,13 @@ string/strcmp/libshadow_la-streq.lo: string/strcmp/streq.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/strcmp/libshadow_la-streq.lo `test -f 'string/strcmp/streq.c' || echo '$(srcdir)/'`string/strcmp/streq.c +string/strcmp/libshadow_la-strprefix.lo: string/strcmp/strprefix.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/strcmp/libshadow_la-strprefix.lo -MD -MP -MF string/strcmp/$(DEPDIR)/libshadow_la-strprefix.Tpo -c -o string/strcmp/libshadow_la-strprefix.lo `test -f 'string/strcmp/strprefix.c' || echo '$(srcdir)/'`string/strcmp/strprefix.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/strcmp/$(DEPDIR)/libshadow_la-strprefix.Tpo string/strcmp/$(DEPDIR)/libshadow_la-strprefix.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/strcmp/strprefix.c' object='string/strcmp/libshadow_la-strprefix.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/strcmp/libshadow_la-strprefix.lo `test -f 'string/strcmp/strprefix.c' || echo '$(srcdir)/'`string/strcmp/strprefix.c + string/strcpy/libshadow_la-stpecpy.lo: string/strcpy/stpecpy.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/strcpy/libshadow_la-stpecpy.lo -MD -MP -MF string/strcpy/$(DEPDIR)/libshadow_la-stpecpy.Tpo -c -o string/strcpy/libshadow_la-stpecpy.lo `test -f 'string/strcpy/stpecpy.c' || echo '$(srcdir)/'`string/strcpy/stpecpy.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/strcpy/$(DEPDIR)/libshadow_la-stpecpy.Tpo string/strcpy/$(DEPDIR)/libshadow_la-stpecpy.Plo @@ -2231,6 +2344,34 @@ string/strtok/libshadow_la-stpsep.lo: string/strtok/stpsep.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/strtok/libshadow_la-stpsep.lo `test -f 'string/strtok/stpsep.c' || echo '$(srcdir)/'`string/strtok/stpsep.c +string/strtok/libshadow_la-astrsep2ls.lo: string/strtok/astrsep2ls.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/strtok/libshadow_la-astrsep2ls.lo -MD -MP -MF string/strtok/$(DEPDIR)/libshadow_la-astrsep2ls.Tpo -c -o string/strtok/libshadow_la-astrsep2ls.lo `test -f 'string/strtok/astrsep2ls.c' || echo '$(srcdir)/'`string/strtok/astrsep2ls.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/strtok/$(DEPDIR)/libshadow_la-astrsep2ls.Tpo string/strtok/$(DEPDIR)/libshadow_la-astrsep2ls.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/strtok/astrsep2ls.c' object='string/strtok/libshadow_la-astrsep2ls.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/strtok/libshadow_la-astrsep2ls.lo `test -f 'string/strtok/astrsep2ls.c' || echo '$(srcdir)/'`string/strtok/astrsep2ls.c + +string/strtok/libshadow_la-strsep2arr.lo: string/strtok/strsep2arr.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/strtok/libshadow_la-strsep2arr.lo -MD -MP -MF string/strtok/$(DEPDIR)/libshadow_la-strsep2arr.Tpo -c -o string/strtok/libshadow_la-strsep2arr.lo `test -f 'string/strtok/strsep2arr.c' || echo '$(srcdir)/'`string/strtok/strsep2arr.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/strtok/$(DEPDIR)/libshadow_la-strsep2arr.Tpo string/strtok/$(DEPDIR)/libshadow_la-strsep2arr.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/strtok/strsep2arr.c' object='string/strtok/libshadow_la-strsep2arr.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/strtok/libshadow_la-strsep2arr.lo `test -f 'string/strtok/strsep2arr.c' || echo '$(srcdir)/'`string/strtok/strsep2arr.c + +string/strtok/libshadow_la-strsep2ls.lo: string/strtok/strsep2ls.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/strtok/libshadow_la-strsep2ls.lo -MD -MP -MF string/strtok/$(DEPDIR)/libshadow_la-strsep2ls.Tpo -c -o string/strtok/libshadow_la-strsep2ls.lo `test -f 'string/strtok/strsep2ls.c' || echo '$(srcdir)/'`string/strtok/strsep2ls.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/strtok/$(DEPDIR)/libshadow_la-strsep2ls.Tpo string/strtok/$(DEPDIR)/libshadow_la-strsep2ls.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/strtok/strsep2ls.c' object='string/strtok/libshadow_la-strsep2ls.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/strtok/libshadow_la-strsep2ls.lo `test -f 'string/strtok/strsep2ls.c' || echo '$(srcdir)/'`string/strtok/strsep2ls.c + +string/strtok/libshadow_la-xastrsep2ls.lo: string/strtok/xastrsep2ls.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/strtok/libshadow_la-xastrsep2ls.lo -MD -MP -MF string/strtok/$(DEPDIR)/libshadow_la-xastrsep2ls.Tpo -c -o string/strtok/libshadow_la-xastrsep2ls.lo `test -f 'string/strtok/xastrsep2ls.c' || echo '$(srcdir)/'`string/strtok/xastrsep2ls.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/strtok/$(DEPDIR)/libshadow_la-xastrsep2ls.Tpo string/strtok/$(DEPDIR)/libshadow_la-xastrsep2ls.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/strtok/xastrsep2ls.c' object='string/strtok/libshadow_la-xastrsep2ls.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/strtok/libshadow_la-xastrsep2ls.lo `test -f 'string/strtok/xastrsep2ls.c' || echo '$(srcdir)/'`string/strtok/xastrsep2ls.c + libshadow_la-strtoday.lo: strtoday.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT libshadow_la-strtoday.lo -MD -MP -MF $(DEPDIR)/libshadow_la-strtoday.Tpo -c -o libshadow_la-strtoday.lo `test -f 'strtoday.c' || echo '$(srcdir)/'`strtoday.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-strtoday.Tpo $(DEPDIR)/libshadow_la-strtoday.Plo @@ -2406,9 +2547,6 @@ libshadow_la-readpassphrase.lo: readpassphrase.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o libshadow_la-readpassphrase.lo `test -f 'readpassphrase.c' || echo '$(srcdir)/'`readpassphrase.c -.y.c: - $(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h `echo $@ | $(am__yacc_c2h)` y.output $*.output -- $(YACCCOMPILE) - mostlyclean-libtool: -rm -f *.lo @@ -2418,15 +2556,17 @@ clean-libtool: -rm -rf alloc/x/.libs alloc/x/_libs -rm -rf atoi/.libs atoi/_libs -rm -rf atoi/a2i/.libs atoi/a2i/_libs - -rm -rf atoi/str2i/.libs atoi/str2i/_libs -rm -rf atoi/strtoi/.libs atoi/strtoi/_libs + -rm -rf fs/mkstemp/.libs fs/mkstemp/_libs -rm -rf fs/readlink/.libs fs/readlink/_libs -rm -rf search/cmp/.libs search/cmp/_libs -rm -rf search/l/.libs search/l/_libs -rm -rf search/sort/.libs search/sort/_libs -rm -rf shadow/grp/.libs shadow/grp/_libs -rm -rf string/.libs string/_libs + -rm -rf string/ctype/strchrisascii/.libs string/ctype/strchrisascii/_libs -rm -rf string/ctype/strisascii/.libs string/ctype/strisascii/_libs + -rm -rf string/ctype/strtoascii/.libs string/ctype/strtoascii/_libs -rm -rf string/memset/.libs string/memset/_libs -rm -rf string/sprintf/.libs string/sprintf/_libs -rm -rf string/strchr/.libs string/strchr/_libs @@ -2559,10 +2699,10 @@ distclean-generic: -rm -f atoi/$(am__dirstamp) -rm -f atoi/a2i/$(DEPDIR)/$(am__dirstamp) -rm -f atoi/a2i/$(am__dirstamp) - -rm -f atoi/str2i/$(DEPDIR)/$(am__dirstamp) - -rm -f atoi/str2i/$(am__dirstamp) -rm -f atoi/strtoi/$(DEPDIR)/$(am__dirstamp) -rm -f atoi/strtoi/$(am__dirstamp) + -rm -f fs/mkstemp/$(DEPDIR)/$(am__dirstamp) + -rm -f fs/mkstemp/$(am__dirstamp) -rm -f fs/readlink/$(DEPDIR)/$(am__dirstamp) -rm -f fs/readlink/$(am__dirstamp) -rm -f search/cmp/$(DEPDIR)/$(am__dirstamp) @@ -2575,8 +2715,12 @@ distclean-generic: -rm -f shadow/grp/$(am__dirstamp) -rm -f string/$(DEPDIR)/$(am__dirstamp) -rm -f string/$(am__dirstamp) + -rm -f string/ctype/strchrisascii/$(DEPDIR)/$(am__dirstamp) + -rm -f string/ctype/strchrisascii/$(am__dirstamp) -rm -f string/ctype/strisascii/$(DEPDIR)/$(am__dirstamp) -rm -f string/ctype/strisascii/$(am__dirstamp) + -rm -f string/ctype/strtoascii/$(DEPDIR)/$(am__dirstamp) + -rm -f string/ctype/strtoascii/$(am__dirstamp) -rm -f string/memset/$(DEPDIR)/$(am__dirstamp) -rm -f string/memset/$(am__dirstamp) -rm -f string/sprintf/$(DEPDIR)/$(am__dirstamp) @@ -2599,7 +2743,6 @@ distclean-generic: maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." - -rm -f getdate.c clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ @@ -2636,7 +2779,6 @@ distclean: distclean-am -rm -f ./$(DEPDIR)/libshadow_la-fputsx.Plo -rm -f ./$(DEPDIR)/libshadow_la-freezero.Plo -rm -f ./$(DEPDIR)/libshadow_la-get_pid.Plo - -rm -f ./$(DEPDIR)/libshadow_la-getdate.Plo -rm -f ./$(DEPDIR)/libshadow_la-getdef.Plo -rm -f ./$(DEPDIR)/libshadow_la-getgr_nam_gid.Plo -rm -f ./$(DEPDIR)/libshadow_la-getrange.Plo @@ -2682,7 +2824,6 @@ distclean: distclean-am -rm -f ./$(DEPDIR)/libshadow_la-sgetpwent.Plo -rm -f ./$(DEPDIR)/libshadow_la-sgetspent.Plo -rm -f ./$(DEPDIR)/libshadow_la-sgroupio.Plo - -rm -f ./$(DEPDIR)/libshadow_la-shadow.Plo -rm -f ./$(DEPDIR)/libshadow_la-shadowio.Plo -rm -f ./$(DEPDIR)/libshadow_la-shadowlog.Plo -rm -f ./$(DEPDIR)/libshadow_la-shadowmem.Plo @@ -2716,6 +2857,7 @@ distclean: distclean-am -rm -f alloc/x/$(DEPDIR)/libshadow_la-xmalloc.Plo -rm -f alloc/x/$(DEPDIR)/libshadow_la-xrealloc.Plo -rm -f atoi/$(DEPDIR)/libshadow_la-getnum.Plo + -rm -f atoi/$(DEPDIR)/libshadow_la-str2i.Plo -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2i.Plo -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2s.Plo -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2s_c.Plo @@ -2723,12 +2865,11 @@ distclean: distclean-am -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2u.Plo -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2u_c.Plo -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2u_nc.Plo - -rm -f atoi/str2i/$(DEPDIR)/libshadow_la-str2i.Plo - -rm -f atoi/str2i/$(DEPDIR)/libshadow_la-str2s.Plo - -rm -f atoi/str2i/$(DEPDIR)/libshadow_la-str2u.Plo -rm -f atoi/strtoi/$(DEPDIR)/libshadow_la-strtoi.Plo -rm -f atoi/strtoi/$(DEPDIR)/libshadow_la-strtou.Plo -rm -f atoi/strtoi/$(DEPDIR)/libshadow_la-strtou_noneg.Plo + -rm -f fs/mkstemp/$(DEPDIR)/libshadow_la-fmkomstemp.Plo + -rm -f fs/mkstemp/$(DEPDIR)/libshadow_la-mkomstemp.Plo -rm -f fs/readlink/$(DEPDIR)/libshadow_la-areadlink.Plo -rm -f fs/readlink/$(DEPDIR)/libshadow_la-readlinknul.Plo -rm -f search/cmp/$(DEPDIR)/libshadow_la-cmp.Plo @@ -2737,16 +2878,22 @@ distclean: distclean-am -rm -f search/sort/$(DEPDIR)/libshadow_la-qsort.Plo -rm -f shadow/grp/$(DEPDIR)/libshadow_la-agetgroups.Plo -rm -f string/$(DEPDIR)/libshadow_la-strftime.Plo + -rm -f string/ctype/strchrisascii/$(DEPDIR)/libshadow_la-strchriscntrl.Plo -rm -f string/ctype/strisascii/$(DEPDIR)/libshadow_la-strisdigit.Plo + -rm -f string/ctype/strisascii/$(DEPDIR)/libshadow_la-strisprint.Plo + -rm -f string/ctype/strtoascii/$(DEPDIR)/libshadow_la-strtolower.Plo -rm -f string/memset/$(DEPDIR)/libshadow_la-memzero.Plo + -rm -f string/sprintf/$(DEPDIR)/libshadow_la-aprintf.Plo -rm -f string/sprintf/$(DEPDIR)/libshadow_la-snprintf.Plo -rm -f string/sprintf/$(DEPDIR)/libshadow_la-stpeprintf.Plo - -rm -f string/sprintf/$(DEPDIR)/libshadow_la-xasprintf.Plo + -rm -f string/sprintf/$(DEPDIR)/libshadow_la-xaprintf.Plo -rm -f string/strchr/$(DEPDIR)/libshadow_la-strchrcnt.Plo -rm -f string/strchr/$(DEPDIR)/libshadow_la-strchrscnt.Plo -rm -f string/strchr/$(DEPDIR)/libshadow_la-strnul.Plo -rm -f string/strcmp/$(DEPDIR)/libshadow_la-strcaseeq.Plo + -rm -f string/strcmp/$(DEPDIR)/libshadow_la-strcaseprefix.Plo -rm -f string/strcmp/$(DEPDIR)/libshadow_la-streq.Plo + -rm -f string/strcmp/$(DEPDIR)/libshadow_la-strprefix.Plo -rm -f string/strcpy/$(DEPDIR)/libshadow_la-stpecpy.Plo -rm -f string/strcpy/$(DEPDIR)/libshadow_la-strncat.Plo -rm -f string/strcpy/$(DEPDIR)/libshadow_la-strncpy.Plo @@ -2759,7 +2906,11 @@ distclean: distclean-am -rm -f string/strspn/$(DEPDIR)/libshadow_la-stpspn.Plo -rm -f string/strspn/$(DEPDIR)/libshadow_la-strrcspn.Plo -rm -f string/strspn/$(DEPDIR)/libshadow_la-strrspn.Plo + -rm -f string/strtok/$(DEPDIR)/libshadow_la-astrsep2ls.Plo -rm -f string/strtok/$(DEPDIR)/libshadow_la-stpsep.Plo + -rm -f string/strtok/$(DEPDIR)/libshadow_la-strsep2arr.Plo + -rm -f string/strtok/$(DEPDIR)/libshadow_la-strsep2ls.Plo + -rm -f string/strtok/$(DEPDIR)/libshadow_la-xastrsep2ls.Plo -rm -f time/$(DEPDIR)/libshadow_la-day_to_str.Plo -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ @@ -2836,7 +2987,6 @@ maintainer-clean: maintainer-clean-am -rm -f ./$(DEPDIR)/libshadow_la-fputsx.Plo -rm -f ./$(DEPDIR)/libshadow_la-freezero.Plo -rm -f ./$(DEPDIR)/libshadow_la-get_pid.Plo - -rm -f ./$(DEPDIR)/libshadow_la-getdate.Plo -rm -f ./$(DEPDIR)/libshadow_la-getdef.Plo -rm -f ./$(DEPDIR)/libshadow_la-getgr_nam_gid.Plo -rm -f ./$(DEPDIR)/libshadow_la-getrange.Plo @@ -2882,7 +3032,6 @@ maintainer-clean: maintainer-clean-am -rm -f ./$(DEPDIR)/libshadow_la-sgetpwent.Plo -rm -f ./$(DEPDIR)/libshadow_la-sgetspent.Plo -rm -f ./$(DEPDIR)/libshadow_la-sgroupio.Plo - -rm -f ./$(DEPDIR)/libshadow_la-shadow.Plo -rm -f ./$(DEPDIR)/libshadow_la-shadowio.Plo -rm -f ./$(DEPDIR)/libshadow_la-shadowlog.Plo -rm -f ./$(DEPDIR)/libshadow_la-shadowmem.Plo @@ -2916,6 +3065,7 @@ maintainer-clean: maintainer-clean-am -rm -f alloc/x/$(DEPDIR)/libshadow_la-xmalloc.Plo -rm -f alloc/x/$(DEPDIR)/libshadow_la-xrealloc.Plo -rm -f atoi/$(DEPDIR)/libshadow_la-getnum.Plo + -rm -f atoi/$(DEPDIR)/libshadow_la-str2i.Plo -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2i.Plo -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2s.Plo -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2s_c.Plo @@ -2923,12 +3073,11 @@ maintainer-clean: maintainer-clean-am -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2u.Plo -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2u_c.Plo -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2u_nc.Plo - -rm -f atoi/str2i/$(DEPDIR)/libshadow_la-str2i.Plo - -rm -f atoi/str2i/$(DEPDIR)/libshadow_la-str2s.Plo - -rm -f atoi/str2i/$(DEPDIR)/libshadow_la-str2u.Plo -rm -f atoi/strtoi/$(DEPDIR)/libshadow_la-strtoi.Plo -rm -f atoi/strtoi/$(DEPDIR)/libshadow_la-strtou.Plo -rm -f atoi/strtoi/$(DEPDIR)/libshadow_la-strtou_noneg.Plo + -rm -f fs/mkstemp/$(DEPDIR)/libshadow_la-fmkomstemp.Plo + -rm -f fs/mkstemp/$(DEPDIR)/libshadow_la-mkomstemp.Plo -rm -f fs/readlink/$(DEPDIR)/libshadow_la-areadlink.Plo -rm -f fs/readlink/$(DEPDIR)/libshadow_la-readlinknul.Plo -rm -f search/cmp/$(DEPDIR)/libshadow_la-cmp.Plo @@ -2937,16 +3086,22 @@ maintainer-clean: maintainer-clean-am -rm -f search/sort/$(DEPDIR)/libshadow_la-qsort.Plo -rm -f shadow/grp/$(DEPDIR)/libshadow_la-agetgroups.Plo -rm -f string/$(DEPDIR)/libshadow_la-strftime.Plo + -rm -f string/ctype/strchrisascii/$(DEPDIR)/libshadow_la-strchriscntrl.Plo -rm -f string/ctype/strisascii/$(DEPDIR)/libshadow_la-strisdigit.Plo + -rm -f string/ctype/strisascii/$(DEPDIR)/libshadow_la-strisprint.Plo + -rm -f string/ctype/strtoascii/$(DEPDIR)/libshadow_la-strtolower.Plo -rm -f string/memset/$(DEPDIR)/libshadow_la-memzero.Plo + -rm -f string/sprintf/$(DEPDIR)/libshadow_la-aprintf.Plo -rm -f string/sprintf/$(DEPDIR)/libshadow_la-snprintf.Plo -rm -f string/sprintf/$(DEPDIR)/libshadow_la-stpeprintf.Plo - -rm -f string/sprintf/$(DEPDIR)/libshadow_la-xasprintf.Plo + -rm -f string/sprintf/$(DEPDIR)/libshadow_la-xaprintf.Plo -rm -f string/strchr/$(DEPDIR)/libshadow_la-strchrcnt.Plo -rm -f string/strchr/$(DEPDIR)/libshadow_la-strchrscnt.Plo -rm -f string/strchr/$(DEPDIR)/libshadow_la-strnul.Plo -rm -f string/strcmp/$(DEPDIR)/libshadow_la-strcaseeq.Plo + -rm -f string/strcmp/$(DEPDIR)/libshadow_la-strcaseprefix.Plo -rm -f string/strcmp/$(DEPDIR)/libshadow_la-streq.Plo + -rm -f string/strcmp/$(DEPDIR)/libshadow_la-strprefix.Plo -rm -f string/strcpy/$(DEPDIR)/libshadow_la-stpecpy.Plo -rm -f string/strcpy/$(DEPDIR)/libshadow_la-strncat.Plo -rm -f string/strcpy/$(DEPDIR)/libshadow_la-strncpy.Plo @@ -2959,7 +3114,11 @@ maintainer-clean: maintainer-clean-am -rm -f string/strspn/$(DEPDIR)/libshadow_la-stpspn.Plo -rm -f string/strspn/$(DEPDIR)/libshadow_la-strrcspn.Plo -rm -f string/strspn/$(DEPDIR)/libshadow_la-strrspn.Plo + -rm -f string/strtok/$(DEPDIR)/libshadow_la-astrsep2ls.Plo -rm -f string/strtok/$(DEPDIR)/libshadow_la-stpsep.Plo + -rm -f string/strtok/$(DEPDIR)/libshadow_la-strsep2arr.Plo + -rm -f string/strtok/$(DEPDIR)/libshadow_la-strsep2ls.Plo + -rm -f string/strtok/$(DEPDIR)/libshadow_la-xastrsep2ls.Plo -rm -f time/$(DEPDIR)/libshadow_la-day_to_str.Plo -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic diff --git a/lib/adds.h b/lib/adds.h index 5e4fa274..b4cd8c25 100644 --- a/lib/adds.h +++ b/lib/adds.h @@ -20,7 +20,7 @@ ({ \ long addend_[] = {a, b, __VA_ARGS__}; \ \ - addslN(NITEMS(addend_), addend_); \ + addslN(countof(addend_), addend_); \ }) diff --git a/lib/atoi/a2i/a2s.h b/lib/atoi/a2i/a2s.h index 935e109a..f47e4d1f 100644 --- a/lib/atoi/a2i/a2s.h +++ b/lib/atoi/a2i/a2s.h @@ -8,49 +8,13 @@ #include -#include "atoi/a2i/a2s_c.h" -#include "atoi/a2i/a2s_nc.h" +#include "atoi/a2i/a2i.h" -#define a2sh(n, s, ...) \ -( \ - _Generic(s, \ - const char *: a2sh_c, \ - const void *: a2sh_c, \ - char *: a2sh_nc, \ - void *: a2sh_nc \ - )(n, s, __VA_ARGS__) \ -) - -#define a2si(n, s, ...) \ -( \ - _Generic(s, \ - const char *: a2si_c, \ - const void *: a2si_c, \ - char *: a2si_nc, \ - void *: a2si_nc \ - )(n, s, __VA_ARGS__) \ -) - -#define a2sl(n, s, ...) \ -( \ - _Generic(s, \ - const char *: a2sl_c, \ - const void *: a2sl_c, \ - char *: a2sl_nc, \ - void *: a2sl_nc \ - )(n, s, __VA_ARGS__) \ -) - -#define a2sll(n, s, ...) \ -( \ - _Generic(s, \ - const char *: a2sll_c, \ - const void *: a2sll_c, \ - char *: a2sll_nc, \ - void *: a2sll_nc \ - )(n, s, __VA_ARGS__) \ -) +#define a2sh(...) a2i(short, __VA_ARGS__) +#define a2si(...) a2i(int, __VA_ARGS__) +#define a2sl(...) a2i(long, __VA_ARGS__) +#define a2sll(...) a2i(long long, __VA_ARGS__) #endif // include guard diff --git a/lib/atoi/a2i/a2u.h b/lib/atoi/a2i/a2u.h index 2a3852e4..e33129be 100644 --- a/lib/atoi/a2i/a2u.h +++ b/lib/atoi/a2i/a2u.h @@ -8,49 +8,13 @@ #include -#include "atoi/a2i/a2u_c.h" -#include "atoi/a2i/a2u_nc.h" +#include "atoi/a2i/a2i.h" -#define a2uh(n, s, ...) \ -( \ - _Generic(s, \ - const char *: a2uh_c, \ - const void *: a2uh_c, \ - char *: a2uh_nc, \ - void *: a2uh_nc \ - )(n, s, __VA_ARGS__) \ -) - -#define a2ui(n, s, ...) \ -( \ - _Generic(s, \ - const char *: a2ui_c, \ - const void *: a2ui_c, \ - char *: a2ui_nc, \ - void *: a2ui_nc \ - )(n, s, __VA_ARGS__) \ -) - -#define a2ul(n, s, ...) \ -( \ - _Generic(s, \ - const char *: a2ul_c, \ - const void *: a2ul_c, \ - char *: a2ul_nc, \ - void *: a2ul_nc \ - )(n, s, __VA_ARGS__) \ -) - -#define a2ull(n, s, ...) \ -( \ - _Generic(s, \ - const char *: a2ull_c, \ - const void *: a2ull_c, \ - char *: a2ull_nc, \ - void *: a2ull_nc \ - )(n, s, __VA_ARGS__) \ -) +#define a2uh(...) a2i(unsigned short, __VA_ARGS__) +#define a2ui(...) a2i(unsigned int, __VA_ARGS__) +#define a2ul(...) a2i(unsigned long, __VA_ARGS__) +#define a2ull(...) a2i(unsigned long long, __VA_ARGS__) #endif // include guard diff --git a/lib/atoi/str2i/str2i.c b/lib/atoi/str2i.c similarity index 57% rename from lib/atoi/str2i/str2i.c rename to lib/atoi/str2i.c index ff5ad8f0..cb055723 100644 --- a/lib/atoi/str2i/str2i.c +++ b/lib/atoi/str2i.c @@ -1,8 +1,8 @@ // SPDX-FileCopyrightText: 2007-2009, Nicolas François -// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-FileCopyrightText: 2023-2025, Alejandro Colomar // SPDX-License-Identifier: BSD-3-Clause #include -#include "atoi/str2i/str2i.h" +#include "atoi/str2i.h" diff --git a/lib/atoi/str2i.h b/lib/atoi/str2i.h new file mode 100644 index 00000000..ca15ac5e --- /dev/null +++ b/lib/atoi/str2i.h @@ -0,0 +1,31 @@ +// SPDX-FileCopyrightText: 2007-2009, Nicolas François +// SPDX-FileCopyrightText: 2023-2025, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ATOI_STR2I_H_ +#define SHADOW_INCLUDE_LIB_ATOI_STR2I_H_ + + +#include + +#include + +#include "atoi/a2i/a2i.h" +#include "typetraits.h" + + +#define str2i(T, ...) a2i(T, __VA_ARGS__, NULL, 0, type_min(T), type_max(T)) + +#define str2sh(...) str2i(short, __VA_ARGS__) +#define str2si(...) str2i(int, __VA_ARGS__) +#define str2sl(...) str2i(long, __VA_ARGS__) +#define str2sll(...) str2i(long long, __VA_ARGS__) + +#define str2uh(...) str2i(unsigned short, __VA_ARGS__) +#define str2ui(...) str2i(unsigned int, __VA_ARGS__) +#define str2ul(...) str2i(unsigned long, __VA_ARGS__) +#define str2ull(...) str2i(unsigned long long, __VA_ARGS__) + + +#endif // include guard diff --git a/lib/atoi/str2i/str2i.h b/lib/atoi/str2i/str2i.h deleted file mode 100644 index e2cecc75..00000000 --- a/lib/atoi/str2i/str2i.h +++ /dev/null @@ -1,31 +0,0 @@ -// SPDX-FileCopyrightText: 2007-2009, Nicolas François -// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar -// SPDX-License-Identifier: BSD-3-Clause - - -#ifndef SHADOW_INCLUDE_LIB_ATOI_STR2I_STR2I_H_ -#define SHADOW_INCLUDE_LIB_ATOI_STR2I_STR2I_H_ - - -#include - -#include "atoi/str2i/str2s.h" -#include "atoi/str2i/str2u.h" - - -#define str2i(TYPE, ...) \ -( \ - _Generic((TYPE) 0, \ - short: str2sh, \ - int: str2si, \ - long: str2sl, \ - long long: str2sll, \ - unsigned short: str2uh, \ - unsigned int: str2ui, \ - unsigned long: str2ul, \ - unsigned long long: str2ull \ - )(__VA_ARGS__) \ -) - - -#endif // include guard diff --git a/lib/atoi/str2i/str2s.c b/lib/atoi/str2i/str2s.c deleted file mode 100644 index f77c594e..00000000 --- a/lib/atoi/str2i/str2s.c +++ /dev/null @@ -1,14 +0,0 @@ -// SPDX-FileCopyrightText: 2007-2009, Nicolas François -// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar -// SPDX-License-Identifier: BSD-3-Clause - - -#include - -#include "atoi/str2i/str2s.h" - - -extern inline int str2sh(short *restrict n, const char *restrict s); -extern inline int str2si(int *restrict n, const char *restrict s); -extern inline int str2sl(long *restrict n, const char *restrict s); -extern inline int str2sll(long long *restrict n, const char *restrict s); diff --git a/lib/atoi/str2i/str2s.h b/lib/atoi/str2i/str2s.h deleted file mode 100644 index dc20faa1..00000000 --- a/lib/atoi/str2i/str2s.h +++ /dev/null @@ -1,57 +0,0 @@ -// SPDX-FileCopyrightText: 2007-2009, Nicolas François -// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar -// SPDX-License-Identifier: BSD-3-Clause - - -#ifndef SHADOW_INCLUDE_LIB_ATOI_STR2I_STR2S_H_ -#define SHADOW_INCLUDE_LIB_ATOI_STR2I_STR2S_H_ - - -#include - -#include -#include - -#include "atoi/a2i/a2s.h" -#include "attr.h" - - -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) -inline int str2sh(short *restrict n, const char *restrict s); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) -inline int str2si(int *restrict n, const char *restrict s); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) -inline int str2sl(long *restrict n, const char *restrict s); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) -inline int str2sll(long long *restrict n, const char *restrict s); - - -inline int -str2sh(short *restrict n, const char *restrict s) -{ - return a2sh(n, s, NULL, 0, SHRT_MIN, SHRT_MAX); -} - - -inline int -str2si(int *restrict n, const char *restrict s) -{ - return a2si(n, s, NULL, 0, INT_MIN, INT_MAX); -} - - -inline int -str2sl(long *restrict n, const char *restrict s) -{ - return a2sl(n, s, NULL, 0, LONG_MIN, LONG_MAX); -} - - -inline int -str2sll(long long *restrict n, const char *restrict s) -{ - return a2sll(n, s, NULL, 0, LLONG_MIN, LLONG_MAX); -} - - -#endif // include guard diff --git a/lib/atoi/str2i/str2u.c b/lib/atoi/str2i/str2u.c deleted file mode 100644 index 25fffda9..00000000 --- a/lib/atoi/str2i/str2u.c +++ /dev/null @@ -1,14 +0,0 @@ -// SPDX-FileCopyrightText: 2007-2009, Nicolas François -// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar -// SPDX-License-Identifier: BSD-3-Clause - - -#include - -#include "atoi/str2i/str2u.h" - - -extern inline int str2uh(unsigned short *restrict n, const char *restrict s); -extern inline int str2ui(unsigned int *restrict n, const char *restrict s); -extern inline int str2ul(unsigned long *restrict n, const char *restrict s); -extern inline int str2ull(unsigned long long *restrict n, const char *restrict s); diff --git a/lib/atoi/str2i/str2u.h b/lib/atoi/str2i/str2u.h deleted file mode 100644 index c25941ce..00000000 --- a/lib/atoi/str2i/str2u.h +++ /dev/null @@ -1,57 +0,0 @@ -// SPDX-FileCopyrightText: 2007-2009, Nicolas François -// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar -// SPDX-License-Identifier: BSD-3-Clause - - -#ifndef SHADOW_INCLUDE_LIB_ATOI_STR2I_STR2U_H_ -#define SHADOW_INCLUDE_LIB_ATOI_STR2I_STR2U_H_ - - -#include - -#include -#include - -#include "atoi/a2i/a2u.h" -#include "attr.h" - - -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) -inline int str2uh(unsigned short *restrict n, const char *restrict s); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) -inline int str2ui(unsigned int *restrict n, const char *restrict s); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) -inline int str2ul(unsigned long *restrict n, const char *restrict s); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) -inline int str2ull(unsigned long long *restrict n, const char *restrict s); - - -inline int -str2uh(unsigned short *restrict n, const char *restrict s) -{ - return a2uh(n, s, NULL, 0, 0, USHRT_MAX); -} - - -inline int -str2ui(unsigned int *restrict n, const char *restrict s) -{ - return a2ui(n, s, NULL, 0, 0, UINT_MAX); -} - - -inline int -str2ul(unsigned long *restrict n, const char *restrict s) -{ - return a2ul(n, s, NULL, 0, 0, ULONG_MAX); -} - - -inline int -str2ull(unsigned long long *restrict n, const char *restrict s) -{ - return a2ull(n, s, NULL, 0, 0, ULLONG_MAX); -} - - -#endif // include guard diff --git a/lib/audit_help.c b/lib/audit_help.c index 8b240255..710069b8 100644 --- a/lib/audit_help.c +++ b/lib/audit_help.c @@ -98,7 +98,7 @@ audit_logger_with_group(int type, const char *op, const char *name, { int len; char enc_group[GROUP_NAME_MAX_LENGTH * 2 + 1]; - char buf[NITEMS(enc_group) + 100]; + char buf[countof(enc_group) + 100]; if (audit_fd < 0) return; diff --git a/lib/commonio.c b/lib/commonio.c index fc8ad7a5..7304ec00 100644 --- a/lib/commonio.c +++ b/lib/commonio.c @@ -35,8 +35,10 @@ #include "shadowlog_internal.h" #include "sssd.h" #include "string/memset/memzero.h" +#include "string/sprintf/aprintf.h" #include "string/sprintf/snprintf.h" #include "string/strcmp/streq.h" +#include "string/strcmp/strprefix.h" #include "string/strtok/stpsep.h" @@ -360,9 +362,12 @@ int commonio_lock_nowait (struct commonio_db *db, bool log) return 1; } - if (asprintf(&file, "%s.%ju", db->filename, (uintmax_t) getpid()) == -1) + file = aprintf("%s.%ju", db->filename, (uintmax_t) getpid()); + if (file == NULL) goto cleanup_ENOMEM; - if (asprintf(&lock, "%s.lock", db->filename) == -1) + + lock = aprintf("%s.lock", db->filename); + if (lock == NULL) goto cleanup_ENOMEM; if (do_lock_file (file, lock, log) != 0) { @@ -515,7 +520,7 @@ static void add_one_entry (struct commonio_db *db, static bool name_is_nis (const char *name) { - return (('+' == name[0]) || ('-' == name[0])); + return strprefix(name, "+") || strprefix(name, "-"); } diff --git a/lib/console.c b/lib/console.c index 28389331..23d775de 100644 --- a/lib/console.c +++ b/lib/console.c @@ -17,6 +17,7 @@ #include "getdef.h" #include "prototypes.h" #include "string/strcmp/streq.h" +#include "string/strcmp/strprefix.h" #include "string/strcpy/strtcpy.h" #include "string/strtok/stpsep.h" @@ -103,9 +104,7 @@ is_listed(const char *cfgin, const char *tty, bool def) bool console (const char *tty) { - if (strncmp (tty, "/dev/", 5) == 0) { - tty += 5; - } + tty = strprefix(tty, "/dev/") ?: tty; return is_listed ("CONSOLE", tty, true); } diff --git a/lib/copydir.c b/lib/copydir.c index 6312399e..37462dd8 100644 --- a/lib/copydir.c +++ b/lib/copydir.c @@ -38,8 +38,10 @@ #include #endif /* WITH_ATTR */ #include "shadowlog.h" -#include "string/sprintf/xasprintf.h" +#include "string/sprintf/aprintf.h" +#include "string/sprintf/xaprintf.h" #include "string/strcmp/streq.h" +#include "string/strcmp/strprefix.h" static /*@null@*/const char *src_orig; @@ -232,7 +234,7 @@ static /*@exposed@*/ /*@null@*/struct link_name *check_link (const char *name, c lp->ln_dev = sb->st_dev; lp->ln_ino = sb->st_ino; lp->ln_count = sb->st_nlink; - xasprintf(&lp->ln_name, "%s%s", dst_orig, name + strlen(src_orig)); + lp->ln_name = xaprintf("%s%s", dst_orig, name + strlen(src_orig)); lp->ln_next = links; links = lp; @@ -321,13 +323,13 @@ static int copy_tree_impl (const struct path_info *src, const struct path_info * continue; } - if (asprintf(&src_name, "%s/%s", src->full_path, ent->d_name) == -1) - { + src_name = aprintf("%s/%s", src->full_path, ent->d_name); + if (src_name == NULL) { err = -1; continue; } - if (asprintf(&dst_name, "%s/%s", dst->full_path, ent->d_name) == -1) - { + dst_name = aprintf("%s/%s", dst->full_path, ent->d_name); + if (dst_name == NULL) { err = -1; goto skip; } @@ -576,10 +578,10 @@ static int copy_symlink (const struct path_info *src, const struct path_info *ds * create a link to the corresponding entry in the dst_orig * directory. */ - if (strncmp(oldlink, src_orig, strlen(src_orig)) == 0) { + if (strprefix(oldlink, src_orig)) { char *dummy; - xasprintf(&dummy, "%s%s", dst_orig, oldlink + strlen(src_orig)); + dummy = xaprintf("%s%s", dst_orig, oldlink + strlen(src_orig)); free(oldlink); oldlink = dummy; } diff --git a/lib/defines.h b/lib/defines.h index 89300c93..8673a09f 100644 --- a/lib/defines.h +++ b/lib/defines.h @@ -65,6 +65,14 @@ #endif #endif +#ifndef PATH_MAX +#define PATH_MAX 4096 +#endif + +#ifndef MAXHOSTNAMELEN +#define MAXHOSTNAMELEN 64 +#endif + #include #ifndef LOG_WARN diff --git a/lib/encrypt.c b/lib/encrypt.c index 9c1cb406..1abe0a62 100644 --- a/lib/encrypt.c +++ b/lib/encrypt.c @@ -17,6 +17,8 @@ #include "prototypes.h" #include "defines.h" #include "shadowlog_internal.h" +#include "string/strcmp/strprefix.h" + /*@exposed@*//*@null@*/char *pw_encrypt (const char *clear, const char *salt) { @@ -35,7 +37,7 @@ /* Some crypt() do not return NULL if the algorithm is not * supported, and return a DES encrypted password. */ - if ((NULL != salt) && (salt[0] == '$') && (strlen (cp) <= 13)) + if ((NULL != salt) && strprefix(salt, "$") && (strlen (cp) <= 13)) { /*@observer@*/const char *method; switch (salt[1]) diff --git a/lib/env.c b/lib/env.c index 9cb31371..5eb58534 100644 --- a/lib/env.c +++ b/lib/env.c @@ -22,7 +22,8 @@ #include "defines.h" #include "shadowlog.h" #include "string/sprintf/snprintf.h" -#include "string/sprintf/xasprintf.h" +#include "string/sprintf/xaprintf.h" +#include "string/strcmp/strprefix.h" #include "string/strdup/xstrdup.h" @@ -77,7 +78,7 @@ void addenv (const char *string, /*@null@*/const char *value) size_t i, n; if (NULL != value) { - xasprintf(&newstring, "%s=%s", string, value); + newstring = xaprintf("%s=%s", string, value); } else { newstring = xstrdup (string); } @@ -175,7 +176,7 @@ void set_env (int argc, char *const *argv) const char *const *p; for (p = forbid; NULL != *p; p++) { - if (strncmp (*argv, *p, strlen (*p)) == 0) { + if (strprefix(*argv, *p)) { break; } } @@ -210,7 +211,7 @@ void sanitize_env (void) for (cur = envp; NULL != *cur; cur++) { for (bad = forbid; NULL != *bad; bad++) { - if (strncmp (*cur, *bad, strlen (*bad)) == 0) { + if (strprefix(*cur, *bad)) { for (move = cur; NULL != *move; move++) { *move = *(move + 1); } @@ -222,7 +223,7 @@ void sanitize_env (void) for (cur = envp; NULL != *cur; cur++) { for (bad = noslash; NULL != *bad; bad++) { - if (strncmp (*cur, *bad, strlen (*bad)) != 0) { + if (!strprefix(*cur, *bad)) { continue; } if (strchr (*cur, '/') == NULL) { diff --git a/lib/fields.c b/lib/fields.c index 9e08adad..b32ca466 100644 --- a/lib/fields.c +++ b/lib/fields.c @@ -9,13 +9,15 @@ #include -#ident "$Id$" +#include "fields.h" #include #include #include #include "prototypes.h" +#include "string/ctype/strisascii/strisprint.h" +#include "string/ctype/strchrisascii/strchriscntrl.h" #include "string/strcmp/streq.h" #include "string/strspn/stpspn.h" #include "string/strspn/stprspn.h" @@ -25,41 +27,27 @@ /* * valid_field - insure that a field contains all legal characters * - * The supplied field is scanned for non-printable and other illegal - * characters. - * + -1 is returned if an illegal or control character is present. - * + 1 is returned if no illegal or control characters are present, - * but the field contains a non-printable character. - * + 0 is returned otherwise. + * Return: + * -1 Illegal or control characters are present. + * 1 Non-ASCII characters are present. + * 0 All chatacters are legal and ASCII. */ -int valid_field (const char *field, const char *illegal) +int +valid_field_(const char *field, const char *illegal) { - const char *cp; - int err = 0; - - if (NULL == field) { + if (NULL == field) return -1; - } - /* For each character of field, search if it appears in the list - * of illegal characters. */ - if (illegal && NULL != strpbrk (field, illegal)) { + if (strpbrk(field, illegal)) return -1; - } + if (strchriscntrl(field)) + return -1; + if (strisprint(field)) + return 0; + if (streq(field, "")) + return 0; - /* Search if there are non-printable or control characters */ - for (cp = field; !streq(cp, ""); cp++) { - unsigned char c = *cp; - if (!isprint (c)) { - err = 1; - } - if (iscntrl (c)) { - err = -1; - break; - } - } - - return err; + return 1; // !ASCII } /* diff --git a/lib/fields.h b/lib/fields.h new file mode 100644 index 00000000..6e5d61aa --- /dev/null +++ b/lib/fields.h @@ -0,0 +1,20 @@ +// SPDX-FileCopyrightText: 2025, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + +#ifndef _SHADOW_INCLUDE_LIB_FIELDS_H_ +#define _SHADOW_INCLUDE_LIB_FIELDS_H_ + + +#include + +#include + + +#define valid_field(field, illegal) valid_field_(field, "" illegal "") + + +int valid_field_(const char *field, const char *illegal); +void change_field(char *buf, size_t maxsize, const char *prompt); + + +#endif // include guard diff --git a/lib/fs/mkstemp/fmkomstemp.c b/lib/fs/mkstemp/fmkomstemp.c new file mode 100644 index 00000000..a8b49d6e --- /dev/null +++ b/lib/fs/mkstemp/fmkomstemp.c @@ -0,0 +1,13 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "fs/mkstemp/fmkomstemp.h" + +#include +#include + + +extern inline FILE *fmkomstemp(char *template, unsigned int flags, mode_t m); diff --git a/lib/fs/mkstemp/fmkomstemp.h b/lib/fs/mkstemp/fmkomstemp.h new file mode 100644 index 00000000..c0649d99 --- /dev/null +++ b/lib/fs/mkstemp/fmkomstemp.h @@ -0,0 +1,44 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_FS_MKSTEMP_FMKOMSTEMP_H_ +#define SHADOW_INCLUDE_LIB_FS_MKSTEMP_FMKOMSTEMP_H_ + + +#include + +#include +#include +#include + +#include "fs/mkstemp/mkomstemp.h" + + +inline FILE *fmkomstemp(char *template, unsigned int flags, mode_t m); + + +// FILE make with-open(2)-flags with-mode secure temporary +inline FILE * +fmkomstemp(char *template, unsigned int flags, mode_t m) +{ + int fd; + FILE *fp; + + fd = mkomstemp(template, flags, m); + if (fd == -1) + return NULL; + + fp = fdopen(fd, "w"); + if (fp == NULL) + goto fail; + + return fp; +fail: + close(fd); + unlink(template); + return NULL; +} + + +#endif // include guard diff --git a/lib/fs/mkstemp/mkomstemp.c b/lib/fs/mkstemp/mkomstemp.c new file mode 100644 index 00000000..9c6e3206 --- /dev/null +++ b/lib/fs/mkstemp/mkomstemp.c @@ -0,0 +1,12 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "fs/mkstemp/mkomstemp.h" + +#include + + +extern inline int mkomstemp(char *template, unsigned int flags, mode_t m); diff --git a/lib/fs/mkstemp/mkomstemp.h b/lib/fs/mkstemp/mkomstemp.h new file mode 100644 index 00000000..6ba5aa34 --- /dev/null +++ b/lib/fs/mkstemp/mkomstemp.h @@ -0,0 +1,41 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_FS_MKSTEMP_MKOMSTEMP_H_ +#define SHADOW_INCLUDE_LIB_FS_MKSTEMP_MKOMSTEMP_H_ + + +#include + +#include +#include +#include +#include + + +inline int mkomstemp(char *template, unsigned int flags, mode_t m); + + +// make with-open(2)-like-flags with-mode secure temporary +inline int +mkomstemp(char *template, unsigned int flags, mode_t m) +{ + int fd; + + fd = mkostemp(template, flags); + if (fd == -1) + return -1; + + if (fchmod(fd, m) == -1) + goto fail; + + return fd; +fail: + close(fd); + unlink(template); + return -1; +} + + +#endif // include guard diff --git a/lib/fs/readlink/areadlink.h b/lib/fs/readlink/areadlink.h index de931a7b..f1818905 100644 --- a/lib/fs/readlink/areadlink.h +++ b/lib/fs/readlink/areadlink.h @@ -9,11 +9,11 @@ #include #include -#include #include #include #include +#include "defines.h" #include "alloc/malloc.h" #include "attr.h" #include "fs/readlink/readlinknul.h" diff --git a/lib/fs/readlink/readlinknul.h b/lib/fs/readlink/readlinknul.h index ed2f34d1..0791df57 100644 --- a/lib/fs/readlink/readlinknul.h +++ b/lib/fs/readlink/readlinknul.h @@ -17,7 +17,7 @@ #include "sizeof.h" -#define READLINKNUL(link, buf) readlinknul(link, buf, NITEMS(buf)) +#define READLINKNUL(link, buf) readlinknul(link, buf, countof(buf)) ATTR_STRING(1) diff --git a/lib/get_pid.c b/lib/get_pid.c index f4d31cfd..6aa3987d 100644 --- a/lib/get_pid.c +++ b/lib/get_pid.c @@ -5,15 +5,15 @@ #include -#ident "$Id$" - -#include "prototypes.h" -#include "defines.h" +#include +#include #include #include -#include +#include "defines.h" #include "atoi/getnum.h" +#include "defines.h" +#include "prototypes.h" #include "string/sprintf/snprintf.h" @@ -52,22 +52,21 @@ int get_pidfd_from_fd(const char *pidfdstr) int open_pidfd(const char *pidstr) { int proc_dir_fd; - char proc_dir_name[32]; + char proc_dir_name[PATH_MAX]; pid_t target; if (get_pid(pidstr, &target) == -1) return -ENOENT; - /* max string length is 6 + 10 + 1 + 1 = 18, allocate 32 bytes */ - if (SNPRINTF(proc_dir_name, "/proc/%u/", target) == -1) { - fprintf(stderr, "snprintf of proc path failed for %u: %s\n", + if (SNPRINTF(proc_dir_name, "/proc/%d/", target) == -1) { + fprintf(stderr, "snprintf of proc path failed for %d: %s\n", target, strerror(errno)); return -EINVAL; } proc_dir_fd = open(proc_dir_name, O_DIRECTORY); if (proc_dir_fd < 0) { - fprintf(stderr, _("Could not open proc directory for target %u: %s\n"), + fprintf(stderr, _("Could not open proc directory for target %d: %s\n"), target, strerror(errno)); return -EINVAL; } diff --git a/lib/getdate.c b/lib/getdate.c deleted file mode 100644 index 55ad94d3..00000000 --- a/lib/getdate.c +++ /dev/null @@ -1,2293 +0,0 @@ -/* A Bison parser, made by GNU Bison 3.8.2. */ - -/* Bison implementation for Yacc-like parsers in C - - Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, - Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -/* As a special exception, you may create a larger work that contains - part or all of the Bison parser skeleton and distribute that work - under terms of your choice, so long as that work isn't itself a - parser generator using the skeleton or a modified version thereof - as a parser skeleton. Alternatively, if you modify or redistribute - the parser skeleton itself, you may (at your option) remove this - special exception, which will cause the skeleton and the resulting - Bison output files to be licensed under the GNU General Public - License without this special exception. - - This special exception was added by the Free Software Foundation in - version 2.2 of Bison. */ - -/* C LALR(1) parser skeleton written by Richard Stallman, by - simplifying the original so-called "semantic" parser. */ - -/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, - especially those whose name start with YY_ or yy_. They are - private implementation details that can be changed or removed. */ - -/* All symbols defined below should begin with yy or YY, to avoid - infringing on user name space. This should be done even for local - variables, as they might otherwise be expanded by user macros. - There are some unavoidable exceptions within include files to - define necessary library symbols; they are noted "INFRINGES ON - USER NAME SPACE" below. */ - -/* Identify Bison output, and Bison version. */ -#define YYBISON 30802 - -/* Bison version string. */ -#define YYBISON_VERSION "3.8.2" - -/* Skeleton name. */ -#define YYSKELETON_NAME "yacc.c" - -/* Pure parsers. */ -#define YYPURE 0 - -/* Push parsers. */ -#define YYPUSH 0 - -/* Pull parsers. */ -#define YYPULL 1 - - - - -/* First part of user prologue. */ -#line 1 "getdate.y" - -/* -** Originally written by Steven M. Bellovin while -** at the University of North Carolina at Chapel Hill. Later tweaked by -** a couple of people on Usenet. Completely overhauled by Rich $alz -** and Jim Berets in August, 1990; -** -** This grammar has 13 shift/reduce conflicts. -** -** This code is in the public domain and has no copyright. -*/ - -#ifdef HAVE_CONFIG_H -# include -#endif - -/* Since the code of getdate.y is not included in the Emacs executable - itself, there is no need to #define static in this file. Even if - the code were included in the Emacs executable, it probably - wouldn't do any harm to #undef it here; this will only cause - problems if we try to write to a static variable, which I don't - think this code needs to do. */ -#ifdef emacs -# undef static -#endif - -#include -#include -#include -#include - -#include "attr.h" -#include "getdate.h" -#include "string/strcmp/streq.h" -#include "string/strspn/stpspn.h" - - -/* Some old versions of bison generate parsers that use bcopy. - That loses on systems that don't provide the function, so we have - to redefine it here. */ -#if !defined (HAVE_BCOPY) && !defined (bcopy) -# define bcopy(from, to, len) memcpy ((to), (from), (len)) -#endif - -/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc), - as well as gratuitously global symbol names, so we can have multiple - yacc generated parsers in the same program. Note that these are only - the variables produced by yacc. If other parser generators (bison, - byacc, etc) produce additional global names that conflict at link time, - then those parser generators need to be fixed instead of adding those - names to this list. */ - -#define yymaxdepth gd_maxdepth -#define yyparse gd_parse -#define yylex gd_lex -#define yyerror gd_error -#define yylval gd_lval -#define yychar gd_char -#define yydebug gd_debug -#define yypact gd_pact -#define yyr1 gd_r1 -#define yyr2 gd_r2 -#define yydef gd_def -#define yychk gd_chk -#define yypgo gd_pgo -#define yyact gd_act -#define yyexca gd_exca -#define yyerrflag gd_errflag -#define yynerrs gd_nerrs -#define yyps gd_ps -#define yypv gd_pv -#define yys gd_s -#define yy_yys gd_yys -#define yystate gd_state -#define yytmp gd_tmp -#define yyv gd_v -#define yy_yyv gd_yyv -#define yyval gd_val -#define yylloc gd_lloc -#define yyreds gd_reds /* With YYDEBUG defined */ -#define yytoks gd_toks /* With YYDEBUG defined */ -#define yylhs gd_yylhs -#define yylen gd_yylen -#define yydefred gd_yydefred -#define yydgoto gd_yydgoto -#define yysindex gd_yysindex -#define yyrindex gd_yyrindex -#define yygindex gd_yygindex -#define yytable gd_yytable -#define yycheck gd_yycheck - -static int yylex (void); -static int yyerror (const char *s); - - -#define MAX_BUFF_LEN 128 /* size of buffer to read the date into */ - -/* -** An entry in the lexical lookup table. -*/ -typedef struct _TABLE { - const char *name; - int type; - int value; -} TABLE; - - -/* -** Meridian: am, pm, or 24-hour style. -*/ -typedef enum _MERIDIAN { - MERam, MERpm, MER24 -} MERIDIAN; - - -/* -** Global variables. We could get rid of most of these by using a good -** union as the yacc stack. (This routine was originally written before -** yacc had the %union construct.) Maybe someday; right now we only use -** the %union very rarely. -*/ -static const char *yyInput; -static int yyDayOrdinal; -static int yyDayNumber; -static int yyHaveDate; -static int yyHaveDay; -static int yyHaveRel; -static int yyHaveTime; -static int yyDay; -static int yyHour; -static int yyMinutes; -static int yyMonth; -static int yySeconds; -static int yyYear; -static MERIDIAN yyMeridian; -static int yyRelDay; -static int yyRelHour; -static int yyRelMinutes; -static int yyRelMonth; -static int yyRelSeconds; -static int yyRelYear; - - -#line 215 "getdate.c" - -# ifndef YY_CAST -# ifdef __cplusplus -# define YY_CAST(Type, Val) static_cast (Val) -# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast (Val) -# else -# define YY_CAST(Type, Val) ((Type) (Val)) -# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val)) -# endif -# endif -# ifndef YY_NULLPTR -# if defined __cplusplus -# if 201103L <= __cplusplus -# define YY_NULLPTR nullptr -# else -# define YY_NULLPTR 0 -# endif -# else -# define YY_NULLPTR ((void*)0) -# endif -# endif - - -/* Debug traces. */ -#ifndef YYDEBUG -# define YYDEBUG 0 -#endif -#if YYDEBUG -extern int yydebug; -#endif - -/* Token kinds. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - enum yytokentype - { - YYEMPTY = -2, - YYEOF = 0, /* "end of file" */ - YYerror = 256, /* error */ - YYUNDEF = 257, /* "invalid token" */ - tAGO = 258, /* tAGO */ - tDAY = 259, /* tDAY */ - tDAY_UNIT = 260, /* tDAY_UNIT */ - tHOUR_UNIT = 261, /* tHOUR_UNIT */ - tID = 262, /* tID */ - tMERIDIAN = 263, /* tMERIDIAN */ - tMINUTE_UNIT = 264, /* tMINUTE_UNIT */ - tMONTH = 265, /* tMONTH */ - tMONTH_UNIT = 266, /* tMONTH_UNIT */ - tSEC_UNIT = 267, /* tSEC_UNIT */ - tSNUMBER = 268, /* tSNUMBER */ - tUNUMBER = 269, /* tUNUMBER */ - tYEAR_UNIT = 270 /* tYEAR_UNIT */ - }; - typedef enum yytokentype yytoken_kind_t; -#endif -/* Token kinds. */ -#define YYEMPTY -2 -#define YYEOF 0 -#define YYerror 256 -#define YYUNDEF 257 -#define tAGO 258 -#define tDAY 259 -#define tDAY_UNIT 260 -#define tHOUR_UNIT 261 -#define tID 262 -#define tMERIDIAN 263 -#define tMINUTE_UNIT 264 -#define tMONTH 265 -#define tMONTH_UNIT 266 -#define tSEC_UNIT 267 -#define tSNUMBER 268 -#define tUNUMBER 269 -#define tYEAR_UNIT 270 - -/* Value type. */ -#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -union YYSTYPE -{ -#line 145 "getdate.y" - - int Number; - enum _MERIDIAN Meridian; - -#line 300 "getdate.c" - -}; -typedef union YYSTYPE YYSTYPE; -# define YYSTYPE_IS_TRIVIAL 1 -# define YYSTYPE_IS_DECLARED 1 -#endif - - -extern YYSTYPE yylval; - - -int yyparse (void); - - - -/* Symbol kind. */ -enum yysymbol_kind_t -{ - YYSYMBOL_YYEMPTY = -2, - YYSYMBOL_YYEOF = 0, /* "end of file" */ - YYSYMBOL_YYerror = 1, /* error */ - YYSYMBOL_YYUNDEF = 2, /* "invalid token" */ - YYSYMBOL_tAGO = 3, /* tAGO */ - YYSYMBOL_tDAY = 4, /* tDAY */ - YYSYMBOL_tDAY_UNIT = 5, /* tDAY_UNIT */ - YYSYMBOL_tHOUR_UNIT = 6, /* tHOUR_UNIT */ - YYSYMBOL_tID = 7, /* tID */ - YYSYMBOL_tMERIDIAN = 8, /* tMERIDIAN */ - YYSYMBOL_tMINUTE_UNIT = 9, /* tMINUTE_UNIT */ - YYSYMBOL_tMONTH = 10, /* tMONTH */ - YYSYMBOL_tMONTH_UNIT = 11, /* tMONTH_UNIT */ - YYSYMBOL_tSEC_UNIT = 12, /* tSEC_UNIT */ - YYSYMBOL_tSNUMBER = 13, /* tSNUMBER */ - YYSYMBOL_tUNUMBER = 14, /* tUNUMBER */ - YYSYMBOL_tYEAR_UNIT = 15, /* tYEAR_UNIT */ - YYSYMBOL_16_ = 16, /* ':' */ - YYSYMBOL_17_ = 17, /* ',' */ - YYSYMBOL_18_ = 18, /* '/' */ - YYSYMBOL_YYACCEPT = 19, /* $accept */ - YYSYMBOL_spec = 20, /* spec */ - YYSYMBOL_item = 21, /* item */ - YYSYMBOL_time = 22, /* time */ - YYSYMBOL_day = 23, /* day */ - YYSYMBOL_date = 24, /* date */ - YYSYMBOL_rel = 25, /* rel */ - YYSYMBOL_relunit = 26, /* relunit */ - YYSYMBOL_number = 27, /* number */ - YYSYMBOL_o_merid = 28 /* o_merid */ -}; -typedef enum yysymbol_kind_t yysymbol_kind_t; - - - - -#ifdef short -# undef short -#endif - -/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure - and (if available) are included - so that the code can choose integer types of a good width. */ - -#ifndef __PTRDIFF_MAX__ -# include /* INFRINGES ON USER NAME SPACE */ -# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__ -# include /* INFRINGES ON USER NAME SPACE */ -# define YY_STDINT_H -# endif -#endif - -/* Narrow types that promote to a signed type and that can represent a - signed or unsigned integer of at least N bits. In tables they can - save space and decrease cache pressure. Promoting to a signed type - helps avoid bugs in integer arithmetic. */ - -#ifdef __INT_LEAST8_MAX__ -typedef __INT_LEAST8_TYPE__ yytype_int8; -#elif defined YY_STDINT_H -typedef int_least8_t yytype_int8; -#else -typedef signed char yytype_int8; -#endif - -#ifdef __INT_LEAST16_MAX__ -typedef __INT_LEAST16_TYPE__ yytype_int16; -#elif defined YY_STDINT_H -typedef int_least16_t yytype_int16; -#else -typedef short yytype_int16; -#endif - -/* Work around bug in HP-UX 11.23, which defines these macros - incorrectly for preprocessor constants. This workaround can likely - be removed in 2023, as HPE has promised support for HP-UX 11.23 - (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of - . */ -#ifdef __hpux -# undef UINT_LEAST8_MAX -# undef UINT_LEAST16_MAX -# define UINT_LEAST8_MAX 255 -# define UINT_LEAST16_MAX 65535 -#endif - -#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__ -typedef __UINT_LEAST8_TYPE__ yytype_uint8; -#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \ - && UINT_LEAST8_MAX <= INT_MAX) -typedef uint_least8_t yytype_uint8; -#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX -typedef unsigned char yytype_uint8; -#else -typedef short yytype_uint8; -#endif - -#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__ -typedef __UINT_LEAST16_TYPE__ yytype_uint16; -#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \ - && UINT_LEAST16_MAX <= INT_MAX) -typedef uint_least16_t yytype_uint16; -#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX -typedef unsigned short yytype_uint16; -#else -typedef int yytype_uint16; -#endif - -#ifndef YYPTRDIFF_T -# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__ -# define YYPTRDIFF_T __PTRDIFF_TYPE__ -# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__ -# elif defined PTRDIFF_MAX -# ifndef ptrdiff_t -# include /* INFRINGES ON USER NAME SPACE */ -# endif -# define YYPTRDIFF_T ptrdiff_t -# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX -# else -# define YYPTRDIFF_T long -# define YYPTRDIFF_MAXIMUM LONG_MAX -# endif -#endif - -#ifndef YYSIZE_T -# ifdef __SIZE_TYPE__ -# define YYSIZE_T __SIZE_TYPE__ -# elif defined size_t -# define YYSIZE_T size_t -# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__ -# include /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T size_t -# else -# define YYSIZE_T unsigned -# endif -#endif - -#define YYSIZE_MAXIMUM \ - YY_CAST (YYPTRDIFF_T, \ - (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \ - ? YYPTRDIFF_MAXIMUM \ - : YY_CAST (YYSIZE_T, -1))) - -#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X)) - - -/* Stored state numbers (used for stacks). */ -typedef yytype_int8 yy_state_t; - -/* State numbers in computations. */ -typedef int yy_state_fast_t; - -#ifndef YY_ -# if defined YYENABLE_NLS && YYENABLE_NLS -# if ENABLE_NLS -# include /* INFRINGES ON USER NAME SPACE */ -# define YY_(Msgid) dgettext ("bison-runtime", Msgid) -# endif -# endif -# ifndef YY_ -# define YY_(Msgid) Msgid -# endif -#endif - - -#ifndef YY_ATTRIBUTE_PURE -# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__) -# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__)) -# else -# define YY_ATTRIBUTE_PURE -# endif -#endif - -#ifndef YY_ATTRIBUTE_UNUSED -# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__) -# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) -# else -# define YY_ATTRIBUTE_UNUSED -# endif -#endif - -/* Suppress unused-variable warnings by "using" E. */ -#if ! defined lint || defined __GNUC__ -# define YY_USE(E) ((void) (E)) -#else -# define YY_USE(E) /* empty */ -#endif - -/* Suppress an incorrect diagnostic about yylval being uninitialized. */ -#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__ -# if __GNUC__ * 100 + __GNUC_MINOR__ < 407 -# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ - _Pragma ("GCC diagnostic push") \ - _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") -# else -# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ - _Pragma ("GCC diagnostic push") \ - _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \ - _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") -# endif -# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ - _Pragma ("GCC diagnostic pop") -#else -# define YY_INITIAL_VALUE(Value) Value -#endif -#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN -# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN -# define YY_IGNORE_MAYBE_UNINITIALIZED_END -#endif -#ifndef YY_INITIAL_VALUE -# define YY_INITIAL_VALUE(Value) /* Nothing. */ -#endif - -#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__ -# define YY_IGNORE_USELESS_CAST_BEGIN \ - _Pragma ("GCC diagnostic push") \ - _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"") -# define YY_IGNORE_USELESS_CAST_END \ - _Pragma ("GCC diagnostic pop") -#endif -#ifndef YY_IGNORE_USELESS_CAST_BEGIN -# define YY_IGNORE_USELESS_CAST_BEGIN -# define YY_IGNORE_USELESS_CAST_END -#endif - - -#define YY_ASSERT(E) ((void) (0 && (E))) - -#if !defined yyoverflow - -/* The parser invokes alloca or malloc; define the necessary symbols. */ - -# ifdef YYSTACK_USE_ALLOCA -# if YYSTACK_USE_ALLOCA -# ifdef __GNUC__ -# define YYSTACK_ALLOC __builtin_alloca -# elif defined __BUILTIN_VA_ARG_INCR -# include /* INFRINGES ON USER NAME SPACE */ -# elif defined _AIX -# define YYSTACK_ALLOC __alloca -# elif defined _MSC_VER -# include /* INFRINGES ON USER NAME SPACE */ -# define alloca _alloca -# else -# define YYSTACK_ALLOC alloca -# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS -# include /* INFRINGES ON USER NAME SPACE */ - /* Use EXIT_SUCCESS as a witness for stdlib.h. */ -# ifndef EXIT_SUCCESS -# define EXIT_SUCCESS 0 -# endif -# endif -# endif -# endif -# endif - -# ifdef YYSTACK_ALLOC - /* Pacify GCC's 'empty if-body' warning. */ -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) -# ifndef YYSTACK_ALLOC_MAXIMUM - /* The OS might guarantee only one guard page at the bottom of the stack, - and a page size can be as small as 4096 bytes. So we cannot safely - invoke alloca (N) if N exceeds 4096. Use a slightly smaller number - to allow for a few compiler-allocated temporary stack slots. */ -# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ -# endif -# else -# define YYSTACK_ALLOC YYMALLOC -# define YYSTACK_FREE YYFREE -# ifndef YYSTACK_ALLOC_MAXIMUM -# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM -# endif -# if (defined __cplusplus && ! defined EXIT_SUCCESS \ - && ! ((defined YYMALLOC || defined malloc) \ - && (defined YYFREE || defined free))) -# include /* INFRINGES ON USER NAME SPACE */ -# ifndef EXIT_SUCCESS -# define EXIT_SUCCESS 0 -# endif -# endif -# ifndef YYMALLOC -# define YYMALLOC malloc -# if ! defined malloc && ! defined EXIT_SUCCESS -void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ -# endif -# endif -# ifndef YYFREE -# define YYFREE free -# if ! defined free && ! defined EXIT_SUCCESS -void free (void *); /* INFRINGES ON USER NAME SPACE */ -# endif -# endif -# endif -#endif /* !defined yyoverflow */ - -#if (! defined yyoverflow \ - && (! defined __cplusplus \ - || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) - -/* A type that is properly aligned for any stack member. */ -union yyalloc -{ - yy_state_t yyss_alloc; - YYSTYPE yyvs_alloc; -}; - -/* The size of the maximum gap between one aligned stack and the next. */ -# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1) - -/* The size of an array large to enough to hold all stacks, each with - N elements. */ -# define YYSTACK_BYTES(N) \ - ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \ - + YYSTACK_GAP_MAXIMUM) - -# define YYCOPY_NEEDED 1 - -/* Relocate STACK from its old location to the new one. The - local variables YYSIZE and YYSTACKSIZE give the old and new number of - elements in the stack, and YYPTR gives the new location of the - stack. Advance YYPTR to a properly aligned location for the next - stack. */ -# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ - do \ - { \ - YYPTRDIFF_T yynewbytes; \ - YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ - Stack = &yyptr->Stack_alloc; \ - yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \ - yyptr += yynewbytes / YYSIZEOF (*yyptr); \ - } \ - while (0) - -#endif - -#if defined YYCOPY_NEEDED && YYCOPY_NEEDED -/* Copy COUNT objects from SRC to DST. The source and destination do - not overlap. */ -# ifndef YYCOPY -# if defined __GNUC__ && 1 < __GNUC__ -# define YYCOPY(Dst, Src, Count) \ - __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src))) -# else -# define YYCOPY(Dst, Src, Count) \ - do \ - { \ - YYPTRDIFF_T yyi; \ - for (yyi = 0; yyi < (Count); yyi++) \ - (Dst)[yyi] = (Src)[yyi]; \ - } \ - while (0) -# endif -# endif -#endif /* !YYCOPY_NEEDED */ - -/* YYFINAL -- State number of the termination state. */ -#define YYFINAL 2 -/* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 46 - -/* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 19 -/* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 10 -/* YYNRULES -- Number of rules. */ -#define YYNRULES 47 -/* YYNSTATES -- Number of states. */ -#define YYNSTATES 55 - -/* YYMAXUTOK -- Last valid token kind. */ -#define YYMAXUTOK 270 - - -/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM - as returned by yylex, with out-of-bounds checking. */ -#define YYTRANSLATE(YYX) \ - (0 <= (YYX) && (YYX) <= YYMAXUTOK \ - ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \ - : YYSYMBOL_YYUNDEF) - -/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM - as returned by yylex. */ -static const yytype_int8 yytranslate[] = -{ - 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 17, 2, 2, 18, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 16, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15 -}; - -#if YYDEBUG -/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ -static const yytype_int16 yyrline[] = -{ - 0, 161, 161, 162, 165, 168, 171, 174, 177, 180, - 186, 192, 197, 203, 211, 215, 219, 225, 229, 247, - 253, 259, 263, 268, 272, 279, 287, 290, 293, 296, - 299, 302, 305, 308, 311, 314, 317, 320, 323, 326, - 329, 332, 335, 338, 341, 346, 380, 383 -}; -#endif - -/** Accessing symbol of state STATE. */ -#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State]) - -#if YYDEBUG || 0 -/* The user-facing name of the symbol whose (internal) number is - YYSYMBOL. No bounds checking. */ -static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED; - -/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. - First, the terminals, then, starting at YYNTOKENS, nonterminals. */ -static const char *const yytname[] = -{ - "\"end of file\"", "error", "\"invalid token\"", "tAGO", "tDAY", - "tDAY_UNIT", "tHOUR_UNIT", "tID", "tMERIDIAN", "tMINUTE_UNIT", "tMONTH", - "tMONTH_UNIT", "tSEC_UNIT", "tSNUMBER", "tUNUMBER", "tYEAR_UNIT", "':'", - "','", "'/'", "$accept", "spec", "item", "time", "day", "date", "rel", - "relunit", "number", "o_merid", YY_NULLPTR -}; - -static const char * -yysymbol_name (yysymbol_kind_t yysymbol) -{ - return yytname[yysymbol]; -} -#endif - -#define YYPACT_NINF (-15) - -#define yypact_value_is_default(Yyn) \ - ((Yyn) == YYPACT_NINF) - -#define YYTABLE_NINF (-1) - -#define yytable_value_is_error(Yyn) \ - 0 - -/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ -static const yytype_int8 yypact[] = -{ - -15, 0, -15, -14, -15, -15, -15, -7, -15, -15, - 26, 12, -15, -15, -15, -15, -15, -15, 5, -15, - -15, 2, -15, -15, -15, -15, -15, -15, -15, -15, - -15, -15, -15, -12, -15, -15, 16, -15, 19, 22, - -15, 25, -15, -15, -15, 18, 24, -15, -15, 29, - -15, 30, 32, -15, -15 -}; - -/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. - Performed when YYTABLE does not specify something else to do. Zero - means the default is an error. */ -static const yytype_int8 yydefact[] = -{ - 2, 0, 1, 14, 35, 38, 41, 0, 32, 44, - 0, 45, 29, 3, 4, 6, 5, 7, 26, 8, - 15, 21, 34, 37, 40, 31, 43, 28, 16, 33, - 36, 9, 39, 23, 30, 42, 0, 27, 0, 0, - 25, 0, 20, 24, 19, 11, 17, 22, 47, 0, - 10, 0, 13, 18, 12 -}; - -/* YYPGOTO[NTERM-NUM]. */ -static const yytype_int8 yypgoto[] = -{ - -15, -15, -15, -15, -15, -15, -15, -15, -15, -6 -}; - -/* YYDEFGOTO[NTERM-NUM]. */ -static const yytype_int8 yydefgoto[] = -{ - 0, 1, 13, 14, 15, 16, 17, 18, 19, 50 -}; - -/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule whose - number is the opposite. If YYTABLE_NINF, syntax error. */ -static const yytype_int8 yytable[] = -{ - 2, 42, 43, 20, 3, 4, 5, 21, 40, 6, - 7, 8, 9, 10, 11, 12, 28, 29, 30, 41, - 31, 32, 33, 34, 35, 36, 48, 37, 38, 44, - 39, 22, 23, 45, 49, 24, 46, 25, 26, 47, - 48, 27, 51, 52, 53, 0, 54 -}; - -static const yytype_int8 yycheck[] = -{ - 0, 13, 14, 17, 4, 5, 6, 14, 3, 9, - 10, 11, 12, 13, 14, 15, 4, 5, 6, 17, - 8, 9, 10, 11, 12, 13, 8, 15, 16, 13, - 18, 5, 6, 14, 16, 9, 14, 11, 12, 14, - 8, 15, 18, 14, 14, -1, 52 -}; - -/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of - state STATE-NUM. */ -static const yytype_int8 yystos[] = -{ - 0, 20, 0, 4, 5, 6, 9, 10, 11, 12, - 13, 14, 15, 21, 22, 23, 24, 25, 26, 27, - 17, 14, 5, 6, 9, 11, 12, 15, 4, 5, - 6, 8, 9, 10, 11, 12, 13, 15, 16, 18, - 3, 17, 13, 14, 13, 14, 14, 14, 8, 16, - 28, 18, 14, 14, 28 -}; - -/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ -static const yytype_int8 yyr1[] = -{ - 0, 19, 20, 20, 21, 21, 21, 21, 21, 22, - 22, 22, 22, 22, 23, 23, 23, 24, 24, 24, - 24, 24, 24, 24, 24, 25, 25, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 27, 28, 28 -}; - -/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ -static const yytype_int8 yyr2[] = -{ - 0, 2, 0, 2, 1, 1, 1, 1, 1, 2, - 4, 3, 6, 5, 1, 2, 2, 3, 5, 3, - 3, 2, 4, 2, 3, 2, 1, 2, 2, 1, - 2, 2, 1, 2, 2, 1, 2, 2, 1, 2, - 2, 1, 2, 2, 1, 1, 0, 1 -}; - - -enum { YYENOMEM = -2 }; - -#define yyerrok (yyerrstatus = 0) -#define yyclearin (yychar = YYEMPTY) - -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrorlab -#define YYNOMEM goto yyexhaustedlab - - -#define YYRECOVERING() (!!yyerrstatus) - -#define YYBACKUP(Token, Value) \ - do \ - if (yychar == YYEMPTY) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - YYPOPSTACK (yylen); \ - yystate = *yyssp; \ - goto yybackup; \ - } \ - else \ - { \ - yyerror (YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ - while (0) - -/* Backward compatibility with an undocumented macro. - Use YYerror or YYUNDEF. */ -#define YYERRCODE YYUNDEF - - -/* Enable debugging if requested. */ -#if YYDEBUG - -# ifndef YYFPRINTF -# include /* INFRINGES ON USER NAME SPACE */ -# define YYFPRINTF fprintf -# endif - -# define YYDPRINTF(Args) \ -do { \ - if (yydebug) \ - YYFPRINTF Args; \ -} while (0) - - - - -# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \ -do { \ - if (yydebug) \ - { \ - YYFPRINTF (stderr, "%s ", Title); \ - yy_symbol_print (stderr, \ - Kind, Value); \ - YYFPRINTF (stderr, "\n"); \ - } \ -} while (0) - - -/*-----------------------------------. -| Print this symbol's value on YYO. | -`-----------------------------------*/ - -static void -yy_symbol_value_print (FILE *yyo, - yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep) -{ - FILE *yyoutput = yyo; - YY_USE (yyoutput); - if (!yyvaluep) - return; - YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN - YY_USE (yykind); - YY_IGNORE_MAYBE_UNINITIALIZED_END -} - - -/*---------------------------. -| Print this symbol on YYO. | -`---------------------------*/ - -static void -yy_symbol_print (FILE *yyo, - yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep) -{ - YYFPRINTF (yyo, "%s %s (", - yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind)); - - yy_symbol_value_print (yyo, yykind, yyvaluep); - YYFPRINTF (yyo, ")"); -} - -/*------------------------------------------------------------------. -| yy_stack_print -- Print the state stack from its BOTTOM up to its | -| TOP (included). | -`------------------------------------------------------------------*/ - -static void -yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop) -{ - YYFPRINTF (stderr, "Stack now"); - for (; yybottom <= yytop; yybottom++) - { - int yybot = *yybottom; - YYFPRINTF (stderr, " %d", yybot); - } - YYFPRINTF (stderr, "\n"); -} - -# define YY_STACK_PRINT(Bottom, Top) \ -do { \ - if (yydebug) \ - yy_stack_print ((Bottom), (Top)); \ -} while (0) - - -/*------------------------------------------------. -| Report that the YYRULE is going to be reduced. | -`------------------------------------------------*/ - -static void -yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, - int yyrule) -{ - int yylno = yyrline[yyrule]; - int yynrhs = yyr2[yyrule]; - int yyi; - YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n", - yyrule - 1, yylno); - /* The symbols being reduced. */ - for (yyi = 0; yyi < yynrhs; yyi++) - { - YYFPRINTF (stderr, " $%d = ", yyi + 1); - yy_symbol_print (stderr, - YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]), - &yyvsp[(yyi + 1) - (yynrhs)]); - YYFPRINTF (stderr, "\n"); - } -} - -# define YY_REDUCE_PRINT(Rule) \ -do { \ - if (yydebug) \ - yy_reduce_print (yyssp, yyvsp, Rule); \ -} while (0) - -/* Nonzero means print parse trace. It is left uninitialized so that - multiple parsers can coexist. */ -int yydebug; -#else /* !YYDEBUG */ -# define YYDPRINTF(Args) ((void) 0) -# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) -# define YY_STACK_PRINT(Bottom, Top) -# define YY_REDUCE_PRINT(Rule) -#endif /* !YYDEBUG */ - - -/* YYINITDEPTH -- initial size of the parser's stacks. */ -#ifndef YYINITDEPTH -# define YYINITDEPTH 200 -#endif - -/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only - if the built-in stack extension method is used). - - Do not make this value too large; the results are undefined if - YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) - evaluated with infinite-precision integer arithmetic. */ - -#ifndef YYMAXDEPTH -# define YYMAXDEPTH 10000 -#endif - - - - - - -/*-----------------------------------------------. -| Release the memory associated to this symbol. | -`-----------------------------------------------*/ - -static void -yydestruct (const char *yymsg, - yysymbol_kind_t yykind, YYSTYPE *yyvaluep) -{ - YY_USE (yyvaluep); - if (!yymsg) - yymsg = "Deleting"; - YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp); - - YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN - YY_USE (yykind); - YY_IGNORE_MAYBE_UNINITIALIZED_END -} - - -/* Lookahead token kind. */ -int yychar; - -/* The semantic value of the lookahead symbol. */ -YYSTYPE yylval; -/* Number of syntax errors so far. */ -int yynerrs; - - - - -/*----------. -| yyparse. | -`----------*/ - -int -yyparse (void) -{ - yy_state_fast_t yystate = 0; - /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus = 0; - - /* Refer to the stacks through separate pointers, to allow yyoverflow - to reallocate them elsewhere. */ - - /* Their size. */ - YYPTRDIFF_T yystacksize = YYINITDEPTH; - - /* The state stack: array, bottom, top. */ - yy_state_t yyssa[YYINITDEPTH]; - yy_state_t *yyss = yyssa; - yy_state_t *yyssp = yyss; - - /* The semantic value stack: array, bottom, top. */ - YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs = yyvsa; - YYSTYPE *yyvsp = yyvs; - - int yyn; - /* The return value of yyparse. */ - int yyresult; - /* Lookahead symbol kind. */ - yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY; - /* The variables used to return semantic value and location from the - action routines. */ - YYSTYPE yyval; - - - -#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) - - /* The number of symbols on the RHS of the reduced rule. - Keep to zero when no symbol should be popped. */ - int yylen = 0; - - YYDPRINTF ((stderr, "Starting parse\n")); - - yychar = YYEMPTY; /* Cause a token to be read. */ - - goto yysetstate; - - -/*------------------------------------------------------------. -| yynewstate -- push a new state, which is found in yystate. | -`------------------------------------------------------------*/ -yynewstate: - /* In all cases, when you get here, the value and location stacks - have just been pushed. So pushing a state here evens the stacks. */ - yyssp++; - - -/*--------------------------------------------------------------------. -| yysetstate -- set current state (the top of the stack) to yystate. | -`--------------------------------------------------------------------*/ -yysetstate: - YYDPRINTF ((stderr, "Entering state %d\n", yystate)); - YY_ASSERT (0 <= yystate && yystate < YYNSTATES); - YY_IGNORE_USELESS_CAST_BEGIN - *yyssp = YY_CAST (yy_state_t, yystate); - YY_IGNORE_USELESS_CAST_END - YY_STACK_PRINT (yyss, yyssp); - - if (yyss + yystacksize - 1 <= yyssp) -#if !defined yyoverflow && !defined YYSTACK_RELOCATE - YYNOMEM; -#else - { - /* Get the current used size of the three stacks, in elements. */ - YYPTRDIFF_T yysize = yyssp - yyss + 1; - -# if defined yyoverflow - { - /* Give user a chance to reallocate the stack. Use copies of - these so that the &'s don't force the real ones into - memory. */ - yy_state_t *yyss1 = yyss; - YYSTYPE *yyvs1 = yyvs; - - /* Each stack pointer address is followed by the size of the - data in use in that stack, in bytes. This used to be a - conditional around just the two extra args, but that might - be undefined if yyoverflow is a macro. */ - yyoverflow (YY_("memory exhausted"), - &yyss1, yysize * YYSIZEOF (*yyssp), - &yyvs1, yysize * YYSIZEOF (*yyvsp), - &yystacksize); - yyss = yyss1; - yyvs = yyvs1; - } -# else /* defined YYSTACK_RELOCATE */ - /* Extend the stack our own way. */ - if (YYMAXDEPTH <= yystacksize) - YYNOMEM; - yystacksize *= 2; - if (YYMAXDEPTH < yystacksize) - yystacksize = YYMAXDEPTH; - - { - yy_state_t *yyss1 = yyss; - union yyalloc *yyptr = - YY_CAST (union yyalloc *, - YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize)))); - if (! yyptr) - YYNOMEM; - YYSTACK_RELOCATE (yyss_alloc, yyss); - YYSTACK_RELOCATE (yyvs_alloc, yyvs); -# undef YYSTACK_RELOCATE - if (yyss1 != yyssa) - YYSTACK_FREE (yyss1); - } -# endif - - yyssp = yyss + yysize - 1; - yyvsp = yyvs + yysize - 1; - - YY_IGNORE_USELESS_CAST_BEGIN - YYDPRINTF ((stderr, "Stack size increased to %ld\n", - YY_CAST (long, yystacksize))); - YY_IGNORE_USELESS_CAST_END - - if (yyss + yystacksize - 1 <= yyssp) - YYABORT; - } -#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ - - - if (yystate == YYFINAL) - YYACCEPT; - - goto yybackup; - - -/*-----------. -| yybackup. | -`-----------*/ -yybackup: - /* Do appropriate processing given the current state. Read a - lookahead token if we need one and don't already have one. */ - - /* First try to decide what to do without reference to lookahead token. */ - yyn = yypact[yystate]; - if (yypact_value_is_default (yyn)) - goto yydefault; - - /* Not known => get a lookahead token if don't already have one. */ - - /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */ - if (yychar == YYEMPTY) - { - YYDPRINTF ((stderr, "Reading a token\n")); - yychar = yylex (); - } - - if (yychar <= YYEOF) - { - yychar = YYEOF; - yytoken = YYSYMBOL_YYEOF; - YYDPRINTF ((stderr, "Now at end of input.\n")); - } - else if (yychar == YYerror) - { - /* The scanner already issued an error message, process directly - to error recovery. But do not keep the error token as - lookahead, it is too special and may lead us to an endless - loop in error recovery. */ - yychar = YYUNDEF; - yytoken = YYSYMBOL_YYerror; - goto yyerrlab1; - } - else - { - yytoken = YYTRANSLATE (yychar); - YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); - } - - /* If the proper action on seeing token YYTOKEN is to reduce or to - detect an error, take that action. */ - yyn += yytoken; - if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) - goto yydefault; - yyn = yytable[yyn]; - if (yyn <= 0) - { - if (yytable_value_is_error (yyn)) - goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } - - /* Count tokens shifted since error; after three, turn off error - status. */ - if (yyerrstatus) - yyerrstatus--; - - /* Shift the lookahead token. */ - YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); - yystate = yyn; - YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN - *++yyvsp = yylval; - YY_IGNORE_MAYBE_UNINITIALIZED_END - - /* Discard the shifted token. */ - yychar = YYEMPTY; - goto yynewstate; - - -/*-----------------------------------------------------------. -| yydefault -- do the default action for the current state. | -`-----------------------------------------------------------*/ -yydefault: - yyn = yydefact[yystate]; - if (yyn == 0) - goto yyerrlab; - goto yyreduce; - - -/*-----------------------------. -| yyreduce -- do a reduction. | -`-----------------------------*/ -yyreduce: - /* yyn is the number of a rule to reduce with. */ - yylen = yyr2[yyn]; - - /* If YYLEN is nonzero, implement the default value of the action: - '$$ = $1'. - - Otherwise, the following line sets YYVAL to garbage. - This behavior is undocumented and Bison - users should not rely upon it. Assigning to YYVAL - unconditionally makes the parser a bit smaller, and it avoids a - GCC warning that YYVAL may be used uninitialized. */ - yyval = yyvsp[1-yylen]; - - - YY_REDUCE_PRINT (yyn); - switch (yyn) - { - case 4: /* item: time */ -#line 165 "getdate.y" - { - yyHaveTime++; - } -#line 1335 "getdate.c" - break; - - case 5: /* item: date */ -#line 168 "getdate.y" - { - yyHaveDate++; - } -#line 1343 "getdate.c" - break; - - case 6: /* item: day */ -#line 171 "getdate.y" - { - yyHaveDay++; - } -#line 1351 "getdate.c" - break; - - case 7: /* item: rel */ -#line 174 "getdate.y" - { - yyHaveRel++; - } -#line 1359 "getdate.c" - break; - - case 9: /* time: tUNUMBER tMERIDIAN */ -#line 180 "getdate.y" - { - yyHour = (yyvsp[-1].Number); - yyMinutes = 0; - yySeconds = 0; - yyMeridian = (yyvsp[0].Meridian); - } -#line 1370 "getdate.c" - break; - - case 10: /* time: tUNUMBER ':' tUNUMBER o_merid */ -#line 186 "getdate.y" - { - yyHour = (yyvsp[-3].Number); - yyMinutes = (yyvsp[-1].Number); - yySeconds = 0; - yyMeridian = (yyvsp[0].Meridian); - } -#line 1381 "getdate.c" - break; - - case 11: /* time: tUNUMBER ':' tUNUMBER */ -#line 192 "getdate.y" - { - yyHour = (yyvsp[-2].Number); - yyMinutes = (yyvsp[0].Number); - yyMeridian = MER24; - } -#line 1391 "getdate.c" - break; - - case 12: /* time: tUNUMBER ':' tUNUMBER ':' tUNUMBER o_merid */ -#line 197 "getdate.y" - { - yyHour = (yyvsp[-5].Number); - yyMinutes = (yyvsp[-3].Number); - yySeconds = (yyvsp[-1].Number); - yyMeridian = (yyvsp[0].Meridian); - } -#line 1402 "getdate.c" - break; - - case 13: /* time: tUNUMBER ':' tUNUMBER ':' tUNUMBER */ -#line 203 "getdate.y" - { - yyHour = (yyvsp[-4].Number); - yyMinutes = (yyvsp[-2].Number); - yySeconds = (yyvsp[0].Number); - yyMeridian = MER24; - } -#line 1413 "getdate.c" - break; - - case 14: /* day: tDAY */ -#line 211 "getdate.y" - { - yyDayOrdinal = 1; - yyDayNumber = (yyvsp[0].Number); - } -#line 1422 "getdate.c" - break; - - case 15: /* day: tDAY ',' */ -#line 215 "getdate.y" - { - yyDayOrdinal = 1; - yyDayNumber = (yyvsp[-1].Number); - } -#line 1431 "getdate.c" - break; - - case 16: /* day: tUNUMBER tDAY */ -#line 219 "getdate.y" - { - yyDayOrdinal = (yyvsp[-1].Number); - yyDayNumber = (yyvsp[0].Number); - } -#line 1440 "getdate.c" - break; - - case 17: /* date: tUNUMBER '/' tUNUMBER */ -#line 225 "getdate.y" - { - yyMonth = (yyvsp[-2].Number); - yyDay = (yyvsp[0].Number); - } -#line 1449 "getdate.c" - break; - - case 18: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ -#line 229 "getdate.y" - { - /* Interpret as YYYY/MM/DD if $1 >= 1000, otherwise as MM/DD/YY. - The goal in recognizing YYYY/MM/DD is solely to support legacy - machine-generated dates like those in an RCS log listing. If - you want portability, use the ISO 8601 format. */ - if ((yyvsp[-4].Number) >= 1000) - { - yyYear = (yyvsp[-4].Number); - yyMonth = (yyvsp[-2].Number); - yyDay = (yyvsp[0].Number); - } - else - { - yyMonth = (yyvsp[-4].Number); - yyDay = (yyvsp[-2].Number); - yyYear = (yyvsp[0].Number); - } - } -#line 1472 "getdate.c" - break; - - case 19: /* date: tUNUMBER tSNUMBER tSNUMBER */ -#line 247 "getdate.y" - { - /* ISO 8601 format. yyyy-mm-dd. */ - yyYear = (yyvsp[-2].Number); - yyMonth = -(yyvsp[-1].Number); - yyDay = -(yyvsp[0].Number); - } -#line 1483 "getdate.c" - break; - - case 20: /* date: tUNUMBER tMONTH tSNUMBER */ -#line 253 "getdate.y" - { - /* e.g. 17-JUN-1992. */ - yyDay = (yyvsp[-2].Number); - yyMonth = (yyvsp[-1].Number); - yyYear = -(yyvsp[0].Number); - } -#line 1494 "getdate.c" - break; - - case 21: /* date: tMONTH tUNUMBER */ -#line 259 "getdate.y" - { - yyMonth = (yyvsp[-1].Number); - yyDay = (yyvsp[0].Number); - } -#line 1503 "getdate.c" - break; - - case 22: /* date: tMONTH tUNUMBER ',' tUNUMBER */ -#line 263 "getdate.y" - { - yyMonth = (yyvsp[-3].Number); - yyDay = (yyvsp[-2].Number); - yyYear = (yyvsp[0].Number); - } -#line 1513 "getdate.c" - break; - - case 23: /* date: tUNUMBER tMONTH */ -#line 268 "getdate.y" - { - yyMonth = (yyvsp[0].Number); - yyDay = (yyvsp[-1].Number); - } -#line 1522 "getdate.c" - break; - - case 24: /* date: tUNUMBER tMONTH tUNUMBER */ -#line 272 "getdate.y" - { - yyMonth = (yyvsp[-1].Number); - yyDay = (yyvsp[-2].Number); - yyYear = (yyvsp[0].Number); - } -#line 1532 "getdate.c" - break; - - case 25: /* rel: relunit tAGO */ -#line 279 "getdate.y" - { - yyRelSeconds = -yyRelSeconds; - yyRelMinutes = -yyRelMinutes; - yyRelHour = -yyRelHour; - yyRelDay = -yyRelDay; - yyRelMonth = -yyRelMonth; - yyRelYear = -yyRelYear; - } -#line 1545 "getdate.c" - break; - - case 27: /* relunit: tUNUMBER tYEAR_UNIT */ -#line 290 "getdate.y" - { - yyRelYear += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1553 "getdate.c" - break; - - case 28: /* relunit: tSNUMBER tYEAR_UNIT */ -#line 293 "getdate.y" - { - yyRelYear += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1561 "getdate.c" - break; - - case 29: /* relunit: tYEAR_UNIT */ -#line 296 "getdate.y" - { - yyRelYear += (yyvsp[0].Number); - } -#line 1569 "getdate.c" - break; - - case 30: /* relunit: tUNUMBER tMONTH_UNIT */ -#line 299 "getdate.y" - { - yyRelMonth += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1577 "getdate.c" - break; - - case 31: /* relunit: tSNUMBER tMONTH_UNIT */ -#line 302 "getdate.y" - { - yyRelMonth += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1585 "getdate.c" - break; - - case 32: /* relunit: tMONTH_UNIT */ -#line 305 "getdate.y" - { - yyRelMonth += (yyvsp[0].Number); - } -#line 1593 "getdate.c" - break; - - case 33: /* relunit: tUNUMBER tDAY_UNIT */ -#line 308 "getdate.y" - { - yyRelDay += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1601 "getdate.c" - break; - - case 34: /* relunit: tSNUMBER tDAY_UNIT */ -#line 311 "getdate.y" - { - yyRelDay += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1609 "getdate.c" - break; - - case 35: /* relunit: tDAY_UNIT */ -#line 314 "getdate.y" - { - yyRelDay += (yyvsp[0].Number); - } -#line 1617 "getdate.c" - break; - - case 36: /* relunit: tUNUMBER tHOUR_UNIT */ -#line 317 "getdate.y" - { - yyRelHour += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1625 "getdate.c" - break; - - case 37: /* relunit: tSNUMBER tHOUR_UNIT */ -#line 320 "getdate.y" - { - yyRelHour += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1633 "getdate.c" - break; - - case 38: /* relunit: tHOUR_UNIT */ -#line 323 "getdate.y" - { - yyRelHour += (yyvsp[0].Number); - } -#line 1641 "getdate.c" - break; - - case 39: /* relunit: tUNUMBER tMINUTE_UNIT */ -#line 326 "getdate.y" - { - yyRelMinutes += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1649 "getdate.c" - break; - - case 40: /* relunit: tSNUMBER tMINUTE_UNIT */ -#line 329 "getdate.y" - { - yyRelMinutes += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1657 "getdate.c" - break; - - case 41: /* relunit: tMINUTE_UNIT */ -#line 332 "getdate.y" - { - yyRelMinutes += (yyvsp[0].Number); - } -#line 1665 "getdate.c" - break; - - case 42: /* relunit: tUNUMBER tSEC_UNIT */ -#line 335 "getdate.y" - { - yyRelSeconds += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1673 "getdate.c" - break; - - case 43: /* relunit: tSNUMBER tSEC_UNIT */ -#line 338 "getdate.y" - { - yyRelSeconds += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1681 "getdate.c" - break; - - case 44: /* relunit: tSEC_UNIT */ -#line 341 "getdate.y" - { - yyRelSeconds += (yyvsp[0].Number); - } -#line 1689 "getdate.c" - break; - - case 45: /* number: tUNUMBER */ -#line 347 "getdate.y" - { - if ((yyHaveTime != 0) && (yyHaveDate != 0) && (yyHaveRel == 0)) - yyYear = (yyvsp[0].Number); - else - { - if ((yyvsp[0].Number)>10000) - { - yyHaveDate++; - yyDay= ((yyvsp[0].Number))%100; - yyMonth= ((yyvsp[0].Number)/100)%100; - yyYear = (yyvsp[0].Number)/10000; - } - else - { - yyHaveTime++; - if ((yyvsp[0].Number) < 100) - { - yyHour = (yyvsp[0].Number); - yyMinutes = 0; - } - else - { - yyHour = (yyvsp[0].Number) / 100; - yyMinutes = (yyvsp[0].Number) % 100; - } - yySeconds = 0; - yyMeridian = MER24; - } - } - } -#line 1724 "getdate.c" - break; - - case 46: /* o_merid: %empty */ -#line 380 "getdate.y" - { - (yyval.Meridian) = MER24; - } -#line 1732 "getdate.c" - break; - - case 47: /* o_merid: tMERIDIAN */ -#line 384 "getdate.y" - { - (yyval.Meridian) = (yyvsp[0].Meridian); - } -#line 1740 "getdate.c" - break; - - -#line 1744 "getdate.c" - - default: break; - } - /* User semantic actions sometimes alter yychar, and that requires - that yytoken be updated with the new translation. We take the - approach of translating immediately before every use of yytoken. - One alternative is translating here after every semantic action, - but that translation would be missed if the semantic action invokes - YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or - if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an - incorrect destructor might then be invoked immediately. In the - case of YYERROR or YYBACKUP, subsequent parser actions might lead - to an incorrect destructor call or verbose syntax error message - before the lookahead is translated. */ - YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc); - - YYPOPSTACK (yylen); - yylen = 0; - - *++yyvsp = yyval; - - /* Now 'shift' the result of the reduction. Determine what state - that goes to, based on the state we popped back to and the rule - number reduced by. */ - { - const int yylhs = yyr1[yyn] - YYNTOKENS; - const int yyi = yypgoto[yylhs] + *yyssp; - yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp - ? yytable[yyi] - : yydefgoto[yylhs]); - } - - goto yynewstate; - - -/*--------------------------------------. -| yyerrlab -- here on detecting error. | -`--------------------------------------*/ -yyerrlab: - /* Make sure we have latest lookahead translation. See comments at - user semantic actions for why this is necessary. */ - yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar); - /* If not already recovering from an error, report this error. */ - if (!yyerrstatus) - { - ++yynerrs; - yyerror (YY_("syntax error")); - } - - if (yyerrstatus == 3) - { - /* If just tried and failed to reuse lookahead token after an - error, discard it. */ - - if (yychar <= YYEOF) - { - /* Return failure if at end of input. */ - if (yychar == YYEOF) - YYABORT; - } - else - { - yydestruct ("Error: discarding", - yytoken, &yylval); - yychar = YYEMPTY; - } - } - - /* Else will try to reuse lookahead token after shifting the error - token. */ - goto yyerrlab1; - - -/*---------------------------------------------------. -| yyerrorlab -- error raised explicitly by YYERROR. | -`---------------------------------------------------*/ -yyerrorlab: - /* Pacify compilers when the user code never invokes YYERROR and the - label yyerrorlab therefore never appears in user code. */ - if (0) - YYERROR; - ++yynerrs; - - /* Do not reclaim the symbols of the rule whose action triggered - this YYERROR. */ - YYPOPSTACK (yylen); - yylen = 0; - YY_STACK_PRINT (yyss, yyssp); - yystate = *yyssp; - goto yyerrlab1; - - -/*-------------------------------------------------------------. -| yyerrlab1 -- common code for both syntax error and YYERROR. | -`-------------------------------------------------------------*/ -yyerrlab1: - yyerrstatus = 3; /* Each real token shifted decrements this. */ - - /* Pop stack until we find a state that shifts the error token. */ - for (;;) - { - yyn = yypact[yystate]; - if (!yypact_value_is_default (yyn)) - { - yyn += YYSYMBOL_YYerror; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) - { - yyn = yytable[yyn]; - if (0 < yyn) - break; - } - } - - /* Pop the current state because it cannot handle the error token. */ - if (yyssp == yyss) - YYABORT; - - - yydestruct ("Error: popping", - YY_ACCESSING_SYMBOL (yystate), yyvsp); - YYPOPSTACK (1); - yystate = *yyssp; - YY_STACK_PRINT (yyss, yyssp); - } - - YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN - *++yyvsp = yylval; - YY_IGNORE_MAYBE_UNINITIALIZED_END - - - /* Shift the error token. */ - YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp); - - yystate = yyn; - goto yynewstate; - - -/*-------------------------------------. -| yyacceptlab -- YYACCEPT comes here. | -`-------------------------------------*/ -yyacceptlab: - yyresult = 0; - goto yyreturnlab; - - -/*-----------------------------------. -| yyabortlab -- YYABORT comes here. | -`-----------------------------------*/ -yyabortlab: - yyresult = 1; - goto yyreturnlab; - - -/*-----------------------------------------------------------. -| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. | -`-----------------------------------------------------------*/ -yyexhaustedlab: - yyerror (YY_("memory exhausted")); - yyresult = 2; - goto yyreturnlab; - - -/*----------------------------------------------------------. -| yyreturnlab -- parsing is finished, clean up and return. | -`----------------------------------------------------------*/ -yyreturnlab: - if (yychar != YYEMPTY) - { - /* Make sure we have latest lookahead translation. See comments at - user semantic actions for why this is necessary. */ - yytoken = YYTRANSLATE (yychar); - yydestruct ("Cleanup: discarding lookahead", - yytoken, &yylval); - } - /* Do not reclaim the symbols of the rule whose action triggered - this YYABORT or YYACCEPT. */ - YYPOPSTACK (yylen); - YY_STACK_PRINT (yyss, yyssp); - while (yyssp != yyss) - { - yydestruct ("Cleanup: popping", - YY_ACCESSING_SYMBOL (+*yyssp), yyvsp); - YYPOPSTACK (1); - } -#ifndef yyoverflow - if (yyss != yyssa) - YYSTACK_FREE (yyss); -#endif - - return yyresult; -} - -#line 389 "getdate.y" - - -/* Month and day table. */ -static TABLE const MonthDayTable[] = { - { "january", tMONTH, 1 }, - { "february", tMONTH, 2 }, - { "march", tMONTH, 3 }, - { "april", tMONTH, 4 }, - { "may", tMONTH, 5 }, - { "june", tMONTH, 6 }, - { "july", tMONTH, 7 }, - { "august", tMONTH, 8 }, - { "september", tMONTH, 9 }, - { "sept", tMONTH, 9 }, - { "october", tMONTH, 10 }, - { "november", tMONTH, 11 }, - { "december", tMONTH, 12 }, - { "sunday", tDAY, 0 }, - { "monday", tDAY, 1 }, - { "tuesday", tDAY, 2 }, - { "tues", tDAY, 2 }, - { "wednesday", tDAY, 3 }, - { "wednes", tDAY, 3 }, - { "thursday", tDAY, 4 }, - { "thur", tDAY, 4 }, - { "thurs", tDAY, 4 }, - { "friday", tDAY, 5 }, - { "saturday", tDAY, 6 }, - { NULL, 0, 0 } -}; - -/* Time units table. */ -static TABLE const UnitsTable[] = { - { "year", tYEAR_UNIT, 1 }, - { "month", tMONTH_UNIT, 1 }, - { "fortnight", tDAY_UNIT, 14 }, - { "week", tDAY_UNIT, 7 }, - { "day", tDAY_UNIT, 1 }, - { "hour", tHOUR_UNIT, 1 }, - { "minute", tMINUTE_UNIT, 1 }, - { "min", tMINUTE_UNIT, 1 }, - { "second", tSEC_UNIT, 1 }, - { "sec", tSEC_UNIT, 1 }, - { NULL, 0, 0 } -}; - -/* Assorted relative-time words. */ -static TABLE const OtherTable[] = { - { "tomorrow", tMINUTE_UNIT, 1 * 24 * 60 }, - { "yesterday", tMINUTE_UNIT, -1 * 24 * 60 }, - { "today", tMINUTE_UNIT, 0 }, - { "now", tMINUTE_UNIT, 0 }, - { "last", tUNUMBER, -1 }, - { "this", tMINUTE_UNIT, 0 }, - { "next", tUNUMBER, 2 }, - { "first", tUNUMBER, 1 }, -/* { "second", tUNUMBER, 2 }, */ - { "third", tUNUMBER, 3 }, - { "fourth", tUNUMBER, 4 }, - { "fifth", tUNUMBER, 5 }, - { "sixth", tUNUMBER, 6 }, - { "seventh", tUNUMBER, 7 }, - { "eighth", tUNUMBER, 8 }, - { "ninth", tUNUMBER, 9 }, - { "tenth", tUNUMBER, 10 }, - { "eleventh", tUNUMBER, 11 }, - { "twelfth", tUNUMBER, 12 }, - { "ago", tAGO, 1 }, - { NULL, 0, 0 } -}; - - - - -static int yyerror (MAYBE_UNUSED const char *s) -{ - return 0; -} - -static int ToHour (int Hours, MERIDIAN Meridian) -{ - switch (Meridian) - { - case MER24: - if (Hours < 0 || Hours > 23) - return -1; - return Hours; - case MERam: - if (Hours < 1 || Hours > 12) - return -1; - if (Hours == 12) - Hours = 0; - return Hours; - case MERpm: - if (Hours < 1 || Hours > 12) - return -1; - if (Hours == 12) - Hours = 0; - return Hours + 12; - default: - abort (); - } - /* NOTREACHED */ -} - -static int ToYear (int Year) -{ - if (Year < 0) - Year = -Year; - - /* XPG4 suggests that years 00-68 map to 2000-2068, and - years 69-99 map to 1969-1999. */ - if (Year < 69) - Year += 2000; - else if (Year < 100) - Year += 1900; - - return Year; -} - -static int LookupWord (char *buff) -{ - register char *p; - register const TABLE *tp; - int i; - bool abbrev; - - /* Make it lowercase. */ - for (p = buff; !streq(p, ""); p++) - if (isupper (*p)) - *p = tolower (*p); - - if (streq(buff, "am") || streq(buff, "a.m.")) - { - yylval.Meridian = MERam; - return tMERIDIAN; - } - if (streq(buff, "pm") || streq(buff, "p.m.")) - { - yylval.Meridian = MERpm; - return tMERIDIAN; - } - - /* See if we have an abbreviation for a month. */ - if (strlen (buff) == 3) - abbrev = true; - else if (strlen (buff) == 4 && buff[3] == '.') - { - abbrev = true; - stpcpy(&buff[3], ""); - } - else - abbrev = false; - - for (tp = MonthDayTable; tp->name; tp++) - { - if (abbrev) - { - if (strncmp (buff, tp->name, 3) == 0) - { - yylval.Number = tp->value; - return tp->type; - } - } - else if (streq(buff, tp->name)) - { - yylval.Number = tp->value; - return tp->type; - } - } - - for (tp = UnitsTable; tp->name; tp++) - if (streq(buff, tp->name)) - { - yylval.Number = tp->value; - return tp->type; - } - - /* Strip off any plural and try the units table again. */ - i = strlen (buff) - 1; - if (buff[i] == 's') - { - stpcpy(&buff[i], ""); - for (tp = UnitsTable; tp->name; tp++) - if (streq(buff, tp->name)) - { - yylval.Number = tp->value; - return tp->type; - } - buff[i] = 's'; /* Put back for "this" in OtherTable. */ - } - - for (tp = OtherTable; tp->name; tp++) - if (streq(buff, tp->name)) - { - yylval.Number = tp->value; - return tp->type; - } - - return tID; -} - -static int -yylex (void) -{ - register char c; - register char *p; - char buff[20]; - int Count; - int sign; - - for (;;) - { - yyInput = stpspn(yyInput, " \t"); - - if (isdigit (c = *yyInput) || c == '-' || c == '+') - { - if (c == '-' || c == '+') - { - sign = c == '-' ? -1 : 1; - if (!isdigit (*++yyInput)) - /* skip the '-' sign */ - continue; - } - else - sign = 0; - for (yylval.Number = 0; isdigit (c = *yyInput++);) - yylval.Number = 10 * yylval.Number + c - '0'; - yyInput--; - if (sign < 0) - yylval.Number = -yylval.Number; - return (0 != sign) ? tSNUMBER : tUNUMBER; - } - if (isalpha (c)) - { - for (p = buff; (c = *yyInput++, isalpha (c)) || c == '.';) - if (p < &buff[sizeof buff - 1]) - *p++ = c; - stpcpy(p, ""); - yyInput--; - return LookupWord (buff); - } - if (c != '(') - return *yyInput++; - Count = 0; - do - { - c = *yyInput++; - if (c == '\0') - return c; - if (c == '(') - Count++; - else if (c == ')') - Count--; - } - while (Count > 0); - } -} - -#define TM_YEAR_ORIGIN 1900 - -time_t get_date (const char *p, const time_t *now) -{ - struct tm tm, *tmp; - time_t Start; - - yyInput = p; - Start = now ? *now : time(NULL); - tmp = gmtime(&Start); - yyYear = tmp->tm_year + TM_YEAR_ORIGIN; - yyMonth = tmp->tm_mon + 1; - yyDay = tmp->tm_mday; - yyHour = tmp->tm_hour; - yyMinutes = tmp->tm_min; - yySeconds = tmp->tm_sec; - yyMeridian = MER24; - yyRelSeconds = 0; - yyRelMinutes = 0; - yyRelHour = 0; - yyRelDay = 0; - yyRelMonth = 0; - yyRelYear = 0; - yyHaveDate = 0; - yyHaveDay = 0; - yyHaveRel = 0; - yyHaveTime = 0; - - if (yyparse () - || yyHaveTime > 1 || yyHaveDate > 1 || yyHaveDay > 1) - return -1; - - tm.tm_year = ToYear (yyYear) - TM_YEAR_ORIGIN + yyRelYear; - tm.tm_mon = yyMonth - 1 + yyRelMonth; - tm.tm_mday = yyDay + yyRelDay; - if ((yyHaveTime != 0) || - ( (yyHaveRel != 0) && (yyHaveDate == 0) && (yyHaveDay == 0) )) - { - tm.tm_hour = ToHour (yyHour, yyMeridian); - if (tm.tm_hour < 0) - return -1; - tm.tm_min = yyMinutes; - tm.tm_sec = yySeconds; - } - else - { - tm.tm_hour = tm.tm_min = tm.tm_sec = 0; - } - tm.tm_hour += yyRelHour; - tm.tm_min += yyRelMinutes; - tm.tm_sec += yyRelSeconds; - tm.tm_isdst = 0; - - Start = timegm(&tm); - - if (Start == (time_t) -1) - { - return Start; - } - - if (yyHaveDay && !yyHaveDate) - { - tm.tm_mday += ((yyDayNumber - tm.tm_wday + 7) % 7 - + 7 * (yyDayOrdinal - (0 < yyDayOrdinal))); - Start = timegm(&tm); - if (Start == (time_t) -1) - return Start; - } - - return Start; -} - -#if defined (TEST) - -int -main(void) -{ - char buff[MAX_BUFF_LEN + 1]; - time_t d; - - (void) printf ("Enter date, or blank line to exit.\n\t> "); - (void) fflush (stdout); - - buff[MAX_BUFF_LEN] = 0; - while (fgets (buff, MAX_BUFF_LEN, stdin) && buff[0]) - { - d = get_date(buff, NULL); - if (d == -1) - (void) printf ("Bad format - couldn't convert.\n"); - else - (void) printf ("%s", ctime (&d)); - (void) printf ("\t> "); - (void) fflush (stdout); - } - exit (0); - /* NOTREACHED */ -} -#endif /* defined (TEST) */ diff --git a/lib/getdate.h b/lib/getdate.h deleted file mode 100644 index eae56f64..00000000 --- a/lib/getdate.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * SPDX-FileCopyrightText: 1990 - 1994, Julianne Frances Haugh - * SPDX-FileCopyrightText: 1997 - 2000, Marek Michałkiewicz - * SPDX-FileCopyrightText: 2005 , Tomasz Kłoczko - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#ifndef _GETDATE_H_ -#define _GETDATE_H_ - -#include -#include "defines.h" - -time_t get_date (const char *p, /*@null@*/const time_t *now); -#endif diff --git a/lib/getdate.y b/lib/getdate.y deleted file mode 100644 index b2f6bc00..00000000 --- a/lib/getdate.y +++ /dev/null @@ -1,745 +0,0 @@ -%{ -/* -** Originally written by Steven M. Bellovin while -** at the University of North Carolina at Chapel Hill. Later tweaked by -** a couple of people on Usenet. Completely overhauled by Rich $alz -** and Jim Berets in August, 1990; -** -** This grammar has 13 shift/reduce conflicts. -** -** This code is in the public domain and has no copyright. -*/ - -#ifdef HAVE_CONFIG_H -# include -#endif - -/* Since the code of getdate.y is not included in the Emacs executable - itself, there is no need to #define static in this file. Even if - the code were included in the Emacs executable, it probably - wouldn't do any harm to #undef it here; this will only cause - problems if we try to write to a static variable, which I don't - think this code needs to do. */ -#ifdef emacs -# undef static -#endif - -#include -#include -#include -#include - -#include "attr.h" -#include "getdate.h" -#include "string/strcmp/streq.h" -#include "string/strspn/stpspn.h" - - -/* Some old versions of bison generate parsers that use bcopy. - That loses on systems that don't provide the function, so we have - to redefine it here. */ -#if !defined (HAVE_BCOPY) && !defined (bcopy) -# define bcopy(from, to, len) memcpy ((to), (from), (len)) -#endif - -/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc), - as well as gratuitously global symbol names, so we can have multiple - yacc generated parsers in the same program. Note that these are only - the variables produced by yacc. If other parser generators (bison, - byacc, etc) produce additional global names that conflict at link time, - then those parser generators need to be fixed instead of adding those - names to this list. */ - -#define yymaxdepth gd_maxdepth -#define yyparse gd_parse -#define yylex gd_lex -#define yyerror gd_error -#define yylval gd_lval -#define yychar gd_char -#define yydebug gd_debug -#define yypact gd_pact -#define yyr1 gd_r1 -#define yyr2 gd_r2 -#define yydef gd_def -#define yychk gd_chk -#define yypgo gd_pgo -#define yyact gd_act -#define yyexca gd_exca -#define yyerrflag gd_errflag -#define yynerrs gd_nerrs -#define yyps gd_ps -#define yypv gd_pv -#define yys gd_s -#define yy_yys gd_yys -#define yystate gd_state -#define yytmp gd_tmp -#define yyv gd_v -#define yy_yyv gd_yyv -#define yyval gd_val -#define yylloc gd_lloc -#define yyreds gd_reds /* With YYDEBUG defined */ -#define yytoks gd_toks /* With YYDEBUG defined */ -#define yylhs gd_yylhs -#define yylen gd_yylen -#define yydefred gd_yydefred -#define yydgoto gd_yydgoto -#define yysindex gd_yysindex -#define yyrindex gd_yyrindex -#define yygindex gd_yygindex -#define yytable gd_yytable -#define yycheck gd_yycheck - -static int yylex (void); -static int yyerror (const char *s); - - -#define MAX_BUFF_LEN 128 /* size of buffer to read the date into */ - -/* -** An entry in the lexical lookup table. -*/ -typedef struct _TABLE { - const char *name; - int type; - int value; -} TABLE; - - -/* -** Meridian: am, pm, or 24-hour style. -*/ -typedef enum _MERIDIAN { - MERam, MERpm, MER24 -} MERIDIAN; - - -/* -** Global variables. We could get rid of most of these by using a good -** union as the yacc stack. (This routine was originally written before -** yacc had the %union construct.) Maybe someday; right now we only use -** the %union very rarely. -*/ -static const char *yyInput; -static int yyDayOrdinal; -static int yyDayNumber; -static int yyHaveDate; -static int yyHaveDay; -static int yyHaveRel; -static int yyHaveTime; -static int yyDay; -static int yyHour; -static int yyMinutes; -static int yyMonth; -static int yySeconds; -static int yyYear; -static MERIDIAN yyMeridian; -static int yyRelDay; -static int yyRelHour; -static int yyRelMinutes; -static int yyRelMonth; -static int yyRelSeconds; -static int yyRelYear; - -%} - -%union { - int Number; - enum _MERIDIAN Meridian; -} - -%token tAGO tDAY tDAY_UNIT tHOUR_UNIT tID -%token tMERIDIAN tMINUTE_UNIT tMONTH tMONTH_UNIT -%token tSEC_UNIT tSNUMBER tUNUMBER tYEAR_UNIT - -%type tDAY tDAY_UNIT tHOUR_UNIT tMINUTE_UNIT -%type tMONTH tMONTH_UNIT -%type tSEC_UNIT tSNUMBER tUNUMBER tYEAR_UNIT -%type tMERIDIAN o_merid - -%% - -spec : /* NULL */ - | spec item - ; - -item : time { - yyHaveTime++; - } - | date { - yyHaveDate++; - } - | day { - yyHaveDay++; - } - | rel { - yyHaveRel++; - } - | number - ; - -time : tUNUMBER tMERIDIAN { - yyHour = $1; - yyMinutes = 0; - yySeconds = 0; - yyMeridian = $2; - } - | tUNUMBER ':' tUNUMBER o_merid { - yyHour = $1; - yyMinutes = $3; - yySeconds = 0; - yyMeridian = $4; - } - | tUNUMBER ':' tUNUMBER { - yyHour = $1; - yyMinutes = $3; - yyMeridian = MER24; - } - | tUNUMBER ':' tUNUMBER ':' tUNUMBER o_merid { - yyHour = $1; - yyMinutes = $3; - yySeconds = $5; - yyMeridian = $6; - } - | tUNUMBER ':' tUNUMBER ':' tUNUMBER { - yyHour = $1; - yyMinutes = $3; - yySeconds = $5; - yyMeridian = MER24; - } - ; - -day : tDAY { - yyDayOrdinal = 1; - yyDayNumber = $1; - } - | tDAY ',' { - yyDayOrdinal = 1; - yyDayNumber = $1; - } - | tUNUMBER tDAY { - yyDayOrdinal = $1; - yyDayNumber = $2; - } - ; - -date : tUNUMBER '/' tUNUMBER { - yyMonth = $1; - yyDay = $3; - } - | tUNUMBER '/' tUNUMBER '/' tUNUMBER { - /* Interpret as YYYY/MM/DD if $1 >= 1000, otherwise as MM/DD/YY. - The goal in recognizing YYYY/MM/DD is solely to support legacy - machine-generated dates like those in an RCS log listing. If - you want portability, use the ISO 8601 format. */ - if ($1 >= 1000) - { - yyYear = $1; - yyMonth = $3; - yyDay = $5; - } - else - { - yyMonth = $1; - yyDay = $3; - yyYear = $5; - } - } - | tUNUMBER tSNUMBER tSNUMBER { - /* ISO 8601 format. yyyy-mm-dd. */ - yyYear = $1; - yyMonth = -$2; - yyDay = -$3; - } - | tUNUMBER tMONTH tSNUMBER { - /* e.g. 17-JUN-1992. */ - yyDay = $1; - yyMonth = $2; - yyYear = -$3; - } - | tMONTH tUNUMBER { - yyMonth = $1; - yyDay = $2; - } - | tMONTH tUNUMBER ',' tUNUMBER { - yyMonth = $1; - yyDay = $2; - yyYear = $4; - } - | tUNUMBER tMONTH { - yyMonth = $2; - yyDay = $1; - } - | tUNUMBER tMONTH tUNUMBER { - yyMonth = $2; - yyDay = $1; - yyYear = $3; - } - ; - -rel : relunit tAGO { - yyRelSeconds = -yyRelSeconds; - yyRelMinutes = -yyRelMinutes; - yyRelHour = -yyRelHour; - yyRelDay = -yyRelDay; - yyRelMonth = -yyRelMonth; - yyRelYear = -yyRelYear; - } - | relunit - ; - -relunit : tUNUMBER tYEAR_UNIT { - yyRelYear += $1 * $2; - } - | tSNUMBER tYEAR_UNIT { - yyRelYear += $1 * $2; - } - | tYEAR_UNIT { - yyRelYear += $1; - } - | tUNUMBER tMONTH_UNIT { - yyRelMonth += $1 * $2; - } - | tSNUMBER tMONTH_UNIT { - yyRelMonth += $1 * $2; - } - | tMONTH_UNIT { - yyRelMonth += $1; - } - | tUNUMBER tDAY_UNIT { - yyRelDay += $1 * $2; - } - | tSNUMBER tDAY_UNIT { - yyRelDay += $1 * $2; - } - | tDAY_UNIT { - yyRelDay += $1; - } - | tUNUMBER tHOUR_UNIT { - yyRelHour += $1 * $2; - } - | tSNUMBER tHOUR_UNIT { - yyRelHour += $1 * $2; - } - | tHOUR_UNIT { - yyRelHour += $1; - } - | tUNUMBER tMINUTE_UNIT { - yyRelMinutes += $1 * $2; - } - | tSNUMBER tMINUTE_UNIT { - yyRelMinutes += $1 * $2; - } - | tMINUTE_UNIT { - yyRelMinutes += $1; - } - | tUNUMBER tSEC_UNIT { - yyRelSeconds += $1 * $2; - } - | tSNUMBER tSEC_UNIT { - yyRelSeconds += $1 * $2; - } - | tSEC_UNIT { - yyRelSeconds += $1; - } - ; - -number : tUNUMBER - { - if ((yyHaveTime != 0) && (yyHaveDate != 0) && (yyHaveRel == 0)) - yyYear = $1; - else - { - if ($1>10000) - { - yyHaveDate++; - yyDay= ($1)%100; - yyMonth= ($1/100)%100; - yyYear = $1/10000; - } - else - { - yyHaveTime++; - if ($1 < 100) - { - yyHour = $1; - yyMinutes = 0; - } - else - { - yyHour = $1 / 100; - yyMinutes = $1 % 100; - } - yySeconds = 0; - yyMeridian = MER24; - } - } - } - ; - -o_merid : /* NULL */ - { - $$ = MER24; - } - | tMERIDIAN - { - $$ = $1; - } - ; - -%% - -/* Month and day table. */ -static TABLE const MonthDayTable[] = { - { "january", tMONTH, 1 }, - { "february", tMONTH, 2 }, - { "march", tMONTH, 3 }, - { "april", tMONTH, 4 }, - { "may", tMONTH, 5 }, - { "june", tMONTH, 6 }, - { "july", tMONTH, 7 }, - { "august", tMONTH, 8 }, - { "september", tMONTH, 9 }, - { "sept", tMONTH, 9 }, - { "october", tMONTH, 10 }, - { "november", tMONTH, 11 }, - { "december", tMONTH, 12 }, - { "sunday", tDAY, 0 }, - { "monday", tDAY, 1 }, - { "tuesday", tDAY, 2 }, - { "tues", tDAY, 2 }, - { "wednesday", tDAY, 3 }, - { "wednes", tDAY, 3 }, - { "thursday", tDAY, 4 }, - { "thur", tDAY, 4 }, - { "thurs", tDAY, 4 }, - { "friday", tDAY, 5 }, - { "saturday", tDAY, 6 }, - { NULL, 0, 0 } -}; - -/* Time units table. */ -static TABLE const UnitsTable[] = { - { "year", tYEAR_UNIT, 1 }, - { "month", tMONTH_UNIT, 1 }, - { "fortnight", tDAY_UNIT, 14 }, - { "week", tDAY_UNIT, 7 }, - { "day", tDAY_UNIT, 1 }, - { "hour", tHOUR_UNIT, 1 }, - { "minute", tMINUTE_UNIT, 1 }, - { "min", tMINUTE_UNIT, 1 }, - { "second", tSEC_UNIT, 1 }, - { "sec", tSEC_UNIT, 1 }, - { NULL, 0, 0 } -}; - -/* Assorted relative-time words. */ -static TABLE const OtherTable[] = { - { "tomorrow", tMINUTE_UNIT, 1 * 24 * 60 }, - { "yesterday", tMINUTE_UNIT, -1 * 24 * 60 }, - { "today", tMINUTE_UNIT, 0 }, - { "now", tMINUTE_UNIT, 0 }, - { "last", tUNUMBER, -1 }, - { "this", tMINUTE_UNIT, 0 }, - { "next", tUNUMBER, 2 }, - { "first", tUNUMBER, 1 }, -/* { "second", tUNUMBER, 2 }, */ - { "third", tUNUMBER, 3 }, - { "fourth", tUNUMBER, 4 }, - { "fifth", tUNUMBER, 5 }, - { "sixth", tUNUMBER, 6 }, - { "seventh", tUNUMBER, 7 }, - { "eighth", tUNUMBER, 8 }, - { "ninth", tUNUMBER, 9 }, - { "tenth", tUNUMBER, 10 }, - { "eleventh", tUNUMBER, 11 }, - { "twelfth", tUNUMBER, 12 }, - { "ago", tAGO, 1 }, - { NULL, 0, 0 } -}; - - - - -static int yyerror (MAYBE_UNUSED const char *s) -{ - return 0; -} - -static int ToHour (int Hours, MERIDIAN Meridian) -{ - switch (Meridian) - { - case MER24: - if (Hours < 0 || Hours > 23) - return -1; - return Hours; - case MERam: - if (Hours < 1 || Hours > 12) - return -1; - if (Hours == 12) - Hours = 0; - return Hours; - case MERpm: - if (Hours < 1 || Hours > 12) - return -1; - if (Hours == 12) - Hours = 0; - return Hours + 12; - default: - abort (); - } - /* NOTREACHED */ -} - -static int ToYear (int Year) -{ - if (Year < 0) - Year = -Year; - - /* XPG4 suggests that years 00-68 map to 2000-2068, and - years 69-99 map to 1969-1999. */ - if (Year < 69) - Year += 2000; - else if (Year < 100) - Year += 1900; - - return Year; -} - -static int LookupWord (char *buff) -{ - register char *p; - register const TABLE *tp; - int i; - bool abbrev; - - /* Make it lowercase. */ - for (p = buff; !streq(p, ""); p++) - if (isupper (*p)) - *p = tolower (*p); - - if (streq(buff, "am") || streq(buff, "a.m.")) - { - yylval.Meridian = MERam; - return tMERIDIAN; - } - if (streq(buff, "pm") || streq(buff, "p.m.")) - { - yylval.Meridian = MERpm; - return tMERIDIAN; - } - - /* See if we have an abbreviation for a month. */ - if (strlen (buff) == 3) - abbrev = true; - else if (strlen (buff) == 4 && buff[3] == '.') - { - abbrev = true; - stpcpy(&buff[3], ""); - } - else - abbrev = false; - - for (tp = MonthDayTable; tp->name; tp++) - { - if (abbrev) - { - if (strncmp (buff, tp->name, 3) == 0) - { - yylval.Number = tp->value; - return tp->type; - } - } - else if (streq(buff, tp->name)) - { - yylval.Number = tp->value; - return tp->type; - } - } - - for (tp = UnitsTable; tp->name; tp++) - if (streq(buff, tp->name)) - { - yylval.Number = tp->value; - return tp->type; - } - - /* Strip off any plural and try the units table again. */ - i = strlen (buff) - 1; - if (buff[i] == 's') - { - stpcpy(&buff[i], ""); - for (tp = UnitsTable; tp->name; tp++) - if (streq(buff, tp->name)) - { - yylval.Number = tp->value; - return tp->type; - } - buff[i] = 's'; /* Put back for "this" in OtherTable. */ - } - - for (tp = OtherTable; tp->name; tp++) - if (streq(buff, tp->name)) - { - yylval.Number = tp->value; - return tp->type; - } - - return tID; -} - -static int -yylex (void) -{ - register char c; - register char *p; - char buff[20]; - int Count; - int sign; - - for (;;) - { - yyInput = stpspn(yyInput, " \t"); - - if (isdigit (c = *yyInput) || c == '-' || c == '+') - { - if (c == '-' || c == '+') - { - sign = c == '-' ? -1 : 1; - if (!isdigit (*++yyInput)) - /* skip the '-' sign */ - continue; - } - else - sign = 0; - for (yylval.Number = 0; isdigit (c = *yyInput++);) - yylval.Number = 10 * yylval.Number + c - '0'; - yyInput--; - if (sign < 0) - yylval.Number = -yylval.Number; - return (0 != sign) ? tSNUMBER : tUNUMBER; - } - if (isalpha (c)) - { - for (p = buff; (c = *yyInput++, isalpha (c)) || c == '.';) - if (p < &buff[sizeof buff - 1]) - *p++ = c; - stpcpy(p, ""); - yyInput--; - return LookupWord (buff); - } - if (c != '(') - return *yyInput++; - Count = 0; - do - { - c = *yyInput++; - if (c == '\0') - return c; - if (c == '(') - Count++; - else if (c == ')') - Count--; - } - while (Count > 0); - } -} - -#define TM_YEAR_ORIGIN 1900 - -time_t get_date (const char *p, const time_t *now) -{ - struct tm tm, *tmp; - time_t Start; - - yyInput = p; - Start = now ? *now : time(NULL); - tmp = gmtime(&Start); - yyYear = tmp->tm_year + TM_YEAR_ORIGIN; - yyMonth = tmp->tm_mon + 1; - yyDay = tmp->tm_mday; - yyHour = tmp->tm_hour; - yyMinutes = tmp->tm_min; - yySeconds = tmp->tm_sec; - yyMeridian = MER24; - yyRelSeconds = 0; - yyRelMinutes = 0; - yyRelHour = 0; - yyRelDay = 0; - yyRelMonth = 0; - yyRelYear = 0; - yyHaveDate = 0; - yyHaveDay = 0; - yyHaveRel = 0; - yyHaveTime = 0; - - if (yyparse () - || yyHaveTime > 1 || yyHaveDate > 1 || yyHaveDay > 1) - return -1; - - tm.tm_year = ToYear (yyYear) - TM_YEAR_ORIGIN + yyRelYear; - tm.tm_mon = yyMonth - 1 + yyRelMonth; - tm.tm_mday = yyDay + yyRelDay; - if ((yyHaveTime != 0) || - ( (yyHaveRel != 0) && (yyHaveDate == 0) && (yyHaveDay == 0) )) - { - tm.tm_hour = ToHour (yyHour, yyMeridian); - if (tm.tm_hour < 0) - return -1; - tm.tm_min = yyMinutes; - tm.tm_sec = yySeconds; - } - else - { - tm.tm_hour = tm.tm_min = tm.tm_sec = 0; - } - tm.tm_hour += yyRelHour; - tm.tm_min += yyRelMinutes; - tm.tm_sec += yyRelSeconds; - tm.tm_isdst = 0; - - Start = timegm(&tm); - - if (Start == (time_t) -1) - { - return Start; - } - - if (yyHaveDay && !yyHaveDate) - { - tm.tm_mday += ((yyDayNumber - tm.tm_wday + 7) % 7 - + 7 * (yyDayOrdinal - (0 < yyDayOrdinal))); - Start = timegm(&tm); - if (Start == (time_t) -1) - return Start; - } - - return Start; -} - -#if defined (TEST) - -int -main(void) -{ - char buff[MAX_BUFF_LEN + 1]; - time_t d; - - (void) printf ("Enter date, or blank line to exit.\n\t> "); - (void) fflush (stdout); - - buff[MAX_BUFF_LEN] = 0; - while (fgets (buff, MAX_BUFF_LEN, stdin) && buff[0]) - { - d = get_date(buff, NULL); - if (d == -1) - (void) printf ("Bad format - couldn't convert.\n"); - else - (void) printf ("%s", ctime (&d)); - (void) printf ("\t> "); - (void) fflush (stdout); - } - exit (0); - /* NOTREACHED */ -} -#endif /* defined (TEST) */ diff --git a/lib/getdef.c b/lib/getdef.c index e354d897..e3ae142d 100644 --- a/lib/getdef.c +++ b/lib/getdef.c @@ -24,14 +24,16 @@ #include "atoi/a2i/a2s.h" #include "atoi/a2i/a2u.h" -#include "atoi/str2i/str2u.h" +#include "atoi/str2i.h" #include "defines.h" #include "getdef.h" #include "prototypes.h" #include "shadowlog_internal.h" -#include "string/sprintf/xasprintf.h" +#include "sizeof.h" +#include "string/sprintf/xaprintf.h" #include "string/strcmp/strcaseeq.h" #include "string/strcmp/streq.h" +#include "string/strcmp/strprefix.h" #include "string/strspn/stpspn.h" #include "string/strspn/stprspn.h" #include "string/strtok/stpsep.h" @@ -76,12 +78,12 @@ struct itemdef { #define FOREIGNDEFS \ {"ALWAYS_SET_PATH", NULL}, \ {"ENV_ROOTPATH", NULL}, \ + {"LOGIN_ENV_SAFELIST", NULL}, \ {"LOGIN_KEEP_USERNAME", NULL}, \ {"LOGIN_PLAIN_PROMPT", NULL}, \ {"MOTD_FIRSTONLY", NULL}, \ -#define NUMDEFS (sizeof(def_table)/sizeof(def_table[0])) static struct itemdef def_table[] = { {"CHFN_RESTRICT", NULL}, {"CONSOLE_GROUPS", NULL}, @@ -454,13 +456,9 @@ out: void setdef_config_file (const char* file) { #ifdef USE_ECONF - char *cp; - - xasprintf(&cp, "%s/%s", file, sysconfdir); - sysconfdir = cp; + sysconfdir = xaprintf("%s/%s", file, sysconfdir); #ifdef VENDORDIR - xasprintf(&cp, "%s/%s", file, vendordir); - vendordir = cp; + vendordir = xaprintf("%s/%s", file, vendordir); #endif #else def_fname = file; @@ -568,7 +566,7 @@ static void def_load (void) * Break the line into two fields. */ name = stpspn(buf, " \t"); /* first nonwhite */ - if (streq(name, "") || *name == '#') + if (streq(name, "") || strprefix(name, "#")) continue; /* comment or empty */ s = stpsep(name, " \t"); /* next field */ @@ -609,7 +607,7 @@ int main (int argc, char **argv) def_load (); - for (i = 0; i < NUMDEFS; ++i) { + for (i = 0; i < countof(def_table); ++i) { d = def_find (def_table[i].name, NULL); if (NULL == d) { printf ("error - lookup '%s' failed\n", diff --git a/lib/groupio.c b/lib/groupio.c index 516e3ccd..72391433 100644 --- a/lib/groupio.c +++ b/lib/groupio.c @@ -19,9 +19,11 @@ #include "alloc/malloc.h" #include "commonio.h" #include "defines.h" +#include "fields.h" #include "getdef.h" #include "groupio.h" #include "prototypes.h" +#include "string/sprintf/aprintf.h" #include "string/strcmp/streq.h" @@ -324,7 +326,8 @@ static /*@null@*/struct commonio_entry *merge_group_entries ( } /* Concatenate the 2 lines */ - if (asprintf(&new_line, "%s\n%s", gr1->line, gr2->line) == -1) + new_line = aprintf("%s\n%s", gr1->line, gr2->line); + if (new_line == NULL) return NULL; /* Concatenate the 2 list of members */ diff --git a/lib/gshadow.c b/lib/gshadow.c index 2725e09e..a240d386 100644 --- a/lib/gshadow.c +++ b/lib/gshadow.c @@ -15,36 +15,33 @@ #include #include +#include #include #include "alloc/malloc.h" #include "alloc/realloc.h" -#include "alloc/x/xmalloc.h" #include "defines.h" #include "prototypes.h" -#include "string/strchr/strchrcnt.h" #include "string/strcmp/streq.h" #include "string/strtok/stpsep.h" +#include "string/strtok/strsep2arr.h" +#include "string/strtok/xastrsep2ls.h" static /*@null@*/FILE *shadow; static struct sgrp sgroup = {}; -#define FIELDS 4 - static /*@null@*/char ** build_list(char *s) { char **l; - size_t i; + size_t n; - l = XMALLOC(strchrcnt(s, ',') + 2, char *); + l = xastrsep2ls(s, ",", &n); - for (i = 0; s != NULL && !streq(s, ""); i++) - l[i] = strsep(&s, ","); - - l[i] = NULL; + if (streq(l[n-1], "")) + l[n-1] = NULL; return l; } @@ -68,42 +65,20 @@ void endsgent (void) } /*@observer@*//*@null@*/struct sgrp * -sgetsgent(const char *string) +sgetsgent(const char *s) { - static char *sgrbuf = NULL; - static size_t sgrbuflen = 0; + static char *dup = NULL; - char *fields[FIELDS]; - char *cp; - int i; - size_t len = strlen (string) + 1; + char *fields[4]; - if (len > sgrbuflen) { - char *buf = REALLOC(sgrbuf, len, char); - if (NULL == buf) - return NULL; + free(dup); + dup = strdup(s); + if (dup == NULL) + return NULL; - sgrbuf = buf; - sgrbuflen = len; - } + stpsep(dup, "\n"); - strcpy (sgrbuf, string); - stpsep(sgrbuf, "\n"); - - /* - * There should be exactly 4 colon separated fields. Find - * all 4 of them and save the starting addresses in fields[]. - */ - - for (cp = sgrbuf, i = 0; (i < FIELDS) && (NULL != cp); i++) - fields[i] = strsep(&cp, ":"); - - /* - * If there was an extra field somehow, or perhaps not enough, - * the line is invalid. - */ - - if (NULL != cp || i != FIELDS) + if (STRSEP2ARR(dup, ":", fields) == -1) return NULL; sgroup.sg_namp = fields[0]; diff --git a/lib/limits.c b/lib/limits.c index dec33f5c..d0598f0b 100644 --- a/lib/limits.c +++ b/lib/limits.c @@ -32,11 +32,10 @@ #include "atoi/a2i/a2i.h" #include "atoi/a2i/a2s.h" -#include "atoi/str2i/str2i.h" -#include "atoi/str2i/str2s.h" -#include "atoi/str2i/str2u.h" +#include "atoi/str2i.h" #include "string/memset/memzero.h" #include "string/strcmp/streq.h" +#include "string/strcmp/strprefix.h" #include "string/strspn/stpspn.h" #include "typetraits.h" @@ -62,7 +61,7 @@ static int setrlimit_value (unsigned int resource, /* The "-" is special, not belonging to a strange negative limit. * It is infinity, in a controlled way. */ - if ('-' == value[0]) { + if (strprefix(value, "-")) { limit = RLIM_INFINITY; } else { @@ -370,7 +369,7 @@ static int setup_user_limits (const char *uname) * FIXME: A better (smarter) checking should be done */ while (fgets (buf, 1024, fil) != NULL) { - if (('#' == buf[0]) || ('\n' == buf[0])) { + if (strprefix(buf, "#") || strprefix(buf, "\n")) { continue; } MEMZERO(tempbuf); @@ -401,7 +400,7 @@ static int setup_user_limits (const char *uname) break; } else if (streq(name, "*")) { strcpy (deflimits, tempbuf); - } else if (name[0] == '@') { + } else if (strprefix(name, "@")) { /* If the user is in the group, the group * limits apply unless later a line for * the specific user is found. @@ -473,14 +472,15 @@ void setup_limits (const struct passwd *info) } } for (cp = info->pw_gecos; cp != NULL; cp = strchr (cp, ',')) { - if (',' == *cp) { - cp++; - } + char *val; - if (strncmp (cp, "pri=", 4) == 0) { + cp = strprefix(cp, ",") ?: cp; + + val = strprefix(cp, "pri="); + if (val != NULL) { int inc; - if (a2si(&inc, cp + 4, NULL, 0, -20, 20) == 0) { + if (a2si(&inc, val, NULL, 0, -20, 20) == 0) { errno = 0; if ( (nice (inc) != -1) || (0 != errno)) { @@ -495,10 +495,12 @@ void setup_limits (const struct passwd *info) continue; } - if (strncmp (cp, "ulimit=", 7) == 0) { + + val = strprefix(cp, "ulimit="); + if (val != NULL) { int blocks; - if ( (str2si(&blocks, cp + 7) == -1) + if ( (str2si(&blocks, val) == -1) || (set_filesize_limit (blocks) != 0)) { SYSLOG ((LOG_WARN, "Can't set the ulimit for user %s", @@ -506,10 +508,12 @@ void setup_limits (const struct passwd *info) } continue; } - if (strncmp (cp, "umask=", 6) == 0) { + + val = strprefix(cp, "umask="); + if (val != NULL) { mode_t mask; - if (str2i(mode_t, &mask, cp + 6) == -1) { + if (str2i(mode_t, &mask, val) == -1) { SYSLOG ((LOG_WARN, "Can't set umask value for user %s", info->pw_name)); diff --git a/lib/list.c b/lib/list.c index 27aa0256..25735d72 100644 --- a/lib/list.c +++ b/lib/list.c @@ -18,6 +18,7 @@ #include "string/strchr/strchrcnt.h" #include "string/strcmp/streq.h" #include "string/strdup/xstrdup.h" +#include "string/strtok/strsep2ls.h" /* @@ -186,9 +187,7 @@ comma_to_list(const char *comma) { char *members; char **array; - int i; - char *cp; - char *cp2; + size_t n; assert (NULL != comma); @@ -203,7 +202,8 @@ comma_to_list(const char *comma) * n: number of delimiters + last element + NULL */ - array = XMALLOC(strchrcnt(members, ',') + 2, char *); + n = strchrcnt(members, ',') + 2; + array = XMALLOC(n, char *); /* * Empty list is special - 0 members, not 1 empty member. --marekm @@ -215,18 +215,7 @@ comma_to_list(const char *comma) return array; } - /* - * Now go walk that list all over again, this time building the - * array of pointers. - */ - - for (cp = members, i = 0; cp != NULL; i++) - array[i] = strsep(&cp, ","); - array[i] = NULL; - - /* - * Return the new array of pointers - */ + strsep2ls(members, ",", n, array); return array; } diff --git a/lib/mail.c b/lib/mail.c index b62287e6..968bfa41 100644 --- a/lib/mail.c +++ b/lib/mail.c @@ -16,7 +16,7 @@ #include #include "getdef.h" -#include "string/sprintf/xasprintf.h" +#include "string/sprintf/xaprintf.h" #ident "$Id$" @@ -37,7 +37,7 @@ void mailcheck (void) if (NULL != mailbox) { char *newmail; - xasprintf(&newmail, "%s/new", mailbox); + newmail = xaprintf("%s/new", mailbox); if (stat (newmail, &statbuf) != -1 && statbuf.st_size != 0) { if (statbuf.st_mtime > statbuf.st_atime) { diff --git a/lib/must_be.h b/lib/must_be.h deleted file mode 100644 index 6ae6c799..00000000 --- a/lib/must_be.h +++ /dev/null @@ -1,117 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2019-2023, Alejandro Colomar - * SPDX-License-Identifier: BSD-3-Clause - */ - - -#ifndef SHADOW_INCLUDE_LIBMISC_MUST_BE_H_ -#define SHADOW_INCLUDE_LIBMISC_MUST_BE_H_ - - -#include - -#include - - -/* - * SYNOPSIS - * int must_be(bool e); - * - * ARGUMENTS - * e Expression to be asserted. - * - * DESCRIPTION - * This macro fails compilation if 'e' is false. If 'e' is true, - * it returns (int) 0, so it doesn't affect the expression in which - * it is contained. - * - * This macro is similar to static_assert(3). While - * static_assert(3) can only be used where a statement is allowed, - * this must_be() macro can be used wherever an expression is - * allowed. - * - * RETURN VALUE - * 0 - * - * ERRORS - * If 'e' is false, the compilation will fail, as when using - * static_assert(3). - * - * EXAMPLES - * #define must_be_array(a) must_be(is_array(a)) - * - * #define NITEMS(a) (sizeof(a) / sizeof(*(a)) + must_be_array(a)) - * - * int foo[42]; - * int bar[NITEMS(foo)]; - */ - - -#define must_be(e) \ -( \ - 0 * (int) sizeof( \ - struct { \ - static_assert(e, ""); \ - int ISO_C_forbids_a_struct_with_no_members_; \ - } \ - ) \ -) - - -/* - * SYNOPSIS - * int must_be_array(a); - * - * ARGUMENTS - * a Array. - * - * DESCRIPTION - * This macro fails compilation if 'a' is not an array. It is - * useful in macros that accept an array as a parameter, where this - * macro can validate the macro argument. It prevent passing a - * pointer to such macros, which would otherwise produce silent - * bugs. - * - * RETURN VALUE - * 0 - * - * ERRORS - * If 'a' is not an array, the compilation will fail. - * - * EXAMPLES - * int a[10]; - * int *p; - * - * must_be_array(a); // Ok - * must_be_array(p); // Compile-time error - * - * SEE ALSO - * must_be() - */ - - -#define is_same_type(a, b) \ -( \ - __builtin_types_compatible_p(a, b) \ -) - - -#define is_same_typeof(a, b) \ -( \ - is_same_type(typeof(a), typeof(b)) \ -) - - -#define is_array(a) \ -( \ - !is_same_typeof(a, &(a)[0]) \ -) - - -#define must_be_array(a) \ -( \ - must_be(is_array(a)) \ -) - - -#endif // include guard diff --git a/lib/nss.c b/lib/nss.c index d76cef87..d97e0709 100644 --- a/lib/nss.c +++ b/lib/nss.c @@ -15,7 +15,9 @@ #include "shadowlog_internal.h" #include "shadowlog.h" #include "string/sprintf/snprintf.h" +#include "string/strcmp/strcaseprefix.h" #include "string/strcmp/streq.h" +#include "string/strcmp/strprefix.h" #include "string/strspn/stpspn.h" #include "string/strtok/stpsep.h" @@ -79,11 +81,11 @@ nss_init(const char *nsswitch_path) { } p = NULL; while (getline(&line, &len, nssfp) != -1) { - if (line[0] == '#') + if (strprefix(line, "#")) continue; if (strlen(line) < 8) continue; - if (strncasecmp(line, "subid:", 6) != 0) + if (!strcaseprefix(line, "subid:")) continue; p = &line[6]; p = stpspn(p, " \t\n"); diff --git a/lib/obscure.c b/lib/obscure.c index d508200f..ad13d50a 100644 --- a/lib/obscure.c +++ b/lib/obscure.c @@ -1,11 +1,10 @@ -/* - * SPDX-FileCopyrightText: 1989 - 1994, Julianne Frances Haugh - * SPDX-FileCopyrightText: 1996 - 1999, Marek Michałkiewicz - * SPDX-FileCopyrightText: 2003 - 2005, Tomasz Kłoczko - * SPDX-FileCopyrightText: 2007 - 2010, Nicolas François - * - * SPDX-License-Identifier: BSD-3-Clause - */ +// SPDX-FileCopyrightText: 1989-1994, Julianne Frances Haugh +// SPDX-FileCopyrightText: 1996-1999, Marek Michałkiewicz +// SPDX-FileCopyrightText: 2003-2005, Tomasz Kłoczko +// SPDX-FileCopyrightText: 2007-2010, Nicolas François +// SPDX-FileCopyrightText: 2025, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + #include @@ -19,8 +18,9 @@ #include "prototypes.h" #include "defines.h" #include "getdef.h" +#include "string/ctype/strtoascii/strtolower.h" #include "string/memset/memzero.h" -#include "string/sprintf/xasprintf.h" +#include "string/sprintf/xaprintf.h" #include "string/strcmp/streq.h" #include "string/strdup/xstrdup.h" @@ -78,15 +78,6 @@ static bool similar (/*@notnull@*/const char *old, /*@notnull@*/const char *new) return true; } -static char *str_lower (/*@returned@*/char *string) -{ - char *cp; - - for (cp = string; !streq(cp, ""); cp++) { - *cp = tolower (*cp); - } - return string; -} static /*@observer@*//*@null@*/const char *password_check ( /*@notnull@*/const char *old, @@ -100,9 +91,9 @@ static /*@observer@*//*@null@*/const char *password_check ( return _("no change"); } - newmono = str_lower (xstrdup (new)); - oldmono = str_lower (xstrdup (old)); - xasprintf(&wrapped, "%s%s", oldmono, oldmono); + newmono = strtolower(xstrdup(new)); + oldmono = strtolower(xstrdup(old)); + wrapped = xaprintf("%s%s", oldmono, oldmono); if (palindrome (oldmono, newmono)) { msg = _("a palindrome"); diff --git a/lib/pam_pass.c b/lib/pam_pass.c index ff491739..33536568 100644 --- a/lib/pam_pass.c +++ b/lib/pam_pass.c @@ -10,6 +10,9 @@ #ifdef USE_PAM +/* Copied from src/passwd.c */ +#define E_PAM_ERR 10 /* PAM returned an error */ + #ident "$Id$" @@ -40,7 +43,7 @@ void do_pam_passwd (const char *user, bool silent, bool change_expired) if (ret != PAM_SUCCESS) { fprintf (shadow_logfd, _("passwd: pam_start() failed, error %d\n"), ret); - exit (10); /* XXX */ + exit (E_PAM_ERR); } ret = pam_chauthtok (pamh, flags); @@ -48,7 +51,7 @@ void do_pam_passwd (const char *user, bool silent, bool change_expired) fprintf (shadow_logfd, _("passwd: %s\n"), pam_strerror (pamh, ret)); fputs (_("passwd: password unchanged\n"), shadow_logfd); pam_end (pamh, ret); - exit (10); /* XXX */ + exit (E_PAM_ERR); } fputs (_("passwd: password updated successfully\n"), shadow_logfd); diff --git a/lib/port.c b/lib/port.c index b19ecd6b..7e63896d 100644 --- a/lib/port.c +++ b/lib/port.c @@ -20,7 +20,9 @@ #include "port.h" #include "prototypes.h" #include "string/strcmp/streq.h" +#include "string/strcmp/strprefix.h" #include "string/strtok/stpsep.h" +#include "string/strtok/strsep2ls.h" static FILE *ports; @@ -50,7 +52,7 @@ static int portcmp (const char *pattern, const char *port) if (streq(orig, "SU")) return 1; - return (*pattern == '*') ? 0 : 1; + return !strprefix(pattern, "*"); } /* @@ -101,7 +103,8 @@ getportent(void) int dtime; int i, j; int saveerr; - char *cp, *field; + char *cp; + char *fields[3]; static char buf[BUFSIZ]; static char *ttys[PORT_TTY + 1]; @@ -140,12 +143,13 @@ next: errno = saveerr; return NULL; } - if ('#' == buf[0]) + if (strprefix(buf, "#")) goto next; stpsep(buf, "\n"); - field = buf; + if (STRSEP2ARR(buf, ":", fields) == -1) + goto next; /* * Get the name of the TTY device. It is the first colon @@ -153,19 +157,8 @@ next: * leading "/dev". The entry '*' is used to specify all * TTY devices. */ - - cp = strsep(&field, ":"); - if (field == NULL) - goto next; - port.pt_names = ttys; - for (j = 0; j < PORT_TTY; j++) { - port.pt_names[j] = strsep(&cp, ","); - if (cp == NULL) - break; - } - port.pt_names[j] = NULL; - if (cp != NULL) + if (STRSEP2LS(fields[0], ",", ttys) == -1) goto next; /* @@ -174,19 +167,8 @@ next: * names. The entry '*' is used to specify all usernames. * The last entry in the list is a NULL pointer. */ - - cp = strsep(&field, ":"); - if (field == NULL) - goto next; - port.pt_users = users; - for (j = 0; j < PORT_IDS; j++) { - port.pt_users[j] = strsep(&cp, ","); - if (cp == NULL) - break; - } - port.pt_users[j] = NULL; - if (cp != NULL) + if (STRSEP2LS(fields[1], ",", users) == -1) goto next; /* @@ -202,7 +184,7 @@ next: * the starting time. Days are presumed to wrap at 0000. */ - cp = field; + cp = fields[2]; if (streq(cp, "")) { port.pt_times = NULL; diff --git a/lib/prefix_flag.c b/lib/prefix_flag.c index c09b8d08..a2bac36a 100644 --- a/lib/prefix_flag.c +++ b/lib/prefix_flag.c @@ -28,8 +28,9 @@ #endif /* ENABLE_SUBIDS */ #include "getdef.h" #include "shadowlog.h" -#include "string/sprintf/xasprintf.h" +#include "string/sprintf/xaprintf.h" #include "string/strcmp/streq.h" +#include "string/strcmp/strprefix.h" static char *passwd_db_file = NULL; @@ -53,17 +54,15 @@ static FILE* fp_grent = NULL; */ extern const char* process_prefix_flag (const char* short_opt, int argc, char **argv) { - /* - * Parse the command line options. - */ - int i; - const char *prefix = NULL, *val; + const char *prefix = NULL; + + for (int i = 0; i < argc; i++) { + const char *val; + + val = strprefix(argv[i], "--prefix="); - for (i = 0; i < argc; i++) { - val = NULL; if ( streq(argv[i], "--prefix") - || ((strncmp (argv[i], "--prefix=", 9) == 0) - && (val = argv[i] + 9)) + || val != NULL || streq(argv[i], short_opt)) { if (NULL != prefix) { @@ -109,32 +108,32 @@ extern const char* process_prefix_flag (const char* short_opt, int argc, char ** exit (E_BAD_ARG); } - xasprintf(&passwd_db_file, "%s/%s", prefix, PASSWD_FILE); + passwd_db_file = xaprintf("%s/%s", prefix, PASSWD_FILE); pw_setdbname(passwd_db_file); - xasprintf(&group_db_file, "%s/%s", prefix, GROUP_FILE); + group_db_file = xaprintf("%s/%s", prefix, GROUP_FILE); gr_setdbname(group_db_file); #ifdef SHADOWGRP - xasprintf(&sgroup_db_file, "%s/%s", prefix, SGROUP_FILE); + sgroup_db_file = xaprintf("%s/%s", prefix, SGROUP_FILE); sgr_setdbname(sgroup_db_file); #endif - xasprintf(&spw_db_file, "%s/%s", prefix, SHADOW_FILE); + spw_db_file = xaprintf("%s/%s", prefix, SHADOW_FILE); spw_setdbname(spw_db_file); #ifdef ENABLE_SUBIDS - xasprintf(&suid_db_file, "%s/%s", prefix, SUBUID_FILE); + suid_db_file = xaprintf("%s/%s", prefix, SUBUID_FILE); sub_uid_setdbname(suid_db_file); - xasprintf(&sgid_db_file, "%s/%s", prefix, SUBGID_FILE); + sgid_db_file = xaprintf("%s/%s", prefix, SUBGID_FILE); sub_gid_setdbname(sgid_db_file); #endif #ifdef USE_ECONF setdef_config_file(prefix); #else - xasprintf(&def_conf_file, "%s/%s", prefix, "/etc/login.defs"); + def_conf_file = xaprintf("%s/%s", prefix, "/etc/login.defs"); setdef_config_file(def_conf_file); #endif } diff --git a/lib/prototypes.h b/lib/prototypes.h index 003fef04..d35c38f8 100644 --- a/lib/prototypes.h +++ b/lib/prototypes.h @@ -120,10 +120,6 @@ extern void sanitize_env (void); /* fd.c */ extern void check_fds (void); -/* fields.c */ -extern void change_field (char *, size_t, const char *); -extern int valid_field (const char *, const char *); - /* find_new_gid.c */ extern int find_new_gid (bool sys_group, gid_t *gid, diff --git a/lib/pwio.c b/lib/pwio.c index 3497c754..415447d6 100644 --- a/lib/pwio.c +++ b/lib/pwio.c @@ -10,13 +10,13 @@ #include -#ident "$Id$" - -#include "prototypes.h" -#include "defines.h" #include #include + #include "commonio.h" +#include "defines.h" +#include "fields.h" +#include "prototypes.h" #include "pwio.h" static /*@null@*/ /*@only@*/void *passwd_dup (const void *ent) diff --git a/lib/root_flag.c b/lib/root_flag.c index f63aa649..e8a5a6d2 100644 --- a/lib/root_flag.c +++ b/lib/root_flag.c @@ -17,6 +17,7 @@ #include "prototypes.h" #include "shadowlog.h" #include "string/strcmp/streq.h" +#include "string/strcmp/strprefix.h" #include @@ -34,18 +35,17 @@ static void change_root (const char* newroot); */ extern void process_root_flag (const char* short_opt, int argc, char **argv) { - /* - * Parse the command line options. - */ - int i; - const char *newroot = NULL, *val; + const char *newroot = NULL; + + for (int i = 0; i < argc; i++) { + const char *val; + + val = strprefix(argv[i], "--root="); - for (i = 0; i < argc; i++) { - val = NULL; if ( streq(argv[i], "--root") - || ((strncmp (argv[i], "--root=", 7) == 0) - && (val = argv[i] + 7)) - || streq(argv[i], short_opt)) { + || val != NULL + || streq(argv[i], short_opt)) + { if (NULL != newroot) { fprintf (log_get_logfd(), _("%s: multiple --root options\n"), diff --git a/lib/run_part.c b/lib/run_part.c index 890f837c..745dd354 100644 --- a/lib/run_part.c +++ b/lib/run_part.c @@ -13,6 +13,7 @@ #include "run_part.h" #include "shadowlog_internal.h" +#include "string/sprintf/aprintf.h" static int run_part(char *script_path, const char *name, const char *action) @@ -60,8 +61,9 @@ int run_parts(const char *directory, const char *name, const char *action) char *s; struct stat sb; - if (asprintf(&s, "%s/%s", directory, namelist[n]->d_name) == -1) { - fprintf(shadow_logfd, "asprintf: %s\n", strerror(errno)); + s = aprintf("%s/%s", directory, namelist[n]->d_name); + if (s == NULL) { + fprintf(shadow_logfd, "aprintf: %s\n", strerror(errno)); for (; n #include -#include "must_be.h" #include "search/cmp/cmp.h" +#include "typetraits.h" #include diff --git a/lib/search/l/lsearch.h b/lib/search/l/lsearch.h index fd269cb5..7ee4c9bf 100644 --- a/lib/search/l/lsearch.h +++ b/lib/search/l/lsearch.h @@ -10,8 +10,8 @@ #include -#include "must_be.h" #include "search/cmp/cmp.h" +#include "typetraits.h" #include diff --git a/lib/search/sort/qsort.h b/lib/search/sort/qsort.h index 4a23506b..962dba24 100644 --- a/lib/search/sort/qsort.h +++ b/lib/search/sort/qsort.h @@ -10,8 +10,8 @@ #include -#include "must_be.h" #include "search/cmp/cmp.h" +#include "typetraits.h" #define QSORT(a, n) do \ diff --git a/lib/selinux.c b/lib/selinux.c index 6eb2894c..7f279e94 100644 --- a/lib/selinux.c +++ b/lib/selinux.c @@ -13,9 +13,11 @@ #include #include -#include "prototypes.h" +#include "prototypes.h" #include "shadowlog_internal.h" +#include "string/sprintf/aprintf.h" + static bool selinux_checked = false; static bool selinux_enabled; @@ -113,18 +115,15 @@ format_attr(printf, 2, 3) static int selinux_log_cb (int type, const char *fmt, ...) { va_list ap; char *buf; - int r; #ifdef WITH_AUDIT static int selinux_audit_fd = -2; #endif va_start (ap, fmt); - r = vasprintf (&buf, fmt, ap); + buf = vaprintf(fmt, ap); va_end (ap); - - if (r < 0) { + if (buf == NULL) return 0; - } #ifdef WITH_AUDIT if (-2 == selinux_audit_fd) { diff --git a/lib/semanage.c b/lib/semanage.c index 277e20ec..221a0c43 100644 --- a/lib/semanage.c +++ b/lib/semanage.c @@ -23,8 +23,8 @@ #include "attr.h" #include "prototypes.h" - #include "shadowlog_internal.h" +#include "string/sprintf/aprintf.h" format_attr(printf, 3, 4) @@ -32,18 +32,14 @@ static void semanage_error_callback (MAYBE_UNUSED void *varg, semanage_handle_t *handle, const char *fmt, ...) { - int ret; char * message = NULL; va_list ap; - va_start (ap, fmt); - ret = vasprintf (&message, fmt, ap); + message = vaprintf(fmt, ap); va_end (ap); - if (ret < 0) { - /* ENOMEM */ + if (message == NULL) return; - } switch (semanage_msg_get_level (handle)) { case SEMANAGE_MSG_ERR: diff --git a/lib/setupenv.c b/lib/setupenv.c index b7dcb3fa..8aee2121 100644 --- a/lib/setupenv.c +++ b/lib/setupenv.c @@ -26,8 +26,9 @@ #include #include "getdef.h" #include "shadowlog.h" -#include "string/sprintf/xasprintf.h" +#include "string/sprintf/xaprintf.h" #include "string/strcmp/streq.h" +#include "string/strcmp/strprefix.h" #include "string/strdup/xstrdup.h" #include "string/strspn/stpspn.h" #include "string/strtok/stpsep.h" @@ -39,7 +40,7 @@ addenv_path(const char *varname, const char *dirname, const char *filename) { char *buf; - xasprintf(&buf, "%s/%s", dirname, filename); + buf = xaprintf("%s/%s", dirname, filename); addenv(varname, buf); free(buf); } @@ -61,7 +62,7 @@ static void read_env_file (const char *filename) cp = buf; /* ignore whitespace and comments */ cp = stpspn(cp, " \t"); - if (streq(cp, "") || ('#' == *cp)) { + if (streq(cp, "") || strprefix(cp, "#")) { continue; } /* @@ -72,7 +73,7 @@ static void read_env_file (const char *filename) val = stpsep(cp, "="); if (val == NULL) continue; - if (strpbrk(name, " \t") != NULL) + if (strpbrk(name, " \t")) continue; #if 0 /* XXX untested, and needs rewrite with fewer goto's :-) */ /* diff --git a/lib/sgetgrent.c b/lib/sgetgrent.c index eeeed4b6..52653948 100644 --- a/lib/sgetgrent.c +++ b/lib/sgetgrent.c @@ -11,22 +11,22 @@ #ident "$Id$" -#include -#include #include +#include +#include #include +#include #include "alloc/malloc.h" -#include "alloc/reallocf.h" #include "atoi/getnum.h" #include "defines.h" #include "prototypes.h" #include "string/strcmp/streq.h" #include "string/strtok/stpsep.h" +#include "string/strtok/strsep2arr.h" +#include "string/strtok/astrsep2ls.h" -#define NFIELDS 4 - /* * list - turn a comma-separated string into an array of (char *)'s * @@ -40,69 +40,52 @@ static char ** list(char *s) { static char **members = NULL; - static size_t size = 0; /* max members + 1 */ - size_t i; - i = 0; - for (;;) { - /* check if there is room for another pointer (to a group - member name, or terminating NULL). */ - if (i >= size) { - size = i + 100; /* at least: i + 1 */ - members = REALLOCF(members, size, char *); - if (!members) { - size = 0; - return NULL; - } - } - if (!s || streq(s, "")) - break; - members[i++] = strsep(&s, ","); - } - members[i] = NULL; + size_t n; + + free(members); + + members = astrsep2ls(s, ",", &n); + if (members == NULL) + return NULL; + + if (streq(members[n-1], "")) + members[n-1] = NULL; + return members; } -struct group *sgetgrent (const char *buf) +struct group * +sgetgrent(const char *s) { - static char *grpbuf = NULL; - static size_t size = 0; - static char *grpfields[NFIELDS]; + static char *dup = NULL; static struct group grent; - int i; - char *cp; - if (strlen (buf) + 1 > size) { - /* no need to use realloc() here - just free it and - allocate a larger block */ - free (grpbuf); - size = strlen (buf) + 1000; /* at least: strlen(buf) + 1 */ - grpbuf = MALLOC(size, char); - if (grpbuf == NULL) { - size = 0; - return NULL; - } - } - strcpy (grpbuf, buf); - stpsep(grpbuf, "\n"); + char *fields[4]; - for (cp = grpbuf, i = 0; (i < NFIELDS) && (NULL != cp); i++) - grpfields[i] = strsep(&cp, ":"); + free(dup); + dup = strdup(s); + if (dup == NULL) + return NULL; - if (i < NFIELDS || streq(grpfields[2], "") || cp != NULL) { + stpsep(dup, "\n"); + + if (STRSEP2ARR(dup, ":", fields) == -1) + return NULL; + + if (streq(fields[2], "")) + return NULL; + + grent.gr_name = fields[0]; + grent.gr_passwd = fields[1]; + if (get_gid(fields[2], &grent.gr_gid) == -1) { return NULL; } - grent.gr_name = grpfields[0]; - grent.gr_passwd = grpfields[1]; - if (get_gid(grpfields[2], &grent.gr_gid) == -1) { - return NULL; - } - grent.gr_mem = list (grpfields[3]); + grent.gr_mem = list(fields[3]); if (NULL == grent.gr_mem) { return NULL; /* out of memory */ } return &grent; } - diff --git a/lib/sgetpwent.c b/lib/sgetpwent.c index b13d5bc5..370fd215 100644 --- a/lib/sgetpwent.c +++ b/lib/sgetpwent.c @@ -11,20 +11,21 @@ #ident "$Id$" -#include -#include #include +#include +#include #include +#include #include "atoi/getnum.h" #include "defines.h" #include "prototypes.h" #include "shadowlog_internal.h" #include "string/strcmp/streq.h" +#include "string/strtok/stpsep.h" +#include "string/strtok/strsep2arr.h" -#define NFIELDS 7 - /* * sgetpwent - convert a string to a (struct passwd) * @@ -38,47 +39,26 @@ * compilation glarp to improve on this in the future. */ struct passwd * -sgetpwent(const char *buf) +sgetpwent(const char *s) { + static char *dup = NULL; static struct passwd pwent; - static char pwdbuf[PASSWD_ENTRY_MAX_LENGTH]; - int i; - char *cp; - char *fields[NFIELDS]; - /* - * Copy the string to a static buffer so the pointers into - * the password structure remain valid. - */ + char *fields[7]; - if (strlen (buf) >= sizeof pwdbuf) { - fprintf (shadow_logfd, - "%s: Too long passwd entry encountered, file corruption?\n", - shadow_progname); - return NULL; /* fail if too long */ - } - strcpy (pwdbuf, buf); - - /* - * Save a pointer to the start of each colon separated - * field. The fields are converted into NUL terminated strings. - */ - - for (cp = pwdbuf, i = 0; (i < NFIELDS) && (NULL != cp); i++) - fields[i] = strsep(&cp, ":"); - - /* something at the end, columns over shot */ - if ( cp != NULL ) { - return( NULL ); - } - - /* - * There must be exactly NFIELDS colon separated fields or - * the entry is invalid. Also, the UID and GID must be non-blank. - */ - - if (i != NFIELDS) + free(dup); + dup = strdup(s); + if (dup == NULL) return NULL; + + stpsep(dup, "\n"); + + if (STRSEP2ARR(dup, ":", fields) == -1) + return NULL; + + /* + * The UID and GID must be non-blank. + */ if (streq(fields[2], "")) return NULL; if (streq(fields[3], "")) diff --git a/lib/sgetspent.c b/lib/sgetspent.c index f34853ec..2c620aef 100644 --- a/lib/sgetspent.c +++ b/lib/sgetspent.c @@ -16,16 +16,19 @@ #include #include +#include #include #include #include "atoi/a2i/a2s.h" -#include "atoi/str2i/str2u.h" +#include "atoi/str2i.h" #include "defines.h" #include "prototypes.h" #include "shadowlog_internal.h" +#include "sizeof.h" #include "string/strcmp/streq.h" #include "string/strtok/stpsep.h" +#include "string/strtok/strsep2arr.h" #define FIELDS 9 @@ -36,40 +39,25 @@ * sgetspent - convert string in shadow file format to (struct spwd *) */ struct spwd * -sgetspent(const char *string) +sgetspent(const char *s) { - static char spwbuf[PASSWD_ENTRY_MAX_LENGTH]; + static char *dup = NULL; static struct spwd spwd; + char *fields[FIELDS]; - char *cp; - int i; + size_t i; - /* - * Copy string to local buffer. It has to be tokenized and we - * have to do that to our private copy. - */ + free(dup); + dup = strdup(s); + if (dup == NULL) + return NULL; - if (strlen (string) >= sizeof spwbuf) { - fprintf (shadow_logfd, - "%s: Too long passwd entry encountered, file corruption?\n", - shadow_progname); - return NULL; /* fail if too long */ - } - strcpy (spwbuf, string); - stpsep(spwbuf, "\n"); + stpsep(dup, "\n"); - /* - * Tokenize the string into colon separated fields. Allow up to - * FIELDS different fields. - */ - - for (cp = spwbuf, i = 0; cp != NULL && i < FIELDS; i++) - fields[i] = strsep(&cp, ":"); - - if (i == (FIELDS - 1)) + i = strsep2arr(dup, ":", countof(fields), fields); + if (i == countof(fields) - 1) fields[i++] = ""; - - if (cp != NULL || (i != FIELDS && i != OFIELDS)) + if (i != countof(fields) && i != OFIELDS) return NULL; /* diff --git a/lib/sgroupio.c b/lib/sgroupio.c index 98057612..ef82976d 100644 --- a/lib/sgroupio.c +++ b/lib/sgroupio.c @@ -19,6 +19,7 @@ #include "prototypes.h" #include "defines.h" #include "commonio.h" +#include "fields.h" #include "getdef.h" #include "sgroupio.h" #include "string/memset/memzero.h" diff --git a/lib/shadow.c b/lib/shadow.c deleted file mode 100644 index cc1edc96..00000000 --- a/lib/shadow.c +++ /dev/null @@ -1,113 +0,0 @@ -/* - * SPDX-FileCopyrightText: 1989 - 1994, Julianne Frances Haugh - * SPDX-FileCopyrightText: 1996 - 1998, Marek Michałkiewicz - * SPDX-FileCopyrightText: 2003 - 2005, Tomasz Kłoczko - * SPDX-FileCopyrightText: 2009 , Nicolas François - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#include - -/* Newer versions of Linux libc already have shadow support. */ -#ifndef HAVE_GETSPNAM - -#ident "$Id$" - -#include -#include -#include - -#include "atoi/a2i/a2s.h" -#include "atoi/str2i/str2u.h" -#include "defines.h" -#include "prototypes.h" -#include "string/strcmp/streq.h" -#include "string/strtok/stpsep.h" - - -static FILE *shadow; - -#define FIELDS 9 -#define OFIELDS 5 - - -/* - * setspent - initialize access to shadow text and DBM files - */ - -void setspent (void) -{ - if (NULL != shadow) { - rewind (shadow); - }else { - shadow = fopen (SHADOW_FILE, "re"); - } -} - -/* - * endspent - terminate access to shadow text and DBM files - */ - -void endspent (void) -{ - if (NULL != shadow) { - (void) fclose (shadow); - } - - shadow = NULL; -} - -/* - * fgetspent - get an entry from a /etc/shadow formatted stream - */ - -struct spwd *fgetspent (FILE * fp) -{ - char buf[BUFSIZ]; - - if (NULL == fp) { - return (0); - } - - if (fgets (buf, sizeof buf, fp) != NULL) - { - stpsep(buf, "\n"); - return sgetspent(buf); - } - return 0; -} - -/* - * getspent - get a (struct spwd *) from the current shadow file - */ - -struct spwd *getspent (void) -{ - if (NULL == shadow) { - setspent (); - } - return (fgetspent (shadow)); -} - -/* - * getspnam - get a shadow entry by name - */ - -struct spwd *getspnam (const char *name) -{ - struct spwd *sp; - - setspent (); - - while ((sp = getspent ()) != NULL) { - if (streq(name, sp->sp_namp)) { - break; - } - } - endspent (); - return (sp); -} -#else -extern int ISO_C_forbids_an_empty_translation_unit; -#endif diff --git a/lib/shadowio.c b/lib/shadowio.c index d2c3b473..8b1c1d2c 100644 --- a/lib/shadowio.c +++ b/lib/shadowio.c @@ -10,20 +10,22 @@ #include -#ident "$Id$" - -#include "prototypes.h" -#include "defines.h" #include #include + #include "commonio.h" +#include "defines.h" +#include "fields.h" #include "getdef.h" +#include "prototypes.h" #include "shadowio.h" + #ifdef WITH_TCB #include #include "tcbfuncs.h" #endif /* WITH_TCB */ + static /*@null@*/ /*@only@*/void *shadow_dup (const void *ent) { const struct spwd *sp = ent; diff --git a/lib/sizeof.h b/lib/sizeof.h index ed0fc155..dca4b36c 100644 --- a/lib/sizeof.h +++ b/lib/sizeof.h @@ -1,7 +1,5 @@ -/* - * SPDX-FileCopyrightText: 2022-2023, Alejandro Colomar - * SPDX-License-Identifier: BSD-3-Clause - */ +// SPDX-FileCopyrightText: 2022-2025, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause #ifndef SHADOW_INCLUDE_LIBMISC_SIZEOF_H_ @@ -11,17 +9,22 @@ #include #include +#if __has_include() +# include +#endif #include -#include "must_be.h" - #define ssizeof(x) ((ssize_t) sizeof(x)) #define memberof(T, member) ((T){}.member) #define WIDTHOF(x) (sizeof(x) * CHAR_BIT) -#define SIZEOF_ARRAY(a) (sizeof(a) + must_be_array(a)) -#define NITEMS(a) (SIZEOF_ARRAY((a)) / sizeof((a)[0])) -#define STRLEN(s) (NITEMS(s) - 1) + +#if !defined(countof) +# define countof(a) (sizeof(a) / sizeof((a)[0])) +#endif + +#define SIZEOF_ARRAY(a) (countof(a) * sizeof((a)[0])) +#define STRLEN(s) (countof("" s "") - 1) #endif // include guard diff --git a/lib/string/ctype/strchrisascii/strchriscntrl.c b/lib/string/ctype/strchrisascii/strchriscntrl.c new file mode 100644 index 00000000..cb99c6f3 --- /dev/null +++ b/lib/string/ctype/strchrisascii/strchriscntrl.c @@ -0,0 +1,12 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/ctype/strchrisascii/strchriscntrl.h" + +#include + + +extern inline bool strchriscntrl(const char *s); diff --git a/lib/string/ctype/strchrisascii/strchriscntrl.h b/lib/string/ctype/strchrisascii/strchriscntrl.h new file mode 100644 index 00000000..966aa945 --- /dev/null +++ b/lib/string/ctype/strchrisascii/strchriscntrl.h @@ -0,0 +1,36 @@ +// SPDX-FileCopyrightText: 2024-2025, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_CTYPE_STRCHRISASCII_STRCHRISCNTRL_H_ +#define SHADOW_INCLUDE_LIB_STRING_CTYPE_STRCHRISASCII_STRCHRISCNTRL_H_ + + +#include + +#include +#include + +#include "string/strcmp/streq.h" + + +inline bool strchriscntrl(const char *s); + + +// string character is [:cntrl:] +// Return true if any iscntrl(3) character is found in the string. +inline bool +strchriscntrl(const char *s) +{ + for (; !streq(s, ""); s++) { + unsigned char c = *s; + + if (iscntrl(c)) + return true; + } + + return false; +} + + +#endif // include guard diff --git a/lib/string/ctype/strisascii/strisprint.c b/lib/string/ctype/strisascii/strisprint.c new file mode 100644 index 00000000..8fc62963 --- /dev/null +++ b/lib/string/ctype/strisascii/strisprint.c @@ -0,0 +1,12 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/ctype/strisascii/strisprint.h" + +#include + + +extern inline bool strisprint(const char *s); diff --git a/lib/string/ctype/strisascii/strisprint.h b/lib/string/ctype/strisascii/strisprint.h new file mode 100644 index 00000000..12e6a895 --- /dev/null +++ b/lib/string/ctype/strisascii/strisprint.h @@ -0,0 +1,39 @@ +// SPDX-FileCopyrightText: 2024-2025, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_CTYPE_STRISASCII_STRISPRINT_H_ +#define SHADOW_INCLUDE_LIB_STRING_CTYPE_STRISASCII_STRISPRINT_H_ + + +#include + +#include +#include + +#include "string/strcmp/streq.h" + + +inline bool strisprint(const char *s); + + +// string is [:print:] +// Like isprint(3), but check all characters in the string. +inline bool +strisprint(const char *s) +{ + if (streq(s, "")) + return false; + + for (; !streq(s, ""); s++) { + unsigned char c = *s; + + if (!isprint(c)) + return false; + } + + return true; +} + + +#endif // include guard diff --git a/lib/string/ctype/strtoascii/strtolower.c b/lib/string/ctype/strtoascii/strtolower.c new file mode 100644 index 00000000..b46e19a8 --- /dev/null +++ b/lib/string/ctype/strtoascii/strtolower.c @@ -0,0 +1,10 @@ +// SPDX-FileCopyrightText: 2025, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/ctype/strtoascii/strtolower.h" + + +extern inline char *strtolower(char *str); diff --git a/lib/string/ctype/strtoascii/strtolower.h b/lib/string/ctype/strtoascii/strtolower.h new file mode 100644 index 00000000..a19e851b --- /dev/null +++ b/lib/string/ctype/strtoascii/strtolower.h @@ -0,0 +1,34 @@ +// SPDX-FileCopyrightText: 2025, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_CTYPE_STRTOASCII_STRTOLOWER_H_ +#define SHADOW_INCLUDE_LIB_STRING_CTYPE_STRTOASCII_STRTOLOWER_H_ + + +#include + +#include + +#include "string/strcmp/streq.h" + + +inline char *strtolower(char *str); + + +// string convert-to lower-case +// Like tolower(3), but convert all characters in the string. +// Returns the input pointer. +inline char * +strtolower(char *str) +{ + for (char *s = str; !streq(s, ""); s++) { + unsigned char c = *s; + + *s = tolower(c); + } + return str; +} + + +#endif // include guard diff --git a/lib/string/sprintf/aprintf.c b/lib/string/sprintf/aprintf.c new file mode 100644 index 00000000..d243d9c4 --- /dev/null +++ b/lib/string/sprintf/aprintf.c @@ -0,0 +1,13 @@ +// SPDX-FileCopyrightText: 2025, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/sprintf/aprintf.h" + +#include + + +extern inline char *aprintf(const char *restrict fmt, ...); +extern inline char *vaprintf(const char *restrict fmt, va_list ap); diff --git a/lib/string/sprintf/aprintf.h b/lib/string/sprintf/aprintf.h new file mode 100644 index 00000000..f4cd7217 --- /dev/null +++ b/lib/string/sprintf/aprintf.h @@ -0,0 +1,57 @@ +// SPDX-FileCopyrightText: 2025, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_SPRINTF_APRINTF_H_ +#define SHADOW_INCLUDE_LIB_STRING_SPRINTF_APRINTF_H_ + + +#include + +#include +#include +#include +#include + +#include "attr.h" + + +ATTR_MALLOC(free) +format_attr(printf, 1, 2) +inline char *aprintf(const char *restrict fmt, ...); + +ATTR_MALLOC(free) +format_attr(printf, 1, 0) +inline char *vaprintf(const char *restrict fmt, va_list ap); + + +// allocate print formatted +// Like asprintf(3), but simpler; omit the length. +inline char * +aprintf(const char *restrict fmt, ...) +{ + char *p; + va_list ap; + + va_start(ap, fmt); + p = vaprintf(fmt, ap); + va_end(ap); + + return p; +} + + +// Like vasprintf(3), but simpler; omit the length. +inline char * +vaprintf(const char *restrict fmt, va_list ap) +{ + char *p; + + if (vasprintf(&p, fmt, ap) == -1) + return NULL; + + return p; +} + + +#endif // include guard diff --git a/lib/string/sprintf/snprintf.h b/lib/string/sprintf/snprintf.h index d181c661..4395c71f 100644 --- a/lib/string/sprintf/snprintf.h +++ b/lib/string/sprintf/snprintf.h @@ -18,7 +18,7 @@ #define SNPRINTF(s, fmt, ...) \ ( \ - snprintf_(s, NITEMS(s), fmt __VA_OPT__(,) __VA_ARGS__) \ + snprintf_(s, countof(s), fmt __VA_OPT__(,) __VA_ARGS__) \ ) diff --git a/lib/string/sprintf/stpeprintf.h b/lib/string/sprintf/stpeprintf.h index ccd844bc..c34e4efa 100644 --- a/lib/string/sprintf/stpeprintf.h +++ b/lib/string/sprintf/stpeprintf.h @@ -40,7 +40,7 @@ inline char *vstpeprintf(char *dst, char *end, const char *restrict fmt, * * end Pointer to one after the last element of the buffer * pointed to by `dst`. Usually, it should be calculated - * as `dst + NITEMS(dst)`. + * as `dst + countof(dst)`. * * fmt Format string * diff --git a/lib/string/sprintf/xaprintf.c b/lib/string/sprintf/xaprintf.c new file mode 100644 index 00000000..02880656 --- /dev/null +++ b/lib/string/sprintf/xaprintf.c @@ -0,0 +1,13 @@ +// SPDX-FileCopyrightText: 2023-2025, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/sprintf/xaprintf.h" + +#include + + +extern inline char *xaprintf(const char *restrict fmt, ...); +extern inline char *xvaprintf(const char *restrict fmt, va_list ap); diff --git a/lib/string/sprintf/xaprintf.h b/lib/string/sprintf/xaprintf.h new file mode 100644 index 00000000..b6c10ef9 --- /dev/null +++ b/lib/string/sprintf/xaprintf.h @@ -0,0 +1,59 @@ +// SPDX-FileCopyrightText: 2023-2025, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_SPRINTF_XASPRINTF_H_ +#define SHADOW_INCLUDE_LIB_STRING_SPRINTF_XASPRINTF_H_ + + +#include + +#include +#include +#include +#include + +#include "attr.h" +#include "string/sprintf/aprintf.h" + + +ATTR_MALLOC(free) +format_attr(printf, 1, 2) +inline char *xaprintf(const char *restrict fmt, ...); + +ATTR_MALLOC(free) +format_attr(printf, 1, 0) +inline char *xvaprintf(const char *restrict fmt, va_list ap); + + +// exit-on-error allocate print formatted +inline char * +xaprintf(const char *restrict fmt, ...) +{ + char *p; + va_list ap; + + va_start(ap, fmt); + p = xvaprintf(fmt, ap); + va_end(ap); + + return p; +} + + +inline char * +xvaprintf(const char *restrict fmt, va_list ap) +{ + char *p; + + p = vaprintf(fmt, ap); + if (p == NULL) { + perror("vaprintf"); + exit(EXIT_FAILURE); + } + + return p; +} + + +#endif // include guard diff --git a/lib/string/sprintf/xasprintf.c b/lib/string/sprintf/xasprintf.c deleted file mode 100644 index 2c740565..00000000 --- a/lib/string/sprintf/xasprintf.c +++ /dev/null @@ -1,14 +0,0 @@ -// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar -// SPDX-License-Identifier: BSD-3-Clause - - -#include - -#include "string/sprintf/xasprintf.h" - -#include - - -extern inline int xasprintf(char **restrict s, const char *restrict fmt, ...); -extern inline int xvasprintf(char **restrict s, const char *restrict fmt, - va_list ap); diff --git a/lib/string/sprintf/xasprintf.h b/lib/string/sprintf/xasprintf.h deleted file mode 100644 index 073cb903..00000000 --- a/lib/string/sprintf/xasprintf.h +++ /dev/null @@ -1,54 +0,0 @@ -// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar -// SPDX-License-Identifier: BSD-3-Clause - - -#ifndef SHADOW_INCLUDE_LIB_STRING_SPRINTF_XASPRINTF_H_ -#define SHADOW_INCLUDE_LIB_STRING_SPRINTF_XASPRINTF_H_ - - -#include - -#include -#include -#include -#include - -#include "attr.h" - - -format_attr(printf, 2, 3) -inline int xasprintf(char **restrict s, const char *restrict fmt, ...); -format_attr(printf, 2, 0) -inline int xvasprintf(char **restrict s, const char *restrict fmt, va_list ap); - - -inline int -xasprintf(char **restrict s, const char *restrict fmt, ...) -{ - int len; - va_list ap; - - va_start(ap, fmt); - len = xvasprintf(s, fmt, ap); - va_end(ap); - - return len; -} - - -inline int -xvasprintf(char **restrict s, const char *restrict fmt, va_list ap) -{ - int len; - - len = vasprintf(s, fmt, ap); - if (len == -1) { - perror("asprintf"); - exit(EXIT_FAILURE); - } - - return len; -} - - -#endif // include guard diff --git a/lib/string/strcmp/strcaseprefix.c b/lib/string/strcmp/strcaseprefix.c new file mode 100644 index 00000000..7fffa4ee --- /dev/null +++ b/lib/string/strcmp/strcaseprefix.c @@ -0,0 +1,10 @@ +// SPDX-FileCopyrightText: 2024-2025, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/strcmp/strcaseprefix.h" + + +extern inline const char *strcaseprefix_(const char *s, const char *prefix); diff --git a/lib/string/strcmp/strcaseprefix.h b/lib/string/strcmp/strcaseprefix.h new file mode 100644 index 00000000..37ca4d89 --- /dev/null +++ b/lib/string/strcmp/strcaseprefix.h @@ -0,0 +1,49 @@ +// SPDX-FileCopyrightText: 2024-2025, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_STRCMP_STRCASEPREFIX_H_ +#define SHADOW_INCLUDE_LIB_STRING_STRCMP_STRCASEPREFIX_H_ + + +#include + +#include +#include + +#include "attr.h" +#include "cast.h" + + +// string case-insensitive prefix +#define strcaseprefix(s, prefix) \ +({ \ + const char *p_; \ + \ + p_ = strcaseprefix_(s, prefix); \ + \ + _Generic(s, \ + const char *: p_, \ + const void *: p_, \ + char *: const_cast(char *, p_), \ + void *: const_cast(char *, p_) \ + ); \ +}) + + +ATTR_STRING(1) ATTR_STRING(2) +inline const char *strcaseprefix_(const char *s, const char *prefix); + + +// strprefix_(), but case-insensitive. +inline const char * +strcaseprefix_(const char *s, const char *prefix) +{ + if (strncasecmp(s, prefix, strlen(prefix)) != 0) + return NULL; + + return s + strlen(prefix); +} + + +#endif // include guard diff --git a/lib/string/strcmp/strprefix.c b/lib/string/strcmp/strprefix.c new file mode 100644 index 00000000..31209cfa --- /dev/null +++ b/lib/string/strcmp/strprefix.c @@ -0,0 +1,10 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/strcmp/strprefix.h" + + +extern inline const char *strprefix_(const char *s, const char *prefix); diff --git a/lib/string/strcmp/strprefix.h b/lib/string/strcmp/strprefix.h new file mode 100644 index 00000000..245b5bf6 --- /dev/null +++ b/lib/string/strcmp/strprefix.h @@ -0,0 +1,53 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_STRCMP_STRPREFIX_H_ +#define SHADOW_INCLUDE_LIB_STRING_STRCMP_STRPREFIX_H_ + + +#include + +#include +#include + +#include "attr.h" +#include "cast.h" + + +// string prefix +#define strprefix(s, prefix) \ +({ \ + const char *p_; \ + \ + p_ = strprefix_(s, prefix); \ + \ + _Generic(s, \ + const char *: p_, \ + const void *: p_, \ + char *: const_cast(char *, p_), \ + void *: const_cast(char *, p_) \ + ); \ +}) + + +ATTR_STRING(1) +ATTR_STRING(2) +inline const char *strprefix_(const char *s, const char *prefix); + + +/* + * Return NULL if s does not start with prefix. + * Return `s + strlen(prefix)` if s starts with prefix. + */ +inline const char * +strprefix_(const char *s, const char *prefix) +{ + if (strncmp(s, prefix, strlen(prefix)) != 0) + return NULL; + + return s + strlen(prefix); +} + + +#endif // include guard diff --git a/lib/string/strcpy/stpecpy.h b/lib/string/strcpy/stpecpy.h index e9debe4e..cc7dc0a2 100644 --- a/lib/string/strcpy/stpecpy.h +++ b/lib/string/strcpy/stpecpy.h @@ -32,7 +32,7 @@ inline char *stpecpy(char *dst, char *end, const char *restrict src); * * end Pointer to one after the last element of the buffer * pointed to by `dst`. Usually, it should be calculated - * as `dst + NITEMS(dst)`. + * as `dst + countof(dst)`. * * src Source string to be copied into dst. * diff --git a/lib/string/strcpy/strncat.h b/lib/string/strcpy/strncat.h index 6bb9907b..c88d8928 100644 --- a/lib/string/strcpy/strncat.h +++ b/lib/string/strcpy/strncat.h @@ -13,7 +13,7 @@ #include "sizeof.h" -#define STRNCAT(dst, src) strncat(dst, src, NITEMS(src)) +#define STRNCAT(dst, src) strncat(dst, src, countof(src)) #endif // include guard diff --git a/lib/string/strcpy/strncpy.h b/lib/string/strcpy/strncpy.h index fcb8720e..391d0d3f 100644 --- a/lib/string/strcpy/strncpy.h +++ b/lib/string/strcpy/strncpy.h @@ -13,7 +13,7 @@ #include "sizeof.h" -#define STRNCPY(dst, src) strncpy(dst, src, NITEMS(dst)) +#define STRNCPY(dst, src) strncpy(dst, src, countof(dst)) #endif // include guard diff --git a/lib/string/strcpy/strtcpy.h b/lib/string/strcpy/strtcpy.h index 4d35e1b8..aa89f99c 100644 --- a/lib/string/strcpy/strtcpy.h +++ b/lib/string/strcpy/strtcpy.h @@ -31,7 +31,7 @@ * at the buffer pointed to by dst. If the destination buffer, * isn't large enough to hold the copy, the resulting string is * truncated. The size of the buffer is calculated internally via - * NITEMS(). + * countof(). * * RETURN VALUE * -1 If this call truncated the resulting string. @@ -44,7 +44,7 @@ */ -#define STRTCPY(dst, src) strtcpy(dst, src, NITEMS(dst)) +#define STRTCPY(dst, src) strtcpy(dst, src, countof(dst)) ATTR_STRING(2) diff --git a/lib/string/strdup/strndupa.h b/lib/string/strdup/strndupa.h index cefc2982..844c76ba 100644 --- a/lib/string/strdup/strndupa.h +++ b/lib/string/strdup/strndupa.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-FileCopyrightText: 2024-2025, Alejandro Colomar // SPDX-License-Identifier: BSD-3-Clause @@ -12,14 +12,15 @@ #include #include "sizeof.h" -#include "string/strcpy/strncat.h" -// Similar to strndupa(3), but ensure that 's' is an array. -#define STRNDUPA(s) \ -( \ - STRNCAT(strcpy(alloca(strnlen(s, NITEMS(s)) + 1), ""), s) \ -) +// string n-bounded-read duplicate using-alloca(3) +#ifndef strndupa +# define strndupa(s, n) strncat(strcpy(alloca(n + 1), ""), s, n) +#endif + + +#define STRNDUPA(s) strndupa(s, countof(s)) #endif // include guard diff --git a/lib/string/strdup/xstrndup.h b/lib/string/strdup/xstrndup.h index 88263c30..8d93eb3f 100644 --- a/lib/string/strdup/xstrndup.h +++ b/lib/string/strdup/xstrndup.h @@ -18,7 +18,7 @@ // Similar to strndup(3), but ensure that 's' is an array, and exit on ENOMEM. #define XSTRNDUP(s) \ ( \ - STRNCAT(strcpy(XMALLOC(strnlen(s, NITEMS(s)) + 1, char), ""), s) \ + STRNCAT(strcpy(XMALLOC(strnlen(s, countof(s)) + 1, char), ""), s) \ ) diff --git a/lib/string/strftime.h b/lib/string/strftime.h index 2c86e89d..8e71237d 100644 --- a/lib/string/strftime.h +++ b/lib/string/strftime.h @@ -14,7 +14,7 @@ // string format time -#define STRFTIME(dst, fmt, tm) strftime(dst, NITEMS(dst), fmt, tm) +#define STRFTIME(dst, fmt, tm) strftime(dst, countof(dst), fmt, tm) #endif // include guard diff --git a/lib/string/strtok/astrsep2ls.c b/lib/string/strtok/astrsep2ls.c new file mode 100644 index 00000000..03d14324 --- /dev/null +++ b/lib/string/strtok/astrsep2ls.c @@ -0,0 +1,13 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/strtok/astrsep2ls.h" + +#include + + +extern inline char **astrsep2ls(char *restrict s, const char *restrict delim, + size_t *restrict np); diff --git a/lib/string/strtok/astrsep2ls.h b/lib/string/strtok/astrsep2ls.h new file mode 100644 index 00000000..aa5d2f6a --- /dev/null +++ b/lib/string/strtok/astrsep2ls.h @@ -0,0 +1,52 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_STRTOK_ASTRSEP2LS_H_ +#define SHADOW_INCLUDE_LIB_STRING_STRTOK_ASTRSEP2LS_H_ + + +#include + +#include + +#include "alloc/malloc.h" +#include "attr.h" +#include "string/strchr/strchrscnt.h" +#include "string/strtok/strsep2ls.h" + + +ATTR_ACCESS(read_write, 1) ATTR_ACCESS(write_only, 3) +ATTR_STRING(1) ATTR_STRING(2) +inline char **astrsep2ls(char *restrict s, const char *restrict delim, + size_t *restrict np); + + +// allocate string separate to list-of-strings +// Like strsep2ls(), but allocate the list array. +inline char ** +astrsep2ls(char *s, const char *restrict delim, size_t *restrict np) +{ + char **ls; + ssize_t n; + + n = strchrscnt(s, delim) + 2; + + ls = MALLOC(n, char *); + if (ls == NULL) + return NULL; + + n = strsep2ls(s, delim, n, ls); + if (n == -1) { + free(ls); + return NULL; + } + + if (np != NULL) + *np = n; + + return ls; +} + + +#endif // include guard diff --git a/lib/string/strtok/strsep2arr.c b/lib/string/strtok/strsep2arr.c new file mode 100644 index 00000000..775eee20 --- /dev/null +++ b/lib/string/strtok/strsep2arr.c @@ -0,0 +1,14 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/strtok/strsep2arr.h" + +#include +#include + + +extern inline ssize_t strsep2arr(char *s, const char *restrict delim, + size_t n, char *a[restrict n]); diff --git a/lib/string/strtok/strsep2arr.h b/lib/string/strtok/strsep2arr.h new file mode 100644 index 00000000..71704727 --- /dev/null +++ b/lib/string/strtok/strsep2arr.h @@ -0,0 +1,52 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_STRTOK_STRSEP2ARR_H_ +#define SHADOW_INCLUDE_LIB_STRING_STRTOK_STRSEP2ARR_H_ + + +#include + +#include +#include +#include +#include + +#include "attr.h" +#include "sizeof.h" + + +#define STRSEP2ARR(s, delim, a) \ +( \ + strsep2arr(s, delim, countof(a), a) == countof(a) ? 0 : -1 \ +) + + +ATTR_ACCESS(read_write, 1) ATTR_ACCESS(write_only, 4, 3) +ATTR_STRING(1) ATTR_STRING(2) +inline ssize_t strsep2arr(char *s, const char *restrict delim, + size_t n, char *a[restrict n]); + + +// string separate to array-of-strings +// strsep(3) a string into an array of strings. +// Return the number of fields in the string, or -1 on error. +inline ssize_t +strsep2arr(char *s, const char *restrict delim, size_t n, char *a[restrict n]) +{ + size_t i; + + for (i = 0; i < n && s != NULL; i++) + a[i] = strsep(&s, delim); + + if (s != NULL) { + errno = E2BIG; + return -1; + } + + return i; +} + + +#endif // include guard diff --git a/lib/string/strtok/strsep2ls.c b/lib/string/strtok/strsep2ls.c new file mode 100644 index 00000000..b7eed180 --- /dev/null +++ b/lib/string/strtok/strsep2ls.c @@ -0,0 +1,14 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/strtok/strsep2ls.h" + +#include +#include + + +extern inline ssize_t strsep2ls(char *s, const char *restrict delim, + size_t n, char *ls[restrict n]); diff --git a/lib/string/strtok/strsep2ls.h b/lib/string/strtok/strsep2ls.h new file mode 100644 index 00000000..473fe58c --- /dev/null +++ b/lib/string/strtok/strsep2ls.h @@ -0,0 +1,48 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_STRTOK_STRSEP2LS_H_ +#define SHADOW_INCLUDE_LIB_STRING_STRTOK_STRSEP2LS_H_ + + +#include + +#include +#include +#include + +#include "attr.h" +#include "sizeof.h" +#include "string/strtok/strsep2arr.h" + + +#define STRSEP2LS(s, delim, ls) strsep2ls(s, delim, countof(ls), ls) + + +ATTR_ACCESS(read_write, 1) ATTR_ACCESS(write_only, 4, 3) +ATTR_STRING(1) ATTR_STRING(2) +inline ssize_t strsep2ls(char *s, const char *restrict delim, + size_t n, char *ls[restrict n]); + + +// string separate to list-of-strings +// Like strsep2arr(), but add a NULL terminator. +inline ssize_t +strsep2ls(char *s, const char *restrict delim, size_t n, char *ls[restrict n]) +{ + size_t i; + + i = strsep2arr(s, delim, n, ls); + if (i >= n) { + errno = E2BIG; + return -1; + } + + ls[i] = NULL; + + return i; +} + + +#endif // include guard diff --git a/lib/string/strtok/xastrsep2ls.c b/lib/string/strtok/xastrsep2ls.c new file mode 100644 index 00000000..84572fd6 --- /dev/null +++ b/lib/string/strtok/xastrsep2ls.c @@ -0,0 +1,13 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/strtok/xastrsep2ls.h" + +#include + + +extern inline char **xastrsep2ls(char *restrict s, const char *restrict delim, + size_t *restrict np); diff --git a/lib/string/strtok/xastrsep2ls.h b/lib/string/strtok/xastrsep2ls.h new file mode 100644 index 00000000..e935a929 --- /dev/null +++ b/lib/string/strtok/xastrsep2ls.h @@ -0,0 +1,46 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_STRTOK_XASTRSEP2LS_H_ +#define SHADOW_INCLUDE_LIB_STRING_STRTOK_XASTRSEP2LS_H_ + + +#include + +#include +#include +#include +#include +#include + +#include "attr.h" +#include "shadowlog.h" +#include "string/strtok/astrsep2ls.h" + + +ATTR_ACCESS(read_write, 1) ATTR_ACCESS(write_only, 3) +ATTR_STRING(1) ATTR_STRING(2) +inline char **xastrsep2ls(char *restrict s, const char *restrict delim, + size_t *restrict np); + + +// exit-on-error allocate string separate to list-of-strings +inline char ** +xastrsep2ls(char *s, const char *restrict delim, size_t *restrict np) +{ + char **ls; + + ls = astrsep2ls(s, delim, np); + if (ls == NULL) + goto x; + + return ls; +x: + fprintf(log_get_logfd(), "%s: %s\n", + log_get_progname(), strerror(errno)); + exit(13); +} + + +#endif // include guard diff --git a/lib/strtoday.c b/lib/strtoday.c index 361ad39e..ac3be800 100644 --- a/lib/strtoday.c +++ b/lib/strtoday.c @@ -1,70 +1,77 @@ -/* - * SPDX-FileCopyrightText: 1991 - 1994, Julianne Frances Haugh - * SPDX-FileCopyrightText: 1996 - 1999, Marek Michałkiewicz - * SPDX-FileCopyrightText: 2003 - 2005, Tomasz Kłoczko - * SPDX-FileCopyrightText: 2008 , Nicolas François - * - * SPDX-License-Identifier: BSD-3-Clause - */ +// SPDX-FileCopyrightText: 1991-1994, Julianne Frances Haugh +// SPDX-FileCopyrightText: 1996-1999, Marek Michałkiewicz +// SPDX-FileCopyrightText: 2003-2005, Tomasz Kłoczko +// SPDX-FileCopyrightText: 2008, Nicolas François +// SPDX-FileCopyrightText: 2025, Alejandro Colomar +// SPDX-FileCopyrightText: 2025, "Haelwenn (lanodan) Monnier" +// SPDX-License-Identifier: BSD-3-Clause + #include -#include +#include +#include -#include "atoi/str2i/str2s.h" -#include "getdate.h" +#include "atoi/str2i.h" +#include "defines.h" #include "prototypes.h" -#include "string/ctype/strisascii/strisdigit.h" #include "string/strcmp/streq.h" -#include "string/strspn/stpspn.h" -/* - * strtoday() now uses get_date() (borrowed from GNU shellutils) - * which can handle many date formats, for example: - * 1970-09-17 # ISO 8601. - * 70-9-17 # This century assumed by default. - * 70-09-17 # Leading zeros are ignored. - * 9/17/72 # Common U.S. writing. - * 24 September 1972 - * 24 Sept 72 # September has a special abbreviation. - * 24 Sep 72 # Three-letter abbreviations always allowed. - * Sep 24, 1972 - * 24-sep-72 - * 24sep72 - */ -long strtoday (const char *str) +static long get_date(const char *s); +static long dategm(struct tm *tm); + + +// string parse-to day-since-Epoch +long +strtoday(const char *str) { - time_t t; - const char *s = str; + long d; - /* - * get_date() interprets an empty string as the current date, - * which is not what we expect, unless you're a BOFH :-). - * (useradd sets sp_expire = current date for new lusers) - */ - if ((NULL == str) || streq(str, "")) { + if (NULL == str || streq(str, "")) return -1; - } /* If a numerical value is provided, this is already a number of * days since EPOCH. */ - if ('-' == *s) { - s++; - } - s = stpspn(s, " "); - if (strisdigit(s)) { - long retdate; + if (str2sl(&d, str) == 0) + return d; - if (str2sl(&retdate, str) == -1) - return -2; - return retdate; - } - - t = get_date(str, NULL); - if ((time_t) - 1 == t) { + d = get_date(str); + if (d == -1) return -2; - } + + return d; +} + + +static long +get_date(const char *s) +{ + time_t t; + struct tm tm; + const char *p; + + t = 0; + if (gmtime_r(&t, &tm) == NULL) + return -1; + + p = strptime(s, "%Y-%m-%d", &tm); + if (p == NULL || !streq(p, "")) + return -1; + + return dategm(&tm); +} + + +static long +dategm(struct tm *tm) +{ + time_t t; + + t = timegm(tm); + if (t == (time_t) -1) + return -1; + return t / DAY; } diff --git a/lib/subordinateio.c b/lib/subordinateio.c index 229f27cb..27f888b9 100644 --- a/lib/subordinateio.c +++ b/lib/subordinateio.c @@ -21,10 +21,11 @@ #include "alloc/malloc.h" #include "alloc/realloc.h" #include "alloc/reallocf.h" -#include "atoi/str2i/str2u.h" +#include "atoi/str2i.h" #include "string/ctype/strisascii/strisdigit.h" #include "string/sprintf/snprintf.h" #include "string/strcmp/streq.h" +#include "string/strtok/strsep2arr.h" #define ID_SIZE 31 @@ -85,8 +86,6 @@ subordinate_parse(const char *line) { static struct subordinate_range range; static char rangebuf[1024]; - int i; - char *cp; char *fields[SUBID_NFIELDS]; /* @@ -97,20 +96,9 @@ subordinate_parse(const char *line) return NULL; /* fail if too long */ strcpy (rangebuf, line); - /* - * Save a pointer to the start of each colon separated - * field. The fields are converted into NUL terminated strings. - */ - - for (cp = rangebuf, i = 0; (i < SUBID_NFIELDS) && (NULL != cp); i++) - fields[i] = strsep(&cp, ":"); - - /* - * There must be exactly SUBID_NFIELDS colon separated fields or - * the entry is invalid. Also, fields must be non-blank. - */ - if (i != SUBID_NFIELDS) + if (STRSEP2ARR(rangebuf, ":", fields) == -1) return NULL; + if (streq(fields[0], "")) return NULL; if (streq(fields[1], "")) diff --git a/lib/tcbfuncs.c b/lib/tcbfuncs.c index 6e48db4e..998e601a 100644 --- a/lib/tcbfuncs.c +++ b/lib/tcbfuncs.c @@ -24,6 +24,7 @@ #include "tcbfuncs.h" #include "shadowio.h" #include "shadowlog_internal.h" +#include "string/sprintf/aprintf.h" #include "string/strcmp/streq.h" @@ -71,24 +72,18 @@ static /*@null@*/ char *shadowtcb_path_rel (const char *name, uid_t uid) char *ret; if (!getdef_bool ("TCB_SYMLINKS") || uid < SHADOWTCB_HASH_BY) { - if (asprintf (&ret, "%s", name) == -1) { - OUT_OF_MEMORY; - return NULL; - } + ret = strdup(name); } else if (uid < SHADOWTCB_HASH_BY * SHADOWTCB_HASH_BY) { - if (asprintf (&ret, ":%dK/%s", - uid / SHADOWTCB_HASH_BY, name) == -1) { - OUT_OF_MEMORY; - return NULL; - } + ret = aprintf(":%dK/%s", uid / SHADOWTCB_HASH_BY, name); } else { - if (asprintf (&ret, ":%dM/:%dK/%s", + ret = aprintf(":%dM/:%dK/%s", uid / (SHADOWTCB_HASH_BY * SHADOWTCB_HASH_BY), (uid % (SHADOWTCB_HASH_BY * SHADOWTCB_HASH_BY)) / SHADOWTCB_HASH_BY, - name) == -1) { - OUT_OF_MEMORY; - return NULL; - } + name); + } + if (ret == NULL) { + OUT_OF_MEMORY; + return NULL; } return ret; } @@ -99,7 +94,8 @@ static /*@null@*/ char *shadowtcb_path_rel_existing (const char *name) struct stat st; char link[8192]; - if (asprintf (&path, TCB_DIR "/%s", name) == -1) { + path = aprintf(TCB_DIR "/%s", name); + if (path == NULL) { OUT_OF_MEMORY; return NULL; } @@ -150,7 +146,8 @@ static /*@null@*/ char *shadowtcb_path (const char *name, uid_t uid) if (NULL == rel) { return NULL; } - if (asprintf (&ret, TCB_DIR "/%s", rel) == -1) { + ret = aprintf(TCB_DIR "/%s", rel); + if (ret == NULL) { OUT_OF_MEMORY; free (rel); return NULL; @@ -167,7 +164,8 @@ static /*@null@*/ char *shadowtcb_path_existing (const char *name) if (NULL == rel) { return NULL; } - if (asprintf (&ret, TCB_DIR "/%s", rel) == -1) { + ret = aprintf(TCB_DIR "/%s", rel); + if (ret == NULL) { OUT_OF_MEMORY; free (rel); return NULL; @@ -193,7 +191,8 @@ static shadowtcb_status mkdir_leading (const char *name, uid_t uid) } while ((ind = strchr (ptr, '/'))) { stpcpy(ind, ""); - if (asprintf (&dir, TCB_DIR "/%s", path) == -1) { + dir = aprintf(TCB_DIR "/%s", path); + if (dir == NULL) { OUT_OF_MEMORY; return SHADOWTCB_FAILURE; } @@ -235,7 +234,8 @@ static shadowtcb_status unlink_suffs (const char *user) int i; for (i = 0; i < 3; i++) { - if (asprintf (&tmp, TCB_FMT "%s", user, suffs[i]) == -1) { + tmp = aprintf(TCB_FMT "%s", user, suffs[i]); + if (tmp == NULL) { OUT_OF_MEMORY; return SHADOWTCB_FAILURE; } @@ -259,7 +259,8 @@ static shadowtcb_status rmdir_leading (char *path) shadowtcb_status ret = SHADOWTCB_SUCCESS; while ((ind = strrchr (path, '/'))) { stpcpy(ind, ""); - if (asprintf (&dir, TCB_DIR "/%s", path) == -1) { + dir = aprintf(TCB_DIR "/%s", path); + if (dir == NULL) { OUT_OF_MEMORY; return SHADOWTCB_FAILURE; } @@ -290,7 +291,8 @@ static shadowtcb_status move_dir (const char *user_newname, uid_t user_newid) if (NULL == stored_tcb_user) { return SHADOWTCB_FAILURE; } - if (asprintf (&olddir, TCB_DIR "/%s", stored_tcb_user) == -1) { + olddir = aprintf(TCB_DIR "/%s", stored_tcb_user); + if (olddir == NULL) { goto out_free_nomem; } if (stat (olddir, &oldmode) != 0) { @@ -335,7 +337,8 @@ static shadowtcb_status move_dir (const char *user_newname, uid_t user_newid) shadow_progname, olddir, strerror (errno)); goto out_free; } - if (asprintf (&newdir, TCB_DIR "/%s", user_newname) == -1) { + newdir = aprintf(TCB_DIR "/%s", user_newname); + if (newdir == NULL) { goto out_free_nomem; } real_new_dir_rel = shadowtcb_path_rel (user_newname, the_newid); @@ -379,7 +382,8 @@ shadowtcb_status shadowtcb_set_user (const char* name) OUT_OF_MEMORY; return SHADOWTCB_FAILURE; } - if (asprintf (&buf, TCB_FMT, name) == -1) { + buf = aprintf(TCB_FMT, name); + if (buf == NULL) { OUT_OF_MEMORY; return SHADOWTCB_FAILURE; } @@ -403,7 +407,8 @@ shadowtcb_status shadowtcb_remove (const char *name) } free (path); free (rel); - if (asprintf (&path, TCB_DIR "/%s", name) == -1) { + path = aprintf(TCB_DIR "/%s", name); + if (path == NULL) { OUT_OF_MEMORY; return SHADOWTCB_FAILURE; } @@ -435,8 +440,13 @@ shadowtcb_status shadowtcb_move (/*@NULL@*/const char *user_newname, uid_t user_ if (-1 == user_newid) { return SHADOWTCB_SUCCESS; } - if ( (asprintf (&tcbdir, TCB_DIR "/%s", user_newname) == -1) - || (asprintf (&shadow, TCB_FMT, user_newname) == -1)) { + tcbdir = aprintf(TCB_DIR "/%s", user_newname); + if (tcbdir == NULL) { + OUT_OF_MEMORY; + return SHADOWTCB_FAILURE; + } + shadow = aprintf(TCB_FMT, user_newname); + if (shadow == NULL) { OUT_OF_MEMORY; return SHADOWTCB_FAILURE; } @@ -540,8 +550,13 @@ shadowtcb_status shadowtcb_create (const char *name, uid_t uid) } } - if ( (asprintf (&dir, TCB_DIR "/%s", name) == -1) - || (asprintf (&shadow, TCB_FMT, name) == -1)) { + dir = aprintf(TCB_DIR "/%s", name); + if (dir == NULL) { + OUT_OF_MEMORY; + return SHADOWTCB_FAILURE; + } + shadow = aprintf(TCB_FMT, name); + if (shadow == NULL) { OUT_OF_MEMORY; return SHADOWTCB_FAILURE; } diff --git a/lib/time/day_to_str.h b/lib/time/day_to_str.h index fe3308d8..3feb089e 100644 --- a/lib/time/day_to_str.h +++ b/lib/time/day_to_str.h @@ -16,7 +16,7 @@ #include "string/strcpy/strtcpy.h" -#define DAY_TO_STR(str, day) day_to_str(NITEMS(str), str, day) +#define DAY_TO_STR(str, day) day_to_str(countof(str), str, day) inline void day_to_str(size_t size, char buf[size], long day); diff --git a/lib/ttytype.c b/lib/ttytype.c index 74051042..3514f294 100644 --- a/lib/ttytype.c +++ b/lib/ttytype.c @@ -18,6 +18,7 @@ #include "getdef.h" #include "prototypes.h" #include "string/strcmp/streq.h" +#include "string/strcmp/strprefix.h" #include "string/strtok/stpsep.h" @@ -47,7 +48,7 @@ void ttytype (const char *line) return; } while (fgets (buf, sizeof buf, fp) == buf) { - if (buf[0] == '#') { + if (strprefix(buf, "#")) { continue; } diff --git a/lib/typetraits.h b/lib/typetraits.h index 47bd30d9..7d3269d6 100644 --- a/lib/typetraits.h +++ b/lib/typetraits.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2022-2024, Alejandro Colomar +// SPDX-FileCopyrightText: 2019-2024, Alejandro Colomar // SPDX-License-Identifier: BSD-3-Clause @@ -43,4 +43,15 @@ ) +#define is_same_type(a, b) \ +( \ + __builtin_types_compatible_p(a, b) \ +) + +#define is_same_typeof(a, b) \ +( \ + is_same_type(typeof(a), typeof(b)) \ +) + + #endif // include guard diff --git a/lib/user_busy.c b/lib/user_busy.c index 73c380bc..d689d34d 100644 --- a/lib/user_busy.c +++ b/lib/user_busy.c @@ -29,6 +29,7 @@ #include "shadowlog.h" #include "string/sprintf/snprintf.h" #include "string/strcmp/streq.h" +#include "string/strcmp/strprefix.h" #ifdef __linux__ @@ -126,7 +127,7 @@ static int check_status (const char *name, const char *sname, uid_t uid) return 0; } while (fgets (line, sizeof (line), sfile) == line) { - if (strncmp (line, "Uid:\t", 5) == 0) { + if (strprefix(line, "Uid:\t")) { unsigned long ruid, euid, suid; assert (uid == (unsigned long) uid); @@ -204,9 +205,7 @@ static int user_busy_processes (const char *name, uid_t uid) || streq(tmp_d_name, "..")) { continue; } - if (*tmp_d_name == '.') { - tmp_d_name++; - } + tmp_d_name = strprefix(tmp_d_name, ".") ?: tmp_d_name; /* Check if this is a valid PID */ if (get_pid(tmp_d_name, &pid) == -1) { diff --git a/lib/utmp.c b/lib/utmp.c index 6dc1f5df..ff886354 100644 --- a/lib/utmp.c +++ b/lib/utmp.c @@ -27,6 +27,7 @@ #include "alloc/x/xmalloc.h" #include "sizeof.h" #include "string/strcmp/streq.h" +#include "string/strcmp/strprefix.h" #include "string/strcpy/strncpy.h" #include "string/strcpy/strtcpy.h" #include "string/strdup/xstrdup.h" @@ -35,7 +36,7 @@ #ident "$Id$" -#define UTX_LINESIZE NITEMS(memberof(struct utmpx, ut_line)) +#define UTX_LINESIZE countof(memberof(struct utmpx, ut_line)) /* @@ -261,10 +262,7 @@ prepare_utmp(const char *name, const char *line, const char *host, hostname = XSTRNDUP(ut->ut_host); #endif - if (strncmp(line, "/dev/", 5) == 0) { - line += 5; - } - + line = strprefix(line, "/dev/") ?: line; utent = XCALLOC(1, struct utmpx); diff --git a/lib/yesno.c b/lib/yesno.c index 029cd815..b37e41a9 100644 --- a/lib/yesno.c +++ b/lib/yesno.c @@ -14,7 +14,9 @@ #include #include #include + #include "prototypes.h" +#include "string/strcmp/strcaseprefix.h" /* @@ -76,10 +78,9 @@ yes_or_no(bool read_only) static int rpmatch(const char *response) { - if (response[0] == 'y' || response[0] == 'Y') + if (strcaseprefix(response, "y")) return 1; - - if (response[0] == 'n' || response[0] == 'n') + if (strcaseprefix(response, "n")) return 0; return -1; diff --git a/libsubid/Makefile.in b/libsubid/Makefile.in index 0395dee3..96c5604d 100644 --- a/libsubid/Makefile.in +++ b/libsubid/Makefile.in @@ -249,6 +249,7 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -339,8 +340,6 @@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMLCATALOG = @XMLCATALOG@ XML_CATALOG_FILE = @XML_CATALOG_FILE@ XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/ltmain.sh b/ltmain.sh index 540a92ab..977e5237 100755 --- a/ltmain.sh +++ b/ltmain.sh @@ -1,12 +1,12 @@ -#! /bin/sh +#! /usr/bin/env sh ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in -## by inline-source v2014-01-03.01 +## by inline-source v2019-02-19.15 -# libtool (GNU libtool) 2.4.6 +# libtool (GNU libtool) 2.4.7 # Provide generalized library-building support services. # Written by Gordon Matzigkeit , 1996 -# Copyright (C) 1996-2015 Free Software Foundation, Inc. +# Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. @@ -31,8 +31,8 @@ PROGRAM=libtool PACKAGE=libtool -VERSION="2.4.6 Debian-2.4.6-15build2" -package_revision=2.4.6 +VERSION="2.4.7 Debian-2.4.7-7build1" +package_revision=2.4.7 ## ------ ## @@ -64,34 +64,25 @@ package_revision=2.4.6 # libraries, which are installed to $pkgauxdir. # Set a version string for this script. -scriptversion=2015-01-20.17; # UTC +scriptversion=2019-02-19.15; # UTC # General shell script boiler plate, and helper functions. # Written by Gary V. Vaughan, 2004 -# Copyright (C) 2004-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2004-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. - -# As a special exception to the GNU General Public License, if you distribute -# this file as part of a program or library that is built using GNU Libtool, -# you may include this file under the same distribution terms that you use -# for the rest of that program. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# Please report bugs or propose patches to gary@gnu.org. +# Please report bugs or propose patches to: +# ## ------ ## @@ -139,9 +130,12 @@ do _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" fi" done - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +# These NLS vars are set unconditionally (bootstrap issue #24). Unset those +# in case the environment reset is needed later and the $save_* variant is not +# defined (see the code above). +LC_ALL=C +LANGUAGE=C +export LANGUAGE LC_ALL # Make sure IFS has a sensible default sp=' ' @@ -159,6 +153,26 @@ if test "${PATH_SEPARATOR+set}" != set; then fi +# func_unset VAR +# -------------- +# Portably unset VAR. +# In some shells, an 'unset VAR' statement leaves a non-zero return +# status if VAR is already unset, which might be problematic if the +# statement is used at the end of a function (thus poisoning its return +# value) or when 'set -e' is active (causing even a spurious abort of +# the script in this case). +func_unset () +{ + { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; } +} + + +# Make sure CDPATH doesn't cause `cd` commands to output the target dir. +func_unset CDPATH + +# Make sure ${,E,F}GREP behave sanely. +func_unset GREP_OPTIONS + ## ------------------------- ## ## Locate command utilities. ## @@ -259,7 +273,7 @@ test -z "$SED" && { rm -f conftest.in conftest.tmp conftest.nl conftest.out } - func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin + func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin" rm -f conftest.sed SED=$func_path_progs_result } @@ -295,7 +309,7 @@ test -z "$GREP" && { rm -f conftest.in conftest.tmp conftest.nl conftest.out } - func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin + func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin" GREP=$func_path_progs_result } @@ -360,6 +374,35 @@ sed_double_backslash="\ s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g s/\n//g" +# require_check_ifs_backslash +# --------------------------- +# Check if we can use backslash as IFS='\' separator, and set +# $check_ifs_backshlash_broken to ':' or 'false'. +require_check_ifs_backslash=func_require_check_ifs_backslash +func_require_check_ifs_backslash () +{ + _G_save_IFS=$IFS + IFS='\' + _G_check_ifs_backshlash='a\\b' + for _G_i in $_G_check_ifs_backshlash + do + case $_G_i in + a) + check_ifs_backshlash_broken=false + ;; + '') + break + ;; + *) + check_ifs_backshlash_broken=: + break + ;; + esac + done + IFS=$_G_save_IFS + require_check_ifs_backslash=: +} + ## ----------------- ## ## Global variables. ## @@ -529,27 +572,15 @@ func_require_term_colors () # --------------------- # Append VALUE onto the existing contents of VAR. - # We should try to minimise forks, especially on Windows where they are - # unreasonably slow, so skip the feature probes when bash or zsh are - # being used: - if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then - : ${_G_HAVE_ARITH_OP="yes"} - : ${_G_HAVE_XSI_OPS="yes"} - # The += operator was introduced in bash 3.1 - case $BASH_VERSION in - [12].* | 3.0 | 3.0*) ;; - *) - : ${_G_HAVE_PLUSEQ_OP="yes"} - ;; - esac - fi - # _G_HAVE_PLUSEQ_OP # Can be empty, in which case the shell is probed, "yes" if += is # useable or anything else if it does not work. - test -z "$_G_HAVE_PLUSEQ_OP" \ - && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ - && _G_HAVE_PLUSEQ_OP=yes + if test -z "$_G_HAVE_PLUSEQ_OP" && \ + __PLUSEQ_TEST="a" && \ + __PLUSEQ_TEST+=" b" 2>/dev/null && \ + test "a b" = "$__PLUSEQ_TEST"; then + _G_HAVE_PLUSEQ_OP=yes + fi if test yes = "$_G_HAVE_PLUSEQ_OP" then @@ -580,16 +611,16 @@ if test yes = "$_G_HAVE_PLUSEQ_OP"; then { $debug_cmd - func_quote_for_eval "$2" - eval "$1+=\\ \$func_quote_for_eval_result" + func_quote_arg pretty "$2" + eval "$1+=\\ \$func_quote_arg_result" }' else func_append_quoted () { $debug_cmd - func_quote_for_eval "$2" - eval "$1=\$$1\\ \$func_quote_for_eval_result" + func_quote_arg pretty "$2" + eval "$1=\$$1\\ \$func_quote_arg_result" } fi @@ -1091,85 +1122,203 @@ func_relative_path () } -# func_quote_for_eval ARG... -# -------------------------- -# Aesthetically quote ARGs to be evaled later. -# This function returns two values: -# i) func_quote_for_eval_result -# double-quoted, suitable for a subsequent eval -# ii) func_quote_for_eval_unquoted_result -# has all characters that are still active within double -# quotes backslashified. -func_quote_for_eval () +# func_quote_portable EVAL ARG +# ---------------------------- +# Internal function to portably implement func_quote_arg. Note that we still +# keep attention to performance here so we as much as possible try to avoid +# calling sed binary (so far O(N) complexity as long as func_append is O(1)). +func_quote_portable () { $debug_cmd - func_quote_for_eval_unquoted_result= - func_quote_for_eval_result= - while test 0 -lt $#; do - case $1 in + $require_check_ifs_backslash + + func_quote_portable_result=$2 + + # one-time-loop (easy break) + while true + do + if $1; then + func_quote_portable_result=`$ECHO "$2" | $SED \ + -e "$sed_double_quote_subst" -e "$sed_double_backslash"` + break + fi + + # Quote for eval. + case $func_quote_portable_result in *[\\\`\"\$]*) - _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; - *) - _G_unquoted_arg=$1 ;; - esac - if test -n "$func_quote_for_eval_unquoted_result"; then - func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" - else - func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" - fi + # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string + # contains the shell wildcard characters. + case $check_ifs_backshlash_broken$func_quote_portable_result in + :*|*[\[\*\?]*) + func_quote_portable_result=`$ECHO "$func_quote_portable_result" \ + | $SED "$sed_quote_subst"` + break + ;; + esac - case $_G_unquoted_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and variable expansion - # for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - _G_quoted_arg=\"$_G_unquoted_arg\" + func_quote_portable_old_IFS=$IFS + for _G_char in '\' '`' '"' '$' + do + # STATE($1) PREV($2) SEPARATOR($3) + set start "" "" + func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy + IFS=$_G_char + for _G_part in $func_quote_portable_result + do + case $1 in + quote) + func_append func_quote_portable_result "$3$2" + set quote "$_G_part" "\\$_G_char" + ;; + start) + set first "" "" + func_quote_portable_result= + ;; + first) + set quote "$_G_part" "" + ;; + esac + done + done + IFS=$func_quote_portable_old_IFS ;; - *) - _G_quoted_arg=$_G_unquoted_arg - ;; + *) ;; esac - - if test -n "$func_quote_for_eval_result"; then - func_append func_quote_for_eval_result " $_G_quoted_arg" - else - func_append func_quote_for_eval_result "$_G_quoted_arg" - fi - shift + break done + + func_quote_portable_unquoted_result=$func_quote_portable_result + case $func_quote_portable_result in + # double-quote args containing shell metacharacters to delay + # word splitting, command substitution and variable expansion + # for a subsequent eval. + # many bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + func_quote_portable_result=\"$func_quote_portable_result\" + ;; + esac } -# func_quote_for_expand ARG -# ------------------------- -# Aesthetically quote ARG to be evaled later; same as above, -# but do not quote variable references. -func_quote_for_expand () +# func_quotefast_eval ARG +# ----------------------- +# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG', +# but optimized for speed. Result is stored in $func_quotefast_eval. +if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then + printf -v _GL_test_printf_tilde %q '~' + if test '\~' = "$_GL_test_printf_tilde"; then + func_quotefast_eval () + { + printf -v func_quotefast_eval_result %q "$1" + } + else + # Broken older Bash implementations. Make those faster too if possible. + func_quotefast_eval () + { + case $1 in + '~'*) + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + ;; + *) + printf -v func_quotefast_eval_result %q "$1" + ;; + esac + } + fi +else + func_quotefast_eval () + { + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + } +fi + + +# func_quote_arg MODEs ARG +# ------------------------ +# Quote one ARG to be evaled later. MODEs argument may contain zero or more +# specifiers listed below separated by ',' character. This function returns two +# values: +# i) func_quote_arg_result +# double-quoted (when needed), suitable for a subsequent eval +# ii) func_quote_arg_unquoted_result +# has all characters that are still active within double +# quotes backslashified. Available only if 'unquoted' is specified. +# +# Available modes: +# ---------------- +# 'eval' (default) +# - escape shell special characters +# 'expand' +# - the same as 'eval'; but do not quote variable references +# 'pretty' +# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might +# be used later in func_quote to get output like: 'echo "a b"' instead +# of 'echo a\ b'. This is slower than default on some shells. +# 'unquoted' +# - produce also $func_quote_arg_unquoted_result which does not contain +# wrapping double-quotes. +# +# Examples for 'func_quote_arg pretty,unquoted string': +# +# string | *_result | *_unquoted_result +# ------------+-----------------------+------------------- +# " | \" | \" +# a b | "a b" | a b +# "a b" | "\"a b\"" | \"a b\" +# * | "*" | * +# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\" +# +# Examples for 'func_quote_arg pretty,unquoted,expand string': +# +# string | *_result | *_unquoted_result +# --------------+---------------------+-------------------- +# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\" +func_quote_arg () { - $debug_cmd - - case $1 in - *[\\\`\"]*) - _G_arg=`$ECHO "$1" | $SED \ - -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; - *) - _G_arg=$1 ;; - esac - - case $_G_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting and command substitution for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - _G_arg=\"$_G_arg\" + _G_quote_expand=false + case ,$1, in + *,expand,*) + _G_quote_expand=: ;; esac - func_quote_for_expand_result=$_G_arg + case ,$1, in + *,pretty,*|*,expand,*|*,unquoted,*) + func_quote_portable $_G_quote_expand "$2" + func_quote_arg_result=$func_quote_portable_result + func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result + ;; + *) + # Faster quote-for-eval for some shells. + func_quotefast_eval "$2" + func_quote_arg_result=$func_quotefast_eval_result + ;; + esac +} + + +# func_quote MODEs ARGs... +# ------------------------ +# Quote all ARGs to be evaled later and join them into single command. See +# func_quote_arg's description for more info. +func_quote () +{ + $debug_cmd + _G_func_quote_mode=$1 ; shift + func_quote_result= + while test 0 -lt $#; do + func_quote_arg "$_G_func_quote_mode" "$1" + if test -n "$func_quote_result"; then + func_append func_quote_result " $func_quote_arg_result" + else + func_append func_quote_result "$func_quote_arg_result" + fi + shift + done } @@ -1215,8 +1364,8 @@ func_show_eval () _G_cmd=$1 _G_fail_exp=${2-':'} - func_quote_for_expand "$_G_cmd" - eval "func_notquiet $func_quote_for_expand_result" + func_quote_arg pretty,expand "$_G_cmd" + eval "func_notquiet $func_quote_arg_result" $opt_dry_run || { eval "$_G_cmd" @@ -1241,8 +1390,8 @@ func_show_eval_locale () _G_fail_exp=${2-':'} $opt_quiet || { - func_quote_for_expand "$_G_cmd" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$_G_cmd" + eval "func_echo $func_quote_arg_result" } $opt_dry_run || { @@ -1369,30 +1518,26 @@ func_lt_ver () # End: #! /bin/sh -# Set a version string for this script. -scriptversion=2015-10-07.11; # UTC - # A portable, pluggable option parser for Bourne shell. # Written by Gary V. Vaughan, 2010 -# Copyright (C) 2010-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2010-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. +# Please report bugs or propose patches to: +# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# Please report bugs or propose patches to gary@gnu.org. +# Set a version string for this script. +scriptversion=2019-02-19.15; # UTC ## ------ ## @@ -1415,7 +1560,7 @@ scriptversion=2015-10-07.11; # UTC # # In order for the '--version' option to work, you will need to have a # suitably formatted comment like the one at the top of this file -# starting with '# Written by ' and ending with '# warranty; '. +# starting with '# Written by ' and ending with '# Copyright'. # # For '-h' and '--help' to work, you will also need a one line # description of your script's purpose in a comment directly above the @@ -1427,7 +1572,7 @@ scriptversion=2015-10-07.11; # UTC # to display verbose messages only when your user has specified # '--verbose'. # -# After sourcing this file, you can plug processing for additional +# After sourcing this file, you can plug in processing for additional # options by amending the variables from the 'Configuration' section # below, and following the instructions in the 'Option parsing' # section further down. @@ -1476,8 +1621,8 @@ fatal_help="Try '\$progname --help' for more information." ## ------------------------- ## # This section contains functions for adding, removing, and running hooks -# to the main code. A hook is just a named list of of function, that can -# be run in order later on. +# in the main code. A hook is just a list of function names that can be +# run in order later on. # func_hookable FUNC_NAME # ----------------------- @@ -1510,7 +1655,8 @@ func_add_hook () # func_remove_hook FUNC_NAME HOOK_FUNC # ------------------------------------ -# Remove HOOK_FUNC from the list of functions called by FUNC_NAME. +# Remove HOOK_FUNC from the list of hook functions to be called by +# FUNC_NAME. func_remove_hook () { $debug_cmd @@ -1519,10 +1665,28 @@ func_remove_hook () } +# func_propagate_result FUNC_NAME_A FUNC_NAME_B +# --------------------------------------------- +# If the *_result variable of FUNC_NAME_A _is set_, assign its value to +# *_result variable of FUNC_NAME_B. +func_propagate_result () +{ + $debug_cmd + + func_propagate_result_result=: + if eval "test \"\${${1}_result+set}\" = set" + then + eval "${2}_result=\$${1}_result" + else + func_propagate_result_result=false + fi +} + + # func_run_hooks FUNC_NAME [ARG]... # --------------------------------- # Run all hook functions registered to FUNC_NAME. -# It is assumed that the list of hook functions contains nothing more +# It's assumed that the list of hook functions contains nothing more # than a whitespace-delimited list of legal shell function names, and # no effort is wasted trying to catch shell meta-characters or preserve # whitespace. @@ -1534,22 +1698,19 @@ func_run_hooks () case " $hookable_fns " in *" $1 "*) ;; - *) func_fatal_error "'$1' does not support hook funcions.n" ;; + *) func_fatal_error "'$1' does not support hook functions." ;; esac eval _G_hook_fns=\$$1_hooks; shift for _G_hook in $_G_hook_fns; do - if eval $_G_hook '"$@"'; then - # store returned options list back into positional - # parameters for next 'cmd' execution. - eval _G_hook_result=\$${_G_hook}_result - eval set dummy "$_G_hook_result"; shift - _G_rc_run_hooks=: + func_unset "${_G_hook}_result" + eval $_G_hook '${1+"$@"}' + func_propagate_result $_G_hook func_run_hooks + if $func_propagate_result_result; then + eval set dummy "$func_run_hooks_result"; shift fi done - - $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result } @@ -1559,14 +1720,16 @@ func_run_hooks () ## --------------- ## # In order to add your own option parsing hooks, you must accept the -# full positional parameter list in your hook function, you may remove/edit -# any options that you action, and then pass back the remaining unprocessed -# options in '_result', escaped suitably for -# 'eval'. In this case you also must return $EXIT_SUCCESS to let the -# hook's caller know that it should pay attention to -# '_result'. Returning $EXIT_FAILURE signalizes that -# arguments are left untouched by the hook and therefore caller will ignore the -# result variable. +# full positional parameter list from your hook function. You may remove +# or edit any options that you action, and then pass back the remaining +# unprocessed options in '_result', escaped +# suitably for 'eval'. +# +# The '_result' variable is automatically unset +# before your hook gets called; for best performance, only set the +# *_result variable when necessary (i.e. don't call the 'func_quote' +# function unnecessarily because it can be an expensive operation on some +# machines). # # Like this: # @@ -1578,11 +1741,8 @@ func_run_hooks () # usage_message=$usage_message' # -s, --silent don'\''t print informational messages # ' -# # No change in '$@' (ignored completely by this hook). There is -# # no need to do the equivalent (but slower) action: -# # func_quote_for_eval ${1+"$@"} -# # my_options_prep_result=$func_quote_for_eval_result -# false +# # No change in '$@' (ignored completely by this hook). Leave +# # my_options_prep_result variable intact. # } # func_add_hook func_options_prep my_options_prep # @@ -1593,7 +1753,7 @@ func_run_hooks () # # args_changed=false # -# # Note that for efficiency, we parse as many options as we can +# # Note that, for efficiency, we parse as many options as we can # # recognise in a loop before passing the remainder back to the # # caller on the first unrecognised argument we encounter. # while test $# -gt 0; do @@ -1610,18 +1770,17 @@ func_run_hooks () # args_changed=: # ;; # *) # Make sure the first unrecognised option "$_G_opt" -# # is added back to "$@", we could need that later -# # if $args_changed is true. +# # is added back to "$@" in case we need it later, +# # if $args_changed was set to 'true'. # set dummy "$_G_opt" ${1+"$@"}; shift; break ;; # esac # done # +# # Only call 'func_quote' here if we processed at least one argument. # if $args_changed; then -# func_quote_for_eval ${1+"$@"} -# my_silent_option_result=$func_quote_for_eval_result +# func_quote eval ${1+"$@"} +# my_silent_option_result=$func_quote_result # fi -# -# $args_changed # } # func_add_hook func_parse_options my_silent_option # @@ -1632,8 +1791,6 @@ func_run_hooks () # # $opt_silent && $opt_verbose && func_fatal_help "\ # '--silent' and '--verbose' options are mutually exclusive." -# -# false # } # func_add_hook func_validate_options my_option_validation # @@ -1649,13 +1806,8 @@ func_options_finish () { $debug_cmd - _G_func_options_finish_exit=false - if func_run_hooks func_options ${1+"$@"}; then - func_options_finish_result=$func_run_hooks_result - _G_func_options_finish_exit=: - fi - - $_G_func_options_finish_exit + func_run_hooks func_options ${1+"$@"} + func_propagate_result func_run_hooks func_options_finish } @@ -1668,28 +1820,27 @@ func_options () { $debug_cmd - _G_rc_options=false + _G_options_quoted=false for my_func in options_prep parse_options validate_options options_finish do - if eval func_$my_func '${1+"$@"}'; then - eval _G_res_var='$'"func_${my_func}_result" - eval set dummy "$_G_res_var" ; shift - _G_rc_options=: + func_unset func_${my_func}_result + func_unset func_run_hooks_result + eval func_$my_func '${1+"$@"}' + func_propagate_result func_$my_func func_options + if $func_propagate_result_result; then + eval set dummy "$func_options_result"; shift + _G_options_quoted=: fi done - # Save modified positional parameters for caller. As a top-level - # options-parser function we always need to set the 'func_options_result' - # variable (regardless the $_G_rc_options value). - if $_G_rc_options; then - func_options_result=$_G_res_var - else - func_quote_for_eval ${1+"$@"} - func_options_result=$func_quote_for_eval_result - fi - - $_G_rc_options + $_G_options_quoted || { + # As we (func_options) are top-level options-parser function and + # nobody quoted "$@" for us yet, we need to do it explicitly for + # caller. + func_quote eval ${1+"$@"} + func_options_result=$func_quote_result + } } @@ -1699,8 +1850,7 @@ func_options () # Note that when calling hook functions, we pass through the list of # positional parameters. If a hook function modifies that list, and # needs to propagate that back to rest of this script, then the complete -# modified list must be put in 'func_run_hooks_result' before -# returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned). +# modified list must be put in 'func_run_hooks_result' before returning. func_hookable func_options_prep func_options_prep () { @@ -1710,14 +1860,8 @@ func_options_prep () opt_verbose=false opt_warning_types= - _G_rc_options_prep=false - if func_run_hooks func_options_prep ${1+"$@"}; then - _G_rc_options_prep=: - # save modified positional parameters for caller - func_options_prep_result=$func_run_hooks_result - fi - - $_G_rc_options_prep + func_run_hooks func_options_prep ${1+"$@"} + func_propagate_result func_run_hooks func_options_prep } @@ -1729,27 +1873,32 @@ func_parse_options () { $debug_cmd - func_parse_options_result= - - _G_rc_parse_options=false + _G_parse_options_requote=false # this just eases exit handling while test $# -gt 0; do # Defer to hook functions for initial option parsing, so they # get priority in the event of reusing an option name. - if func_run_hooks func_parse_options ${1+"$@"}; then - eval set dummy "$func_run_hooks_result"; shift - _G_rc_parse_options=: + func_run_hooks func_parse_options ${1+"$@"} + func_propagate_result func_run_hooks func_parse_options + if $func_propagate_result_result; then + eval set dummy "$func_parse_options_result"; shift + # Even though we may have changed "$@", we passed the "$@" array + # down into the hook and it quoted it for us (because we are in + # this if-branch). No need to quote it again. + _G_parse_options_requote=false fi # Break out of the loop if we already parsed every option. test $# -gt 0 || break + # We expect that one of the options parsed in this function matches + # and thus we remove _G_opt from "$@" and need to re-quote. _G_match_parse_options=: _G_opt=$1 shift case $_G_opt in --debug|-x) debug_cmd='set -x' - func_echo "enabling shell trace mode" + func_echo "enabling shell trace mode" >&2 $debug_cmd ;; @@ -1760,7 +1909,7 @@ func_parse_options () --warnings|--warning|-W) if test $# = 0 && func_missing_arg $_G_opt; then - _G_rc_parse_options=: + _G_parse_options_requote=: break fi case " $warning_categories $1" in @@ -1815,7 +1964,7 @@ func_parse_options () shift ;; - --) _G_rc_parse_options=: ; break ;; + --) _G_parse_options_requote=: ; break ;; -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; *) set dummy "$_G_opt" ${1+"$@"}; shift _G_match_parse_options=false @@ -1823,17 +1972,16 @@ func_parse_options () ;; esac - $_G_match_parse_options && _G_rc_parse_options=: + if $_G_match_parse_options; then + _G_parse_options_requote=: + fi done - - if $_G_rc_parse_options; then + if $_G_parse_options_requote; then # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - func_parse_options_result=$func_quote_for_eval_result + func_quote eval ${1+"$@"} + func_parse_options_result=$func_quote_result fi - - $_G_rc_parse_options } @@ -1846,21 +1994,14 @@ func_validate_options () { $debug_cmd - _G_rc_validate_options=false - # Display all warnings if -W was not given. test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" - if func_run_hooks func_validate_options ${1+"$@"}; then - # save modified positional parameters for caller - func_validate_options_result=$func_run_hooks_result - _G_rc_validate_options=: - fi + func_run_hooks func_validate_options ${1+"$@"} + func_propagate_result func_run_hooks func_validate_options # Bail if the options were screwed! $exit_cmd $EXIT_FAILURE - - $_G_rc_validate_options } @@ -1916,8 +2057,8 @@ func_missing_arg () # func_split_equals STRING # ------------------------ -# Set func_split_equals_lhs and func_split_equals_rhs shell variables after -# splitting STRING at the '=' sign. +# Set func_split_equals_lhs and func_split_equals_rhs shell variables +# after splitting STRING at the '=' sign. test -z "$_G_HAVE_XSI_OPS" \ && (eval 'x=a/b/c; test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ @@ -1932,8 +2073,9 @@ then func_split_equals_lhs=${1%%=*} func_split_equals_rhs=${1#*=} - test "x$func_split_equals_lhs" = "x$1" \ - && func_split_equals_rhs= + if test "x$func_split_equals_lhs" = "x$1"; then + func_split_equals_rhs= + fi }' else # ...otherwise fall back to using expr, which is often a shell builtin. @@ -1943,7 +2085,7 @@ else func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` func_split_equals_rhs= - test "x$func_split_equals_lhs" = "x$1" \ + test "x$func_split_equals_lhs=" = "x$1" \ || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` } fi #func_split_equals @@ -1969,7 +2111,7 @@ else { $debug_cmd - func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` + func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'` func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` } fi #func_split_short_opt @@ -2011,31 +2153,44 @@ func_usage_message () # func_version # ------------ # Echo version message to standard output and exit. +# The version message is extracted from the calling file's header +# comments, with leading '# ' stripped: +# 1. First display the progname and version +# 2. Followed by the header comment line matching /^# Written by / +# 3. Then a blank line followed by the first following line matching +# /^# Copyright / +# 4. Immediately followed by any lines between the previous matches, +# except lines preceding the intervening completely blank line. +# For example, see the header comments of this file. func_version () { $debug_cmd printf '%s\n' "$progname $scriptversion" $SED -n ' - /(C)/!b go - :more - /\./!{ - N - s|\n# | | - b more + /^# Written by /!b + s|^# ||; p; n + + :fwd2blnk + /./ { + n + b fwd2blnk } - :go - /^# Written by /,/# warranty; / { - s|^# || - s|^# *$|| - s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| - p + p; n + + :holdwrnt + s|^# || + s|^# *$|| + /^Copyright /!{ + /./H + n + b holdwrnt } - /^# Written by / { - s|^# || - p - } - /^warranty; /q' < "$progpath" + + s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| + G + s|\(\n\)\n*|\1|g + p; q' < "$progpath" exit $? } @@ -2045,12 +2200,12 @@ func_version () # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC" # time-stamp-time-zone: "UTC" # End: # Set a version string. -scriptversion='(GNU libtool) 2.4.6' +scriptversion='(GNU libtool) 2.4.7' # func_echo ARG... @@ -2141,7 +2296,7 @@ include the following information: compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) - version: $progname $scriptversion Debian-2.4.6-15build2 + version: $progname $scriptversion Debian-2.4.7-7build1 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` @@ -2197,7 +2352,7 @@ fi # a configuration failure hint, and exit. func_fatal_configuration () { - func__fatal_error ${1+"$@"} \ + func_fatal_error ${1+"$@"} \ "See the $PACKAGE documentation for more information." \ "Fatal configuration error." } @@ -2345,6 +2500,8 @@ libtool_options_prep () _G_rc_lt_options_prep=: + _G_rc_lt_options_prep=: + # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) @@ -2375,11 +2532,9 @@ libtool_options_prep () if $_G_rc_lt_options_prep; then # Pass back the list of options. - func_quote_for_eval ${1+"$@"} - libtool_options_prep_result=$func_quote_for_eval_result + func_quote eval ${1+"$@"} + libtool_options_prep_result=$func_quote_result fi - - $_G_rc_lt_options_prep } func_add_hook func_options_prep libtool_options_prep @@ -2482,11 +2637,9 @@ libtool_parse_options () if $_G_rc_lt_parse_options; then # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - libtool_parse_options_result=$func_quote_for_eval_result + func_quote eval ${1+"$@"} + libtool_parse_options_result=$func_quote_result fi - - $_G_rc_lt_parse_options } func_add_hook func_parse_options libtool_parse_options @@ -2543,8 +2696,8 @@ libtool_validate_options () } # Pass back the unparsed argument list - func_quote_for_eval ${1+"$@"} - libtool_validate_options_result=$func_quote_for_eval_result + func_quote eval ${1+"$@"} + libtool_validate_options_result=$func_quote_result } func_add_hook func_validate_options libtool_validate_options @@ -3510,8 +3663,8 @@ func_mode_compile () esac done - func_quote_for_eval "$libobj" - test "X$libobj" != "X$func_quote_for_eval_result" \ + func_quote_arg pretty "$libobj" + test "X$libobj" != "X$func_quote_arg_result" \ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ && func_warning "libobj name '$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" @@ -3584,8 +3737,8 @@ compiler." func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 srcfile=$func_to_tool_file_result - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result + func_quote_arg pretty "$srcfile" + qsrcfile=$func_quote_arg_result # Only build a PIC object if we are building libtool libraries. if test yes = "$build_libtool_libs"; then @@ -3740,7 +3893,8 @@ This mode accepts the following additional options: -prefer-non-pic try to build non-PIC objects only -shared do not build a '.o' file suitable for static linking -static only build a '.o' file suitable for static linking - -Wc,FLAG pass FLAG directly to the compiler + -Wc,FLAG + -Xcompiler FLAG pass FLAG directly to the compiler COMPILE-COMMAND is a command to be used in creating a 'standard' object file from the given SOURCEFILE. @@ -3846,6 +4000,8 @@ The following components of LINK-COMMAND are treated specially: -weak LIBNAME declare that the target provides the LIBNAME interface -Wc,FLAG -Xcompiler FLAG pass linker-specific FLAG directly to the compiler + -Wa,FLAG + -Xassembler FLAG pass linker-specific FLAG directly to the assembler -Wl,FLAG -Xlinker FLAG pass linker-specific FLAG directly to the linker -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) @@ -4188,8 +4344,8 @@ func_mode_install () case $nonopt in *shtool*) :;; *) false;; esac then # Aesthetically quote it. - func_quote_for_eval "$nonopt" - install_prog="$func_quote_for_eval_result " + func_quote_arg pretty "$nonopt" + install_prog="$func_quote_arg_result " arg=$1 shift else @@ -4199,8 +4355,8 @@ func_mode_install () # The real first argument should be the name of the installation program. # Aesthetically quote it. - func_quote_for_eval "$arg" - func_append install_prog "$func_quote_for_eval_result" + func_quote_arg pretty "$arg" + func_append install_prog "$func_quote_arg_result" install_shared_prog=$install_prog case " $install_prog " in *[\\\ /]cp\ *) install_cp=: ;; @@ -4257,12 +4413,12 @@ func_mode_install () esac # Aesthetically quote the argument. - func_quote_for_eval "$arg" - func_append install_prog " $func_quote_for_eval_result" + func_quote_arg pretty "$arg" + func_append install_prog " $func_quote_arg_result" if test -n "$arg2"; then - func_quote_for_eval "$arg2" + func_quote_arg pretty "$arg2" fi - func_append install_shared_prog " $func_quote_for_eval_result" + func_append install_shared_prog " $func_quote_arg_result" done test -z "$install_prog" && \ @@ -4273,8 +4429,8 @@ func_mode_install () if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else - func_quote_for_eval "$install_override_mode" - func_append install_shared_prog " -m $func_quote_for_eval_result" + func_quote_arg pretty "$install_override_mode" + func_append install_shared_prog " -m $func_quote_arg_result" fi fi @@ -4570,8 +4726,8 @@ func_mode_install () relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` $opt_quiet || { - func_quote_for_expand "$relink_command" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$relink_command" + eval "func_echo $func_quote_arg_result" } if eval "$relink_command"; then : else @@ -5350,7 +5506,8 @@ else if test \"\$libtool_execute_magic\" != \"$magic\"; then file=\"\$0\"" - qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` + func_quote_arg pretty "$ECHO" + qECHO=$func_quote_arg_result $ECHO "\ # A function that is used when there is no print builtin or printf. @@ -5360,7 +5517,7 @@ func_fallback_echo () \$1 _LTECHO_EOF' } - ECHO=\"$qECHO\" + ECHO=$qECHO fi # Very basic option parsing. These options are (a) specific to @@ -6703,9 +6860,9 @@ func_mode_link () while test "$#" -gt 0; do arg=$1 shift - func_quote_for_eval "$arg" - qarg=$func_quote_for_eval_unquoted_result - func_append libtool_args " $func_quote_for_eval_result" + func_quote_arg pretty,unquoted "$arg" + qarg=$func_quote_arg_unquoted_result + func_append libtool_args " $func_quote_arg_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then @@ -6941,6 +7098,13 @@ func_mode_link () prev= continue ;; + xassembler) + func_append compiler_flags " -Xassembler $qarg" + prev= + func_append compile_command " -Xassembler $qarg" + func_append finalize_command " -Xassembler $qarg" + continue + ;; xcclinker) func_append linker_flags " $qarg" func_append compiler_flags " $qarg" @@ -7111,7 +7275,7 @@ func_mode_link () # These systems don't actually have a C library (as such) test X-lc = "X$arg" && continue ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) # Do not include libc due to us having libc/libc_r. test X-lc = "X$arg" && continue ;; @@ -7131,7 +7295,7 @@ func_mode_link () esac elif test X-lc_r = "X$arg"; then case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) # Do not include libc_r directly, use -pthread flag. continue ;; @@ -7161,8 +7325,20 @@ func_mode_link () prev=xcompiler continue ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + # Solaris ld rejects as of 11.4. Refer to Oracle bug 22985199. + -pthread) + case $host in + *solaris2*) ;; + *) + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac + ;; + esac + continue + ;; + -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) func_append compiler_flags " $arg" func_append compile_command " $arg" @@ -7303,9 +7479,9 @@ func_mode_link () save_ifs=$IFS; IFS=, for flag in $args; do IFS=$save_ifs - func_quote_for_eval "$flag" - func_append arg " $func_quote_for_eval_result" - func_append compiler_flags " $func_quote_for_eval_result" + func_quote_arg pretty "$flag" + func_append arg " $func_quote_arg_result" + func_append compiler_flags " $func_quote_arg_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" @@ -7319,16 +7495,21 @@ func_mode_link () save_ifs=$IFS; IFS=, for flag in $args; do IFS=$save_ifs - func_quote_for_eval "$flag" - func_append arg " $wl$func_quote_for_eval_result" - func_append compiler_flags " $wl$func_quote_for_eval_result" - func_append linker_flags " $func_quote_for_eval_result" + func_quote_arg pretty "$flag" + func_append arg " $wl$func_quote_arg_result" + func_append compiler_flags " $wl$func_quote_arg_result" + func_append linker_flags " $func_quote_arg_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; + -Xassembler) + prev=xassembler + continue + ;; + -Xcompiler) prev=xcompiler continue @@ -7346,8 +7527,8 @@ func_mode_link () # -msg_* for osf cc -msg_*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result ;; # Flags to be passed through unchanged, with rationale: @@ -7370,12 +7551,13 @@ func_mode_link () # -fuse-ld=* Linker select flags for GCC # -static-* direct GCC to link specific libraries statically # -fcilkplus Cilk Plus language extension features for C/C++ + # -Wa,* Pass flags directly to the assembler -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ - -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus|-Wa,*) + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result func_append compile_command " $arg" func_append finalize_command " $arg" func_append compiler_flags " $arg" @@ -7396,15 +7578,15 @@ func_mode_link () continue else # Otherwise treat like 'Some other compiler flag' below - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result fi ;; # Some other compiler flag. -* | +*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result ;; *.$objext) @@ -7524,8 +7706,8 @@ func_mode_link () *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result ;; esac # arg @@ -8733,7 +8915,7 @@ func_mode_link () test CXX = "$tagname" && { case $host_os in linux*) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 func_suncc_cstd_abi @@ -8906,7 +9088,7 @@ func_mode_link () # case $version_type in # correct linux to gnu/linux during the next big refactor - darwin|freebsd-elf|linux|osf|windows|none) + darwin|freebsd-elf|linux|midnightbsd-elf|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age=$number_minor @@ -9000,7 +9182,7 @@ func_mode_link () versuffix=.$current.$revision ;; - freebsd-elf) + freebsd-elf | midnightbsd-elf) func_arith $current - $age major=.$func_arith_result versuffix=$major.$age.$revision @@ -9226,7 +9408,7 @@ func_mode_link () *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) @@ -10037,8 +10219,8 @@ EOF for cmd in $concat_cmds; do IFS=$save_ifs $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$cmd" + eval "func_echo $func_quote_arg_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? @@ -10131,8 +10313,8 @@ EOF eval cmd=\"$cmd\" IFS=$save_ifs $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$cmd" + eval "func_echo $func_quote_arg_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? @@ -10606,12 +10788,13 @@ EOF elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + func_quote_arg pretty "$var_value" + relink_command="$var=$func_quote_arg_result; export $var; $relink_command" fi done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + func_quote eval cd "`pwd`" + func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)" + relink_command=$func_quote_arg_unquoted_result fi # Only actually do things if not in dry run mode. @@ -10851,13 +11034,15 @@ EOF elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + func_quote_arg pretty,unquoted "$var_value" + relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command" fi done # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + func_quote eval cd "`pwd`" + relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + func_quote_arg pretty,unquoted "$relink_command" + relink_command=$func_quote_arg_unquoted_result if test yes = "$hardcode_automatic"; then relink_command= fi diff --git a/m4/libtool.m4 b/m4/libtool.m4 index c4c02946..e7b68334 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -1,6 +1,7 @@ # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # -# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. +# Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software +# Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives @@ -31,7 +32,7 @@ m4_define([_LT_COPYING], [dnl # along with this program. If not, see . ]) -# serial 58 LT_INIT +# serial 59 LT_INIT # LT_PREREQ(VERSION) @@ -181,6 +182,7 @@ m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl m4_require([_LT_CMD_RELOAD])dnl +m4_require([_LT_DECL_FILECMD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl @@ -219,8 +221,8 @@ esac ofile=libtool can_build_shared=yes -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). +# All known linkers require a '.a' archive for static linking (except MSVC and +# ICC, which need '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld @@ -777,7 +779,7 @@ _LT_EOF # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ + $SED '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || @@ -1041,8 +1043,8 @@ int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR cr libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR cr libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD + echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD + $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF @@ -1066,17 +1068,12 @@ _LT_EOF _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[912]]*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - 10.[[012]][[,.]]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*|11.*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + darwin*) + case $MACOSX_DEPLOYMENT_TARGET,$host in + 10.[[012]],*|,*powerpc*-darwin[[5-8]]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac @@ -1125,12 +1122,12 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES], output_verbose_link_cmd=func_echo_all _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + _LT_TAGVAR(module_expsym_cmds, $1)="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" m4_if([$1], [CXX], [ if test yes != "$lt_cv_apple_cc_single_mod"; then _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" fi ],[]) else @@ -1244,7 +1241,8 @@ _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) # _LT_WITH_SYSROOT # ---------------- AC_DEFUN([_LT_WITH_SYSROOT], -[AC_MSG_CHECKING([for sysroot]) +[m4_require([_LT_DECL_SED])dnl +AC_MSG_CHECKING([for sysroot]) AC_ARG_WITH([sysroot], [AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], [Search for dependent libraries within DIR (or the compiler's sysroot @@ -1261,7 +1259,7 @@ case $with_sysroot in #( fi ;; #( /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` ;; #( no|'') ;; #( @@ -1291,7 +1289,7 @@ ia64-*-hpux*) # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; @@ -1308,7 +1306,7 @@ ia64-*-hpux*) echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test yes = "$lt_cv_prog_gnu_ld"; then - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; @@ -1320,7 +1318,7 @@ ia64-*-hpux*) ;; esac else - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; @@ -1342,7 +1340,7 @@ mips64*-*linux*) echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then emul=elf - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; @@ -1350,7 +1348,7 @@ mips64*-*linux*) emul="${emul}64" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; @@ -1358,7 +1356,7 @@ mips64*-*linux*) emul="${emul}ltsmip" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; @@ -1378,14 +1376,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # not appear in the list. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; @@ -1453,7 +1451,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) @@ -1492,9 +1490,22 @@ need_locks=$enable_libtool_lock m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} -: ${AR_FLAGS=cr} _LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) + +# Use ARFLAGS variable as AR's operation code to sync the variable naming with +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have +# higher priority because thats what people were doing historically (setting +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS +# variable obsoleted/removed. + +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} +lt_ar_flags=$AR_FLAGS +_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)]) + +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. +_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}], + [Flags to create an archive]) AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], [lt_cv_ar_at_file=no @@ -1713,7 +1724,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl lt_cv_sys_max_cmd_len=8192; ;; - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` @@ -1756,7 +1767,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi @@ -2206,26 +2217,35 @@ m4_defun([_LT_CMD_STRIPLIB], striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) +if test -z "$STRIP"; then + AC_MSG_RESULT([no]) else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP"; then + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) - else + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + ;; + *) AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac + ;; + esac + fi fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) @@ -2548,7 +2568,7 @@ cygwin* | mingw* | pw32* | cegcc*) case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; @@ -2558,14 +2578,14 @@ m4_if([$1], [],[ ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; - *,cl*) - # Native MSVC + *,cl* | *,icl*) + # Native MSVC or ICC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' @@ -2584,7 +2604,7 @@ m4_if([$1], [],[ done IFS=$lt_save_ifs # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form @@ -2621,7 +2641,7 @@ m4_if([$1], [],[ ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; @@ -2654,7 +2674,7 @@ dgux*) shlibpath_var=LD_LIBRARY_PATH ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then @@ -3465,7 +3485,7 @@ beos*) bsdi[[45]]*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_cmd='$FILECMD -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; @@ -3499,14 +3519,14 @@ darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac @@ -3520,7 +3540,7 @@ haiku*) ;; hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' @@ -3567,7 +3587,7 @@ netbsd* | netbsdelf*-gnu) newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; @@ -3694,13 +3714,13 @@ else mingw*) lt_bad_file=conftest.nm/nofile ;; *) lt_bad_file=/dev/null ;; esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in + case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break 2 ;; *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 @@ -3726,7 +3746,7 @@ else # Let the user override the test. else AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; @@ -3966,7 +3986,7 @@ esac if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" + lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" # Adjust the below global symbol transforms to fixup imported variables. lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" @@ -3984,20 +4004,20 @@ fi # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n"\ +lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ $lt_cdecl_hook\ " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ +lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ $lt_c_name_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" # Transform an extracted symbol line into symbol name with lib prefix and # symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ $lt_c_name_lib_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ @@ -4021,7 +4041,7 @@ for ac_symprfx in "" "_"; do if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function, # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++, + # Also find C++ and __fastcall symbols from MSVC++ or ICC, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ @@ -4039,9 +4059,9 @@ for ac_symprfx in "" "_"; do " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no @@ -4329,7 +4349,7 @@ m4_if([$1], [CXX], [ ;; esac ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) @@ -4412,7 +4432,7 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' @@ -4754,7 +4774,7 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' @@ -4937,7 +4957,7 @@ m4_if([$1], [CXX], [ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi ;; pw32*) @@ -4945,7 +4965,7 @@ m4_if([$1], [CXX], [ ;; cygwin* | mingw* | cegcc*) case $cc_basename in - cl*) + cl* | icl*) _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) @@ -5005,15 +5025,15 @@ dnl Note also adjust exclude_expsyms for C++ above. case $host_os in cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) with_gnu_ld=yes ;; openbsd* | bitrig*) @@ -5068,7 +5088,7 @@ dnl Note also adjust exclude_expsyms for C++ above. _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... @@ -5180,6 +5200,7 @@ _LT_EOF emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' ;; interix[[3-9]]*) @@ -5194,7 +5215,7 @@ _LT_EOF # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) @@ -5237,7 +5258,7 @@ _LT_EOF _LT_TAGVAR(compiler_needs_object, $1)=yes ;; esac - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes @@ -5249,13 +5270,14 @@ _LT_EOF if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in tcc*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' ;; xlf* | bgf* | bgxlf* | mpixlf*) @@ -5265,7 +5287,7 @@ _LT_EOF _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi @@ -5397,7 +5419,7 @@ _LT_EOF if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no @@ -5580,12 +5602,12 @@ _LT_EOF cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in - cl*) - # Native MSVC + cl* | icl*) + # Native MSVC or ICC _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes @@ -5626,7 +5648,7 @@ _LT_EOF fi' ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. @@ -5674,7 +5696,7 @@ _LT_EOF ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes @@ -5815,6 +5837,7 @@ _LT_EOF # Fabrice Bellard et al's Tiny C Compiler _LT_TAGVAR(ld_shlibs, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' ;; esac ;; @@ -5886,6 +5909,7 @@ _LT_EOF emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' ;; osf3*) @@ -6656,8 +6680,8 @@ if test yes != "$_lt_caught_CXX_error"; then cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC + ,cl* | no,cl* | ,icl* | no,icl*) + # Native MSVC or ICC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' @@ -6755,6 +6779,7 @@ if test yes != "$_lt_caught_CXX_error"; then emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' ;; dgux*) @@ -6785,7 +6810,7 @@ if test yes != "$_lt_caught_CXX_error"; then _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes @@ -6922,7 +6947,7 @@ if test yes != "$_lt_caught_CXX_error"; then # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in @@ -7062,13 +7087,13 @@ if test yes != "$_lt_caught_CXX_error"; then _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi ;; *) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' @@ -8214,6 +8239,14 @@ _LT_DECL([], [DLLTOOL], [1], [DLL creation program]) AC_SUBST([DLLTOOL]) ]) +# _LT_DECL_FILECMD +# ---------------- +# Check for a file(cmd) program that can be used to detect file type and magic +m4_defun([_LT_DECL_FILECMD], +[AC_CHECK_TOOL([FILECMD], [file], [:]) +_LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types]) +])# _LD_DECL_FILECMD + # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4 index 94b08297..b0b5e9c2 100644 --- a/m4/ltoptions.m4 +++ b/m4/ltoptions.m4 @@ -1,7 +1,7 @@ # Helper functions for option handling. -*- Autoconf -*- # -# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software -# Foundation, Inc. +# Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2022 Free +# Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4 index 48bc9344..902508bd 100644 --- a/m4/ltsugar.m4 +++ b/m4/ltsugar.m4 @@ -1,6 +1,6 @@ # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # -# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software +# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free Software # Foundation, Inc. # Written by Gary V. Vaughan, 2004 # diff --git a/m4/ltversion.m4 b/m4/ltversion.m4 index fa04b52a..b155d0ac 100644 --- a/m4/ltversion.m4 +++ b/m4/ltversion.m4 @@ -1,6 +1,7 @@ # ltversion.m4 -- version numbers -*- Autoconf -*- # -# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. +# Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation, +# Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives @@ -9,15 +10,15 @@ # @configure_input@ -# serial 4179 ltversion.m4 +# serial 4245 ltversion.m4 # This file is part of GNU Libtool -m4_define([LT_PACKAGE_VERSION], [2.4.6]) -m4_define([LT_PACKAGE_REVISION], [2.4.6]) +m4_define([LT_PACKAGE_VERSION], [2.4.7]) +m4_define([LT_PACKAGE_REVISION], [2.4.7]) AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.6' -macro_revision='2.4.6' +[macro_version='2.4.7' +macro_revision='2.4.7' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4 index c6b26f88..0f7a8759 100644 --- a/m4/lt~obsolete.m4 +++ b/m4/lt~obsolete.m4 @@ -1,7 +1,7 @@ # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # -# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software -# Foundation, Inc. +# Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2022 Free +# Software Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives diff --git a/man/Makefile.in b/man/Makefile.in index 49906192..640ba660 100644 --- a/man/Makefile.in +++ b/man/Makefile.in @@ -261,6 +261,7 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -351,8 +352,6 @@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMLCATALOG = @XMLCATALOG@ XML_CATALOG_FILE = @XML_CATALOG_FILE@ XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/man/chage.1.xml b/man/chage.1.xml index b5801118..4ccdf483 100644 --- a/man/chage.1.xml +++ b/man/chage.1.xml @@ -56,10 +56,12 @@ DESCRIPTION - The 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 - their password. + The chage command changes + password expiration information for a user. + It sets 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 the user must change their password. @@ -75,12 +77,18 @@ - 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). - If the LAST_DAY is set to - 0 the user is forced to change his password - on the next log on. + Set the date when the password was last changed. + The value can be specified as a date in the YYYY-MM-DD format + or as a number of days since 1970-01-01. + The date is interpreted using the UTC timezone. + If the LAST_DAY + is set to 0, + the user is forced to change their password upon the next login. + + + Passing the value -1 or an empty string + as the LAST_DAY + clears the value and removes the password change requirement. @@ -90,24 +98,26 @@ - Set the date or 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. + Set the date on which the user's password expires + and their account will no longer be accessible. + The value can be specified as a date in the YYYY-MM-DD format + or as a number of days since 1970-01-01. + The date is interpreted using the UTC timezone. + If the password expires, + the user must contact the system administrator + to regain access to the system. - For example the following can be used to set an account to expire + For example, the following command sets an account to expire in 180 days: - chage -E $(date -d +180days +%Y-%m-%d) + chage -E $(date -d +180days +%F) - Passing the number -1 as the - EXPIRE_DATE will remove an account - expiration date. + Passing the value -1 + or an empty string as the EXPIRE_DATE + removes the account expiration date. diff --git a/man/chfn.1.xml b/man/chfn.1.xml index a5b9040e..2fa49feb 100644 --- a/man/chfn.1.xml +++ b/man/chfn.1.xml @@ -41,7 +41,7 @@ chfn - change real user name and information + change full user name and information @@ -59,9 +59,10 @@ DESCRIPTION - The chfn command changes user fullname, + The chfn command changes the user's full name, office room number, office phone number, and home phone number information - for a user's account. This information is typically printed by + for an account in the respective fields of /etc/passwd. + This information is typically printed by finger1 and similar programs. A normal user may only change the fields for her own account, subject to the restrictions in @@ -80,7 +81,10 @@ numbers. The other field is used to store accounting information used by other applications. - + + If LOGIN is not specified, chfn + acts on the current user, and prompts for the current user's password. + @@ -134,7 +138,6 @@ Apply changes in the CHROOT_DIR directory and use the configuration files from the CHROOT_DIR directory. - Only absolute paths are supported. @@ -156,13 +159,12 @@ - If none of the options are selected, chfn - operates in an interactive fashion, prompting the user with the + If none of the options is 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 user account. + current value is displayed between a pair of + [] marks. diff --git a/man/config.xml b/man/config.xml index cfd36b66..a071111f 100644 --- a/man/config.xml +++ b/man/config.xml @@ -1,2 +1,2 @@ - + diff --git a/man/cs/Makefile.in b/man/cs/Makefile.in index b853329e..05ac560b 100644 --- a/man/cs/Makefile.in +++ b/man/cs/Makefile.in @@ -193,6 +193,7 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -283,8 +284,6 @@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMLCATALOG = @XMLCATALOG@ XML_CATALOG_FILE = @XML_CATALOG_FILE@ XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/man/da/Makefile.in b/man/da/Makefile.in index 8863d620..05e4c41f 100644 --- a/man/da/Makefile.in +++ b/man/da/Makefile.in @@ -195,6 +195,7 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -285,8 +286,6 @@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMLCATALOG = @XMLCATALOG@ XML_CATALOG_FILE = @XML_CATALOG_FILE@ XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/man/da/man1/chfn.1 b/man/da/man1/chfn.1 index 98fcf7b1..5158c18b 100644 --- a/man/da/man1/chfn.1 +++ b/man/da/man1/chfn.1 @@ -2,12 +2,12 @@ .\" Title: chfn .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Danish .\" -.TH "CHFN" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "CHFN" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,7 +28,7 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAVN" -chfn \- change real user name and information +chfn \- change full user name and information .SH "SYNOPSIS" .HP \w'\fBchfn\fR\ 'u \fBchfn\fR [\fIoptions\fR] [\fILOGIN\fR] @@ -36,7 +36,8 @@ chfn \- change real user name and information .PP The \fBchfn\fR -command changes user fullname, office room number, office phone number, and home phone number information for a user\*(Aqs account\&. This information is typically printed by +command changes the user\*(Aqs full name, office room number, office phone number, and home phone number information for an account in the respective fields of +/etc/passwd\&. 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 /etc/login\&.defs\&. (The default configuration is to prevent users from changing their fullname\&.) The superuser may change any field for any account\&. Additionally, only the superuser may use the @@ -48,6 +49,12 @@ These fields must not contain any colons\&. Except for the field, they should not contain any comma or equal sign\&. It is also recommended to avoid non\-US\-ASCII characters, but this is only enforced for the phone numbers\&. The \fIother\fR field is used to store accounting information used by other applications\&. +.PP +If +\fILOGIN\fR +is not specified, +\fBchfn\fR +acts on the current user, and prompts for the current user\*(Aqs password\&. .SH "TILVALG" .PP The options which apply to the @@ -80,7 +87,7 @@ Apply changes in the \fICHROOT_DIR\fR directory and use the configuration files from the \fICHROOT_DIR\fR -directory\&. Only absolute paths are supported\&. +directory\&. .RE .PP \fB\-u\fR, \fB\-\-help\fR @@ -93,13 +100,11 @@ Vis hj\(aelpeteksten og afslut\&. \(AEndr brugerens arbejdsnummer\&. .RE .PP -If none of the options are selected, +If none of the options is selected, \fBchfn\fR operates in an interactive fashion, prompting the user with the current values for all of the fields\&. Enter the new value to change the field, or leave the line blank to use the current value\&. The current value is displayed between a pair of -\fB[ ]\fR -marks\&. Without options, -\fBchfn\fR -prompts for the current user account\&. +\fB []\fR +marks\&. .SH "KONFIGURATION" .PP The following configuration variables in diff --git a/man/da/man1/newgrp.1 b/man/da/man1/newgrp.1 index 9a482fef..1d5c1d80 100644 --- a/man/da/man1/newgrp.1 +++ b/man/da/man1/newgrp.1 @@ -2,12 +2,12 @@ .\" Title: newgrp .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Danish .\" -.TH "NEWGRP" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "NEWGRP" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/da/man1/sg.1 b/man/da/man1/sg.1 index a63ad356..31a37b72 100644 --- a/man/da/man1/sg.1 +++ b/man/da/man1/sg.1 @@ -2,12 +2,12 @@ .\" Title: sg .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Danish .\" -.TH "SG" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "SG" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/da/man5/gshadow.5 b/man/da/man5/gshadow.5 index 41df4eee..91a8c3e0 100644 --- a/man/da/man5/gshadow.5 +++ b/man/da/man5/gshadow.5 @@ -2,12 +2,12 @@ .\" Title: gshadow .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Danish .\" -.TH "GSHADOW" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "GSHADOW" "5" "24/06/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/da/man8/groupdel.8 b/man/da/man8/groupdel.8 index 235288af..91347512 100644 --- a/man/da/man8/groupdel.8 +++ b/man/da/man8/groupdel.8 @@ -2,12 +2,12 @@ .\" Title: groupdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Danish .\" -.TH "GROUPDEL" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GROUPDEL" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/da/man8/logoutd.8 b/man/da/man8/logoutd.8 index fc98f8b0..3a5cd2c3 100644 --- a/man/da/man8/logoutd.8 +++ b/man/da/man8/logoutd.8 @@ -2,12 +2,12 @@ .\" Title: logoutd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Danish .\" -.TH "LOGOUTD" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "LOGOUTD" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/da/man8/nologin.8 b/man/da/man8/nologin.8 index 167f7f54..266785a7 100644 --- a/man/da/man8/nologin.8 +++ b/man/da/man8/nologin.8 @@ -2,12 +2,12 @@ .\" Title: nologin .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Danish .\" -.TH "NOLOGIN" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "NOLOGIN" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/da/man8/vipw.8 b/man/da/man8/vipw.8 index 58056744..04716507 100644 --- a/man/da/man8/vipw.8 +++ b/man/da/man8/vipw.8 @@ -2,12 +2,12 @@ .\" Title: vipw .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Danish .\" -.TH "VIPW" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "VIPW" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/Makefile.in b/man/de/Makefile.in index af294cc2..b62fb9fa 100644 --- a/man/de/Makefile.in +++ b/man/de/Makefile.in @@ -197,6 +197,7 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -287,8 +288,6 @@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMLCATALOG = @XMLCATALOG@ XML_CATALOG_FILE = @XML_CATALOG_FILE@ XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/man/de/man1/chage.1 b/man/de/man1/chage.1 index 5ced3b0d..3f9a3dd8 100644 --- a/man/de/man1/chage.1 +++ b/man/de/man1/chage.1 @@ -2,12 +2,12 @@ .\" Title: chage .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "CHAGE" "1" "19.03.2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "CHAGE" "1" "24.06.2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -36,7 +36,7 @@ chage \- \(:andert das Ablaufdatum des Passworts und damit verkn\(:upfte Fristen .PP The \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 their password\&. +command changes password expiration information for a user\&. It sets 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 the user must change their password\&. .SH "OPTIONEN" .PP The options which apply to the @@ -45,35 +45,40 @@ command are: .PP \fB\-d\fR, \fB\-\-lastday\fR\ \&\fILAST_DAY\fR .RS 4 -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)\&. If the +Set the date when the password was last changed\&. The value can be specified as a date in the YYYY\-MM\-DD format or as a number of days since 1970\-01\-01\&. The date is interpreted using the UTC timezone\&. If the \fILAST_DAY\fR is set to -\fI0\fR -the user is forced to change his password on the next log on\&. +\fI0\fR, the user is forced to change their password upon the next login\&. +.sp +Passing the value +\fI\-1\fR +or an empty string as the +\fILAST_DAY\fR +clears the value and removes the password change requirement\&. .RE .PP \fB\-E\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR .RS 4 -setzt den Tag angegeben als Anzahl von Tagen nach dem 1\&. Januar 1970, ab dem das Benutzerkonto nicht mehr zug\(:anglich sein soll\&. Das Datum kann auch im Format JJJJ\-MM\-TT (oder in dem Format, das in Ihrer Region verbreitet ist) angegeben werden\&. Ein Benutzer, dessen Konto stillgelegt ist, muss sich mit dem Systemadministrator in Verbindung setzen, ehe er das System wieder verwenden kann\&. +Set the date on which the user\*(Aqs password expires and their account will no longer be accessible\&. The value can be specified as a date in the YYYY\-MM\-DD format or as a number of days since 1970\-01\-01\&. The date is interpreted using the UTC timezone\&. If the password expires, the user must contact the system administrator to regain access to the system\&. .sp -For example the following can be used to set an account to expire in 180 days: +For example, the following command sets an account to expire in 180 days: .sp .if n \{\ .RS 4 .\} .nf - chage \-E $(date \-d +180days +%Y\-%m\-%d) + chage \-E $(date \-d +180days +%F) .fi .if n \{\ .RE .\} .sp -Passing the number +Passing the value \fI\-1\fR -as the +or an empty string as the \fIEXPIRE_DATE\fR -will remove an account expiration date\&. +removes the account expiration date\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR diff --git a/man/de/man1/chfn.1 b/man/de/man1/chfn.1 index ecd0c10e..80ad271f 100644 --- a/man/de/man1/chfn.1 +++ b/man/de/man1/chfn.1 @@ -2,12 +2,12 @@ .\" Title: chfn .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "CHFN" "1" "19.03.2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "CHFN" "1" "24.06.2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,7 +28,7 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -chfn \- \(:andert den vollst\(:andigen Namen und sonstige Informationen zum Benutzer +chfn \- change full user name and information .SH "\(:UBERSICHT" .HP \w'\fBchfn\fR\ 'u \fBchfn\fR [\fIoptions\fR] [\fILOGIN\fR] @@ -36,7 +36,8 @@ chfn \- \(:andert den vollst\(:andigen Namen und sonstige Informationen zum Benu .PP The \fBchfn\fR -command changes user fullname, office room number, office phone number, and home phone number information for a user\*(Aqs account\&. This information is typically printed by +command changes the user\*(Aqs full name, office room number, office phone number, and home phone number information for an account in the respective fields of +/etc/passwd\&. 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 /etc/login\&.defs\&. (The default configuration is to prevent users from changing their fullname\&.) The superuser may change any field for any account\&. Additionally, only the superuser may use the @@ -48,6 +49,12 @@ These fields must not contain any colons\&. Except for the field, they should not contain any comma or equal sign\&. It is also recommended to avoid non\-US\-ASCII characters, but this is only enforced for the phone numbers\&. The \fIother\fR field is used to store accounting information used by other applications\&. +.PP +If +\fILOGIN\fR +is not specified, +\fBchfn\fR +acts on the current user, and prompts for the current user\*(Aqs password\&. .SH "OPTIONEN" .PP The options which apply to the @@ -80,7 +87,7 @@ Apply changes in the \fICHROOT_DIR\fR directory and use the configuration files from the \fICHROOT_DIR\fR -directory\&. Only absolute paths are supported\&. +directory\&. .RE .PP \fB\-u\fR, \fB\-\-help\fR @@ -93,13 +100,11 @@ zeigt die Hilfe an und beendet das Programm\&. \(:andert die berufliche Telefonnummer des Benutzers\&. .RE .PP -If none of the options are selected, +If none of the options is selected, \fBchfn\fR operates in an interactive fashion, prompting the user with the current values for all of the fields\&. Enter the new value to change the field, or leave the line blank to use the current value\&. The current value is displayed between a pair of -\fB[ ]\fR -marks\&. Without options, -\fBchfn\fR -prompts for the current user account\&. +\fB []\fR +marks\&. .SH "KONFIGURATION" .PP The following configuration variables in diff --git a/man/de/man1/chsh.1 b/man/de/man1/chsh.1 index da6f55ff..5d2cb26f 100644 --- a/man/de/man1/chsh.1 +++ b/man/de/man1/chsh.1 @@ -2,12 +2,12 @@ .\" Title: chsh .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "CHSH" "1" "19.03.2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "CHSH" "1" "24.06.2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man1/expiry.1 b/man/de/man1/expiry.1 index 923df7ce..bd4386f3 100644 --- a/man/de/man1/expiry.1 +++ b/man/de/man1/expiry.1 @@ -2,12 +2,12 @@ .\" Title: expiry .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "EXPIRY" "1" "19.03.2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "EXPIRY" "1" "24.06.2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man1/gpasswd.1 b/man/de/man1/gpasswd.1 index 25a264fb..b7a49380 100644 --- a/man/de/man1/gpasswd.1 +++ b/man/de/man1/gpasswd.1 @@ -2,12 +2,12 @@ .\" Title: gpasswd .\" Author: Rafal Maszkowski .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "GPASSWD" "1" "19.03.2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "GPASSWD" "1" "24.06.2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man1/login.1 b/man/de/man1/login.1 index 157088d1..ea808053 100644 --- a/man/de/man1/login.1 +++ b/man/de/man1/login.1 @@ -2,12 +2,12 @@ .\" Title: login .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "LOGIN" "1" "19.03.2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "LOGIN" "1" "24.06.2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man1/newgrp.1 b/man/de/man1/newgrp.1 index fe33ca99..03e0820f 100644 --- a/man/de/man1/newgrp.1 +++ b/man/de/man1/newgrp.1 @@ -2,12 +2,12 @@ .\" Title: newgrp .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "NEWGRP" "1" "19.03.2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "NEWGRP" "1" "24.06.2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man1/passwd.1 b/man/de/man1/passwd.1 index 3ba543ad..f01186c9 100644 --- a/man/de/man1/passwd.1 +++ b/man/de/man1/passwd.1 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "PASSWD" "1" "19.03.2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "PASSWD" "1" "24.06.2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -36,30 +36,30 @@ passwd \- \(:andert das Passwort eines Benutzers .PP The \fBpasswd\fR -command changes passwords for user accounts\&. A normal user may only change the password for their own account, while the superuser may change the password for any account\&. +command changes passwords for user accounts\&. A regular user can only change the password for their own account, while the superuser can change the password for any account\&. The \fBpasswd\fR also changes the account or associated password validity period\&. .SS "Ver\(:andern des Passworts" .PP -Der Benutzer wird zuerst nach seinem alten Passwort gefragt, falls eines vorhanden ist\&. Dieses Passwort wird dann verschl\(:usselt und mit dem gespeicherten Passwort verglichen\&. Der Benutzer hat nur eine Gelegenheit, das richtige Passwort einzugeben\&. Der Systemadministrator kann diesen Schritt \(:uberspringen, um so vergessene Passw\(:orter zu \(:andern\&. +If the account has a non\-empty password, the user is first prompted to enter their current password\&. The entered password is encrypted and compared to the stored value\&. The user has only one attempt to enter the correct password\&. The superuser can bypass this step to allow changing forgotten passwords\&. .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, +After the password has been entered, password aging information is checked to determine if the user is permitted to change the password at this time\&. If not, \fBpasswd\fR refuses to change the password and exits\&. .PP -Der Benutzer wird dann aufgefordert, zweimal ein neues Passwort einzugeben\&. Beide Eingaben werden miteinander verglichen\&. Sie m\(:ussen \(:ubereinstimmen, damit das Passwort ge\(:andert wird\&. +The user is then prompted twice for a replacement password\&. The second entry is compared against the first and both are required to match for the password to be changed\&. .PP Then, the password is tested for complexity\&. \fBpasswd\fR -will reject any password which is not suitably complex\&. Care must be taken not to include the system default erase or kill characters\&. +rejects passwords that do not meet the complexity requirements\&. Do not include the system default erase or kill characters\&. .SS "Hinweise zu Benutzerpassw\(:ortern" .PP -The security of a password depends upon the strength of the encryption algorithm and the size of the key space\&. The legacy +The security of a password depends on the strength of the encryption algorithm and the size of the key space\&. The legacy \fIUNIX\fR System encryption method is based on the NBS DES algorithm\&. More recent methods are now recommended (see -\fBENCRYPT_METHOD\fR)\&. The size of the key space depends upon the randomness of the password which is selected\&. +\fBENCRYPT_METHOD\fR)\&. The size of the key space depends on the randomness of the selected password\&. .PP -Die unbedachte Auswahl von oder der sorglose Umgang mit ihnen macht Passw\(:orter unsicher\&. Daher sollten Sie kein Passwort w\(:ahlen, das in einem W\(:orterbuch auftaucht oder das aufgeschrieben werden muss\&. Das Passwort sollte zudem weder ein echter Name, noch Ihr Autokennzeichen, Geburtstag oder Ihre Adresse sein\&. All dies kann versuchsweise f\(:ur Angriffe auf das System benutzt werden\&. +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 one that must be written down\&. The password should also not be a proper name, your license number, birth date, or street address\&. Any of these may be used as guesses to violate system security\&. .PP As a general guideline, passwords should be long and random\&. It\*(Aqs fine to use simple character sets, such as passwords consisting only of lowercase letters, if that helps memorizing longer passwords\&. For a password consisting only of lowercase English letters randomly chosen, and a length of 32, there are 26^32 (approximately 2^150) different possible combinations\&. Being an exponential equation, it\*(Aqs apparent that the exponent (the length) is more important than the base (the size of the character set)\&. .PP @@ -79,7 +79,7 @@ and causes show status for all users\&. .PP \fB\-d\fR, \fB\-\-delete\fR .RS 4 -l\(:oscht das Passwort eines Benutzers (macht es leer)\&. Dies ist ein schneller Weg, um das Passwort eines Kontos zu deaktivieren\&. Dem Konto ist dann kein Passwort zugeordnet\&. +Deletes a user\*(Aqs password, making it empty\&. This command sets the account to be passwordless\&. .RE .PP \fB\-e\fR, \fB\-\-expire\fR @@ -110,7 +110,7 @@ sperrt das Passwort des bezeichneten Kontos\&. Die Option schaltet ein Passwort .sp Note that this does not disable the account\&. The user may still be able to login using another authentication token (e\&.g\&. an SSH key)\&. To disable the account, administrators should use \fBusermod \-\-expiredate 1\fR -(this sets the account\*(Aqs expire date to Jan 2, 1970)\&. +(this sets the account\*(Aqs expire date to 1970\-01\-02)\&. .sp Benutzer mit einem gesperrten Passwort k\(:onnen dieses nicht \(:andern\&. .RE @@ -164,7 +164,7 @@ option)\&. .RS 4 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 that their password is about to expire\&. +option is the number of days prior to password expiration during which the user is warned that their password is about to expire\&. .RE .PP \fB\-x\fR, \fB\-\-maxdays\fR\ \&\fIMAX_DAYS\fR @@ -252,6 +252,12 @@ file busy, try again .RS 4 invalid argument to option .RE +.PP +\fI10\fR +.RS 4 +an error was returned by +pam(3) +.RE .SH "SIEHE AUCH" .PP \fBchpasswd\fR(8), diff --git a/man/de/man1/sg.1 b/man/de/man1/sg.1 index 26b4a526..c867c061 100644 --- a/man/de/man1/sg.1 +++ b/man/de/man1/sg.1 @@ -2,12 +2,12 @@ .\" Title: sg .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "SG" "1" "19.03.2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "SG" "1" "24.06.2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man1/su.1 b/man/de/man1/su.1 index a3174a83..3f4a8bef 100644 --- a/man/de/man1/su.1 +++ b/man/de/man1/su.1 @@ -2,12 +2,12 @@ .\" Title: su .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "SU" "1" "19.03.2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "SU" "1" "24.06.2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man3/shadow.3 b/man/de/man3/shadow.3 index 0b314161..49ece1cb 100644 --- a/man/de/man3/shadow.3 +++ b/man/de/man3/shadow.3 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: Library Calls -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "SHADOW" "3" "19.03.2025" "shadow\-utils 4\&.17\&.4" "Library Calls" +.TH "SHADOW" "3" "24.06.2025" "shadow\-utils 4\&.18\&.0" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man5/faillog.5 b/man/de/man5/faillog.5 index d8636c77..a584820e 100644 --- a/man/de/man5/faillog.5 +++ b/man/de/man5/faillog.5 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "FAILLOG" "5" "19.03.2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuratio" +.TH "FAILLOG" "5" "24.06.2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man5/gshadow.5 b/man/de/man5/gshadow.5 index 4503aff6..f70f198f 100644 --- a/man/de/man5/gshadow.5 +++ b/man/de/man5/gshadow.5 @@ -2,12 +2,12 @@ .\" Title: gshadow .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "GSHADOW" "5" "19.03.2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "GSHADOW" "5" "24.06.2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man5/limits.5 b/man/de/man5/limits.5 index df98e1df..1586bb72 100644 --- a/man/de/man5/limits.5 +++ b/man/de/man5/limits.5 @@ -2,12 +2,12 @@ .\" Title: limits .\" Author: Luca Berra .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "LIMITS" "5" "19.03.2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "LIMITS" "5" "24.06.2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man5/login.access.5 b/man/de/man5/login.access.5 index 0a493c94..a9f44318 100644 --- a/man/de/man5/login.access.5 +++ b/man/de/man5/login.access.5 @@ -2,12 +2,12 @@ .\" Title: login.access .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "LOGIN\&.ACCESS" "5" "19.03.2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "LOGIN\&.ACCESS" "5" "24.06.2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man5/login.defs.5 b/man/de/man5/login.defs.5 index 9d034be6..ecb8f6b5 100644 --- a/man/de/man5/login.defs.5 +++ b/man/de/man5/login.defs.5 @@ -2,12 +2,12 @@ .\" Title: login.defs .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "LOGIN\&.DEFS" "5" "19.03.2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "LOGIN\&.DEFS" "5" "24.06.2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man5/passwd.5 b/man/de/man5/passwd.5 index 034f444f..1d7f5e94 100644 --- a/man/de/man5/passwd.5 +++ b/man/de/man5/passwd.5 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "PASSWD" "5" "19.03.2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "PASSWD" "5" "24.06.2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man5/porttime.5 b/man/de/man5/porttime.5 index 82aacdd5..f2895783 100644 --- a/man/de/man5/porttime.5 +++ b/man/de/man5/porttime.5 @@ -2,12 +2,12 @@ .\" Title: porttime .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "PORTTIME" "5" "19.03.2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "PORTTIME" "5" "24.06.2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man5/shadow.5 b/man/de/man5/shadow.5 index cefdeed4..f8ec3008 100644 --- a/man/de/man5/shadow.5 +++ b/man/de/man5/shadow.5 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "SHADOW" "5" "19.03.2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "SHADOW" "5" "24.06.2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -45,41 +45,42 @@ It must be a valid account name, which exists on the system\&. .PP \fBencrypted password\fR .RS 4 -This field may be empty, in which case no passwords are required to authenticate as the specified login name\&. However, some applications which read the +If the password field is empty, the user can log in without a password\&. However, some applications that read the /etc/shadow -file may decide not to permit any access at all if the password field is empty\&. +file might block access if the password field is empty\&. .sp -Ein Passwortfeld, das mit einem Ausrufezeichen beginnt, f\(:uhrt dazu, dass das Passwort gesperrt ist\&. Die \(:ubrigen Zeichen entsprechen dem Passwort vor der Sperrung\&. +If the password field begins with an exclamation mark +\fI!\fR, the password is locked\&. The remaining characters on the line represent the password field before the password was locked\&. .sp Refer to \fBcrypt\fR(3) for details on how this string is interpreted\&. .sp -If the password field contains some string that is not a valid result of -\fBcrypt\fR(3), for instance ! or *, the user will not be able to use a unix password to log in (but the user may log in the system by other means)\&. +If the password field contains a string that is not a valid result of +\fBcrypt\fR(3), for instance ! or *, the user cannot use a UNIX password to log in\&. However, the user may log in the system by other means\&. .RE .PP \fBdate of last password change\fR .RS 4 -The date of the last password change, expressed as the number of days since Jan 1, 1970 00:00 UTC\&. +The date of the last password change, expressed as the number of days since 1970\-01\-01 00:00:00 UTC\&. .sp -Dem Wert 0 kommt eine besondere Bedeutung zu: Der Benutzer sollte sein Passwort bei der n\(:achsten Anmeldung \(:andern\&. +The value 0 indicates that the user must change their password the next time they log in to the system\&. .sp Ein leeres Feld bedeutet, dass das Passwort nicht ablaufen soll\&. .RE .PP \fBminimum password age\fR .RS 4 -Diese Mindestdauer ist die Anzahl von Tagen, die ein Benutzer oder eine Benutzerin warten muss, bis eine Passwort\(:anderung erlaubt ist\&. +The minimum password age is the number of days the user must wait before they can change their password again\&. .sp An empty field and value 0 mean that there is no minimum password age\&. .RE .PP \fBmaximum password age\fR .RS 4 -Diese H\(:ochstdauer ist die Anzahl von Tagen, nach welcher der Benutzer sein Passwort \(:andern muss\&. +The maximum password age is the number of days after which the user must change their password\&. .sp -Auch nach Ablauf dieser Anzahl von Tagen gilt das Passwort\&. Der Benutzer wird jedoch bei der n\(:achsten Anmeldung aufgefordert, sein Passwort zu \(:andern\&. +After this number of days has elapsed, the password may still be valid\&. The user is prompted to change their password at the next login\&. .sp Ein leeres Feld bedeutet, dass das Passwort unbefristet gilt und weder eine Vorwarnzeit noch eine Karenzzeit f\(:ur eine versp\(:atete \(:Anderung (siehe unten) gilt\&. .sp @@ -88,29 +89,29 @@ Wenn f\(:ur die G\(:ultigkeit des Passwortes eine Zahl von Tagen eingetragen ist .PP \fBpassword warning period\fR .RS 4 -Die Zeitspanne in Tagen, in der der Benutzer gewarnt wird, dass sein Passwort demn\(:achst ung\(:ultig wird (siehe H\(:ochstdauer der Passwortverwendung)\&. +The number of days before a password expires (see the maximum password age above) during which the user is warned\&. .sp -Ein leeres Feld oder der Wert 0 bedeutet, dass es keine Vorwarnung gibt\&. +An empty field and value 0 mean that there is no password warning period\&. .RE .PP \fBpassword inactivity period\fR .RS 4 -Die Zeitspanne in Tagen, in der ein abgelaufenes Passwort (vergleiche oben H\(:ochstdauer der Passwortverwendung) noch akzeptiert wird, aber im Zuge der Anmeldung eine \(:Anderung erwartet wird\&. +The number of days after a password expires (see the maximum password age above) during which the password is still accepted, and the user must update their password at the next login\&. .sp -After expiration of the password and this expiration period is elapsed, no login is possible for the user\&. The user should contact her administrator\&. +After the password expires and the password inactivity period elapses, the user cannot log in and must contact their administrator\&. .sp -Ein leeres Feld bedeutet, dass keine Karenzzeit gew\(:ahrt wird, innerhalb der ein abgelaufenes Passworts noch ersetzt werden kann\&. +An empty string means that no inactivity period is enforced\&. .RE .PP \fBaccount expiration date\fR .RS 4 -The date of expiration of the account, expressed as the number of days since Jan 1, 1970 00:00 UTC\&. +The date when the account expires, expressed as the number of days since 1970\-01\-01\&. .sp -Beachten Sie, dass der Verfall des Kontos und der Ablauf eines Passworts zweierlei sind\&. Im ersteren Fall kann sich die Benutzerin bzw\&. der Benutzer nicht mehr anmelden\&. Im letzteren Fall wird das Passwort abgelehnt\&. +Note that account expiration differs from password expiration\&. Account expiration prevents the user from logging in, whereas password expiration only prevents users from logging in with their password\&. .sp -Ein leeres Feld bedeutet, dass das Konto unbefristet verwendbar ist\&. +An empty field means that the account never expires\&. .sp -Der Wert 0 sollte nicht verwendet werden, weil er sowohl bedeuten kann, dass das Konto nicht erlischt, als auch, dass das Konto bereits am 1\&. Januar 1970 erloschen ist\&. +The value 0 should not be used, as it is interpreted either as an account with no expiration or as an expiration date of 1970\-01\-01\&. .RE .PP \fBreserved field\fR diff --git a/man/de/man5/suauth.5 b/man/de/man5/suauth.5 index a908debf..9d9841fc 100644 --- a/man/de/man5/suauth.5 +++ b/man/de/man5/suauth.5 @@ -2,12 +2,12 @@ .\" Title: suauth .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "SUAUTH" "5" "19.03.2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "SUAUTH" "5" "24.06.2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/chgpasswd.8 b/man/de/man8/chgpasswd.8 index a24b7a48..df79298a 100644 --- a/man/de/man8/chgpasswd.8 +++ b/man/de/man8/chgpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chgpasswd .\" Author: Thomas K\(/loczko .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "CHGPASSWD" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "CHGPASSWD" "8" "24.06.2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/chpasswd.8 b/man/de/man8/chpasswd.8 index 1cfafee7..2ec9a7cc 100644 --- a/man/de/man8/chpasswd.8 +++ b/man/de/man8/chpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chpasswd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "CHPASSWD" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "CHPASSWD" "8" "24.06.2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/faillog.8 b/man/de/man8/faillog.8 index c2708e25..170139de 100644 --- a/man/de/man8/faillog.8 +++ b/man/de/man8/faillog.8 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "FAILLOG" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "FAILLOG" "8" "24.06.2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/groupadd.8 b/man/de/man8/groupadd.8 index 4c8148d5..4c86c17f 100644 --- a/man/de/man8/groupadd.8 +++ b/man/de/man8/groupadd.8 @@ -2,12 +2,12 @@ .\" Title: groupadd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "GROUPADD" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GROUPADD" "8" "24.06.2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/groupdel.8 b/man/de/man8/groupdel.8 index ddf06f76..7e44f5dc 100644 --- a/man/de/man8/groupdel.8 +++ b/man/de/man8/groupdel.8 @@ -2,12 +2,12 @@ .\" Title: groupdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "GROUPDEL" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GROUPDEL" "8" "24.06.2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/groupmems.8 b/man/de/man8/groupmems.8 index 69d714bd..fbf54e74 100644 --- a/man/de/man8/groupmems.8 +++ b/man/de/man8/groupmems.8 @@ -2,12 +2,12 @@ .\" Title: groupmems .\" Author: George Kraft, IV .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "GROUPMEMS" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GROUPMEMS" "8" "24.06.2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/groupmod.8 b/man/de/man8/groupmod.8 index ec655626..64deee58 100644 --- a/man/de/man8/groupmod.8 +++ b/man/de/man8/groupmod.8 @@ -2,12 +2,12 @@ .\" Title: groupmod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "GROUPMOD" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GROUPMOD" "8" "24.06.2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/grpck.8 b/man/de/man8/grpck.8 index 109bdcd3..5eca402a 100644 --- a/man/de/man8/grpck.8 +++ b/man/de/man8/grpck.8 @@ -2,12 +2,12 @@ .\" Title: grpck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "GRPCK" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GRPCK" "8" "24.06.2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/lastlog.8 b/man/de/man8/lastlog.8 index 3be0122e..fb6e3df6 100644 --- a/man/de/man8/lastlog.8 +++ b/man/de/man8/lastlog.8 @@ -2,12 +2,12 @@ .\" Title: lastlog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "LASTLOG" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "LASTLOG" "8" "24.06.2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/logoutd.8 b/man/de/man8/logoutd.8 index 5ab1c2f6..91fa06b8 100644 --- a/man/de/man8/logoutd.8 +++ b/man/de/man8/logoutd.8 @@ -2,12 +2,12 @@ .\" Title: logoutd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "LOGOUTD" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "LOGOUTD" "8" "24.06.2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/newusers.8 b/man/de/man8/newusers.8 index 9c686dc4..eb2b447d 100644 --- a/man/de/man8/newusers.8 +++ b/man/de/man8/newusers.8 @@ -2,12 +2,12 @@ .\" Title: newusers .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "NEWUSERS" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "NEWUSERS" "8" "24.06.2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/nologin.8 b/man/de/man8/nologin.8 index 114f0723..58d73fed 100644 --- a/man/de/man8/nologin.8 +++ b/man/de/man8/nologin.8 @@ -2,12 +2,12 @@ .\" Title: nologin .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "NOLOGIN" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "NOLOGIN" "8" "24.06.2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/pwck.8 b/man/de/man8/pwck.8 index 11a58382..d72b8e11 100644 --- a/man/de/man8/pwck.8 +++ b/man/de/man8/pwck.8 @@ -2,12 +2,12 @@ .\" Title: pwck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "PWCK" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "PWCK" "8" "24.06.2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/pwconv.8 b/man/de/man8/pwconv.8 index b95da371..10e11f37 100644 --- a/man/de/man8/pwconv.8 +++ b/man/de/man8/pwconv.8 @@ -2,12 +2,12 @@ .\" Title: pwconv .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "PWCONV" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "PWCONV" "8" "24.06.2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,7 +28,7 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -pwconv, pwunconv, grpconv, grpunconv \- transferieren Passwortdaten \(:uber Benutzer oder Gruppen in gesch\(:utzte Dateien oder zur\(:uck +pwconv, pwunconv, grpconv, grpunconv \- convert between the system\*(Aqs shadowed and plain account files .SH "\(:UBERSICHT" .HP \w'\fBpwconv\fR\ 'u \fBpwconv\fR [\fIoptions\fR] @@ -43,42 +43,42 @@ pwconv, pwunconv, grpconv, grpunconv \- transferieren Passwortdaten \(:uber Benu The \fBpwconv\fR command creates -\fIshadow\fR +shadow from -\fIpasswd\fR +passwd and an optionally existing -\fIshadow\fR\&. +shadow\&. .PP The \fBpwunconv\fR -command creates -\fIpasswd\fR -from -\fIpasswd\fR +command creates a plain +passwd +from shadowed +passwd and -\fIshadow\fR +shadow and then removes -\fIshadow\fR\&. +shadow\&. .PP The \fBgrpconv\fR command creates -\fIgshadow\fR +gshadow from -\fIgroup\fR +group and an optionally existing -\fIgshadow\fR\&. +gshadow\&. .PP The \fBgrpunconv\fR -command creates -\fIgroup\fR -from -\fIgroup\fR +command creates plain +group +from shadowed +group and -\fIgshadow\fR +gshadow and then removes -\fIgshadow\fR\&. +gshadow\&. .PP These four programs all operate on the normal and shadow password and group files: /etc/passwd, @@ -90,7 +90,7 @@ Each program acquires the necessary locks before conversion\&. \fBpwconv\fR and \fBgrpconv\fR -are similar\&. First, entries in the shadowed file which don\*(Aqt exist in the main file are removed\&. Then, shadowed entries which don\*(Aqt have `x\*(Aq 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\*(Aq\&. These programs can be used for initial conversion as well to update the shadowed file if the main file is edited by hand\&. +are similar\&. First, entries in the shadowed file which don\*(Aqt exist in the plain file are removed\&. Then, entries in the shadowed file which don\*(Aqt have `x\*(Aq as the password in plain file are updated\&. Any missing shadowed entries are added\&. Finally, passwords in the plain file are replaced with `x\*(Aq\&. These programs can be used for initial conversion as well to update the shadowed file if the plain file has been edited by hand\&. .PP \fBpwconv\fR will use the values of @@ -106,7 +106,7 @@ 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 +are similar\&. Passwords in the plain file are updated from the shadowed file\&. Entries which exist in the plain 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 "OPTIONEN" .PP @@ -136,7 +136,7 @@ Errors in the password or group files (such as invalid or duplicate entries) may \fBpwck\fR and \fBgrpck\fR -to correct any such errors before converting to or from shadow passwords or groups\&. +to correct any such errors before converting to or from shadowed files\&. .SH "KONFIGURATION" .PP The following configuration variable in diff --git a/man/de/man8/sulogin.8 b/man/de/man8/sulogin.8 index 31dea776..f9bece4c 100644 --- a/man/de/man8/sulogin.8 +++ b/man/de/man8/sulogin.8 @@ -2,12 +2,12 @@ .\" Title: sulogin .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "SULOGIN" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "SULOGIN" "8" "24.06.2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/useradd.8 b/man/de/man8/useradd.8 index 157822d8..dac17238 100644 --- a/man/de/man8/useradd.8 +++ b/man/de/man8/useradd.8 @@ -2,12 +2,12 @@ .\" Title: useradd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "USERADD" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "USERADD" "8" "24.06.2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -93,11 +93,17 @@ as the value for the user\*(Aqs login directory\&. The default is to append the \fILOGIN\fR name to \fIBASE_DIR\fR -and use that as the login directory name\&. If the directory +and use that as the login directory name\&. The directory \fIHOME_DIR\fR -does not exist, then it will be created unless the +is not created by default\&. However it will be created for non\-system users if either the +\fB\-m\fR +flag is specifed or +\fICREATE_HOME\fR +in +login\&.defs +is set to true\&. However, it will never be created if the \fB\-M\fR -option is specified\&. +flag is specified\&. .RE .PP \fB\-D\fR, \fB\-\-defaults\fR @@ -107,12 +113,11 @@ Lesen Sie dazu unten den Abschnitt \(FcDie Standardwerte ver\(:andern\(Fo\&. .PP \fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR .RS 4 -The date on which the user account will be disabled\&. The date is specified in the format -\fIYYYY\-MM\-DD\fR\&. +Sets the date on which the user account will be disabled\&. The value can be specified as a date in the YYYY\-MM\-DD format or as a number of days since 1970\-01\-01\&. The date is interpreted using the UTC timezone\&. .sp If not specified, \fBuseradd\fR -will use the default expiry date specified by the +uses the default expiry date specified by the \fBEXPIRE\fR variable in /etc/default/useradd, or an empty string (no expiry) by default\&. @@ -120,15 +125,19 @@ variable in .PP \fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR .RS 4 -defines the number of days after the password exceeded its maximum age where the user is expected to replace this password\&. The value is stored in the shadow password file\&. An input of 0 will disable an expired password with no delay\&. An input of \-1 will blank the respective field in the shadow password file\&. See -\fBshadow\fR(5)for more information\&. +Defines the number of days after a password exceeds its maximum age before the user account gets locked\&. If the user does not change their password within this period of time, their account becomes inactive\&. This value is stored in the shadow password file\&. For more information, see +\fBshadow\fR(5)\&. +.sp +A value of 0 disables the account when the password expires, with no delay\&. +.sp +A value of \-1 empties the respective field in the shadow password file, which means that the inactivity period is not enforced\&. .sp If not specified, \fBuseradd\fR -will use the default inactivity period specified by the +uses the default inactivity period specified by the \fBINACTIVE\fR variable in -/etc/default/useradd, or \-1 by default\&. +/etc/default/useradd, or \-1 by default if no value is specified\&. .RE .PP \fB\-F\fR, \fB\-\-add\-subids\-for\-system\fR @@ -446,8 +455,7 @@ variable in .PP \fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR .RS 4 -defines the number of days after the password exceeded its maximum age where the user is expected to replace this password\&. See -\fBshadow\fR(5)for more information\&. +specifies the number of days after a password expires during which the user can still log in\&. After this period, the account is locked\&. .sp This option sets the \fBINACTIVE\fR diff --git a/man/de/man8/userdel.8 b/man/de/man8/userdel.8 index fd91bb4e..670618f4 100644 --- a/man/de/man8/userdel.8 +++ b/man/de/man8/userdel.8 @@ -2,12 +2,12 @@ .\" Title: userdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "USERDEL" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "USERDEL" "8" "24.06.2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/usermod.8 b/man/de/man8/usermod.8 index 0b99485d..2fe0fb4f 100644 --- a/man/de/man8/usermod.8 +++ b/man/de/man8/usermod.8 @@ -2,12 +2,12 @@ .\" Title: usermod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "USERMOD" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "USERMOD" "8" "24.06.2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -74,29 +74,30 @@ option is given, the contents of the current home directory will be moved to the .PP \fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR .RS 4 -The date on which the user account will be disabled\&. The date is specified in the format -\fIYYYY\-MM\-DD\fR\&. Integers as input are interpreted as days after 1970\-01\-01\&. +Specifies the date on which the user account will be disabled\&. The value can be specified as a date in the YYYY\-MM\-DD format or as a number of days since 1970\-01\-01\&. The date is interpreted using the UTC timezone\&. .sp -An input of \-1 or an empty string will blank the account expiration field in the shadow password file\&. The account will remain available with no date limit\&. +An input of \-1 or an empty string blanks the account expiration field in the shadow password file\&. The account will remain available with no expiration date\&. .sp -This option requires a +This option requires the /etc/shadow -file\&. A +file\&. If no entry exists in the /etc/shadow -entry will be created if there were none\&. +file, the system will automatically create one\&. .RE .PP \fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR .RS 4 -defines the number of days after the password exceeded its maximum age during which the user may still login by immediately replacing the password\&. This grace period before the account becomes inactive is stored in the shadow password file\&. An input of 0 will disable an expired password with no delay\&. An input of \-1 will blank the respective field in the shadow password file\&. See -\fBshadow\fR(5) -for more information\&. +Defines the number of days after a password exceeds its maximum age during which the user can still log in by immediately changing their password\&. If the user does not change their password within this period of time, their account becomes inactive\&. This value is stored in the shadow password file\&. .sp -This option requires a +A value of 0 disables the account when the password expires, with no delay\&. +.sp +A value of \-1 empties the respective field in the shadow password file, which means that the inactivity period is not enforced\&. +.sp +This option requires the /etc/shadow -file\&. A +file\&. If no entry exist in the /etc/shadow -entry will be created if there were none\&. +file, the system will automatically create one\&. .RE .PP \fB\-g\fR, \fB\-\-gid\fR\ \&\fIGROUP\fR @@ -199,7 +200,7 @@ and use as well the configuration files located there\&. This option does not ch .PP \fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR .RS 4 -changes the user\*(Aqs login shell\&. An empty string for SHELL blanks the field in +changes the user\*(Aqs login shell\&. An empty string for SHELL empties the field in /etc/passwd and logs the user into the system\*(Aqs default shell\&. .RE diff --git a/man/de/man8/vipw.8 b/man/de/man8/vipw.8 index 446f035e..cf0bbdb6 100644 --- a/man/de/man8/vipw.8 +++ b/man/de/man8/vipw.8 @@ -2,12 +2,12 @@ .\" Title: vipw .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19.03.2025 +.\" Date: 24.06.2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: German .\" -.TH "VIPW" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "VIPW" "8" "24.06.2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/es/Makefile.in b/man/es/Makefile.in index 19daaecd..3cf7ebf6 100644 --- a/man/es/Makefile.in +++ b/man/es/Makefile.in @@ -158,6 +158,7 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -248,8 +249,6 @@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMLCATALOG = @XMLCATALOG@ XML_CATALOG_FILE = @XML_CATALOG_FILE@ XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/man/fi/Makefile.in b/man/fi/Makefile.in index c62e9080..991b5c26 100644 --- a/man/fi/Makefile.in +++ b/man/fi/Makefile.in @@ -189,6 +189,7 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -279,8 +280,6 @@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMLCATALOG = @XMLCATALOG@ XML_CATALOG_FILE = @XML_CATALOG_FILE@ XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/man/fr/Makefile.in b/man/fr/Makefile.in index 968e0145..10a407ee 100644 --- a/man/fr/Makefile.in +++ b/man/fr/Makefile.in @@ -199,6 +199,7 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -289,8 +290,6 @@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMLCATALOG = @XMLCATALOG@ XML_CATALOG_FILE = @XML_CATALOG_FILE@ XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/man/fr/man1/chage.1 b/man/fr/man1/chage.1 index 2173a526..32e9e3f4 100644 --- a/man/fr/man1/chage.1 +++ b/man/fr/man1/chage.1 @@ -2,12 +2,12 @@ .\" Title: chage .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "CHAGE" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "CHAGE" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -36,7 +36,7 @@ chage \- Modifier les informations de validit\('e d\*(Aqun mot de passe .PP The \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 their password\&. +command changes password expiration information for a user\&. It sets 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 the user must change their password\&. .SH "OPTIONS" .PP The options which apply to the @@ -45,35 +45,40 @@ command are: .PP \fB\-d\fR, \fB\-\-lastday\fR\ \&\fILAST_DAY\fR .RS 4 -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)\&. If the +Set the date when the password was last changed\&. The value can be specified as a date in the YYYY\-MM\-DD format or as a number of days since 1970\-01\-01\&. The date is interpreted using the UTC timezone\&. If the \fILAST_DAY\fR is set to -\fI0\fR -the user is forced to change his password on the next log on\&. +\fI0\fR, the user is forced to change their password upon the next login\&. +.sp +Passing the value +\fI\-1\fR +or an empty string as the +\fILAST_DAY\fR +clears the value and removes the password change requirement\&. .RE .PP \fB\-E\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR .RS 4 -Configurer la date, ou le nombre de jours \(`a compter du 1er\ \&janvier\ \&1970, \(`a partir de laquelle le compte de l\*(Aqutilisateur ne sera plus accessible\&. La date peut aussi \(^etre exprim\('ee dans le format AAAA\-MM\-JJ (ou le format plus commun\('ement utilis\('e dans votre r\('egion)\&. Un utilisateur dont le compte est bloqu\('e doit contacter l\*(Aqadministrateur syst\(`eme pour pouvoir utiliser \(`a nouveau le syst\(`eme\&. +Set the date on which the user\*(Aqs password expires and their account will no longer be accessible\&. The value can be specified as a date in the YYYY\-MM\-DD format or as a number of days since 1970\-01\-01\&. The date is interpreted using the UTC timezone\&. If the password expires, the user must contact the system administrator to regain access to the system\&. .sp -For example the following can be used to set an account to expire in 180 days: +For example, the following command sets an account to expire in 180 days: .sp .if n \{\ .RS 4 .\} .nf - chage \-E $(date \-d +180days +%Y\-%m\-%d) + chage \-E $(date \-d +180days +%F) .fi .if n \{\ .RE .\} .sp -Passing the number +Passing the value \fI\-1\fR -as the +or an empty string as the \fIEXPIRE_DATE\fR -will remove an account expiration date\&. +removes the account expiration date\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR diff --git a/man/fr/man1/chfn.1 b/man/fr/man1/chfn.1 index 11c3d647..7fdea83a 100644 --- a/man/fr/man1/chfn.1 +++ b/man/fr/man1/chfn.1 @@ -2,12 +2,12 @@ .\" Title: chfn .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "CHFN" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "CHFN" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,7 +28,7 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NOM" -chfn \- Modifier le nom complet et les informations associ\('ees \(`a un utilisateur +chfn \- change full user name and information .SH "SYNOPSIS" .HP \w'\fBchfn\fR\ 'u \fBchfn\fR [\fIoptions\fR] [\fILOGIN\fR] @@ -36,7 +36,8 @@ chfn \- Modifier le nom complet et les informations associ\('ees \(`a un utilisa .PP The \fBchfn\fR -command changes user fullname, office room number, office phone number, and home phone number information for a user\*(Aqs account\&. This information is typically printed by +command changes the user\*(Aqs full name, office room number, office phone number, and home phone number information for an account in the respective fields of +/etc/passwd\&. 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 /etc/login\&.defs\&. (The default configuration is to prevent users from changing their fullname\&.) The superuser may change any field for any account\&. Additionally, only the superuser may use the @@ -48,6 +49,12 @@ These fields must not contain any colons\&. Except for the field, they should not contain any comma or equal sign\&. It is also recommended to avoid non\-US\-ASCII characters, but this is only enforced for the phone numbers\&. The \fIother\fR field is used to store accounting information used by other applications\&. +.PP +If +\fILOGIN\fR +is not specified, +\fBchfn\fR +acts on the current user, and prompts for the current user\*(Aqs password\&. .SH "OPTIONS" .PP The options which apply to the @@ -80,7 +87,7 @@ Apply changes in the \fICHROOT_DIR\fR directory and use the configuration files from the \fICHROOT_DIR\fR -directory\&. Only absolute paths are supported\&. +directory\&. .RE .PP \fB\-u\fR, \fB\-\-help\fR @@ -93,13 +100,11 @@ Afficher un message d\*(Aqaide et quitter\&. Modifier le num\('ero de t\('el\('ephone professionnel de l\*(Aqutilisateur\&. .RE .PP -If none of the options are selected, +If none of the options is selected, \fBchfn\fR operates in an interactive fashion, prompting the user with the current values for all of the fields\&. Enter the new value to change the field, or leave the line blank to use the current value\&. The current value is displayed between a pair of -\fB[ ]\fR -marks\&. Without options, -\fBchfn\fR -prompts for the current user account\&. +\fB []\fR +marks\&. .SH "CONFIGURATION" .PP The following configuration variables in diff --git a/man/fr/man1/chsh.1 b/man/fr/man1/chsh.1 index 1cccf884..e31eed9e 100644 --- a/man/fr/man1/chsh.1 +++ b/man/fr/man1/chsh.1 @@ -2,12 +2,12 @@ .\" Title: chsh .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "CHSH" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "CHSH" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man1/expiry.1 b/man/fr/man1/expiry.1 index 2fc04a31..1820cf56 100644 --- a/man/fr/man1/expiry.1 +++ b/man/fr/man1/expiry.1 @@ -2,12 +2,12 @@ .\" Title: expiry .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "EXPIRY" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "EXPIRY" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man1/gpasswd.1 b/man/fr/man1/gpasswd.1 index 7c8ec35e..8d8af3e1 100644 --- a/man/fr/man1/gpasswd.1 +++ b/man/fr/man1/gpasswd.1 @@ -2,12 +2,12 @@ .\" Title: gpasswd .\" Author: rafal Maszkowski .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "GPASSWD" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "GPASSWD" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man1/login.1 b/man/fr/man1/login.1 index 441d5150..d94dc06a 100644 --- a/man/fr/man1/login.1 +++ b/man/fr/man1/login.1 @@ -2,12 +2,12 @@ .\" Title: login .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "LOGIN" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "LOGIN" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man1/newgidmap.1 b/man/fr/man1/newgidmap.1 index 442f8fe7..42850cd5 100644 --- a/man/fr/man1/newgidmap.1 +++ b/man/fr/man1/newgidmap.1 @@ -2,12 +2,12 @@ .\" Title: newgidmap .\" Author: Eric Biederman .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "NEWGIDMAP" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "NEWGIDMAP" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man1/newgrp.1 b/man/fr/man1/newgrp.1 index 15907ca8..fec72008 100644 --- a/man/fr/man1/newgrp.1 +++ b/man/fr/man1/newgrp.1 @@ -2,12 +2,12 @@ .\" Title: newgrp .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "NEWGRP" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "NEWGRP" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man1/newuidmap.1 b/man/fr/man1/newuidmap.1 index 25842909..972d6bff 100644 --- a/man/fr/man1/newuidmap.1 +++ b/man/fr/man1/newuidmap.1 @@ -2,12 +2,12 @@ .\" Title: newuidmap .\" Author: Eric Biederman .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "NEWUIDMAP" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "NEWUIDMAP" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man1/passwd.1 b/man/fr/man1/passwd.1 index 9855829d..3fa495be 100644 --- a/man/fr/man1/passwd.1 +++ b/man/fr/man1/passwd.1 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "PASSWD" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "PASSWD" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -36,30 +36,30 @@ passwd \- Modifier le mot de passe d\*(Aqun utilisateur .PP The \fBpasswd\fR -command changes passwords for user accounts\&. A normal user may only change the password for their own account, while the superuser may change the password for any account\&. +command changes passwords for user accounts\&. A regular user can only change the password for their own account, while the superuser can change the password for any account\&. The \fBpasswd\fR also changes the account or associated password validity period\&. .SS "Modifications du mot de passe" .PP -Dans un premier temps, l\*(Aqutilisateur doit fournir son ancien mot de passe, s\*(Aqil en avait un\&. Ce mot de passe est ensuite chiffr\('e puis compar\('e avec le mot de passe enregistr\('e\&. L\*(Aqutilisateur n\*(Aqa droit qu\*(Aq\(`a un seul essai pour entrer le mot de passe correct\&. Le superutilisateur peut contourner cette premi\(`ere \('etape de mani\(`ere \(`a changer les mots de passe ayant \('et\('e oubli\('es\&. +If the account has a non\-empty password, the user is first prompted to enter their current password\&. The entered password is encrypted and compared to the stored value\&. The user has only one attempt to enter the correct password\&. The superuser can bypass this step to allow changing forgotten passwords\&. .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, +After the password has been entered, password aging information is checked to determine if the user is permitted to change the password at this time\&. If not, \fBpasswd\fR refuses to change the password and exits\&. .PP -Le nouveau mot de passe sera demand\('e deux fois \(`a l\*(Aqutilisateur\&. Le second mot de passe est compar\('e avec le premier\&. Ces deux mots de passe devront \(^etre identiques pour que le mot de passe soit chang\('e\&. +The user is then prompted twice for a replacement password\&. The second entry is compared against the first and both are required to match for the password to be changed\&. .PP Then, the password is tested for complexity\&. \fBpasswd\fR -will reject any password which is not suitably complex\&. Care must be taken not to include the system default erase or kill characters\&. +rejects passwords that do not meet the complexity requirements\&. Do not include the system default erase or kill characters\&. .SS "Astuces pour les mots de passe" .PP -The security of a password depends upon the strength of the encryption algorithm and the size of the key space\&. The legacy +The security of a password depends on the strength of the encryption algorithm and the size of the key space\&. The legacy \fIUNIX\fR System encryption method is based on the NBS DES algorithm\&. More recent methods are now recommended (see -\fBENCRYPT_METHOD\fR)\&. The size of the key space depends upon the randomness of the password which is selected\&. +\fBENCRYPT_METHOD\fR)\&. The size of the key space depends on the randomness of the selected password\&. .PP -Les compromissions de la s\('ecurit\('e des mots de passe r\('esultent le plus souvent d\*(Aqune n\('egligence dans le choix du mot de passe, ou lors de son utilisation\&. Pour cette raison, vous ne devez pas s\('electionner de mot de passe apparaissant dans un dictionnaire ou devant \(^etre \('ecrit\&. Le mot de passe ne doit pas non plus \(^etre un nom propre, un num\('ero min\('eralogique, une date de naissance, ou une adresse\&. En effet ceux\-ci pourraient \(^etre devin\('es pour violer la s\('ecurit\('e du syst\(`eme\&. +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 one that must be written down\&. The password should also not be a proper name, your license number, birth date, or street address\&. Any of these may be used as guesses to violate system security\&. .PP As a general guideline, passwords should be long and random\&. It\*(Aqs fine to use simple character sets, such as passwords consisting only of lowercase letters, if that helps memorizing longer passwords\&. For a password consisting only of lowercase English letters randomly chosen, and a length of 32, there are 26^32 (approximately 2^150) different possible combinations\&. Being an exponential equation, it\*(Aqs apparent that the exponent (the length) is more important than the base (the size of the character set)\&. .PP @@ -79,7 +79,7 @@ and causes show status for all users\&. .PP \fB\-d\fR, \fB\-\-delete\fR .RS 4 -Supprimer le mot de passe (le rendre vide) d\*(Aqun utilisateur\&. C\*(Aqest une fa\(,con rapide de supprimer l\*(Aqauthentification par mot de passe pour un compte\&. Il rend le compte indiqu\('e sans mot de passe\&. +Deletes a user\*(Aqs password, making it empty\&. This command sets the account to be passwordless\&. .RE .PP \fB\-e\fR, \fB\-\-expire\fR @@ -110,7 +110,7 @@ Verrouiller le mot de passe du compte indiqu\('e\&. Cette option d\('esactive un .sp Note that this does not disable the account\&. The user may still be able to login using another authentication token (e\&.g\&. an SSH key)\&. To disable the account, administrators should use \fBusermod \-\-expiredate 1\fR -(this sets the account\*(Aqs expire date to Jan 2, 1970)\&. +(this sets the account\*(Aqs expire date to 1970\-01\-02)\&. .sp Les utilisateurs avec un mot de passe verrouill\('e ne sont pas autoris\('es \(`a le changer\&. .RE @@ -164,7 +164,7 @@ option)\&. .RS 4 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 that their password is about to expire\&. +option is the number of days prior to password expiration during which the user is warned that their password is about to expire\&. .RE .PP \fB\-x\fR, \fB\-\-maxdays\fR\ \&\fIMAX_DAYS\fR @@ -252,6 +252,12 @@ file busy, try again .RS 4 invalid argument to option .RE +.PP +\fI10\fR +.RS 4 +an error was returned by +pam(3) +.RE .SH "VOIR AUSSI" .PP \fBchpasswd\fR(8), diff --git a/man/fr/man1/sg.1 b/man/fr/man1/sg.1 index 6208af50..d97d56fd 100644 --- a/man/fr/man1/sg.1 +++ b/man/fr/man1/sg.1 @@ -2,12 +2,12 @@ .\" Title: sg .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "SG" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "SG" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man1/su.1 b/man/fr/man1/su.1 index ba21cbbc..c644fd7d 100644 --- a/man/fr/man1/su.1 +++ b/man/fr/man1/su.1 @@ -2,12 +2,12 @@ .\" Title: su .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "SU" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "SU" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man3/shadow.3 b/man/fr/man3/shadow.3 index 5d882b88..2f7ae0e7 100644 --- a/man/fr/man3/shadow.3 +++ b/man/fr/man3/shadow.3 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: Library Calls -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "SHADOW" "3" "19/03/2025" "shadow\-utils 4\&.17\&.4" "Library Calls" +.TH "SHADOW" "3" "24/06/2025" "shadow\-utils 4\&.18\&.0" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/faillog.5 b/man/fr/man5/faillog.5 index d822fdf6..9e12280f 100644 --- a/man/fr/man5/faillog.5 +++ b/man/fr/man5/faillog.5 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "FAILLOG" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuratio" +.TH "FAILLOG" "5" "24/06/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/gshadow.5 b/man/fr/man5/gshadow.5 index 6b4ee652..5d01f2b4 100644 --- a/man/fr/man5/gshadow.5 +++ b/man/fr/man5/gshadow.5 @@ -2,12 +2,12 @@ .\" Title: gshadow .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "GSHADOW" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "GSHADOW" "5" "24/06/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/limits.5 b/man/fr/man5/limits.5 index d8300c9e..8f0a6ea8 100644 --- a/man/fr/man5/limits.5 +++ b/man/fr/man5/limits.5 @@ -2,12 +2,12 @@ .\" Title: limits .\" Author: Luca Berra .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "LIMITS" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "LIMITS" "5" "24/06/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/login.access.5 b/man/fr/man5/login.access.5 index 7d1b8e4b..5fae65d0 100644 --- a/man/fr/man5/login.access.5 +++ b/man/fr/man5/login.access.5 @@ -2,12 +2,12 @@ .\" Title: login.access .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "LOGIN\&.ACCESS" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "LOGIN\&.ACCESS" "5" "24/06/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/login.defs.5 b/man/fr/man5/login.defs.5 index 2daaad55..d6bcb6b8 100644 --- a/man/fr/man5/login.defs.5 +++ b/man/fr/man5/login.defs.5 @@ -2,12 +2,12 @@ .\" Title: login.defs .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "LOGIN\&.DEFS" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "LOGIN\&.DEFS" "5" "24/06/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/passwd.5 b/man/fr/man5/passwd.5 index f7add664..397b7dec 100644 --- a/man/fr/man5/passwd.5 +++ b/man/fr/man5/passwd.5 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "PASSWD" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "PASSWD" "5" "24/06/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/porttime.5 b/man/fr/man5/porttime.5 index 8f49cab0..924c4254 100644 --- a/man/fr/man5/porttime.5 +++ b/man/fr/man5/porttime.5 @@ -2,12 +2,12 @@ .\" Title: porttime .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "PORTTIME" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "PORTTIME" "5" "24/06/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/shadow.5 b/man/fr/man5/shadow.5 index 79d1626b..cd3ccf42 100644 --- a/man/fr/man5/shadow.5 +++ b/man/fr/man5/shadow.5 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "SHADOW" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "SHADOW" "5" "24/06/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -45,41 +45,42 @@ It must be a valid account name, which exists on the system\&. .PP \fBencrypted password\fR .RS 4 -This field may be empty, in which case no passwords are required to authenticate as the specified login name\&. However, some applications which read the +If the password field is empty, the user can log in without a password\&. However, some applications that read the /etc/shadow -file may decide not to permit any access at all if the password field is empty\&. +file might block access if the password field is empty\&. .sp -Un champ de mot de passe qui commence avec un point d\*(Aqexclamation indique que le mot de passe est bloqu\('e\&. Les caract\(`eres restants sur la ligne repr\('esentent le champ de mot de passe avant que le mot de passe n\*(Aqait \('et\('e bloqu\('e\&. +If the password field begins with an exclamation mark +\fI!\fR, the password is locked\&. The remaining characters on the line represent the password field before the password was locked\&. .sp Refer to \fBcrypt\fR(3) for details on how this string is interpreted\&. .sp -If the password field contains some string that is not a valid result of -\fBcrypt\fR(3), for instance ! or *, the user will not be able to use a unix password to log in (but the user may log in the system by other means)\&. +If the password field contains a string that is not a valid result of +\fBcrypt\fR(3), for instance ! or *, the user cannot use a UNIX password to log in\&. However, the user may log in the system by other means\&. .RE .PP \fBdate of last password change\fR .RS 4 -The date of the last password change, expressed as the number of days since Jan 1, 1970 00:00 UTC\&. +The date of the last password change, expressed as the number of days since 1970\-01\-01 00:00:00 UTC\&. .sp -La valeur 0 a une signification particuli\(`ere\ \&: l\*(Aqutilisateur devra changer son mot de passe la prochaine fois qu\*(Aqil se connectera au syst\(`eme\&. +The value 0 indicates that the user must change their password the next time they log in to the system\&. .sp Un champ vide indique que les fonctionnalit\('es de vieillissement de mot de passe sont d\('esactiv\('ees\&. .RE .PP \fBminimum password age\fR .RS 4 -L\*(Aq\(^age minimum du mot de passe est la dur\('ee (en jour) que l\*(Aqutilisateur devra attendre avant de pouvoir le changer de nouveau\&. +The minimum password age is the number of days the user must wait before they can change their password again\&. .sp An empty field and value 0 mean that there is no minimum password age\&. .RE .PP \fBmaximum password age\fR .RS 4 -L\*(Aq\(^age maximum du mot de passe est la dur\('ee (en jour) apr\(`es laquelle l\*(Aqutilisateur devra changer son mot de passe\&. +The maximum password age is the number of days after which the user must change their password\&. .sp -Une fois cette dur\('ee \('ecoul\('ee, le mot de passe restera valable\&. Il sera demand\('e \(`a l\*(Aqutilisateur de le changer la prochaine fois qu\*(Aqil se connectera\&. +After this number of days has elapsed, the password may still be valid\&. The user is prompted to change their password at the next login\&. .sp Un champ vide signifie qu\*(Aqil n\*(Aqy a pour le mot de passe aucune limite d\*(Aq\(^age, aucune p\('eriode d\*(Aqavertissement d\*(Aqexpiration et aucune p\('eriode d\*(Aqinactivit\('e (voir ci\-dessous)\&. .sp @@ -88,29 +89,29 @@ Si l\*(Aq\(^age maximum du mot de passe est plus petit que l\*(Aq\(^age minimum .PP \fBpassword warning period\fR .RS 4 -La dur\('ee (en jour) pendant laquelle l\*(Aqutilisateur sera averti avant que le mot de passe n\*(Aqexpire (voir l\*(Aq\(^age maximum du mot de passe ci\-dessus)\&. +The number of days before a password expires (see the maximum password age above) during which the user is warned\&. .sp -Un champ vide ou une valeur de 0 signifie qu\*(Aqil n\*(Aqy aura pas de p\('eriode d\*(Aqavertissement d\*(Aqexpiration du mot de passe\&. +An empty field and value 0 mean that there is no password warning period\&. .RE .PP \fBpassword inactivity period\fR .RS 4 -La dur\('ee (en jour) pendant laquelle le mot de passe sera quand m\(^eme accept\('e apr\(`es son expiration (voir l\*(Aq\(^age maximum du mot de passe ci\-dessus)\&. L\*(Aqutilisateur devra mettre \(`a jour son mot de passe \(`a la prochaine connexion\&. +The number of days after a password expires (see the maximum password age above) during which the password is still accepted, and the user must update their password at the next login\&. .sp -After expiration of the password and this expiration period is elapsed, no login is possible for the user\&. The user should contact her administrator\&. +After the password expires and the password inactivity period elapses, the user cannot log in and must contact their administrator\&. .sp -Un champ vide signifie qu\*(Aqaucune p\('eriode d\*(Aqinactivit\('e n\*(Aqest impos\('ee\&. +An empty string means that no inactivity period is enforced\&. .RE .PP \fBaccount expiration date\fR .RS 4 -The date of expiration of the account, expressed as the number of days since Jan 1, 1970 00:00 UTC\&. +The date when the account expires, expressed as the number of days since 1970\-01\-01\&. .sp -Veuillez noter que l\*(Aqexpiration d\*(Aqun compte diff\(`ere de l\*(Aqexpiration d\*(Aqun mot de passe\&. En cas d\*(Aqexpiration d\*(Aqun compte, l\*(Aqutilisateur ne sera plus autoris\('e \(`a se connecter\&. En cas d\*(Aqexpiration d\*(Aqun mot de passe, l\*(Aqutilisateur n\*(Aqest pas autoris\('e \(`a se connecter en utilisant son mot de passe\&. +Note that account expiration differs from password expiration\&. Account expiration prevents the user from logging in, whereas password expiration only prevents users from logging in with their password\&. .sp -Un champ vide signifie que le compte n\*(Aqexpirera jamais\&. +An empty field means that the account never expires\&. .sp -La valeur 0 ne doit pas \(^etre utilis\('ee puisqu\*(Aqelle peut \(^etre interpr\('et\('ee soit comme un compte sans expiration, soit comme ayant expir\('e le 1er\ \&janvier\ \&1970\&. +The value 0 should not be used, as it is interpreted either as an account with no expiration or as an expiration date of 1970\-01\-01\&. .RE .PP \fBreserved field\fR diff --git a/man/fr/man5/suauth.5 b/man/fr/man5/suauth.5 index 2e83a1ed..d37f0eb4 100644 --- a/man/fr/man5/suauth.5 +++ b/man/fr/man5/suauth.5 @@ -2,12 +2,12 @@ .\" Title: suauth .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "SUAUTH" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "SUAUTH" "5" "24/06/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/subgid.5 b/man/fr/man5/subgid.5 index aedb9895..171c757a 100644 --- a/man/fr/man5/subgid.5 +++ b/man/fr/man5/subgid.5 @@ -2,12 +2,12 @@ .\" Title: subgid .\" Author: Eric Biederman .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "SUBGID" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "SUBGID" "5" "24/06/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/subuid.5 b/man/fr/man5/subuid.5 index a992ebb9..609b2136 100644 --- a/man/fr/man5/subuid.5 +++ b/man/fr/man5/subuid.5 @@ -2,12 +2,12 @@ .\" Title: subuid .\" Author: Eric Biederman .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "SUBUID" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "SUBUID" "5" "24/06/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/chgpasswd.8 b/man/fr/man8/chgpasswd.8 index 134b1413..a5c234be 100644 --- a/man/fr/man8/chgpasswd.8 +++ b/man/fr/man8/chgpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chgpasswd .\" Author: Thomas K\(/loczko .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "CHGPASSWD" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "CHGPASSWD" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/chpasswd.8 b/man/fr/man8/chpasswd.8 index a208274b..c5961e7f 100644 --- a/man/fr/man8/chpasswd.8 +++ b/man/fr/man8/chpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chpasswd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "CHPASSWD" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "CHPASSWD" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/faillog.8 b/man/fr/man8/faillog.8 index e19aeab6..d72db444 100644 --- a/man/fr/man8/faillog.8 +++ b/man/fr/man8/faillog.8 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "FAILLOG" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "FAILLOG" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/groupadd.8 b/man/fr/man8/groupadd.8 index 447d1caf..142e5533 100644 --- a/man/fr/man8/groupadd.8 +++ b/man/fr/man8/groupadd.8 @@ -2,12 +2,12 @@ .\" Title: groupadd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "GROUPADD" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GROUPADD" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/groupdel.8 b/man/fr/man8/groupdel.8 index 4a21ff8e..413a952d 100644 --- a/man/fr/man8/groupdel.8 +++ b/man/fr/man8/groupdel.8 @@ -2,12 +2,12 @@ .\" Title: groupdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "GROUPDEL" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GROUPDEL" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/groupmems.8 b/man/fr/man8/groupmems.8 index 358ab577..4db98a30 100644 --- a/man/fr/man8/groupmems.8 +++ b/man/fr/man8/groupmems.8 @@ -2,12 +2,12 @@ .\" Title: groupmems .\" Author: George Kraft, IV .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "GROUPMEMS" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GROUPMEMS" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/groupmod.8 b/man/fr/man8/groupmod.8 index 8267ede2..ff56dda0 100644 --- a/man/fr/man8/groupmod.8 +++ b/man/fr/man8/groupmod.8 @@ -2,12 +2,12 @@ .\" Title: groupmod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "GROUPMOD" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GROUPMOD" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/grpck.8 b/man/fr/man8/grpck.8 index ccea3029..8f6f1a1d 100644 --- a/man/fr/man8/grpck.8 +++ b/man/fr/man8/grpck.8 @@ -2,12 +2,12 @@ .\" Title: grpck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "GRPCK" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GRPCK" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/lastlog.8 b/man/fr/man8/lastlog.8 index bba0d7d6..e96a14b8 100644 --- a/man/fr/man8/lastlog.8 +++ b/man/fr/man8/lastlog.8 @@ -2,12 +2,12 @@ .\" Title: lastlog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "LASTLOG" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "LASTLOG" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/logoutd.8 b/man/fr/man8/logoutd.8 index 2a9ff7ef..6db0a74b 100644 --- a/man/fr/man8/logoutd.8 +++ b/man/fr/man8/logoutd.8 @@ -2,12 +2,12 @@ .\" Title: logoutd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "LOGOUTD" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "LOGOUTD" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/newusers.8 b/man/fr/man8/newusers.8 index 8f74a63e..ebeb2691 100644 --- a/man/fr/man8/newusers.8 +++ b/man/fr/man8/newusers.8 @@ -2,12 +2,12 @@ .\" Title: newusers .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "NEWUSERS" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "NEWUSERS" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/nologin.8 b/man/fr/man8/nologin.8 index 2a6494a0..d724437b 100644 --- a/man/fr/man8/nologin.8 +++ b/man/fr/man8/nologin.8 @@ -2,12 +2,12 @@ .\" Title: nologin .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "NOLOGIN" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "NOLOGIN" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/pwck.8 b/man/fr/man8/pwck.8 index 554b1317..cb83f967 100644 --- a/man/fr/man8/pwck.8 +++ b/man/fr/man8/pwck.8 @@ -2,12 +2,12 @@ .\" Title: pwck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "PWCK" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "PWCK" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/pwconv.8 b/man/fr/man8/pwconv.8 index 2346e34f..82a1834b 100644 --- a/man/fr/man8/pwconv.8 +++ b/man/fr/man8/pwconv.8 @@ -2,12 +2,12 @@ .\" Title: pwconv .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "PWCONV" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "PWCONV" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,7 +28,7 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NOM" -pwconv, pwunconv, grpconv, grpunconv \- Convertir vers ou depuis les fichiers de mots de passe ou de groupe cach\('es +pwconv, pwunconv, grpconv, grpunconv \- convert between the system\*(Aqs shadowed and plain account files .SH "SYNOPSIS" .HP \w'\fBpwconv\fR\ 'u \fBpwconv\fR [\fIoptions\fR] @@ -43,42 +43,42 @@ pwconv, pwunconv, grpconv, grpunconv \- Convertir vers ou depuis les fichiers de The \fBpwconv\fR command creates -\fIshadow\fR +shadow from -\fIpasswd\fR +passwd and an optionally existing -\fIshadow\fR\&. +shadow\&. .PP The \fBpwunconv\fR -command creates -\fIpasswd\fR -from -\fIpasswd\fR +command creates a plain +passwd +from shadowed +passwd and -\fIshadow\fR +shadow and then removes -\fIshadow\fR\&. +shadow\&. .PP The \fBgrpconv\fR command creates -\fIgshadow\fR +gshadow from -\fIgroup\fR +group and an optionally existing -\fIgshadow\fR\&. +gshadow\&. .PP The \fBgrpunconv\fR -command creates -\fIgroup\fR -from -\fIgroup\fR +command creates plain +group +from shadowed +group and -\fIgshadow\fR +gshadow and then removes -\fIgshadow\fR\&. +gshadow\&. .PP These four programs all operate on the normal and shadow password and group files: /etc/passwd, @@ -90,7 +90,7 @@ Each program acquires the necessary locks before conversion\&. \fBpwconv\fR and \fBgrpconv\fR -are similar\&. First, entries in the shadowed file which don\*(Aqt exist in the main file are removed\&. Then, shadowed entries which don\*(Aqt have `x\*(Aq 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\*(Aq\&. These programs can be used for initial conversion as well to update the shadowed file if the main file is edited by hand\&. +are similar\&. First, entries in the shadowed file which don\*(Aqt exist in the plain file are removed\&. Then, entries in the shadowed file which don\*(Aqt have `x\*(Aq as the password in plain file are updated\&. Any missing shadowed entries are added\&. Finally, passwords in the plain file are replaced with `x\*(Aq\&. These programs can be used for initial conversion as well to update the shadowed file if the plain file has been edited by hand\&. .PP \fBpwconv\fR will use the values of @@ -106,7 +106,7 @@ 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 +are similar\&. Passwords in the plain file are updated from the shadowed file\&. Entries which exist in the plain 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 "OPTIONS" .PP @@ -136,7 +136,7 @@ Errors in the password or group files (such as invalid or duplicate entries) may \fBpwck\fR and \fBgrpck\fR -to correct any such errors before converting to or from shadow passwords or groups\&. +to correct any such errors before converting to or from shadowed files\&. .SH "CONFIGURATION" .PP The following configuration variable in diff --git a/man/fr/man8/sulogin.8 b/man/fr/man8/sulogin.8 index 42ea795a..31080cdf 100644 --- a/man/fr/man8/sulogin.8 +++ b/man/fr/man8/sulogin.8 @@ -2,12 +2,12 @@ .\" Title: sulogin .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "SULOGIN" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "SULOGIN" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/useradd.8 b/man/fr/man8/useradd.8 index 5df16352..1efc37dd 100644 --- a/man/fr/man8/useradd.8 +++ b/man/fr/man8/useradd.8 @@ -2,12 +2,12 @@ .\" Title: useradd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "USERADD" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "USERADD" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -93,11 +93,17 @@ as the value for the user\*(Aqs login directory\&. The default is to append the \fILOGIN\fR name to \fIBASE_DIR\fR -and use that as the login directory name\&. If the directory +and use that as the login directory name\&. The directory \fIHOME_DIR\fR -does not exist, then it will be created unless the +is not created by default\&. However it will be created for non\-system users if either the +\fB\-m\fR +flag is specifed or +\fICREATE_HOME\fR +in +login\&.defs +is set to true\&. However, it will never be created if the \fB\-M\fR -option is specified\&. +flag is specified\&. .RE .PP \fB\-D\fR, \fB\-\-defaults\fR @@ -107,12 +113,11 @@ Consultez ci\-dessous la sous\-section \(Fo\ \&Modifier les valeurs par d\('efau .PP \fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR .RS 4 -The date on which the user account will be disabled\&. The date is specified in the format -\fIYYYY\-MM\-DD\fR\&. +Sets the date on which the user account will be disabled\&. The value can be specified as a date in the YYYY\-MM\-DD format or as a number of days since 1970\-01\-01\&. The date is interpreted using the UTC timezone\&. .sp If not specified, \fBuseradd\fR -will use the default expiry date specified by the +uses the default expiry date specified by the \fBEXPIRE\fR variable in /etc/default/useradd, or an empty string (no expiry) by default\&. @@ -120,15 +125,19 @@ variable in .PP \fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR .RS 4 -defines the number of days after the password exceeded its maximum age where the user is expected to replace this password\&. The value is stored in the shadow password file\&. An input of 0 will disable an expired password with no delay\&. An input of \-1 will blank the respective field in the shadow password file\&. See -\fBshadow\fR(5)for more information\&. +Defines the number of days after a password exceeds its maximum age before the user account gets locked\&. If the user does not change their password within this period of time, their account becomes inactive\&. This value is stored in the shadow password file\&. For more information, see +\fBshadow\fR(5)\&. +.sp +A value of 0 disables the account when the password expires, with no delay\&. +.sp +A value of \-1 empties the respective field in the shadow password file, which means that the inactivity period is not enforced\&. .sp If not specified, \fBuseradd\fR -will use the default inactivity period specified by the +uses the default inactivity period specified by the \fBINACTIVE\fR variable in -/etc/default/useradd, or \-1 by default\&. +/etc/default/useradd, or \-1 by default if no value is specified\&. .RE .PP \fB\-F\fR, \fB\-\-add\-subids\-for\-system\fR @@ -442,8 +451,7 @@ variable in .PP \fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR .RS 4 -defines the number of days after the password exceeded its maximum age where the user is expected to replace this password\&. See -\fBshadow\fR(5)for more information\&. +specifies the number of days after a password expires during which the user can still log in\&. After this period, the account is locked\&. .sp This option sets the \fBINACTIVE\fR diff --git a/man/fr/man8/userdel.8 b/man/fr/man8/userdel.8 index 12907a20..594f31b4 100644 --- a/man/fr/man8/userdel.8 +++ b/man/fr/man8/userdel.8 @@ -2,12 +2,12 @@ .\" Title: userdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "USERDEL" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "USERDEL" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/usermod.8 b/man/fr/man8/usermod.8 index ec80ba6c..2c391014 100644 --- a/man/fr/man8/usermod.8 +++ b/man/fr/man8/usermod.8 @@ -2,12 +2,12 @@ .\" Title: usermod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "USERMOD" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "USERMOD" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -74,29 +74,30 @@ option is given, the contents of the current home directory will be moved to the .PP \fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR .RS 4 -The date on which the user account will be disabled\&. The date is specified in the format -\fIYYYY\-MM\-DD\fR\&. Integers as input are interpreted as days after 1970\-01\-01\&. +Specifies the date on which the user account will be disabled\&. The value can be specified as a date in the YYYY\-MM\-DD format or as a number of days since 1970\-01\-01\&. The date is interpreted using the UTC timezone\&. .sp -An input of \-1 or an empty string will blank the account expiration field in the shadow password file\&. The account will remain available with no date limit\&. +An input of \-1 or an empty string blanks the account expiration field in the shadow password file\&. The account will remain available with no expiration date\&. .sp -This option requires a +This option requires the /etc/shadow -file\&. A +file\&. If no entry exists in the /etc/shadow -entry will be created if there were none\&. +file, the system will automatically create one\&. .RE .PP \fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR .RS 4 -defines the number of days after the password exceeded its maximum age during which the user may still login by immediately replacing the password\&. This grace period before the account becomes inactive is stored in the shadow password file\&. An input of 0 will disable an expired password with no delay\&. An input of \-1 will blank the respective field in the shadow password file\&. See -\fBshadow\fR(5) -for more information\&. +Defines the number of days after a password exceeds its maximum age during which the user can still log in by immediately changing their password\&. If the user does not change their password within this period of time, their account becomes inactive\&. This value is stored in the shadow password file\&. .sp -This option requires a +A value of 0 disables the account when the password expires, with no delay\&. +.sp +A value of \-1 empties the respective field in the shadow password file, which means that the inactivity period is not enforced\&. +.sp +This option requires the /etc/shadow -file\&. A +file\&. If no entry exist in the /etc/shadow -entry will be created if there were none\&. +file, the system will automatically create one\&. .RE .PP \fB\-g\fR, \fB\-\-gid\fR\ \&\fIGROUP\fR @@ -199,7 +200,7 @@ and use as well the configuration files located there\&. This option does not ch .PP \fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR .RS 4 -changes the user\*(Aqs login shell\&. An empty string for SHELL blanks the field in +changes the user\*(Aqs login shell\&. An empty string for SHELL empties the field in /etc/passwd and logs the user into the system\*(Aqs default shell\&. .RE diff --git a/man/fr/man8/vipw.8 b/man/fr/man8/vipw.8 index a7365e59..00d4af18 100644 --- a/man/fr/man8/vipw.8 +++ b/man/fr/man8/vipw.8 @@ -2,12 +2,12 @@ .\" Title: vipw .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: French .\" -.TH "VIPW" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "VIPW" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/hu/Makefile.in b/man/hu/Makefile.in index af80ff42..b7befd66 100644 --- a/man/hu/Makefile.in +++ b/man/hu/Makefile.in @@ -193,6 +193,7 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -283,8 +284,6 @@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMLCATALOG = @XMLCATALOG@ XML_CATALOG_FILE = @XML_CATALOG_FILE@ XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/man/id/Makefile.in b/man/id/Makefile.in index 2640bd6e..c5438991 100644 --- a/man/id/Makefile.in +++ b/man/id/Makefile.in @@ -190,6 +190,7 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -280,8 +281,6 @@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMLCATALOG = @XMLCATALOG@ XML_CATALOG_FILE = @XML_CATALOG_FILE@ XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/man/it/Makefile.in b/man/it/Makefile.in index 2a454b6f..2a24ea88 100644 --- a/man/it/Makefile.in +++ b/man/it/Makefile.in @@ -197,6 +197,7 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -287,8 +288,6 @@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMLCATALOG = @XMLCATALOG@ XML_CATALOG_FILE = @XML_CATALOG_FILE@ XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/man/it/man1/chage.1 b/man/it/man1/chage.1 index 5aec25bc..a665ff01 100644 --- a/man/it/man1/chage.1 +++ b/man/it/man1/chage.1 @@ -2,12 +2,12 @@ .\" Title: chage .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "CHAGE" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "CHAGE" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -36,7 +36,7 @@ chage \- cambia le informazioni sulla scadenza della password .PP The \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 their password\&. +command changes password expiration information for a user\&. It sets 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 the user must change their password\&. .SH "OPZIONI" .PP The options which apply to the @@ -45,35 +45,40 @@ command are: .PP \fB\-d\fR, \fB\-\-lastday\fR\ \&\fILAST_DAY\fR .RS 4 -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)\&. If the +Set the date when the password was last changed\&. The value can be specified as a date in the YYYY\-MM\-DD format or as a number of days since 1970\-01\-01\&. The date is interpreted using the UTC timezone\&. If the \fILAST_DAY\fR is set to -\fI0\fR -the user is forced to change his password on the next log on\&. +\fI0\fR, the user is forced to change their password upon the next login\&. +.sp +Passing the value +\fI\-1\fR +or an empty string as the +\fILAST_DAY\fR +clears the value and removes the password change requirement\&. .RE .PP \fB\-E\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR .RS 4 -Imposta la data o il numero di giorni dal 1 gennaio 1970 dal quale l\*(Aqaccount utente non sar\(`a pi\(`u accessibile\&. La data pu\(`o essere inserita nel formato AAAA\-MM\-GG (o il formato pi\(`u comunemente utilizzato nel proprio paese)\&. Un utente il cui account sia bloccato deve contattare l\*(Aqamministratore di sistema prima di poter accedere nuovamente al sistema\&. +Set the date on which the user\*(Aqs password expires and their account will no longer be accessible\&. The value can be specified as a date in the YYYY\-MM\-DD format or as a number of days since 1970\-01\-01\&. The date is interpreted using the UTC timezone\&. If the password expires, the user must contact the system administrator to regain access to the system\&. .sp -For example the following can be used to set an account to expire in 180 days: +For example, the following command sets an account to expire in 180 days: .sp .if n \{\ .RS 4 .\} .nf - chage \-E $(date \-d +180days +%Y\-%m\-%d) + chage \-E $(date \-d +180days +%F) .fi .if n \{\ .RE .\} .sp -Passing the number +Passing the value \fI\-1\fR -as the +or an empty string as the \fIEXPIRE_DATE\fR -will remove an account expiration date\&. +removes the account expiration date\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR diff --git a/man/it/man1/chfn.1 b/man/it/man1/chfn.1 index 5e2ed433..883dd0f6 100644 --- a/man/it/man1/chfn.1 +++ b/man/it/man1/chfn.1 @@ -2,12 +2,12 @@ .\" Title: chfn .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "CHFN" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "CHFN" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,7 +28,7 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NOME" -chfn \- cambia il nome dell\*(Aqutente e altre informazioni +chfn \- change full user name and information .SH "SINOSSI" .HP \w'\fBchfn\fR\ 'u \fBchfn\fR [\fIoptions\fR] [\fILOGIN\fR] @@ -36,7 +36,8 @@ chfn \- cambia il nome dell\*(Aqutente e altre informazioni .PP The \fBchfn\fR -command changes user fullname, office room number, office phone number, and home phone number information for a user\*(Aqs account\&. This information is typically printed by +command changes the user\*(Aqs full name, office room number, office phone number, and home phone number information for an account in the respective fields of +/etc/passwd\&. 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 /etc/login\&.defs\&. (The default configuration is to prevent users from changing their fullname\&.) The superuser may change any field for any account\&. Additionally, only the superuser may use the @@ -48,6 +49,12 @@ These fields must not contain any colons\&. Except for the field, they should not contain any comma or equal sign\&. It is also recommended to avoid non\-US\-ASCII characters, but this is only enforced for the phone numbers\&. The \fIother\fR field is used to store accounting information used by other applications\&. +.PP +If +\fILOGIN\fR +is not specified, +\fBchfn\fR +acts on the current user, and prompts for the current user\*(Aqs password\&. .SH "OPZIONI" .PP The options which apply to the @@ -80,7 +87,7 @@ Apply changes in the \fICHROOT_DIR\fR directory and use the configuration files from the \fICHROOT_DIR\fR -directory\&. Only absolute paths are supported\&. +directory\&. .RE .PP \fB\-u\fR, \fB\-\-help\fR @@ -93,13 +100,11 @@ Mostra un messaggio di aiuto ed esce\&. Cambia il numero di telefono di lavoro dell\*(Aqutente\&. .RE .PP -If none of the options are selected, +If none of the options is selected, \fBchfn\fR operates in an interactive fashion, prompting the user with the current values for all of the fields\&. Enter the new value to change the field, or leave the line blank to use the current value\&. The current value is displayed between a pair of -\fB[ ]\fR -marks\&. Without options, -\fBchfn\fR -prompts for the current user account\&. +\fB []\fR +marks\&. .SH "CONFIGURAZIONE" .PP The following configuration variables in diff --git a/man/it/man1/chsh.1 b/man/it/man1/chsh.1 index 61ec69d6..bc180a7d 100644 --- a/man/it/man1/chsh.1 +++ b/man/it/man1/chsh.1 @@ -2,12 +2,12 @@ .\" Title: chsh .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "CHSH" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "CHSH" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man1/expiry.1 b/man/it/man1/expiry.1 index 264aa85e..69dfbd1d 100644 --- a/man/it/man1/expiry.1 +++ b/man/it/man1/expiry.1 @@ -2,12 +2,12 @@ .\" Title: expiry .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "EXPIRY" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "EXPIRY" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man1/gpasswd.1 b/man/it/man1/gpasswd.1 index 36be90ef..6211aae4 100644 --- a/man/it/man1/gpasswd.1 +++ b/man/it/man1/gpasswd.1 @@ -2,12 +2,12 @@ .\" Title: gpasswd .\" Author: Rafal Maszkowski .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "GPASSWD" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "GPASSWD" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man1/login.1 b/man/it/man1/login.1 index 3e9d84e3..d95e44dc 100644 --- a/man/it/man1/login.1 +++ b/man/it/man1/login.1 @@ -2,12 +2,12 @@ .\" Title: login .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "LOGIN" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "LOGIN" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man1/newgrp.1 b/man/it/man1/newgrp.1 index 6332dcee..e230d26d 100644 --- a/man/it/man1/newgrp.1 +++ b/man/it/man1/newgrp.1 @@ -2,12 +2,12 @@ .\" Title: newgrp .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "NEWGRP" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "NEWGRP" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man1/passwd.1 b/man/it/man1/passwd.1 index cfe084e4..31f069fa 100644 --- a/man/it/man1/passwd.1 +++ b/man/it/man1/passwd.1 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "PASSWD" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "PASSWD" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -36,30 +36,30 @@ passwd \- cambia la password utente .PP The \fBpasswd\fR -command changes passwords for user accounts\&. A normal user may only change the password for their own account, while the superuser may change the password for any account\&. +command changes passwords for user accounts\&. A regular user can only change the password for their own account, while the superuser can change the password for any account\&. The \fBpasswd\fR also changes the account or associated password validity period\&. .SS "Modifiche delle password" .PP -All\*(Aqutente viene prima chiesta la propria password attuale, se presente\&. Questa password viene cifrata e confrontata con quella memorizzata\&. All\*(Aqutente viene data solo una possibilit\(`a di inserire la password corretta\&. Il super utente salta questo passo in modo da poter modificare password dimenticate\&. +If the account has a non\-empty password, the user is first prompted to enter their current password\&. The entered password is encrypted and compared to the stored value\&. The user has only one attempt to enter the correct password\&. The superuser can bypass this step to allow changing forgotten passwords\&. .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, +After the password has been entered, password aging information is checked to determine if the user is permitted to change the password at this time\&. If not, \fBpasswd\fR refuses to change the password and exits\&. .PP -All\*(Aqutente viene quindi chiesto di inserire la nuova password due volte\&. Le due password sono confrontate e devono essere uguali affinch\('e la password venga accettata\&. +The user is then prompted twice for a replacement password\&. The second entry is compared against the first and both are required to match for the password to be changed\&. .PP Then, the password is tested for complexity\&. \fBpasswd\fR -will reject any password which is not suitably complex\&. Care must be taken not to include the system default erase or kill characters\&. +rejects passwords that do not meet the complexity requirements\&. Do not include the system default erase or kill characters\&. .SS "Suggerimenti per password utente" .PP -The security of a password depends upon the strength of the encryption algorithm and the size of the key space\&. The legacy +The security of a password depends on the strength of the encryption algorithm and the size of the key space\&. The legacy \fIUNIX\fR System encryption method is based on the NBS DES algorithm\&. More recent methods are now recommended (see -\fBENCRYPT_METHOD\fR)\&. The size of the key space depends upon the randomness of the password which is selected\&. +\fBENCRYPT_METHOD\fR)\&. The size of the key space depends on the randomness of the selected password\&. .PP -La compromissione di una password avviene normalmente a seguito di incuria nella scelta o nella gestione della password\&. Per questo motivo non si devono utilizzare password che appaiono nei dizionari o che devono essere scritte\&. La password non deve essere uno nome proprio, il numero della patente, la data di nascita o l\*(Aqindirizzo\&. Uno qualunque di questi potrebbe essere indovinato per violare la sicurezza del sistema\&. +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 one that must be written down\&. The password should also not be a proper name, your license number, birth date, or street address\&. Any of these may be used as guesses to violate system security\&. .PP As a general guideline, passwords should be long and random\&. It\*(Aqs fine to use simple character sets, such as passwords consisting only of lowercase letters, if that helps memorizing longer passwords\&. For a password consisting only of lowercase English letters randomly chosen, and a length of 32, there are 26^32 (approximately 2^150) different possible combinations\&. Being an exponential equation, it\*(Aqs apparent that the exponent (the length) is more important than the base (the size of the character set)\&. .PP @@ -79,7 +79,7 @@ and causes show status for all users\&. .PP \fB\-d\fR, \fB\-\-delete\fR .RS 4 -Cancella la password utente (la rende vuota)\&. Questo \(`e un metodo veloce per disabilitare la password per l\*(Aqaccount\&. Imposta l\*(Aqaccount indicato come senza password\&. +Deletes a user\*(Aqs password, making it empty\&. This command sets the account to be passwordless\&. .RE .PP \fB\-e\fR, \fB\-\-expire\fR @@ -110,7 +110,7 @@ Blocca la password dell\*(Aqaccount indicato\&. Questa opzione disabilita una pa .sp Note that this does not disable the account\&. The user may still be able to login using another authentication token (e\&.g\&. an SSH key)\&. To disable the account, administrators should use \fBusermod \-\-expiredate 1\fR -(this sets the account\*(Aqs expire date to Jan 2, 1970)\&. +(this sets the account\*(Aqs expire date to 1970\-01\-02)\&. .sp Gli utenti con password bloccata non la possono cambiare\&. .RE @@ -164,7 +164,7 @@ option)\&. .RS 4 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 that their password is about to expire\&. +option is the number of days prior to password expiration during which the user is warned that their password is about to expire\&. .RE .PP \fB\-x\fR, \fB\-\-maxdays\fR\ \&\fIMAX_DAYS\fR @@ -252,6 +252,12 @@ file busy, try again .RS 4 invalid argument to option .RE +.PP +\fI10\fR +.RS 4 +an error was returned by +pam(3) +.RE .SH "VEDERE ANCHE" .PP \fBchpasswd\fR(8), diff --git a/man/it/man1/sg.1 b/man/it/man1/sg.1 index 52369bd0..89bf6471 100644 --- a/man/it/man1/sg.1 +++ b/man/it/man1/sg.1 @@ -2,12 +2,12 @@ .\" Title: sg .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "SG" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "SG" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man1/su.1 b/man/it/man1/su.1 index 1cc5b3c4..cb2e3c6b 100644 --- a/man/it/man1/su.1 +++ b/man/it/man1/su.1 @@ -2,12 +2,12 @@ .\" Title: su .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "SU" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "SU" "1" "24/06/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man3/shadow.3 b/man/it/man3/shadow.3 index 87f33550..b6ad900e 100644 --- a/man/it/man3/shadow.3 +++ b/man/it/man3/shadow.3 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: Library Calls -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "SHADOW" "3" "19/03/2025" "shadow\-utils 4\&.17\&.4" "Library Calls" +.TH "SHADOW" "3" "24/06/2025" "shadow\-utils 4\&.18\&.0" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man5/faillog.5 b/man/it/man5/faillog.5 index 9d9d68fc..3d0045b2 100644 --- a/man/it/man5/faillog.5 +++ b/man/it/man5/faillog.5 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "FAILLOG" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuratio" +.TH "FAILLOG" "5" "24/06/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man5/gshadow.5 b/man/it/man5/gshadow.5 index 78576e9e..a13a0e0b 100644 --- a/man/it/man5/gshadow.5 +++ b/man/it/man5/gshadow.5 @@ -2,12 +2,12 @@ .\" Title: gshadow .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "GSHADOW" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "GSHADOW" "5" "24/06/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man5/limits.5 b/man/it/man5/limits.5 index 8565c452..7fdc5ac0 100644 --- a/man/it/man5/limits.5 +++ b/man/it/man5/limits.5 @@ -2,12 +2,12 @@ .\" Title: limits .\" Author: Luca Berra .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "LIMITS" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "LIMITS" "5" "24/06/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man5/login.access.5 b/man/it/man5/login.access.5 index 7d33b7fa..38850efe 100644 --- a/man/it/man5/login.access.5 +++ b/man/it/man5/login.access.5 @@ -2,12 +2,12 @@ .\" Title: login.access .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "LOGIN\&.ACCESS" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "LOGIN\&.ACCESS" "5" "24/06/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man5/login.defs.5 b/man/it/man5/login.defs.5 index 31895ae0..96362a21 100644 --- a/man/it/man5/login.defs.5 +++ b/man/it/man5/login.defs.5 @@ -2,12 +2,12 @@ .\" Title: login.defs .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "LOGIN\&.DEFS" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "LOGIN\&.DEFS" "5" "24/06/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man5/passwd.5 b/man/it/man5/passwd.5 index e8eb4c1a..07f29b93 100644 --- a/man/it/man5/passwd.5 +++ b/man/it/man5/passwd.5 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "PASSWD" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "PASSWD" "5" "24/06/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man5/porttime.5 b/man/it/man5/porttime.5 index 11dfb720..d9693ec3 100644 --- a/man/it/man5/porttime.5 +++ b/man/it/man5/porttime.5 @@ -2,12 +2,12 @@ .\" Title: porttime .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "PORTTIME" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "PORTTIME" "5" "24/06/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man5/shadow.5 b/man/it/man5/shadow.5 index dec17856..b5fd7f1d 100644 --- a/man/it/man5/shadow.5 +++ b/man/it/man5/shadow.5 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "SHADOW" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "SHADOW" "5" "24/06/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -45,41 +45,42 @@ It must be a valid account name, which exists on the system\&. .PP \fBencrypted password\fR .RS 4 -This field may be empty, in which case no passwords are required to authenticate as the specified login name\&. However, some applications which read the +If the password field is empty, the user can log in without a password\&. However, some applications that read the /etc/shadow -file may decide not to permit any access at all if the password field is empty\&. +file might block access if the password field is empty\&. .sp -A password field which starts with an exclamation mark means that the password is locked\&. The remaining characters on the line represent the password field before the password was locked\&. +If the password field begins with an exclamation mark +\fI!\fR, the password is locked\&. The remaining characters on the line represent the password field before the password was locked\&. .sp Refer to \fBcrypt\fR(3) for details on how this string is interpreted\&. .sp -If the password field contains some string that is not a valid result of -\fBcrypt\fR(3), for instance ! or *, the user will not be able to use a unix password to log in (but the user may log in the system by other means)\&. +If the password field contains a string that is not a valid result of +\fBcrypt\fR(3), for instance ! or *, the user cannot use a UNIX password to log in\&. However, the user may log in the system by other means\&. .RE .PP \fBdate of last password change\fR .RS 4 -The date of the last password change, expressed as the number of days since Jan 1, 1970 00:00 UTC\&. +The date of the last password change, expressed as the number of days since 1970\-01\-01 00:00:00 UTC\&. .sp -The value 0 has a special meaning, which is that the user should change her password the next time she will log in the system\&. +The value 0 indicates that the user must change their password the next time they log in to the system\&. .sp Un campo vuoto implica che la scadenza della password \(`e disabilitata\&. .RE .PP \fBminimum password age\fR .RS 4 -L\*(Aqet\(`a minima password \(`e il numero di giorni che l\*(Aqutente dovr\(`a attendere prima di poter cambiare nuovamente la propria password\&. +The minimum password age is the number of days the user must wait before they can change their password again\&. .sp An empty field and value 0 mean that there is no minimum password age\&. .RE .PP \fBmaximum password age\fR .RS 4 -L\*(Aqet\(`a massima password \(`e il numero di giorni dopo il quale l\*(Aqutente deve cambiare la propria password\&. +The maximum password age is the number of days after which the user must change their password\&. .sp -Quando questo numero di giorni \(`e passato, la password pu\(`o ancora essere valida\&. All\*(Aqutente verr\(`a chiesto di cambiare la password durante il successivo accesso\&. +After this number of days has elapsed, the password may still be valid\&. The user is prompted to change their password at the next login\&. .sp Un campo vuoto indica che non ci sono una et\(`a massima password, un periodo di avviso e nessun periodo di inattivit\(`a (vedere oltre)\&. .sp @@ -88,29 +89,29 @@ Se l\*(Aqet\(`a massima password \(`e minore dell\*(Aqet\(`a minima password, l\ .PP \fBpassword warning period\fR .RS 4 -Il numero di giorni prima della scadenza di una password (vedere et\(`a massima password, sopra) durante il quale l\*(Aqutente riceve un avviso\&. +The number of days before a password expires (see the maximum password age above) during which the user is warned\&. .sp -Un campo vuoto e il valore 0 indicano che non c\*(Aq\(`e un periodo di avviso password\&. +An empty field and value 0 mean that there is no password warning period\&. .RE .PP \fBpassword inactivity period\fR .RS 4 -Il numero di giorni dopo la scadenza della password (vedere et\(`a massima password, sopra) durante il quale la password \(`e ancora accettata (e l\*(Aqutente dovrebbe aggiornare la propria password al primo accesso)\&. +The number of days after a password expires (see the maximum password age above) during which the password is still accepted, and the user must update their password at the next login\&. .sp -After expiration of the password and this expiration period is elapsed, no login is possible for the user\&. The user should contact her administrator\&. +After the password expires and the password inactivity period elapses, the user cannot log in and must contact their administrator\&. .sp -Un campo vuoto implica che non \(`e applicato il periodo di inattivit\(`a\&. +An empty string means that no inactivity period is enforced\&. .RE .PP \fBaccount expiration date\fR .RS 4 -The date of expiration of the account, expressed as the number of days since Jan 1, 1970 00:00 UTC\&. +The date when the account expires, expressed as the number of days since 1970\-01\-01\&. .sp -Note that an account expiration differs from a password expiration\&. In case of an account expiration, the user shall not be allowed to login\&. In case of a password expiration, the user is not allowed to login using her password\&. +Note that account expiration differs from password expiration\&. Account expiration prevents the user from logging in, whereas password expiration only prevents users from logging in with their password\&. .sp -Un campo vuoto implica che l\*(Aqaccount non scade mai\&. +An empty field means that the account never expires\&. .sp -Il valore 0 non andrebbe usato perch\('e potrebbe essere interpretato come account che non scade o come scaduto il 1 gennaio 1970\&. +The value 0 should not be used, as it is interpreted either as an account with no expiration or as an expiration date of 1970\-01\-01\&. .RE .PP \fBreserved field\fR diff --git a/man/it/man5/suauth.5 b/man/it/man5/suauth.5 index 6d740071..35d9f95b 100644 --- a/man/it/man5/suauth.5 +++ b/man/it/man5/suauth.5 @@ -2,12 +2,12 @@ .\" Title: suauth .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "SUAUTH" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "SUAUTH" "5" "24/06/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/chgpasswd.8 b/man/it/man8/chgpasswd.8 index 94c9ab82..27d5ba00 100644 --- a/man/it/man8/chgpasswd.8 +++ b/man/it/man8/chgpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chgpasswd .\" Author: Thomas K\(/loczko .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "CHGPASSWD" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "CHGPASSWD" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/chpasswd.8 b/man/it/man8/chpasswd.8 index 4659ab94..95910a10 100644 --- a/man/it/man8/chpasswd.8 +++ b/man/it/man8/chpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chpasswd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "CHPASSWD" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "CHPASSWD" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/faillog.8 b/man/it/man8/faillog.8 index b74c00f8..38b42a35 100644 --- a/man/it/man8/faillog.8 +++ b/man/it/man8/faillog.8 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "FAILLOG" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "FAILLOG" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/groupadd.8 b/man/it/man8/groupadd.8 index d8065510..7e5f6765 100644 --- a/man/it/man8/groupadd.8 +++ b/man/it/man8/groupadd.8 @@ -2,12 +2,12 @@ .\" Title: groupadd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "GROUPADD" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GROUPADD" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/groupdel.8 b/man/it/man8/groupdel.8 index 120e60db..7d5fc0f1 100644 --- a/man/it/man8/groupdel.8 +++ b/man/it/man8/groupdel.8 @@ -2,12 +2,12 @@ .\" Title: groupdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "GROUPDEL" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GROUPDEL" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/groupmems.8 b/man/it/man8/groupmems.8 index 836a7126..9502265c 100644 --- a/man/it/man8/groupmems.8 +++ b/man/it/man8/groupmems.8 @@ -2,12 +2,12 @@ .\" Title: groupmems .\" Author: George Kraft, IV .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "GROUPMEMS" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GROUPMEMS" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/groupmod.8 b/man/it/man8/groupmod.8 index 2300a0ab..cfb1e264 100644 --- a/man/it/man8/groupmod.8 +++ b/man/it/man8/groupmod.8 @@ -2,12 +2,12 @@ .\" Title: groupmod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "GROUPMOD" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GROUPMOD" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/grpck.8 b/man/it/man8/grpck.8 index 2c7a08fe..5a55daec 100644 --- a/man/it/man8/grpck.8 +++ b/man/it/man8/grpck.8 @@ -2,12 +2,12 @@ .\" Title: grpck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "GRPCK" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GRPCK" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/lastlog.8 b/man/it/man8/lastlog.8 index dbb3257b..93a1af31 100644 --- a/man/it/man8/lastlog.8 +++ b/man/it/man8/lastlog.8 @@ -2,12 +2,12 @@ .\" Title: lastlog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "LASTLOG" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "LASTLOG" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/logoutd.8 b/man/it/man8/logoutd.8 index 55a0ff98..0cda9777 100644 --- a/man/it/man8/logoutd.8 +++ b/man/it/man8/logoutd.8 @@ -2,12 +2,12 @@ .\" Title: logoutd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "LOGOUTD" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "LOGOUTD" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/newusers.8 b/man/it/man8/newusers.8 index 7742df3a..e543f767 100644 --- a/man/it/man8/newusers.8 +++ b/man/it/man8/newusers.8 @@ -2,12 +2,12 @@ .\" Title: newusers .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "NEWUSERS" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "NEWUSERS" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/nologin.8 b/man/it/man8/nologin.8 index 4f317311..7bd9bb19 100644 --- a/man/it/man8/nologin.8 +++ b/man/it/man8/nologin.8 @@ -2,12 +2,12 @@ .\" Title: nologin .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "NOLOGIN" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "NOLOGIN" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/pwck.8 b/man/it/man8/pwck.8 index d90755ab..58a8f62b 100644 --- a/man/it/man8/pwck.8 +++ b/man/it/man8/pwck.8 @@ -2,12 +2,12 @@ .\" Title: pwck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "PWCK" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "PWCK" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/pwconv.8 b/man/it/man8/pwconv.8 index 2d794695..9c78683a 100644 --- a/man/it/man8/pwconv.8 +++ b/man/it/man8/pwconv.8 @@ -2,12 +2,12 @@ .\" Title: pwconv .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "PWCONV" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "PWCONV" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,7 +28,7 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NOME" -pwconv, pwunconv, grpconv, grpunconv \- convertono a e da password e gruppi shadow\&. +pwconv, pwunconv, grpconv, grpunconv \- convert between the system\*(Aqs shadowed and plain account files .SH "SINOSSI" .HP \w'\fBpwconv\fR\ 'u \fBpwconv\fR [\fIoptions\fR] @@ -43,42 +43,42 @@ pwconv, pwunconv, grpconv, grpunconv \- convertono a e da password e gruppi shad The \fBpwconv\fR command creates -\fIshadow\fR +shadow from -\fIpasswd\fR +passwd and an optionally existing -\fIshadow\fR\&. +shadow\&. .PP The \fBpwunconv\fR -command creates -\fIpasswd\fR -from -\fIpasswd\fR +command creates a plain +passwd +from shadowed +passwd and -\fIshadow\fR +shadow and then removes -\fIshadow\fR\&. +shadow\&. .PP The \fBgrpconv\fR command creates -\fIgshadow\fR +gshadow from -\fIgroup\fR +group and an optionally existing -\fIgshadow\fR\&. +gshadow\&. .PP The \fBgrpunconv\fR -command creates -\fIgroup\fR -from -\fIgroup\fR +command creates plain +group +from shadowed +group and -\fIgshadow\fR +gshadow and then removes -\fIgshadow\fR\&. +gshadow\&. .PP These four programs all operate on the normal and shadow password and group files: /etc/passwd, @@ -90,7 +90,7 @@ Each program acquires the necessary locks before conversion\&. \fBpwconv\fR and \fBgrpconv\fR -are similar\&. First, entries in the shadowed file which don\*(Aqt exist in the main file are removed\&. Then, shadowed entries which don\*(Aqt have `x\*(Aq 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\*(Aq\&. These programs can be used for initial conversion as well to update the shadowed file if the main file is edited by hand\&. +are similar\&. First, entries in the shadowed file which don\*(Aqt exist in the plain file are removed\&. Then, entries in the shadowed file which don\*(Aqt have `x\*(Aq as the password in plain file are updated\&. Any missing shadowed entries are added\&. Finally, passwords in the plain file are replaced with `x\*(Aq\&. These programs can be used for initial conversion as well to update the shadowed file if the plain file has been edited by hand\&. .PP \fBpwconv\fR will use the values of @@ -106,7 +106,7 @@ 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 +are similar\&. Passwords in the plain file are updated from the shadowed file\&. Entries which exist in the plain 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 "OPZIONI" .PP @@ -136,7 +136,7 @@ Errors in the password or group files (such as invalid or duplicate entries) may \fBpwck\fR and \fBgrpck\fR -to correct any such errors before converting to or from shadow passwords or groups\&. +to correct any such errors before converting to or from shadowed files\&. .SH "CONFIGURAZIONE" .PP The following configuration variable in diff --git a/man/it/man8/sulogin.8 b/man/it/man8/sulogin.8 index 582b2447..edcaa442 100644 --- a/man/it/man8/sulogin.8 +++ b/man/it/man8/sulogin.8 @@ -2,12 +2,12 @@ .\" Title: sulogin .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "SULOGIN" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "SULOGIN" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/useradd.8 b/man/it/man8/useradd.8 index a4b51a2b..d74e3348 100644 --- a/man/it/man8/useradd.8 +++ b/man/it/man8/useradd.8 @@ -2,12 +2,12 @@ .\" Title: useradd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "USERADD" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "USERADD" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -93,11 +93,17 @@ as the value for the user\*(Aqs login directory\&. The default is to append the \fILOGIN\fR name to \fIBASE_DIR\fR -and use that as the login directory name\&. If the directory +and use that as the login directory name\&. The directory \fIHOME_DIR\fR -does not exist, then it will be created unless the +is not created by default\&. However it will be created for non\-system users if either the +\fB\-m\fR +flag is specifed or +\fICREATE_HOME\fR +in +login\&.defs +is set to true\&. However, it will never be created if the \fB\-M\fR -option is specified\&. +flag is specified\&. .RE .PP \fB\-D\fR, \fB\-\-defaults\fR @@ -107,12 +113,11 @@ Vedere oltre, la sezione \(FoCambiare i valori predefiniti\(Fc\&. .PP \fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR .RS 4 -The date on which the user account will be disabled\&. The date is specified in the format -\fIYYYY\-MM\-DD\fR\&. +Sets the date on which the user account will be disabled\&. The value can be specified as a date in the YYYY\-MM\-DD format or as a number of days since 1970\-01\-01\&. The date is interpreted using the UTC timezone\&. .sp If not specified, \fBuseradd\fR -will use the default expiry date specified by the +uses the default expiry date specified by the \fBEXPIRE\fR variable in /etc/default/useradd, or an empty string (no expiry) by default\&. @@ -120,15 +125,19 @@ variable in .PP \fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR .RS 4 -defines the number of days after the password exceeded its maximum age where the user is expected to replace this password\&. The value is stored in the shadow password file\&. An input of 0 will disable an expired password with no delay\&. An input of \-1 will blank the respective field in the shadow password file\&. See -\fBshadow\fR(5)for more information\&. +Defines the number of days after a password exceeds its maximum age before the user account gets locked\&. If the user does not change their password within this period of time, their account becomes inactive\&. This value is stored in the shadow password file\&. For more information, see +\fBshadow\fR(5)\&. +.sp +A value of 0 disables the account when the password expires, with no delay\&. +.sp +A value of \-1 empties the respective field in the shadow password file, which means that the inactivity period is not enforced\&. .sp If not specified, \fBuseradd\fR -will use the default inactivity period specified by the +uses the default inactivity period specified by the \fBINACTIVE\fR variable in -/etc/default/useradd, or \-1 by default\&. +/etc/default/useradd, or \-1 by default if no value is specified\&. .RE .PP \fB\-F\fR, \fB\-\-add\-subids\-for\-system\fR @@ -442,8 +451,7 @@ variable in .PP \fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR .RS 4 -defines the number of days after the password exceeded its maximum age where the user is expected to replace this password\&. See -\fBshadow\fR(5)for more information\&. +specifies the number of days after a password expires during which the user can still log in\&. After this period, the account is locked\&. .sp This option sets the \fBINACTIVE\fR diff --git a/man/it/man8/userdel.8 b/man/it/man8/userdel.8 index b15f8bbc..1185d62a 100644 --- a/man/it/man8/userdel.8 +++ b/man/it/man8/userdel.8 @@ -2,12 +2,12 @@ .\" Title: userdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "USERDEL" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "USERDEL" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/usermod.8 b/man/it/man8/usermod.8 index e9d07fb4..64aa2834 100644 --- a/man/it/man8/usermod.8 +++ b/man/it/man8/usermod.8 @@ -2,12 +2,12 @@ .\" Title: usermod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "USERMOD" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "USERMOD" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -74,29 +74,30 @@ option is given, the contents of the current home directory will be moved to the .PP \fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR .RS 4 -The date on which the user account will be disabled\&. The date is specified in the format -\fIYYYY\-MM\-DD\fR\&. Integers as input are interpreted as days after 1970\-01\-01\&. +Specifies the date on which the user account will be disabled\&. The value can be specified as a date in the YYYY\-MM\-DD format or as a number of days since 1970\-01\-01\&. The date is interpreted using the UTC timezone\&. .sp -An input of \-1 or an empty string will blank the account expiration field in the shadow password file\&. The account will remain available with no date limit\&. +An input of \-1 or an empty string blanks the account expiration field in the shadow password file\&. The account will remain available with no expiration date\&. .sp -This option requires a +This option requires the /etc/shadow -file\&. A +file\&. If no entry exists in the /etc/shadow -entry will be created if there were none\&. +file, the system will automatically create one\&. .RE .PP \fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR .RS 4 -defines the number of days after the password exceeded its maximum age during which the user may still login by immediately replacing the password\&. This grace period before the account becomes inactive is stored in the shadow password file\&. An input of 0 will disable an expired password with no delay\&. An input of \-1 will blank the respective field in the shadow password file\&. See -\fBshadow\fR(5) -for more information\&. +Defines the number of days after a password exceeds its maximum age during which the user can still log in by immediately changing their password\&. If the user does not change their password within this period of time, their account becomes inactive\&. This value is stored in the shadow password file\&. .sp -This option requires a +A value of 0 disables the account when the password expires, with no delay\&. +.sp +A value of \-1 empties the respective field in the shadow password file, which means that the inactivity period is not enforced\&. +.sp +This option requires the /etc/shadow -file\&. A +file\&. If no entry exist in the /etc/shadow -entry will be created if there were none\&. +file, the system will automatically create one\&. .RE .PP \fB\-g\fR, \fB\-\-gid\fR\ \&\fIGROUP\fR @@ -199,7 +200,7 @@ and use as well the configuration files located there\&. This option does not ch .PP \fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR .RS 4 -changes the user\*(Aqs login shell\&. An empty string for SHELL blanks the field in +changes the user\*(Aqs login shell\&. An empty string for SHELL empties the field in /etc/passwd and logs the user into the system\*(Aqs default shell\&. .RE diff --git a/man/it/man8/vipw.8 b/man/it/man8/vipw.8 index 851005b2..1ad90bbe 100644 --- a/man/it/man8/vipw.8 +++ b/man/it/man8/vipw.8 @@ -2,12 +2,12 @@ .\" Title: vipw .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 19/03/2025 +.\" Date: 24/06/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Italian .\" -.TH "VIPW" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "VIPW" "8" "24/06/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ja/Makefile.in b/man/ja/Makefile.in index 9e4207df..db7fb405 100644 --- a/man/ja/Makefile.in +++ b/man/ja/Makefile.in @@ -195,6 +195,7 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -285,8 +286,6 @@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMLCATALOG = @XMLCATALOG@ XML_CATALOG_FILE = @XML_CATALOG_FILE@ XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/man/ko/Makefile.in b/man/ko/Makefile.in index eccffc5c..d1d9d953 100644 --- a/man/ko/Makefile.in +++ b/man/ko/Makefile.in @@ -192,6 +192,7 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -282,8 +283,6 @@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMLCATALOG = @XMLCATALOG@ XML_CATALOG_FILE = @XML_CATALOG_FILE@ XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/man/man1/chage.1 b/man/man1/chage.1 index 2a6800a3..16fa044e 100644 --- a/man/man1/chage.1 +++ b/man/man1/chage.1 @@ -2,12 +2,12 @@ .\" Title: chage .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "CHAGE" "1" "03/19/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "CHAGE" "1" "06/24/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -36,7 +36,7 @@ chage \- change user password expiry information .PP The \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 their password\&. +command changes password expiration information for a user\&. It sets 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 the user must change their password\&. .SH "OPTIONS" .PP The options which apply to the @@ -45,35 +45,40 @@ command are: .PP \fB\-d\fR, \fB\-\-lastday\fR\ \&\fILAST_DAY\fR .RS 4 -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)\&. If the +Set the date when the password was last changed\&. The value can be specified as a date in the YYYY\-MM\-DD format or as a number of days since 1970\-01\-01\&. The date is interpreted using the UTC timezone\&. If the \fILAST_DAY\fR is set to -\fI0\fR -the user is forced to change his password on the next log on\&. +\fI0\fR, the user is forced to change their password upon the next login\&. +.sp +Passing the value +\fI\-1\fR +or an empty string as the +\fILAST_DAY\fR +clears the value and removes the password change requirement\&. .RE .PP \fB\-E\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR .RS 4 -Set the date or number of days since January 1, 1970 on which the user\*(Aqs 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\&. +Set the date on which the user\*(Aqs password expires and their account will no longer be accessible\&. The value can be specified as a date in the YYYY\-MM\-DD format or as a number of days since 1970\-01\-01\&. The date is interpreted using the UTC timezone\&. If the password expires, the user must contact the system administrator to regain access to the system\&. .sp -For example the following can be used to set an account to expire in 180 days: +For example, the following command sets an account to expire in 180 days: .sp .if n \{\ .RS 4 .\} .nf - chage \-E $(date \-d +180days +%Y\-%m\-%d) + chage \-E $(date \-d +180days +%F) .fi .if n \{\ .RE .\} .sp -Passing the number +Passing the value \fI\-1\fR -as the +or an empty string as the \fIEXPIRE_DATE\fR -will remove an account expiration date\&. +removes the account expiration date\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR diff --git a/man/man1/chfn.1 b/man/man1/chfn.1 index 3803111b..a92cecdf 100644 --- a/man/man1/chfn.1 +++ b/man/man1/chfn.1 @@ -2,12 +2,12 @@ .\" Title: chfn .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "CHFN" "1" "03/19/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "CHFN" "1" "06/24/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,7 +28,7 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -chfn \- change real user name and information +chfn \- change full user name and information .SH "SYNOPSIS" .HP \w'\fBchfn\fR\ 'u \fBchfn\fR [\fIoptions\fR] [\fILOGIN\fR] @@ -36,7 +36,8 @@ chfn \- change real user name and information .PP The \fBchfn\fR -command changes user fullname, office room number, office phone number, and home phone number information for a user\*(Aqs account\&. This information is typically printed by +command changes the user\*(Aqs full name, office room number, office phone number, and home phone number information for an account in the respective fields of +/etc/passwd\&. 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 /etc/login\&.defs\&. (The default configuration is to prevent users from changing their fullname\&.) The superuser may change any field for any account\&. Additionally, only the superuser may use the @@ -48,6 +49,12 @@ These fields must not contain any colons\&. Except for the field, they should not contain any comma or equal sign\&. It is also recommended to avoid non\-US\-ASCII characters, but this is only enforced for the phone numbers\&. The \fIother\fR field is used to store accounting information used by other applications\&. +.PP +If +\fILOGIN\fR +is not specified, +\fBchfn\fR +acts on the current user, and prompts for the current user\*(Aqs password\&. .SH "OPTIONS" .PP The options which apply to the @@ -80,7 +87,7 @@ Apply changes in the \fICHROOT_DIR\fR directory and use the configuration files from the \fICHROOT_DIR\fR -directory\&. Only absolute paths are supported\&. +directory\&. .RE .PP \fB\-u\fR, \fB\-\-help\fR @@ -93,13 +100,11 @@ Display help message and exit\&. Change the user\*(Aqs office phone number\&. .RE .PP -If none of the options are selected, +If none of the options is selected, \fBchfn\fR operates in an interactive fashion, prompting the user with the current values for all of the fields\&. Enter the new value to change the field, or leave the line blank to use the current value\&. The current value is displayed between a pair of -\fB[ ]\fR -marks\&. Without options, -\fBchfn\fR -prompts for the current user account\&. +\fB []\fR +marks\&. .SH "CONFIGURATION" .PP The following configuration variables in diff --git a/man/man1/chsh.1 b/man/man1/chsh.1 index 0a5401b5..5d7b3edb 100644 --- a/man/man1/chsh.1 +++ b/man/man1/chsh.1 @@ -2,12 +2,12 @@ .\" Title: chsh .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "CHSH" "1" "03/19/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "CHSH" "1" "06/24/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/expiry.1 b/man/man1/expiry.1 index a10f2438..20647430 100644 --- a/man/man1/expiry.1 +++ b/man/man1/expiry.1 @@ -2,12 +2,12 @@ .\" Title: expiry .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "EXPIRY" "1" "03/19/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "EXPIRY" "1" "06/24/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/getsubids.1 b/man/man1/getsubids.1 index e25a099c..106a18c8 100644 --- a/man/man1/getsubids.1 +++ b/man/man1/getsubids.1 @@ -2,12 +2,12 @@ .\" Title: getsubids .\" Author: Iker Pedrosa .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "GETSUBIDS" "1" "03/19/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "GETSUBIDS" "1" "06/24/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/gpasswd.1 b/man/man1/gpasswd.1 index 94b570c8..ddbecef5 100644 --- a/man/man1/gpasswd.1 +++ b/man/man1/gpasswd.1 @@ -2,12 +2,12 @@ .\" Title: gpasswd .\" Author: Rafal Maszkowski .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "GPASSWD" "1" "03/19/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "GPASSWD" "1" "06/24/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/login.1 b/man/man1/login.1 index 6896ae5b..e5305739 100644 --- a/man/man1/login.1 +++ b/man/man1/login.1 @@ -2,12 +2,12 @@ .\" Title: login .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "LOGIN" "1" "03/19/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "LOGIN" "1" "06/24/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/newgidmap.1 b/man/man1/newgidmap.1 index d95cd5c9..8b09fe39 100644 --- a/man/man1/newgidmap.1 +++ b/man/man1/newgidmap.1 @@ -2,12 +2,12 @@ .\" Title: newgidmap .\" Author: Eric Biederman .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "NEWGIDMAP" "1" "03/19/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "NEWGIDMAP" "1" "06/24/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/newgrp.1 b/man/man1/newgrp.1 index a5fd5a18..d0955476 100644 --- a/man/man1/newgrp.1 +++ b/man/man1/newgrp.1 @@ -2,12 +2,12 @@ .\" Title: newgrp .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "NEWGRP" "1" "03/19/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "NEWGRP" "1" "06/24/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/newuidmap.1 b/man/man1/newuidmap.1 index ea76155b..c4d6402a 100644 --- a/man/man1/newuidmap.1 +++ b/man/man1/newuidmap.1 @@ -2,12 +2,12 @@ .\" Title: newuidmap .\" Author: Eric Biederman .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "NEWUIDMAP" "1" "03/19/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "NEWUIDMAP" "1" "06/24/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/passwd.1 b/man/man1/passwd.1 index 2b36d9d8..ebc918e1 100644 --- a/man/man1/passwd.1 +++ b/man/man1/passwd.1 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "PASSWD" "1" "03/19/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "PASSWD" "1" "06/24/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -36,30 +36,30 @@ passwd \- change user password .PP The \fBpasswd\fR -command changes passwords for user accounts\&. A normal user may only change the password for their own account, while the superuser may change the password for any account\&. +command changes passwords for user accounts\&. A regular user can only change the password for their own account, while the superuser can change the password for any account\&. The \fBpasswd\fR also changes the account or associated password validity period\&. .SS "Password Changes" .PP -The user is first prompted for their old password, if one is present\&. This password is then encrypted and compared against the stored password\&. The user has only one chance to enter the correct password\&. The superuser is permitted to bypass this step so that forgotten passwords may be changed\&. +If the account has a non\-empty password, the user is first prompted to enter their current password\&. The entered password is encrypted and compared to the stored value\&. The user has only one attempt to enter the correct password\&. The superuser can bypass this step to allow changing forgotten passwords\&. .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, +After the password has been entered, password aging information is checked to determine 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 twice for a replacement password\&. The second entry is compared against the first and both are required to match in order for the password to be changed\&. +The user is then prompted twice for a replacement password\&. The second entry is compared against the first and both are required to match for the password to be changed\&. .PP Then, the password is tested for complexity\&. \fBpasswd\fR -will reject any password which is not suitably complex\&. Care must be taken not to include the system default erase or kill characters\&. +rejects passwords that do not meet the complexity requirements\&. Do not include the system default erase or kill characters\&. .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 legacy +The security of a password depends on the strength of the encryption algorithm and the size of the key space\&. The legacy \fIUNIX\fR System encryption method is based on the NBS DES algorithm\&. More recent methods are now recommended (see -\fBENCRYPT_METHOD\fR)\&. The size of the key space depends upon the randomness of the password which is selected\&. +\fBENCRYPT_METHOD\fR)\&. The size of the key space depends on the randomness of the selected password\&. .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\&. +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 one that must be written down\&. The password should also not be a proper name, your license number, birth date, or street address\&. Any of these may be used as guesses to violate system security\&. .PP As a general guideline, passwords should be long and random\&. It\*(Aqs fine to use simple character sets, such as passwords consisting only of lowercase letters, if that helps memorizing longer passwords\&. For a password consisting only of lowercase English letters randomly chosen, and a length of 32, there are 26^32 (approximately 2^150) different possible combinations\&. Being an exponential equation, it\*(Aqs apparent that the exponent (the length) is more important than the base (the size of the character set)\&. .PP @@ -79,7 +79,7 @@ and causes show status for all users\&. .PP \fB\-d\fR, \fB\-\-delete\fR .RS 4 -Delete a user\*(Aqs password (make it empty)\&. This is a quick way to disable a password for an account\&. It will set the named account passwordless\&. +Deletes a user\*(Aqs password, making it empty\&. This command sets the account to be passwordless\&. .RE .PP \fB\-e\fR, \fB\-\-expire\fR @@ -110,7 +110,7 @@ Lock the password of the named account\&. This option disables a password by cha .sp Note that this does not disable the account\&. The user may still be able to login using another authentication token (e\&.g\&. an SSH key)\&. To disable the account, administrators should use \fBusermod \-\-expiredate 1\fR -(this sets the account\*(Aqs expire date to Jan 2, 1970)\&. +(this sets the account\*(Aqs expire date to 1970\-01\-02)\&. .sp Users with a locked password are not allowed to change their password\&. .RE @@ -164,7 +164,7 @@ option)\&. .RS 4 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 that their password is about to expire\&. +option is the number of days prior to password expiration during which the user is warned that their password is about to expire\&. .RE .PP \fB\-x\fR, \fB\-\-maxdays\fR\ \&\fIMAX_DAYS\fR @@ -336,6 +336,12 @@ file busy, try again .RS 4 invalid argument to option .RE +.PP +\fI10\fR +.RS 4 +an error was returned by +pam(3) +.RE .SH "SEE ALSO" .PP \fBchpasswd\fR(8), diff --git a/man/man1/sg.1 b/man/man1/sg.1 index dabccbb4..c67694a3 100644 --- a/man/man1/sg.1 +++ b/man/man1/sg.1 @@ -2,12 +2,12 @@ .\" Title: sg .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "SG" "1" "03/19/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "SG" "1" "06/24/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/su.1 b/man/man1/su.1 index a06c3ef2..58b473a2 100644 --- a/man/man1/su.1 +++ b/man/man1/su.1 @@ -2,12 +2,12 @@ .\" Title: su .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "SU" "1" "03/19/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "SU" "1" "06/24/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man3/shadow.3 b/man/man3/shadow.3 index 46855e16..621697f0 100644 --- a/man/man3/shadow.3 +++ b/man/man3/shadow.3 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: Library Calls -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "SHADOW" "3" "03/19/2025" "shadow\-utils 4\&.17\&.4" "Library Calls" +.TH "SHADOW" "3" "06/24/2025" "shadow\-utils 4\&.18\&.0" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/faillog.5 b/man/man5/faillog.5 index a3be51a5..28022fb5 100644 --- a/man/man5/faillog.5 +++ b/man/man5/faillog.5 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "FAILLOG" "5" "03/19/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuratio" +.TH "FAILLOG" "5" "06/24/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/gshadow.5 b/man/man5/gshadow.5 index 3dbc5897..ea28c425 100644 --- a/man/man5/gshadow.5 +++ b/man/man5/gshadow.5 @@ -2,12 +2,12 @@ .\" Title: gshadow .\" Author: Nicolas François .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "GSHADOW" "5" "03/19/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "GSHADOW" "5" "06/24/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/limits.5 b/man/man5/limits.5 index cef7f228..817d0ff2 100644 --- a/man/man5/limits.5 +++ b/man/man5/limits.5 @@ -2,12 +2,12 @@ .\" Title: limits .\" Author: Luca Berra .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "LIMITS" "5" "03/19/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "LIMITS" "5" "06/24/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/login.access.5 b/man/man5/login.access.5 index 0311f486..a559448f 100644 --- a/man/man5/login.access.5 +++ b/man/man5/login.access.5 @@ -2,12 +2,12 @@ .\" Title: login.access .\" Author: Marek Michałkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "LOGIN\&.ACCESS" "5" "03/19/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "LOGIN\&.ACCESS" "5" "06/24/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/login.defs.5 b/man/man5/login.defs.5 index ec2a7f98..2754842e 100644 --- a/man/man5/login.defs.5 +++ b/man/man5/login.defs.5 @@ -2,12 +2,12 @@ .\" Title: login.defs .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "LOGIN\&.DEFS" "5" "03/19/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "LOGIN\&.DEFS" "5" "06/24/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/passwd.5 b/man/man5/passwd.5 index e95e3455..cd8989ea 100644 --- a/man/man5/passwd.5 +++ b/man/man5/passwd.5 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "PASSWD" "5" "03/19/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "PASSWD" "5" "06/24/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/porttime.5 b/man/man5/porttime.5 index 0d7745bc..7810e833 100644 --- a/man/man5/porttime.5 +++ b/man/man5/porttime.5 @@ -2,12 +2,12 @@ .\" Title: porttime .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "PORTTIME" "5" "03/19/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "PORTTIME" "5" "06/24/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/shadow.5 b/man/man5/shadow.5 index b3e242cd..58e8a5fe 100644 --- a/man/man5/shadow.5 +++ b/man/man5/shadow.5 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "SHADOW" "5" "03/19/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "SHADOW" "5" "06/24/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -45,41 +45,42 @@ It must be a valid account name, which exists on the system\&. .PP \fBencrypted password\fR .RS 4 -This field may be empty, in which case no passwords are required to authenticate as the specified login name\&. However, some applications which read the +If the password field is empty, the user can log in without a password\&. However, some applications that read the /etc/shadow -file may decide not to permit any access at all if the password field is empty\&. +file might block access if the password field is empty\&. .sp -A password field which starts with an exclamation mark means that the password is locked\&. The remaining characters on the line represent the password field before the password was locked\&. +If the password field begins with an exclamation mark +\fI!\fR, the password is locked\&. The remaining characters on the line represent the password field before the password was locked\&. .sp Refer to \fBcrypt\fR(3) for details on how this string is interpreted\&. .sp -If the password field contains some string that is not a valid result of -\fBcrypt\fR(3), for instance ! or *, the user will not be able to use a unix password to log in (but the user may log in the system by other means)\&. +If the password field contains a string that is not a valid result of +\fBcrypt\fR(3), for instance ! or *, the user cannot use a UNIX password to log in\&. However, the user may log in the system by other means\&. .RE .PP \fBdate of last password change\fR .RS 4 -The date of the last password change, expressed as the number of days since Jan 1, 1970 00:00 UTC\&. +The date of the last password change, expressed as the number of days since 1970\-01\-01 00:00:00 UTC\&. .sp -The value 0 has a special meaning, which is that the user should change her password the next time she will log in the system\&. +The value 0 indicates that the user must change their password the next time they log in to the system\&. .sp An empty field means that password aging features are disabled\&. .RE .PP \fBminimum password age\fR .RS 4 -The minimum password age is the number of days the user will have to wait before she will be allowed to change her password again\&. +The minimum password age is the number of days the user must wait before they can change their password again\&. .sp An empty field and value 0 mean that there is no minimum password age\&. .RE .PP \fBmaximum password age\fR .RS 4 -The maximum password age is the number of days after which the user will have to change her password\&. +The maximum password age is the number of days after which the user must change their password\&. .sp -After this number of days is elapsed, the password may still be valid\&. The user should be asked to change her password the next time she will log in\&. +After this number of days has elapsed, the password may still be valid\&. The user is prompted to change their password at the next login\&. .sp An empty field means that there are no maximum password age, no password warning period, and no password inactivity period (see below)\&. .sp @@ -88,29 +89,29 @@ If the maximum password age is lower than the minimum password age, the user can .PP \fBpassword warning period\fR .RS 4 -The number of days before a password is going to expire (see the maximum password age above) during which the user should be warned\&. +The number of days before a password expires (see the maximum password age above) during which the user is warned\&. .sp -An empty field and value 0 mean that there are no password warning period\&. +An empty field and value 0 mean that there is no password warning period\&. .RE .PP \fBpassword inactivity period\fR .RS 4 -The number of days after a password has expired (see the maximum password age above) during which the password should still be accepted (and the user should update her password during the next login)\&. +The number of days after a password expires (see the maximum password age above) during which the password is still accepted, and the user must update their password at the next login\&. .sp -After expiration of the password and this expiration period is elapsed, no login is possible for the user\&. The user should contact her administrator\&. +After the password expires and the password inactivity period elapses, the user cannot log in and must contact their administrator\&. .sp -An empty field means that there are no enforcement of an inactivity period\&. +An empty string means that no inactivity period is enforced\&. .RE .PP \fBaccount expiration date\fR .RS 4 -The date of expiration of the account, expressed as the number of days since Jan 1, 1970 00:00 UTC\&. +The date when the account expires, expressed as the number of days since 1970\-01\-01\&. .sp -Note that an account expiration differs from a password expiration\&. In case of an account expiration, the user shall not be allowed to login\&. In case of a password expiration, the user is not allowed to login using her password\&. +Note that account expiration differs from password expiration\&. Account expiration prevents the user from logging in, whereas password expiration only prevents users from logging in with their password\&. .sp -An empty field means that the account will never expire\&. +An empty field means that the account never expires\&. .sp -The value 0 should not be used as it is interpreted as either an account with no expiration, or as an expiration on Jan 1, 1970\&. +The value 0 should not be used, as it is interpreted either as an account with no expiration or as an expiration date of 1970\-01\-01\&. .RE .PP \fBreserved field\fR diff --git a/man/man5/suauth.5 b/man/man5/suauth.5 index 18e82ce0..2a2af6e0 100644 --- a/man/man5/suauth.5 +++ b/man/man5/suauth.5 @@ -2,12 +2,12 @@ .\" Title: suauth .\" Author: Marek Michałkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "SUAUTH" "5" "03/19/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "SUAUTH" "5" "06/24/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/subgid.5 b/man/man5/subgid.5 index 5ffd541c..d88e2671 100644 --- a/man/man5/subgid.5 +++ b/man/man5/subgid.5 @@ -2,12 +2,12 @@ .\" Title: subgid .\" Author: Eric Biederman .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "SUBGID" "5" "03/19/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "SUBGID" "5" "06/24/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/subuid.5 b/man/man5/subuid.5 index 6a8eb52a..42455e1d 100644 --- a/man/man5/subuid.5 +++ b/man/man5/subuid.5 @@ -2,12 +2,12 @@ .\" Title: subuid .\" Author: Eric Biederman .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "SUBUID" "5" "03/19/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "SUBUID" "5" "06/24/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/chgpasswd.8 b/man/man8/chgpasswd.8 index feebd673..cdbab607 100644 --- a/man/man8/chgpasswd.8 +++ b/man/man8/chgpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chgpasswd .\" Author: Thomas Kłoczko .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "CHGPASSWD" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "CHGPASSWD" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/chpasswd.8 b/man/man8/chpasswd.8 index a2ed6547..0e3fbeb8 100644 --- a/man/man8/chpasswd.8 +++ b/man/man8/chpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chpasswd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "CHPASSWD" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "CHPASSWD" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/faillog.8 b/man/man8/faillog.8 index 7d30f808..1f5fd4de 100644 --- a/man/man8/faillog.8 +++ b/man/man8/faillog.8 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "FAILLOG" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "FAILLOG" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/groupadd.8 b/man/man8/groupadd.8 index ec795aa7..044462ed 100644 --- a/man/man8/groupadd.8 +++ b/man/man8/groupadd.8 @@ -2,12 +2,12 @@ .\" Title: groupadd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "GROUPADD" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GROUPADD" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/groupdel.8 b/man/man8/groupdel.8 index 90717b5f..59d5b34e 100644 --- a/man/man8/groupdel.8 +++ b/man/man8/groupdel.8 @@ -2,12 +2,12 @@ .\" Title: groupdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "GROUPDEL" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GROUPDEL" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/groupmems.8 b/man/man8/groupmems.8 index e5c2875e..4ec4c27e 100644 --- a/man/man8/groupmems.8 +++ b/man/man8/groupmems.8 @@ -2,12 +2,12 @@ .\" Title: groupmems .\" Author: George Kraft, IV .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "GROUPMEMS" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GROUPMEMS" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/groupmod.8 b/man/man8/groupmod.8 index 3d136bdc..9a5ac57e 100644 --- a/man/man8/groupmod.8 +++ b/man/man8/groupmod.8 @@ -2,12 +2,12 @@ .\" Title: groupmod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "GROUPMOD" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GROUPMOD" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/grpck.8 b/man/man8/grpck.8 index ced31ac1..2d7a51cc 100644 --- a/man/man8/grpck.8 +++ b/man/man8/grpck.8 @@ -2,12 +2,12 @@ .\" Title: grpck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "GRPCK" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GRPCK" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/lastlog.8 b/man/man8/lastlog.8 index 2435e2a0..ab4d6c88 100644 --- a/man/man8/lastlog.8 +++ b/man/man8/lastlog.8 @@ -2,12 +2,12 @@ .\" Title: lastlog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "LASTLOG" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "LASTLOG" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/logoutd.8 b/man/man8/logoutd.8 index a88e4400..3ef633d9 100644 --- a/man/man8/logoutd.8 +++ b/man/man8/logoutd.8 @@ -2,12 +2,12 @@ .\" Title: logoutd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "LOGOUTD" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "LOGOUTD" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/newusers.8 b/man/man8/newusers.8 index 1e976e61..b3eb70b9 100644 --- a/man/man8/newusers.8 +++ b/man/man8/newusers.8 @@ -2,12 +2,12 @@ .\" Title: newusers .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "NEWUSERS" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "NEWUSERS" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/nologin.8 b/man/man8/nologin.8 index f35764a4..a7eae596 100644 --- a/man/man8/nologin.8 +++ b/man/man8/nologin.8 @@ -2,12 +2,12 @@ .\" Title: nologin .\" Author: Nicolas François .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "NOLOGIN" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "NOLOGIN" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/pwck.8 b/man/man8/pwck.8 index b3cf0754..77b2ad9c 100644 --- a/man/man8/pwck.8 +++ b/man/man8/pwck.8 @@ -2,12 +2,12 @@ .\" Title: pwck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "PWCK" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "PWCK" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/pwconv.8 b/man/man8/pwconv.8 index 0cf56fc6..4514bde9 100644 --- a/man/man8/pwconv.8 +++ b/man/man8/pwconv.8 @@ -2,12 +2,12 @@ .\" Title: pwconv .\" Author: Marek Michałkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "PWCONV" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "PWCONV" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,7 +28,7 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -pwconv, pwunconv, grpconv, grpunconv \- convert to and from shadow passwords and groups +pwconv, pwunconv, grpconv, grpunconv \- convert between the system\*(Aqs shadowed and plain account files .SH "SYNOPSIS" .HP \w'\fBpwconv\fR\ 'u \fBpwconv\fR [\fIoptions\fR] @@ -43,42 +43,42 @@ pwconv, pwunconv, grpconv, grpunconv \- convert to and from shadow passwords and The \fBpwconv\fR command creates -\fIshadow\fR +shadow from -\fIpasswd\fR +passwd and an optionally existing -\fIshadow\fR\&. +shadow\&. .PP The \fBpwunconv\fR -command creates -\fIpasswd\fR -from -\fIpasswd\fR +command creates a plain +passwd +from shadowed +passwd and -\fIshadow\fR +shadow and then removes -\fIshadow\fR\&. +shadow\&. .PP The \fBgrpconv\fR command creates -\fIgshadow\fR +gshadow from -\fIgroup\fR +group and an optionally existing -\fIgshadow\fR\&. +gshadow\&. .PP The \fBgrpunconv\fR -command creates -\fIgroup\fR -from -\fIgroup\fR +command creates plain +group +from shadowed +group and -\fIgshadow\fR +gshadow and then removes -\fIgshadow\fR\&. +gshadow\&. .PP These four programs all operate on the normal and shadow password and group files: /etc/passwd, @@ -90,7 +90,7 @@ Each program acquires the necessary locks before conversion\&. \fBpwconv\fR and \fBgrpconv\fR -are similar\&. First, entries in the shadowed file which don\*(Aqt exist in the main file are removed\&. Then, shadowed entries which don\*(Aqt have `x\*(Aq 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\*(Aq\&. These programs can be used for initial conversion as well to update the shadowed file if the main file is edited by hand\&. +are similar\&. First, entries in the shadowed file which don\*(Aqt exist in the plain file are removed\&. Then, entries in the shadowed file which don\*(Aqt have `x\*(Aq as the password in plain file are updated\&. Any missing shadowed entries are added\&. Finally, passwords in the plain file are replaced with `x\*(Aq\&. These programs can be used for initial conversion as well to update the shadowed file if the plain file has been edited by hand\&. .PP \fBpwconv\fR will use the values of @@ -106,7 +106,7 @@ 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 +are similar\&. Passwords in the plain file are updated from the shadowed file\&. Entries which exist in the plain 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 "OPTIONS" .PP @@ -136,7 +136,7 @@ Errors in the password or group files (such as invalid or duplicate entries) may \fBpwck\fR and \fBgrpck\fR -to correct any such errors before converting to or from shadow passwords or groups\&. +to correct any such errors before converting to or from shadowed files\&. .SH "CONFIGURATION" .PP The following configuration variable in diff --git a/man/man8/sulogin.8 b/man/man8/sulogin.8 index 5a37a09b..a061d388 100644 --- a/man/man8/sulogin.8 +++ b/man/man8/sulogin.8 @@ -2,12 +2,12 @@ .\" Title: sulogin .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "SULOGIN" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "SULOGIN" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/useradd.8 b/man/man8/useradd.8 index a1d172cd..443de9c5 100644 --- a/man/man8/useradd.8 +++ b/man/man8/useradd.8 @@ -2,12 +2,12 @@ .\" Title: useradd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "USERADD" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "USERADD" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -93,11 +93,17 @@ as the value for the user\*(Aqs login directory\&. The default is to append the \fILOGIN\fR name to \fIBASE_DIR\fR -and use that as the login directory name\&. If the directory +and use that as the login directory name\&. The directory \fIHOME_DIR\fR -does not exist, then it will be created unless the +is not created by default\&. However it will be created for non\-system users if either the +\fB\-m\fR +flag is specifed or +\fICREATE_HOME\fR +in +login\&.defs +is set to true\&. However, it will never be created if the \fB\-M\fR -option is specified\&. +flag is specified\&. .RE .PP \fB\-D\fR, \fB\-\-defaults\fR @@ -107,12 +113,11 @@ See below, the subsection "Changing the default values"\&. .PP \fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR .RS 4 -The date on which the user account will be disabled\&. The date is specified in the format -\fIYYYY\-MM\-DD\fR\&. +Sets the date on which the user account will be disabled\&. The value can be specified as a date in the YYYY\-MM\-DD format or as a number of days since 1970\-01\-01\&. The date is interpreted using the UTC timezone\&. .sp If not specified, \fBuseradd\fR -will use the default expiry date specified by the +uses the default expiry date specified by the \fBEXPIRE\fR variable in /etc/default/useradd, or an empty string (no expiry) by default\&. @@ -120,15 +125,19 @@ variable in .PP \fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR .RS 4 -defines the number of days after the password exceeded its maximum age where the user is expected to replace this password\&. The value is stored in the shadow password file\&. An input of 0 will disable an expired password with no delay\&. An input of \-1 will blank the respective field in the shadow password file\&. See -\fBshadow\fR(5)for more information\&. +Defines the number of days after a password exceeds its maximum age before the user account gets locked\&. If the user does not change their password within this period of time, their account becomes inactive\&. This value is stored in the shadow password file\&. For more information, see +\fBshadow\fR(5)\&. +.sp +A value of 0 disables the account when the password expires, with no delay\&. +.sp +A value of \-1 empties the respective field in the shadow password file, which means that the inactivity period is not enforced\&. .sp If not specified, \fBuseradd\fR -will use the default inactivity period specified by the +uses the default inactivity period specified by the \fBINACTIVE\fR variable in -/etc/default/useradd, or \-1 by default\&. +/etc/default/useradd, or \-1 by default if no value is specified\&. .RE .PP \fB\-F\fR, \fB\-\-add\-subids\-for\-system\fR @@ -442,8 +451,7 @@ variable in .PP \fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR .RS 4 -defines the number of days after the password exceeded its maximum age where the user is expected to replace this password\&. See -\fBshadow\fR(5)for more information\&. +specifies the number of days after a password expires during which the user can still log in\&. After this period, the account is locked\&. .sp This option sets the \fBINACTIVE\fR diff --git a/man/man8/userdel.8 b/man/man8/userdel.8 index 07e6d516..b336aa36 100644 --- a/man/man8/userdel.8 +++ b/man/man8/userdel.8 @@ -2,12 +2,12 @@ .\" Title: userdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "USERDEL" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "USERDEL" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/usermod.8 b/man/man8/usermod.8 index f9f0fd6f..19e74b66 100644 --- a/man/man8/usermod.8 +++ b/man/man8/usermod.8 @@ -2,12 +2,12 @@ .\" Title: usermod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "USERMOD" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "USERMOD" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -74,29 +74,30 @@ option is given, the contents of the current home directory will be moved to the .PP \fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR .RS 4 -The date on which the user account will be disabled\&. The date is specified in the format -\fIYYYY\-MM\-DD\fR\&. Integers as input are interpreted as days after 1970\-01\-01\&. +Specifies the date on which the user account will be disabled\&. The value can be specified as a date in the YYYY\-MM\-DD format or as a number of days since 1970\-01\-01\&. The date is interpreted using the UTC timezone\&. .sp -An input of \-1 or an empty string will blank the account expiration field in the shadow password file\&. The account will remain available with no date limit\&. +An input of \-1 or an empty string blanks the account expiration field in the shadow password file\&. The account will remain available with no expiration date\&. .sp -This option requires a +This option requires the /etc/shadow -file\&. A +file\&. If no entry exists in the /etc/shadow -entry will be created if there were none\&. +file, the system will automatically create one\&. .RE .PP \fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR .RS 4 -defines the number of days after the password exceeded its maximum age during which the user may still login by immediately replacing the password\&. This grace period before the account becomes inactive is stored in the shadow password file\&. An input of 0 will disable an expired password with no delay\&. An input of \-1 will blank the respective field in the shadow password file\&. See -\fBshadow\fR(5) -for more information\&. +Defines the number of days after a password exceeds its maximum age during which the user can still log in by immediately changing their password\&. If the user does not change their password within this period of time, their account becomes inactive\&. This value is stored in the shadow password file\&. .sp -This option requires a +A value of 0 disables the account when the password expires, with no delay\&. +.sp +A value of \-1 empties the respective field in the shadow password file, which means that the inactivity period is not enforced\&. +.sp +This option requires the /etc/shadow -file\&. A +file\&. If no entry exist in the /etc/shadow -entry will be created if there were none\&. +file, the system will automatically create one\&. .RE .PP \fB\-g\fR, \fB\-\-gid\fR\ \&\fIGROUP\fR @@ -199,7 +200,7 @@ and use as well the configuration files located there\&. This option does not ch .PP \fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR .RS 4 -changes the user\*(Aqs login shell\&. An empty string for SHELL blanks the field in +changes the user\*(Aqs login shell\&. An empty string for SHELL empties the field in /etc/passwd and logs the user into the system\*(Aqs default shell\&. .RE diff --git a/man/man8/vipw.8 b/man/man8/vipw.8 index 9745c9a2..2802194f 100644 --- a/man/man8/vipw.8 +++ b/man/man8/vipw.8 @@ -2,12 +2,12 @@ .\" Title: vipw .\" Author: Marek Michałkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: English .\" -.TH "VIPW" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "VIPW" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/passwd.1.xml b/man/passwd.1.xml index c1540990..65dca040 100644 --- a/man/passwd.1.xml +++ b/man/passwd.1.xml @@ -65,26 +65,27 @@ DESCRIPTION - The passwd command changes passwords for user accounts. - A normal user may only change the password for their own account, while - the superuser may change the password for any account. - passwd also changes the account or associated - password validity period. + The passwd command changes passwords + for user accounts. + A regular user can only change the password for their own account, + while the superuser can change the password for any account. + The passwd also changes the account + or associated password validity period. Password Changes - The user is first prompted for their old password, if one is - present. This password is then encrypted and compared against the - stored password. The user has only one chance to enter the correct - password. The superuser is permitted to bypass this step so that - forgotten passwords may be changed. + If the account has a non-empty password, + the user is first prompted to enter their current password. + The entered password is encrypted and compared to the stored value. + The user has only one attempt to enter the correct password. + The superuser can bypass this step to allow changing forgotten passwords. After the password has been entered, password aging information is - checked to see if the user is permitted to change the password at + checked to determine if the user is permitted to change the password at this time. If not, passwd refuses to change the password and exits. @@ -92,14 +93,14 @@ The user is then prompted twice for a replacement password. The second entry is compared against the first and both are required to - match in order for the password to be changed. + match for the password to be changed. Then, the password is tested for complexity. - passwd will reject any password which is not - suitably complex. Care must be taken not to include the system - default erase or kill characters. + passwd rejects passwords that do not meet + the complexity requirements. + Do not include the system default erase or kill characters. @@ -107,18 +108,18 @@ Hints for user passwords - The security of a password depends upon the strength of the + The security of a password depends on the strength of the encryption algorithm and the size of the key space. The legacy UNIX System encryption method is based on the NBS DES algorithm. More recent methods are now recommended (see ). The size of the key space - depends upon the randomness of the password which is selected. + depends on the randomness of the selected password. 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 + select a password which appears in a dictionary or one that 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. @@ -165,9 +166,8 @@ - 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. + Deletes a user's password, making it empty. + This command sets the account to be passwordless. @@ -228,8 +228,8 @@ Note that this does not disable the account. The user may still be able to login using another authentication token (e.g. an SSH key). To disable the account, administrators - should use usermod --expiredate 1 (this sets - the account's expire date to Jan 2, 1970). + should use usermod --expiredate 1 + (this sets the account's expire date to 1970-01-02). Users with a locked password are not allowed to change their @@ -333,10 +333,11 @@ - 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 that their password is about to expire. + Set the number of days of warning before a password change is required. + The WARN_DAYS option is + the number of days prior to password expiration + during which the user is warned + that their password is about to expire. @@ -484,6 +485,12 @@ invalid argument to option + + 10 + + an error was returned by pam3 + + diff --git a/man/pl/Makefile.in b/man/pl/Makefile.in index 9f8e0e2d..ca61387a 100644 --- a/man/pl/Makefile.in +++ b/man/pl/Makefile.in @@ -197,6 +197,7 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -287,8 +288,6 @@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMLCATALOG = @XMLCATALOG@ XML_CATALOG_FILE = @XML_CATALOG_FILE@ XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/man/pl/man1/chage.1 b/man/pl/man1/chage.1 index ee4ff4cc..f0127c17 100644 --- a/man/pl/man1/chage.1 +++ b/man/pl/man1/chage.1 @@ -2,12 +2,12 @@ .\" Title: chage .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Polish .\" -.TH "CHAGE" "1" "03/19/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "CHAGE" "1" "06/24/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -36,7 +36,7 @@ chage \- zmiana informacji o terminie ważności has\(/la użytkownika .PP The \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 their password\&. +command changes password expiration information for a user\&. It sets 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 the user must change their password\&. .SH "OPCJE" .PP The options which apply to the @@ -45,37 +45,40 @@ command are: .PP \fB\-d\fR, \fB\-\-lastday\fR\ \&\fILAST_DAY\fR .RS 4 -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)\&. If the +Set the date when the password was last changed\&. The value can be specified as a date in the YYYY\-MM\-DD format or as a number of days since 1970\-01\-01\&. The date is interpreted using the UTC timezone\&. If the \fILAST_DAY\fR is set to -\fI0\fR -the user is forced to change his password on the next log on\&. +\fI0\fR, the user is forced to change their password upon the next login\&. +.sp +Passing the value +\fI\-1\fR +or an empty string as the +\fILAST_DAY\fR +clears the value and removes the password change requirement\&. .RE .PP \fB\-E\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR .RS 4 -Ustawia datę, począwszy od kt\('orej konto użytkownika nie będzie już dostępne\&. -\fIDATA_WAŻN\fR -jest liczbą dni od 1 stycznia 1970, od kt\('orej konto jest blokowane\&. Data może być też wyrażona w formacie RRRR\-MM\-DD (lub innej, powszechniej używanej w danym regionie)\&. Użytkownik, kt\('orego konto jest zablokowane musi skontaktować się z administratorem systemu zanim będzie m\('og\(/l z niego ponownie skorzystać\&. +Set the date on which the user\*(Aqs password expires and their account will no longer be accessible\&. The value can be specified as a date in the YYYY\-MM\-DD format or as a number of days since 1970\-01\-01\&. The date is interpreted using the UTC timezone\&. If the password expires, the user must contact the system administrator to regain access to the system\&. .sp -For example the following can be used to set an account to expire in 180 days: +For example, the following command sets an account to expire in 180 days: .sp .if n \{\ .RS 4 .\} .nf - chage \-E $(date \-d +180days +%Y\-%m\-%d) + chage \-E $(date \-d +180days +%F) .fi .if n \{\ .RE .\} .sp -Passing the number +Passing the value \fI\-1\fR -as the +or an empty string as the \fIEXPIRE_DATE\fR -will remove an account expiration date\&. +removes the account expiration date\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR diff --git a/man/pl/man1/chsh.1 b/man/pl/man1/chsh.1 index fe75a99f..cb31f365 100644 --- a/man/pl/man1/chsh.1 +++ b/man/pl/man1/chsh.1 @@ -2,12 +2,12 @@ .\" Title: chsh .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Polish .\" -.TH "CHSH" "1" "03/19/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "CHSH" "1" "06/24/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man1/expiry.1 b/man/pl/man1/expiry.1 index 9f62d8d6..4a92398a 100644 --- a/man/pl/man1/expiry.1 +++ b/man/pl/man1/expiry.1 @@ -2,12 +2,12 @@ .\" Title: expiry .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Polish .\" -.TH "EXPIRY" "1" "03/19/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "EXPIRY" "1" "06/24/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man1/newgrp.1 b/man/pl/man1/newgrp.1 index 1e5514f9..9f704233 100644 --- a/man/pl/man1/newgrp.1 +++ b/man/pl/man1/newgrp.1 @@ -2,12 +2,12 @@ .\" Title: newgrp .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Polish .\" -.TH "NEWGRP" "1" "03/19/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "NEWGRP" "1" "06/24/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man1/sg.1 b/man/pl/man1/sg.1 index 37adb3c1..10ba897e 100644 --- a/man/pl/man1/sg.1 +++ b/man/pl/man1/sg.1 @@ -2,12 +2,12 @@ .\" Title: sg .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: User Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Polish .\" -.TH "SG" "1" "03/19/2025" "shadow\-utils 4\&.17\&.4" "User Commands" +.TH "SG" "1" "06/24/2025" "shadow\-utils 4\&.18\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man3/shadow.3 b/man/pl/man3/shadow.3 index 74bb26e8..6b52697b 100644 --- a/man/pl/man3/shadow.3 +++ b/man/pl/man3/shadow.3 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: Library Calls -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Polish .\" -.TH "SHADOW" "3" "03/19/2025" "shadow\-utils 4\&.17\&.4" "Library Calls" +.TH "SHADOW" "3" "06/24/2025" "shadow\-utils 4\&.18\&.0" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man5/faillog.5 b/man/pl/man5/faillog.5 index d340fed0..d7a7eb7f 100644 --- a/man/pl/man5/faillog.5 +++ b/man/pl/man5/faillog.5 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Polish .\" -.TH "FAILLOG" "5" "03/19/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuratio" +.TH "FAILLOG" "5" "06/24/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man5/porttime.5 b/man/pl/man5/porttime.5 index 97f9300c..d3652090 100644 --- a/man/pl/man5/porttime.5 +++ b/man/pl/man5/porttime.5 @@ -2,12 +2,12 @@ .\" Title: porttime .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Polish .\" -.TH "PORTTIME" "5" "03/19/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration" +.TH "PORTTIME" "5" "06/24/2025" "shadow\-utils 4\&.18\&.0" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man8/faillog.8 b/man/pl/man8/faillog.8 index 5c90e423..1b4a19e5 100644 --- a/man/pl/man8/faillog.8 +++ b/man/pl/man8/faillog.8 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Polish .\" -.TH "FAILLOG" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "FAILLOG" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man8/groupadd.8 b/man/pl/man8/groupadd.8 index e042e19b..fdf19c84 100644 --- a/man/pl/man8/groupadd.8 +++ b/man/pl/man8/groupadd.8 @@ -2,12 +2,12 @@ .\" Title: groupadd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Polish .\" -.TH "GROUPADD" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GROUPADD" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man8/groupdel.8 b/man/pl/man8/groupdel.8 index 47245150..2f3ad726 100644 --- a/man/pl/man8/groupdel.8 +++ b/man/pl/man8/groupdel.8 @@ -2,12 +2,12 @@ .\" Title: groupdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Polish .\" -.TH "GROUPDEL" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GROUPDEL" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man8/groupmems.8 b/man/pl/man8/groupmems.8 index df3f1ee0..c5389eb3 100644 --- a/man/pl/man8/groupmems.8 +++ b/man/pl/man8/groupmems.8 @@ -2,12 +2,12 @@ .\" Title: groupmems .\" Author: George Kraft, IV .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Polish .\" -.TH "GROUPMEMS" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GROUPMEMS" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man8/groupmod.8 b/man/pl/man8/groupmod.8 index 1c7b37a9..61c72ae6 100644 --- a/man/pl/man8/groupmod.8 +++ b/man/pl/man8/groupmod.8 @@ -2,12 +2,12 @@ .\" Title: groupmod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Polish .\" -.TH "GROUPMOD" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GROUPMOD" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man8/grpck.8 b/man/pl/man8/grpck.8 index 140bd06c..2f509509 100644 --- a/man/pl/man8/grpck.8 +++ b/man/pl/man8/grpck.8 @@ -2,12 +2,12 @@ .\" Title: grpck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Polish .\" -.TH "GRPCK" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "GRPCK" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man8/lastlog.8 b/man/pl/man8/lastlog.8 index 5710aeee..6563f5de 100644 --- a/man/pl/man8/lastlog.8 +++ b/man/pl/man8/lastlog.8 @@ -2,12 +2,12 @@ .\" Title: lastlog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Polish .\" -.TH "LASTLOG" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "LASTLOG" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man8/logoutd.8 b/man/pl/man8/logoutd.8 index a6443979..1303b5a9 100644 --- a/man/pl/man8/logoutd.8 +++ b/man/pl/man8/logoutd.8 @@ -2,12 +2,12 @@ .\" Title: logoutd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Polish .\" -.TH "LOGOUTD" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "LOGOUTD" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man8/userdel.8 b/man/pl/man8/userdel.8 index 1cf3ae0f..d8d6ba79 100644 --- a/man/pl/man8/userdel.8 +++ b/man/pl/man8/userdel.8 @@ -2,12 +2,12 @@ .\" Title: userdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Polish .\" -.TH "USERDEL" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "USERDEL" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man8/usermod.8 b/man/pl/man8/usermod.8 index 4a2f634f..0785ad4a 100644 --- a/man/pl/man8/usermod.8 +++ b/man/pl/man8/usermod.8 @@ -2,12 +2,12 @@ .\" Title: usermod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Polish .\" -.TH "USERMOD" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "USERMOD" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -74,29 +74,30 @@ option is given, the contents of the current home directory will be moved to the .PP \fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR .RS 4 -The date on which the user account will be disabled\&. The date is specified in the format -\fIYYYY\-MM\-DD\fR\&. Integers as input are interpreted as days after 1970\-01\-01\&. +Specifies the date on which the user account will be disabled\&. The value can be specified as a date in the YYYY\-MM\-DD format or as a number of days since 1970\-01\-01\&. The date is interpreted using the UTC timezone\&. .sp -An input of \-1 or an empty string will blank the account expiration field in the shadow password file\&. The account will remain available with no date limit\&. +An input of \-1 or an empty string blanks the account expiration field in the shadow password file\&. The account will remain available with no expiration date\&. .sp -This option requires a +This option requires the /etc/shadow -file\&. A +file\&. If no entry exists in the /etc/shadow -entry will be created if there were none\&. +file, the system will automatically create one\&. .RE .PP \fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR .RS 4 -defines the number of days after the password exceeded its maximum age during which the user may still login by immediately replacing the password\&. This grace period before the account becomes inactive is stored in the shadow password file\&. An input of 0 will disable an expired password with no delay\&. An input of \-1 will blank the respective field in the shadow password file\&. See -\fBshadow\fR(5) -for more information\&. +Defines the number of days after a password exceeds its maximum age during which the user can still log in by immediately changing their password\&. If the user does not change their password within this period of time, their account becomes inactive\&. This value is stored in the shadow password file\&. .sp -This option requires a +A value of 0 disables the account when the password expires, with no delay\&. +.sp +A value of \-1 empties the respective field in the shadow password file, which means that the inactivity period is not enforced\&. +.sp +This option requires the /etc/shadow -file\&. A +file\&. If no entry exist in the /etc/shadow -entry will be created if there were none\&. +file, the system will automatically create one\&. .RE .PP \fB\-g\fR, \fB\-\-gid\fR\ \&\fIGROUP\fR @@ -199,7 +200,7 @@ and use as well the configuration files located there\&. This option does not ch .PP \fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR .RS 4 -changes the user\*(Aqs login shell\&. An empty string for SHELL blanks the field in +changes the user\*(Aqs login shell\&. An empty string for SHELL empties the field in /etc/passwd and logs the user into the system\*(Aqs default shell\&. .RE diff --git a/man/pl/man8/vipw.8 b/man/pl/man8/vipw.8 index 81eded94..3d7be991 100644 --- a/man/pl/man8/vipw.8 +++ b/man/pl/man8/vipw.8 @@ -2,12 +2,12 @@ .\" Title: vipw .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 03/19/2025 +.\" Date: 06/24/2025 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.17.4 +.\" Source: shadow-utils 4.18.0 .\" Language: Polish .\" -.TH "VIPW" "8" "03/19/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands" +.TH "VIPW" "8" "06/24/2025" "shadow\-utils 4\&.18\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/po/pt.po b/man/po/pt.po index b0ee7d20..69a0c80c 100644 --- a/man/po/pt.po +++ b/man/po/pt.po @@ -4,3469 +4,8371 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.8.1-1\n" -"POT-Creation-Date: 2020-01-23 15:00-0600\n" +"POT-Creation-Date: 2024-03-14 18:23-0500\n" "PO-Revision-Date: 2020-08-12 19:33+0000\n" "Last-Translator: Américo Monteiro \n" "Language-Team: Portuguese <>\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Lokalize 2.0\n" -#: vipw.8.xml:41(firstname) suauth.5.xml:39(firstname) pwconv.8.xml:45(firstname) login.access.5.xml:40(firstname) -msgid "Marek" -msgstr "Marek" +#. (itstool) path: author/firstname +#: chage.1.xml.out:16 chfn.1.xml.out:18 chpasswd.8.xml.out:21 chsh.1.xml.out:18 +#: expiry.1.xml.out:19 faillog.5.xml.out:15 faillog.8.xml.out:15 +#: groupadd.8.xml.out:18 groupdel.8.xml.out:16 groupmod.8.xml.out:16 +#: groups.1.xml.out:15 grpck.8.xml.out:15 lastlog.8.xml.out:17 +#: login.1.xml.out:48 login.defs.5.xml.out:86 logoutd.8.xml.out:15 +#: newgrp.1.xml.out:16 newusers.8.xml.out:33 passwd.1.xml.out:24 +#: passwd.5.xml.out:15 porttime.5.xml.out:15 pwck.8.xml.out:22 +#: shadow.3.xml.out:15 shadow.5.xml.out:15 sg.1.xml.out:16 su.1.xml.out:32 +#: useradd.8.xml.out:34 userdel.8.xml.out:21 usermod.8.xml.out:22 +msgid "Julianne Frances" +msgstr "Julianne Frances" -#: vipw.8.xml:42(surname) suauth.5.xml:40(surname) pwconv.8.xml:46(surname) login.access.5.xml:41(surname) -msgid "Michałkiewicz" -msgstr "Michałkiewicz" +#. (itstool) path: author/surname +#: chage.1.xml.out:17 chfn.1.xml.out:19 chpasswd.8.xml.out:22 chsh.1.xml.out:19 +#: expiry.1.xml.out:20 faillog.5.xml.out:16 faillog.8.xml.out:16 +#: groupadd.8.xml.out:19 groupdel.8.xml.out:17 groupmod.8.xml.out:17 +#: groups.1.xml.out:16 grpck.8.xml.out:16 lastlog.8.xml.out:18 +#: login.1.xml.out:49 login.defs.5.xml.out:87 logoutd.8.xml.out:16 +#: newgrp.1.xml.out:17 newusers.8.xml.out:34 passwd.1.xml.out:25 +#: passwd.5.xml.out:16 porttime.5.xml.out:16 pwck.8.xml.out:23 +#: shadow.3.xml.out:16 shadow.5.xml.out:16 sg.1.xml.out:17 su.1.xml.out:33 +#: useradd.8.xml.out:35 userdel.8.xml.out:22 usermod.8.xml.out:23 +msgid "Haugh" +msgstr "Haugh" -#: vipw.8.xml:43(contrib) limits.5.xml:43(contrib) -msgid "Creation, 1997" -msgstr "Criação, 1997" +#. (itstool) path: author/contrib +#: chage.1.xml.out:18 chfn.1.xml.out:20 chsh.1.xml.out:20 expiry.1.xml.out:21 +msgid "Creation, 1990" +msgstr "Criação, 1990" -#: vipw.8.xml:46(firstname) usermod.8.xml:51(firstname) userdel.8.xml:50(firstname) useradd.8.xml:63(firstname) suauth.5.xml:44(firstname) su.1.xml:61(firstname) sg.1.xml:45(firstname) shadow.5.xml:44(firstname) shadow.3.xml:44(firstname) pwconv.8.xml:50(firstname) pwck.8.xml:50(firstname) porttime.5.xml:44(firstname) passwd.5.xml:44(firstname) passwd.1.xml:51(firstname) newusers.8.xml:60(firstname) newgrp.1.xml:45(firstname) logoutd.8.xml:44(firstname) login.defs.5.xml:111(firstname) login.access.5.xml:45(firstname) login.1.xml:77(firstname) limits.5.xml:46(firstname) lastlog.8.xml:46(firstname) grpck.8.xml:45(firstname) groups.1.xml:44(firstname) groupmod.8.xml:45(firstname) groupmems.8.xml:48(firstname) groupdel.8.xml:45(firstname) groupadd.8.xml:47(firstname) gpasswd.1.xml:49(firstname) faillog.8.xml:44(firstname) faillog.5.xml:44(firstname) expiry.1.xml:48(firstname) chsh.1.xml:47(firstname) chpasswd.8.xml:48(firstname) chgpasswd.8.xml:44(firstname) chfn.1.xml:47(firstname) chage.1.xml:45(firstname) +#. (itstool) path: author/firstname +#: chage.1.xml.out:21 chfn.1.xml.out:23 chgpasswd.8.xml.out:22 +#: chpasswd.8.xml.out:26 chsh.1.xml.out:23 expiry.1.xml.out:24 +#: faillog.5.xml.out:20 faillog.8.xml.out:20 gpasswd.1.xml.out:27 +#: groupadd.8.xml.out:23 groupdel.8.xml.out:21 groupmems.8.xml.out:24 +#: groupmod.8.xml.out:21 groups.1.xml.out:20 grpck.8.xml.out:20 +#: lastlog.8.xml.out:22 limits.5.xml.out:22 login.1.xml.out:53 +#: login.access.5.xml.out:21 login.defs.5.xml.out:91 logoutd.8.xml.out:20 +#: newgrp.1.xml.out:21 newusers.8.xml.out:38 passwd.1.xml.out:29 +#: passwd.5.xml.out:20 porttime.5.xml.out:20 pwck.8.xml.out:27 +#: pwconv.8.xml.out:26 shadow.3.xml.out:20 shadow.5.xml.out:20 sg.1.xml.out:21 +#: su.1.xml.out:37 suauth.5.xml.out:20 useradd.8.xml.out:39 +#: userdel.8.xml.out:26 usermod.8.xml.out:27 vipw.8.xml.out:22 msgid "Thomas" msgstr "Thomas" -#: vipw.8.xml:47(surname) usermod.8.xml:52(surname) userdel.8.xml:51(surname) useradd.8.xml:64(surname) suauth.5.xml:45(surname) su.1.xml:62(surname) sg.1.xml:46(surname) shadow.5.xml:45(surname) shadow.3.xml:45(surname) pwconv.8.xml:51(surname) pwck.8.xml:51(surname) porttime.5.xml:45(surname) passwd.5.xml:45(surname) passwd.1.xml:52(surname) newusers.8.xml:61(surname) newgrp.1.xml:46(surname) logoutd.8.xml:45(surname) login.defs.5.xml:112(surname) login.access.5.xml:46(surname) login.1.xml:78(surname) limits.5.xml:47(surname) lastlog.8.xml:47(surname) grpck.8.xml:46(surname) groups.1.xml:45(surname) groupmod.8.xml:46(surname) groupmems.8.xml:49(surname) groupdel.8.xml:46(surname) groupadd.8.xml:48(surname) gpasswd.1.xml:50(surname) faillog.8.xml:45(surname) faillog.5.xml:45(surname) expiry.1.xml:49(surname) chsh.1.xml:48(surname) chpasswd.8.xml:49(surname) chgpasswd.8.xml:45(surname) chfn.1.xml:48(surname) chage.1.xml:46(surname) +#. (itstool) path: author/surname +#: chage.1.xml.out:22 chfn.1.xml.out:24 chgpasswd.8.xml.out:23 +#: chpasswd.8.xml.out:27 chsh.1.xml.out:24 expiry.1.xml.out:25 +#: faillog.5.xml.out:21 faillog.8.xml.out:21 gpasswd.1.xml.out:28 +#: groupadd.8.xml.out:24 groupdel.8.xml.out:22 groupmems.8.xml.out:25 +#: groupmod.8.xml.out:22 groups.1.xml.out:21 grpck.8.xml.out:21 +#: lastlog.8.xml.out:23 limits.5.xml.out:23 login.1.xml.out:54 +#: login.access.5.xml.out:22 login.defs.5.xml.out:92 logoutd.8.xml.out:21 +#: newgrp.1.xml.out:22 newusers.8.xml.out:39 passwd.1.xml.out:30 +#: passwd.5.xml.out:21 porttime.5.xml.out:21 pwck.8.xml.out:28 +#: pwconv.8.xml.out:27 shadow.3.xml.out:21 shadow.5.xml.out:21 sg.1.xml.out:22 +#: su.1.xml.out:38 suauth.5.xml.out:21 useradd.8.xml.out:40 +#: userdel.8.xml.out:27 usermod.8.xml.out:28 vipw.8.xml.out:23 msgid "Kłoczko" msgstr "Kłoczko" -#: vipw.8.xml:48(email) usermod.8.xml:53(email) userdel.8.xml:52(email) useradd.8.xml:65(email) suauth.5.xml:46(email) su.1.xml:63(email) sg.1.xml:47(email) shadow.5.xml:46(email) shadow.3.xml:46(email) pwconv.8.xml:52(email) pwck.8.xml:52(email) porttime.5.xml:46(email) passwd.5.xml:46(email) passwd.1.xml:53(email) newusers.8.xml:62(email) newgrp.1.xml:47(email) logoutd.8.xml:46(email) login.defs.5.xml:113(email) login.access.5.xml:47(email) login.1.xml:79(email) limits.5.xml:48(email) lastlog.8.xml:48(email) grpck.8.xml:47(email) groups.1.xml:46(email) groupmod.8.xml:47(email) groupmems.8.xml:50(email) groupdel.8.xml:47(email) groupadd.8.xml:49(email) gpasswd.1.xml:51(email) faillog.8.xml:46(email) faillog.5.xml:46(email) expiry.1.xml:50(email) chsh.1.xml:49(email) chpasswd.8.xml:50(email) chgpasswd.8.xml:46(email) chfn.1.xml:49(email) chage.1.xml:47(email) +#. (itstool) path: author/email +#: chage.1.xml.out:23 chfn.1.xml.out:25 chgpasswd.8.xml.out:24 +#: chpasswd.8.xml.out:28 chsh.1.xml.out:25 expiry.1.xml.out:26 +#: faillog.5.xml.out:22 faillog.8.xml.out:22 gpasswd.1.xml.out:29 +#: groupadd.8.xml.out:25 groupdel.8.xml.out:23 groupmems.8.xml.out:26 +#: groupmod.8.xml.out:23 groups.1.xml.out:22 grpck.8.xml.out:22 +#: lastlog.8.xml.out:24 limits.5.xml.out:24 login.1.xml.out:55 +#: login.access.5.xml.out:23 login.defs.5.xml.out:93 logoutd.8.xml.out:22 +#: newgrp.1.xml.out:23 newusers.8.xml.out:40 passwd.1.xml.out:31 +#: passwd.5.xml.out:22 porttime.5.xml.out:22 pwck.8.xml.out:29 +#: pwconv.8.xml.out:28 shadow.3.xml.out:22 shadow.5.xml.out:22 sg.1.xml.out:23 +#: su.1.xml.out:39 suauth.5.xml.out:22 useradd.8.xml.out:41 +#: userdel.8.xml.out:28 usermod.8.xml.out:29 vipw.8.xml.out:24 msgid "kloczek@pld.org.pl" msgstr "kloczek@pld.org.pl" -#: vipw.8.xml:49(contrib) usermod.8.xml:54(contrib) userdel.8.xml:53(contrib) useradd.8.xml:66(contrib) suauth.5.xml:47(contrib) su.1.xml:64(contrib) sg.1.xml:48(contrib) shadow.5.xml:47(contrib) shadow.3.xml:47(contrib) pwconv.8.xml:53(contrib) pwck.8.xml:53(contrib) porttime.5.xml:47(contrib) passwd.5.xml:47(contrib) passwd.1.xml:54(contrib) newusers.8.xml:63(contrib) newgrp.1.xml:48(contrib) logoutd.8.xml:47(contrib) login.defs.5.xml:114(contrib) login.access.5.xml:48(contrib) login.1.xml:80(contrib) limits.5.xml:49(contrib) lastlog.8.xml:49(contrib) grpck.8.xml:48(contrib) groups.1.xml:47(contrib) groupmod.8.xml:48(contrib) groupmems.8.xml:51(contrib) groupdel.8.xml:48(contrib) groupadd.8.xml:50(contrib) gpasswd.1.xml:52(contrib) faillog.8.xml:47(contrib) faillog.5.xml:47(contrib) expiry.1.xml:51(contrib) chsh.1.xml:50(contrib) chpasswd.8.xml:51(contrib) chfn.1.xml:50(contrib) chage.1.xml:48(contrib) +#. (itstool) path: author/contrib +#: chage.1.xml.out:24 chfn.1.xml.out:26 chpasswd.8.xml.out:29 chsh.1.xml.out:26 +#: expiry.1.xml.out:27 faillog.5.xml.out:23 faillog.8.xml.out:23 +#: gpasswd.1.xml.out:30 groupadd.8.xml.out:26 groupdel.8.xml.out:24 +#: groupmems.8.xml.out:27 groupmod.8.xml.out:24 groups.1.xml.out:23 +#: grpck.8.xml.out:23 lastlog.8.xml.out:25 limits.5.xml.out:25 +#: login.1.xml.out:56 login.access.5.xml.out:24 login.defs.5.xml.out:94 +#: logoutd.8.xml.out:23 newgrp.1.xml.out:24 newusers.8.xml.out:41 +#: passwd.1.xml.out:32 passwd.5.xml.out:23 porttime.5.xml.out:23 +#: pwck.8.xml.out:30 pwconv.8.xml.out:29 shadow.3.xml.out:23 +#: shadow.5.xml.out:23 sg.1.xml.out:24 su.1.xml.out:40 suauth.5.xml.out:23 +#: useradd.8.xml.out:42 userdel.8.xml.out:29 usermod.8.xml.out:30 +#: vipw.8.xml.out:25 msgid "shadow-utils maintainer, 2000 - 2007" msgstr "shadow-utils maintainer, 2000 - 2007" -#: vipw.8.xml:52(firstname) usermod.8.xml:57(firstname) userdel.8.xml:56(firstname) useradd.8.xml:69(firstname) suauth.5.xml:50(firstname) su.1.xml:67(firstname) sg.1.xml:51(firstname) shadow.5.xml:50(firstname) shadow.3.xml:50(firstname) pwconv.8.xml:56(firstname) pwck.8.xml:56(firstname) porttime.5.xml:50(firstname) passwd.5.xml:50(firstname) passwd.1.xml:57(firstname) nologin.8.xml:39(firstname) newusers.8.xml:66(firstname) newgrp.1.xml:51(firstname) logoutd.8.xml:50(firstname) login.defs.5.xml:117(firstname) login.access.5.xml:51(firstname) login.1.xml:83(firstname) limits.5.xml:52(firstname) lastlog.8.xml:52(firstname) gshadow.5.xml:38(firstname) grpck.8.xml:51(firstname) groups.1.xml:50(firstname) groupmod.8.xml:51(firstname) groupmems.8.xml:54(firstname) groupdel.8.xml:51(firstname) groupadd.8.xml:53(firstname) gpasswd.1.xml:55(firstname) faillog.8.xml:50(firstname) faillog.5.xml:50(firstname) expiry.1.xml:54(firstname) chsh.1.xml:53(firstname) chpasswd.8.xml:54(firstname) chgpasswd.8.xml:50(firstname) chfn.1.xml:53(firstname) chage.1.xml:51(firstname) +#. (itstool) path: author/firstname +#: chage.1.xml.out:27 chfn.1.xml.out:29 chgpasswd.8.xml.out:28 +#: chpasswd.8.xml.out:32 chsh.1.xml.out:29 expiry.1.xml.out:30 +#: faillog.5.xml.out:26 faillog.8.xml.out:26 gpasswd.1.xml.out:33 +#: groupadd.8.xml.out:29 groupdel.8.xml.out:27 groupmems.8.xml.out:30 +#: groupmod.8.xml.out:27 groups.1.xml.out:26 grpck.8.xml.out:26 +#: gshadow.5.xml.out:14 lastlog.8.xml.out:28 limits.5.xml.out:28 +#: login.1.xml.out:59 login.access.5.xml.out:27 login.defs.5.xml.out:97 +#: logoutd.8.xml.out:26 newgrp.1.xml.out:27 newusers.8.xml.out:44 +#: nologin.8.xml.out:15 passwd.1.xml.out:35 passwd.5.xml.out:26 +#: porttime.5.xml.out:26 pwck.8.xml.out:33 pwconv.8.xml.out:32 +#: shadow.3.xml.out:26 shadow.5.xml.out:26 sg.1.xml.out:27 su.1.xml.out:43 +#: suauth.5.xml.out:26 useradd.8.xml.out:45 userdel.8.xml.out:32 +#: usermod.8.xml.out:33 vipw.8.xml.out:28 msgid "Nicolas" msgstr "Nicolas" -#: vipw.8.xml:53(surname) usermod.8.xml:58(surname) userdel.8.xml:57(surname) useradd.8.xml:70(surname) suauth.5.xml:51(surname) su.1.xml:68(surname) sg.1.xml:52(surname) shadow.5.xml:51(surname) shadow.3.xml:51(surname) pwconv.8.xml:57(surname) pwck.8.xml:57(surname) porttime.5.xml:51(surname) passwd.5.xml:51(surname) passwd.1.xml:58(surname) nologin.8.xml:40(surname) newusers.8.xml:67(surname) newgrp.1.xml:52(surname) logoutd.8.xml:51(surname) login.defs.5.xml:118(surname) login.access.5.xml:52(surname) login.1.xml:84(surname) limits.5.xml:53(surname) lastlog.8.xml:53(surname) gshadow.5.xml:39(surname) grpck.8.xml:52(surname) groups.1.xml:51(surname) groupmod.8.xml:52(surname) groupmems.8.xml:55(surname) groupdel.8.xml:52(surname) groupadd.8.xml:54(surname) gpasswd.1.xml:56(surname) faillog.8.xml:51(surname) faillog.5.xml:51(surname) expiry.1.xml:55(surname) chsh.1.xml:54(surname) chpasswd.8.xml:55(surname) chgpasswd.8.xml:51(surname) chfn.1.xml:54(surname) chage.1.xml:52(surname) +#. (itstool) path: author/surname +#: chage.1.xml.out:28 chfn.1.xml.out:30 chgpasswd.8.xml.out:29 +#: chpasswd.8.xml.out:33 chsh.1.xml.out:30 expiry.1.xml.out:31 +#: faillog.5.xml.out:27 faillog.8.xml.out:27 gpasswd.1.xml.out:34 +#: groupadd.8.xml.out:30 groupdel.8.xml.out:28 groupmems.8.xml.out:31 +#: groupmod.8.xml.out:28 groups.1.xml.out:27 grpck.8.xml.out:27 +#: gshadow.5.xml.out:15 lastlog.8.xml.out:29 limits.5.xml.out:29 +#: login.1.xml.out:60 login.access.5.xml.out:28 login.defs.5.xml.out:98 +#: logoutd.8.xml.out:27 newgrp.1.xml.out:28 newusers.8.xml.out:45 +#: nologin.8.xml.out:16 passwd.1.xml.out:36 passwd.5.xml.out:27 +#: porttime.5.xml.out:27 pwck.8.xml.out:34 pwconv.8.xml.out:33 +#: shadow.3.xml.out:27 shadow.5.xml.out:27 sg.1.xml.out:28 su.1.xml.out:44 +#: suauth.5.xml.out:27 useradd.8.xml.out:46 userdel.8.xml.out:33 +#: usermod.8.xml.out:34 vipw.8.xml.out:29 msgid "François" msgstr "François" -#: vipw.8.xml:54(email) usermod.8.xml:59(email) userdel.8.xml:58(email) useradd.8.xml:71(email) suauth.5.xml:52(email) su.1.xml:69(email) sg.1.xml:53(email) shadow.5.xml:52(email) shadow.3.xml:52(email) pwconv.8.xml:58(email) pwck.8.xml:58(email) porttime.5.xml:52(email) passwd.5.xml:52(email) passwd.1.xml:59(email) nologin.8.xml:41(email) newusers.8.xml:68(email) newgrp.1.xml:53(email) logoutd.8.xml:52(email) login.defs.5.xml:119(email) login.access.5.xml:53(email) login.1.xml:85(email) limits.5.xml:54(email) lastlog.8.xml:54(email) gshadow.5.xml:40(email) grpck.8.xml:53(email) groups.1.xml:52(email) groupmod.8.xml:53(email) groupmems.8.xml:56(email) groupdel.8.xml:53(email) groupadd.8.xml:55(email) gpasswd.1.xml:57(email) faillog.8.xml:52(email) faillog.5.xml:52(email) expiry.1.xml:56(email) chsh.1.xml:55(email) chpasswd.8.xml:56(email) chgpasswd.8.xml:52(email) chfn.1.xml:55(email) chage.1.xml:53(email) +#. (itstool) path: author/email +#: chage.1.xml.out:29 chfn.1.xml.out:31 chgpasswd.8.xml.out:30 +#: chpasswd.8.xml.out:34 chsh.1.xml.out:31 expiry.1.xml.out:32 +#: faillog.5.xml.out:28 faillog.8.xml.out:28 gpasswd.1.xml.out:35 +#: groupadd.8.xml.out:31 groupdel.8.xml.out:29 groupmems.8.xml.out:32 +#: groupmod.8.xml.out:29 groups.1.xml.out:28 grpck.8.xml.out:28 +#: gshadow.5.xml.out:16 lastlog.8.xml.out:30 limits.5.xml.out:30 +#: login.1.xml.out:61 login.access.5.xml.out:29 login.defs.5.xml.out:99 +#: logoutd.8.xml.out:28 newgrp.1.xml.out:29 newusers.8.xml.out:46 +#: nologin.8.xml.out:17 passwd.1.xml.out:37 passwd.5.xml.out:28 +#: porttime.5.xml.out:28 pwck.8.xml.out:35 pwconv.8.xml.out:34 +#: shadow.3.xml.out:28 shadow.5.xml.out:28 sg.1.xml.out:29 su.1.xml.out:45 +#: suauth.5.xml.out:28 useradd.8.xml.out:47 userdel.8.xml.out:34 +#: usermod.8.xml.out:35 vipw.8.xml.out:30 msgid "nicolas.francois@centraliens.net" msgstr "nicolas.francois@centraliens.net" -#: vipw.8.xml:55(contrib) usermod.8.xml:60(contrib) userdel.8.xml:59(contrib) useradd.8.xml:72(contrib) suauth.5.xml:53(contrib) su.1.xml:70(contrib) sg.1.xml:54(contrib) shadow.5.xml:53(contrib) shadow.3.xml:53(contrib) pwconv.8.xml:59(contrib) pwck.8.xml:59(contrib) porttime.5.xml:53(contrib) passwd.5.xml:53(contrib) passwd.1.xml:60(contrib) nologin.8.xml:42(contrib) newusers.8.xml:69(contrib) newgrp.1.xml:54(contrib) logoutd.8.xml:53(contrib) login.defs.5.xml:120(contrib) login.access.5.xml:54(contrib) login.1.xml:86(contrib) limits.5.xml:55(contrib) lastlog.8.xml:55(contrib) gshadow.5.xml:42(contrib) grpck.8.xml:54(contrib) groups.1.xml:53(contrib) groupmod.8.xml:54(contrib) groupmems.8.xml:57(contrib) groupdel.8.xml:54(contrib) groupadd.8.xml:56(contrib) gpasswd.1.xml:58(contrib) faillog.8.xml:53(contrib) faillog.5.xml:53(contrib) expiry.1.xml:57(contrib) chsh.1.xml:56(contrib) chpasswd.8.xml:57(contrib) chgpasswd.8.xml:53(contrib) chfn.1.xml:56(contrib) chage.1.xml:54(contrib) +#. (itstool) path: author/contrib +#: chage.1.xml.out:30 chfn.1.xml.out:32 chgpasswd.8.xml.out:31 +#: chpasswd.8.xml.out:35 chsh.1.xml.out:32 expiry.1.xml.out:33 +#: faillog.5.xml.out:29 faillog.8.xml.out:29 gpasswd.1.xml.out:36 +#: groupadd.8.xml.out:32 groupdel.8.xml.out:30 groupmems.8.xml.out:33 +#: groupmod.8.xml.out:30 groups.1.xml.out:29 grpck.8.xml.out:29 +#: gshadow.5.xml.out:18 lastlog.8.xml.out:31 limits.5.xml.out:31 +#: login.1.xml.out:62 login.access.5.xml.out:30 login.defs.5.xml.out:100 +#: logoutd.8.xml.out:29 newgrp.1.xml.out:30 newusers.8.xml.out:47 +#: nologin.8.xml.out:18 passwd.1.xml.out:38 passwd.5.xml.out:29 +#: porttime.5.xml.out:29 pwck.8.xml.out:36 pwconv.8.xml.out:35 +#: shadow.3.xml.out:29 shadow.5.xml.out:29 sg.1.xml.out:30 su.1.xml.out:46 +#: suauth.5.xml.out:29 useradd.8.xml.out:48 userdel.8.xml.out:35 +#: usermod.8.xml.out:36 vipw.8.xml.out:31 msgid "shadow-utils maintainer, 2007 - now" msgstr "shadow-utils maintainer, 2007 - até ao presente" -#: vipw.8.xml:59(refentrytitle) vipw.8.xml:66(refname) vipw.8.xml:75(command) login.defs.5.xml:520(term) -msgid "vipw" -msgstr "vipw" +#. (itstool) path: refmeta/refentrytitle +#. (itstool) path: refnamediv/refname +#. (itstool) path: cmdsynopsis/command +#. (itstool) path: para/command +#. (itstool) path: varlistentry/term +#. (itstool) path: citerefentry/refentrytitle +#: chage.1.xml.out:34 chage.1.xml.out:41 chage.1.xml.out:46 chage.1.xml.out:59 +#: chage.1.xml.out:69 chage.1.xml.out:231 chage.1.xml.out:241 +#: chage.1.xml.out:251 chage.1.xml.out:256 chage.1.xml.out:300 +#: login.defs.5.xml.out:237 shadow.5.xml.out:262 +msgid "chage" +msgstr "chage" -#: vipw.8.xml:60(manvolnum) usermod.8.xml:65(manvolnum) userdel.8.xml:64(manvolnum) userdel.8.xml:276(replaceable) useradd.8.xml:77(manvolnum) pwconv.8.xml:64(manvolnum) pwck.8.xml:64(manvolnum) nologin.8.xml:47(manvolnum) newusers.8.xml:74(manvolnum) logoutd.8.xml:58(manvolnum) lastlog.8.xml:60(manvolnum) grpck.8.xml:59(manvolnum) groupmod.8.xml:59(manvolnum) groupmems.8.xml:62(manvolnum) groupdel.8.xml:59(manvolnum) groupdel.8.xml:198(replaceable) groupadd.8.xml:61(manvolnum) faillog.8.xml:58(manvolnum) faillog.5.xml:111(manvolnum) chpasswd.8.xml:62(manvolnum) chgpasswd.8.xml:58(manvolnum) -msgid "8" -msgstr "8" +#. (itstool) path: refmeta/manvolnum +#. (itstool) path: term/replaceable +#. (itstool) path: citerefentry/manvolnum +#. (itstool) path: para/replaceable +#: chage.1.xml.out:35 chage.1.xml.out:309 chfn.1.xml.out:37 chfn.1.xml.out:65 +#: chfn.1.xml.out:205 chgpasswd.8.xml.out:245 chpasswd.8.xml.out:307 +#: chsh.1.xml.out:37 chsh.1.xml.out:212 expiry.1.xml.out:38 +#: faillog.8.xml.out:235 gpasswd.1.xml.out:41 gpasswd.1.xml.out:95 +#: gpasswd.1.xml.out:279 groupadd.8.xml.out:345 groupadd.8.xml.out:348 +#: groupadd.8.xml.out:351 groupdel.8.xml.out:205 groupdel.8.xml.out:208 +#: groupdel.8.xml.out:211 groupmems.8.xml.out:209 groupmems.8.xml.out:212 +#: groupmems.8.xml.out:215 groupmod.8.xml.out:326 groupmod.8.xml.out:329 +#: groupmod.8.xml.out:332 groups.1.xml.out:34 groups.1.xml.out:92 +#: grpck.8.xml.out:243 gshadow.5.xml.out:77 gshadow.5.xml.out:165 +#: limits.5.xml.out:185 login.1.xml.out:67 login.1.xml.out:128 +#: login.1.xml.out:377 login.1.xml.out:380 login.1.xml.out:383 +#: login.1.xml.out:386 login.access.5.xml.out:112 login.defs.5.xml.out:535 +#: login.defs.5.xml.out:537 login.defs.5.xml.out:539 login.defs.5.xml.out:549 +#: login.defs.5.xml.out:552 login.defs.5.xml.out:555 newgrp.1.xml.out:35 +#: newgrp.1.xml.out:130 newgrp.1.xml.out:133 newgrp.1.xml.out:136 +#: newgrp.1.xml.out:139 newgrp.1.xml.out:142 newusers.8.xml.out:477 +#: nologin.8.xml.out:60 passwd.1.xml.out:43 passwd.1.xml.out:453 +#: passwd.1.xml.out:499 passwd.5.xml.out:118 passwd.5.xml.out:173 +#: passwd.5.xml.out:179 passwd.5.xml.out:182 passwd.5.xml.out:197 +#: porttime.5.xml.out:121 pwck.8.xml.out:293 shadow.5.xml.out:262 +#: shadow.5.xml.out:265 shadow.5.xml.out:268 shadow.5.xml.out:283 +#: sg.1.xml.out:35 sg.1.xml.out:119 sg.1.xml.out:122 sg.1.xml.out:125 +#: sg.1.xml.out:128 sg.1.xml.out:131 su.1.xml.out:51 su.1.xml.out:391 +#: su.1.xml.out:415 su.1.xml.out:421 su.1.xml.out:424 suauth.5.xml.out:201 +#: useradd.8.xml.out:837 useradd.8.xml.out:898 useradd.8.xml.out:901 +#: useradd.8.xml.out:904 userdel.8.xml.out:241 userdel.8.xml.out:310 +#: userdel.8.xml.out:313 userdel.8.xml.out:316 usermod.8.xml.out:105 +#: usermod.8.xml.out:244 usermod.8.xml.out:622 usermod.8.xml.out:625 +#: usermod.8.xml.out:628 vipw.8.xml.out:78 vipw.8.xml.out:205 +msgid "1" +msgstr "1" -#: vipw.8.xml:61(refmiscinfo) usermod.8.xml:66(refmiscinfo) userdel.8.xml:65(refmiscinfo) useradd.8.xml:78(refmiscinfo) pwconv.8.xml:65(refmiscinfo) pwck.8.xml:65(refmiscinfo) nologin.8.xml:48(refmiscinfo) newusers.8.xml:75(refmiscinfo) logoutd.8.xml:59(refmiscinfo) lastlog.8.xml:61(refmiscinfo) grpck.8.xml:60(refmiscinfo) groupmod.8.xml:60(refmiscinfo) groupmems.8.xml:63(refmiscinfo) groupdel.8.xml:60(refmiscinfo) groupadd.8.xml:62(refmiscinfo) faillog.8.xml:59(refmiscinfo) chpasswd.8.xml:63(refmiscinfo) chgpasswd.8.xml:59(refmiscinfo) -msgid "System Management Commands" -msgstr "Comandos de Gestão do Sistema" +#. (itstool) path: refmeta/refmiscinfo +#: chage.1.xml.out:36 chfn.1.xml.out:38 chsh.1.xml.out:38 expiry.1.xml.out:39 +#: gpasswd.1.xml.out:42 groups.1.xml.out:35 login.1.xml.out:68 +#: newgrp.1.xml.out:36 passwd.1.xml.out:44 sg.1.xml.out:36 su.1.xml.out:52 +msgid "User Commands" +msgstr "Comandos de Utilizador" -#: vipw.8.xml:62(refmiscinfo) usermod.8.xml:67(refmiscinfo) userdel.8.xml:66(refmiscinfo) useradd.8.xml:79(refmiscinfo) suauth.5.xml:60(refmiscinfo) su.1.xml:77(refmiscinfo) sg.1.xml:61(refmiscinfo) shadow.5.xml:60(refmiscinfo) shadow.3.xml:60(refmiscinfo) pwconv.8.xml:66(refmiscinfo) pwck.8.xml:66(refmiscinfo) porttime.5.xml:60(refmiscinfo) passwd.5.xml:60(refmiscinfo) passwd.1.xml:67(refmiscinfo) nologin.8.xml:49(refmiscinfo) newusers.8.xml:76(refmiscinfo) newgrp.1.xml:61(refmiscinfo) logoutd.8.xml:60(refmiscinfo) login.defs.5.xml:127(refmiscinfo) login.access.5.xml:61(refmiscinfo) login.1.xml:93(refmiscinfo) limits.5.xml:62(refmiscinfo) lastlog.8.xml:62(refmiscinfo) gshadow.5.xml:49(refmiscinfo) grpck.8.xml:61(refmiscinfo) groups.1.xml:60(refmiscinfo) groupmod.8.xml:61(refmiscinfo) groupmems.8.xml:64(refmiscinfo) groupdel.8.xml:61(refmiscinfo) groupadd.8.xml:63(refmiscinfo) gpasswd.1.xml:65(refmiscinfo) faillog.8.xml:60(refmiscinfo) faillog.5.xml:60(refmiscinfo) expiry.1.xml:64(refmiscinfo) chsh.1.xml:63(refmiscinfo) chpasswd.8.xml:64(refmiscinfo) chgpasswd.8.xml:60(refmiscinfo) chfn.1.xml:63(refmiscinfo) chage.1.xml:61(refmiscinfo) +#. (itstool) path: refmeta/refmiscinfo +#: chage.1.xml.out:37 chfn.1.xml.out:39 chgpasswd.8.xml.out:38 +#: chpasswd.8.xml.out:42 chsh.1.xml.out:39 expiry.1.xml.out:40 +#: faillog.5.xml.out:36 faillog.8.xml.out:36 gpasswd.1.xml.out:43 +#: groupadd.8.xml.out:39 groupdel.8.xml.out:37 groupmems.8.xml.out:40 +#: groupmod.8.xml.out:37 groups.1.xml.out:36 grpck.8.xml.out:36 +#: gshadow.5.xml.out:25 lastlog.8.xml.out:38 limits.5.xml.out:38 +#: login.1.xml.out:69 login.access.5.xml.out:37 login.defs.5.xml.out:107 +#: logoutd.8.xml.out:36 newgrp.1.xml.out:37 newusers.8.xml.out:54 +#: nologin.8.xml.out:25 passwd.1.xml.out:45 passwd.5.xml.out:36 +#: porttime.5.xml.out:36 pwck.8.xml.out:43 pwconv.8.xml.out:42 +#: shadow.3.xml.out:36 shadow.5.xml.out:36 sg.1.xml.out:37 su.1.xml.out:53 +#: suauth.5.xml.out:36 useradd.8.xml.out:55 userdel.8.xml.out:42 +#: usermod.8.xml.out:43 vipw.8.xml.out:38 msgid "shadow-utils" msgstr "shadow-utils" -#: vipw.8.xml:67(refname) vipw.8.xml:81(command) -msgid "vigr" -msgstr "vigr" +#. (itstool) path: refmeta/refmiscinfo +#: chage.1.xml.out:38 chfn.1.xml.out:40 chgpasswd.8.xml.out:39 +#: chpasswd.8.xml.out:43 chsh.1.xml.out:40 expiry.1.xml.out:41 +#: faillog.5.xml.out:37 faillog.8.xml.out:37 gpasswd.1.xml.out:44 +#: groupadd.8.xml.out:40 groupdel.8.xml.out:38 groupmems.8.xml.out:41 +#: groupmod.8.xml.out:38 groups.1.xml.out:37 grpck.8.xml.out:37 +#: gshadow.5.xml.out:26 lastlog.8.xml.out:39 limits.5.xml.out:39 +#: login.1.xml.out:70 login.access.5.xml.out:38 login.defs.5.xml.out:108 +#: logoutd.8.xml.out:37 newgrp.1.xml.out:38 newusers.8.xml.out:55 +#: nologin.8.xml.out:26 passwd.1.xml.out:46 passwd.5.xml.out:37 +#: porttime.5.xml.out:37 pwck.8.xml.out:44 pwconv.8.xml.out:43 +#: shadow.3.xml.out:37 shadow.5.xml.out:37 sg.1.xml.out:38 su.1.xml.out:54 +#: suauth.5.xml.out:37 useradd.8.xml.out:56 userdel.8.xml.out:43 +#: usermod.8.xml.out:44 vipw.8.xml.out:39 +msgid "4.15.0" +msgstr "" -#: vipw.8.xml:68(refpurpose) -msgid "edit the password, group, shadow-password or shadow-group file" -msgstr "edita o ficheiro password, group, shadow-password ou shadow-group" +#. (itstool) path: refnamediv/refpurpose +#: chage.1.xml.out:42 +msgid "change user password expiry information" +msgstr "muda a informação de expiração da palavra passe do utilizador" -#: vipw.8.xml:77(replaceable) vipw.8.xml:83(replaceable) usermod.8.xml:79(replaceable) userdel.8.xml:76(arg) useradd.8.xml:90(replaceable) useradd.8.xml:102(replaceable) su.1.xml:88(replaceable) pwconv.8.xml:81(replaceable) pwconv.8.xml:87(replaceable) pwconv.8.xml:93(replaceable) pwconv.8.xml:99(replaceable) pwck.8.xml:77(arg) passwd.1.xml:79(replaceable) newusers.8.xml:88(replaceable) lastlog.8.xml:74(replaceable) grpck.8.xml:72(arg) groupmod.8.xml:73(replaceable) groupdel.8.xml:73(replaceable) groupadd.8.xml:75(replaceable) faillog.8.xml:72(replaceable) chsh.1.xml:75(replaceable) chpasswd.8.xml:76(replaceable) chgpasswd.8.xml:72(replaceable) chfn.1.xml:75(replaceable) chage.1.xml:72(replaceable) +#. (itstool) path: arg/replaceable +#. (itstool) path: cmdsynopsis/arg +#: chage.1.xml.out:48 chfn.1.xml.out:51 chgpasswd.8.xml.out:50 +#: chpasswd.8.xml.out:54 chsh.1.xml.out:51 faillog.8.xml.out:48 +#: groupdel.8.xml.out:49 groupmod.8.xml.out:49 grpck.8.xml.out:47 +#: lastlog.8.xml.out:50 newusers.8.xml.out:66 passwd.1.xml.out:57 +#: pwck.8.xml.out:54 pwconv.8.xml.out:57 pwconv.8.xml.out:63 +#: pwconv.8.xml.out:69 pwconv.8.xml.out:75 su.1.xml.out:64 useradd.8.xml.out:66 +#: useradd.8.xml.out:78 userdel.8.xml.out:52 usermod.8.xml.out:55 +#: vipw.8.xml.out:53 vipw.8.xml.out:59 msgid "options" msgstr "opções" -#: vipw.8.xml:89(title) usermod.8.xml:86(title) userdel.8.xml:84(title) useradd.8.xml:108(title) suauth.5.xml:75(title) su.1.xml:103(title) sg.1.xml:81(title) shadow.5.xml:69(title) shadow.3.xml:118(title) shadow.3.xml:174(title) pwconv.8.xml:105(title) pwck.8.xml:92(title) porttime.5.xml:69(title) passwd.5.xml:69(title) passwd.1.xml:88(title) nologin.8.xml:64(title) newusers.8.xml:97(title) newgrp.1.xml:77(title) logoutd.8.xml:75(title) login.defs.5.xml:136(title) login.access.5.xml:70(title) login.1.xml:125(title) limits.5.xml:72(title) lastlog.8.xml:80(title) gshadow.5.xml:58(title) grpck.8.xml:83(title) groups.1.xml:78(title) groupmod.8.xml:80(title) groupmems.8.xml:85(title) groupdel.8.xml:80(title) groupadd.8.xml:84(title) gpasswd.1.xml:94(title) faillog.8.xml:78(title) faillog.5.xml:69(title) expiry.1.xml:82(title) chsh.1.xml:84(title) chpasswd.8.xml:82(title) chgpasswd.8.xml:78(title) chfn.1.xml:84(title) chage.1.xml:81(title) +#. (itstool) path: arg/replaceable +#. (itstool) path: term/replaceable +#. (itstool) path: para/replaceable +#. (itstool) path: para/emphasis +#: chage.1.xml.out:51 chfn.1.xml.out:54 chsh.1.xml.out:54 faillog.8.xml.out:180 +#: lastlog.8.xml.out:139 passwd.1.xml.out:60 useradd.8.xml.out:68 +#: useradd.8.xml.out:158 userdel.8.xml.out:54 userdel.8.xml.out:64 +#: usermod.8.xml.out:57 usermod.8.xml.out:222 usermod.8.xml.out:506 +msgid "LOGIN" +msgstr "LOGIN" + +#. (itstool) path: refsect1/title +#: chage.1.xml.out:57 chfn.1.xml.out:60 chgpasswd.8.xml.out:56 +#: chpasswd.8.xml.out:60 chsh.1.xml.out:60 expiry.1.xml.out:58 +#: faillog.5.xml.out:45 faillog.8.xml.out:54 gpasswd.1.xml.out:72 +#: groupadd.8.xml.out:60 groupdel.8.xml.out:56 groupmems.8.xml.out:61 +#: groupmod.8.xml.out:56 groups.1.xml.out:54 grpck.8.xml.out:58 +#: gshadow.5.xml.out:34 lastlog.8.xml.out:56 limits.5.xml.out:48 +#: login.1.xml.out:101 login.access.5.xml.out:46 login.defs.5.xml.out:116 +#: logoutd.8.xml.out:51 newgrp.1.xml.out:53 newusers.8.xml.out:75 +#: nologin.8.xml.out:40 passwd.1.xml.out:66 passwd.5.xml.out:45 +#: porttime.5.xml.out:45 pwck.8.xml.out:69 pwconv.8.xml.out:81 +#: shadow.3.xml.out:94 shadow.3.xml.out:150 shadow.5.xml.out:45 sg.1.xml.out:57 +#: su.1.xml.out:79 suauth.5.xml.out:51 useradd.8.xml.out:84 +#: userdel.8.xml.out:60 usermod.8.xml.out:62 vipw.8.xml.out:65 msgid "DESCRIPTION" msgstr "DESCRIÇÃO" -#: vipw.8.xml:90(para) +#. (itstool) path: refsect1/para +#: chage.1.xml.out:58 +#, fuzzy +#| msgid "" +#| "The 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 " +#| "their password." msgid "" -"The vipw and vigr commands edits the" -" files /etc/passwd and /etc/group," -" respectively. With the flag, they will edit the shadow" -" versions of those files, /etc/shadow and /etc/gshadow, respectively. The programs will set the appropriate" -" locks to prevent file corruption. When looking for an editor, the programs" -" will first try the environment variable $VISUAL, then the" -" environment variable $EDITOR, and finally the default editor," -" vi1<" -"/citerefentry>." +"The <_:command-1/> 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 their password." msgstr "" -"Os comandos vipw e vigr editam os " -"ficheiros /etc/passwd e /etc/group, " -"respetivamente. Com a bandeira , eles irão editar as " -"versões sombra desses ficheiros, /etc/shadow e /etc/gshadow, respetivamente. Os programas irão definir as " -"trancas apropriadas para prevenir a corrupção dos ficheiros. Quando se tranca " -"para um editor, os programas irão primeiro tentar a variável de ambiente " -"$VISUAL, depois a variável de ambiente $EDITOR, " -"e finalmente o editor predefinido, vi1." +"O comando chage muda o número de dias entre mudanças de " +"palavra passe e a data da última mudança de palavra passe. Esta informação é " +"usada pelo sistema para determinar quando um utilizador tem de mudar a sua " +"palavra passe." -#: vipw.8.xml:107(title) usermod.8.xml:94(title) userdel.8.xml:93(title) useradd.8.xml:126(title) su.1.xml:144(title) pwconv.8.xml:187(title) pwck.8.xml:176(title) passwd.1.xml:174(title) newusers.8.xml:266(title) login.1.xml:210(title) lastlog.8.xml:92(title) grpck.8.xml:147(title) groupmod.8.xml:89(title) groupmems.8.xml:100(title) groupdel.8.xml:88(title) groupadd.8.xml:93(title) gpasswd.1.xml:134(title) faillog.8.xml:89(title) expiry.1.xml:91(title) chsh.1.xml:95(title) chpasswd.8.xml:130(title) chgpasswd.8.xml:105(title) chfn.1.xml:111(title) chage.1.xml:91(title) +#. (itstool) path: refsect1/title +#. (itstool) path: arg/replaceable +#: chage.1.xml.out:67 chfn.1.xml.out:87 chgpasswd.8.xml.out:83 +#: chpasswd.8.xml.out:108 chsh.1.xml.out:71 expiry.1.xml.out:67 +#: faillog.8.xml.out:65 gpasswd.1.xml.out:112 groupadd.8.xml.out:51 +#: groupadd.8.xml.out:80 groupdel.8.xml.out:64 groupmems.8.xml.out:76 +#: groupmod.8.xml.out:65 grpck.8.xml.out:122 lastlog.8.xml.out:68 +#: login.1.xml.out:186 newusers.8.xml.out:252 passwd.1.xml.out:146 +#: pwck.8.xml.out:153 pwconv.8.xml.out:163 su.1.xml.out:120 +#: useradd.8.xml.out:102 userdel.8.xml.out:69 usermod.8.xml.out:70 +#: vipw.8.xml.out:83 msgid "OPTIONS" msgstr "OPÇÕES" -#: vipw.8.xml:108(para) -msgid "" -"The options which apply to the vipw and vigr<" -"/command> commands are:" +#. (itstool) path: refsect1/para +#: chage.1.xml.out:68 chfn.1.xml.out:88 chgpasswd.8.xml.out:84 +#: chpasswd.8.xml.out:109 chsh.1.xml.out:72 expiry.1.xml.out:68 +#: faillog.8.xml.out:66 gpasswd.1.xml.out:120 groupadd.8.xml.out:81 +#: groupdel.8.xml.out:65 groupmems.8.xml.out:77 groupmod.8.xml.out:66 +#: grpck.8.xml.out:127 lastlog.8.xml.out:69 newusers.8.xml.out:253 +#: passwd.1.xml.out:147 pwck.8.xml.out:158 su.1.xml.out:121 +#: useradd.8.xml.out:103 userdel.8.xml.out:70 usermod.8.xml.out:71 +#, fuzzy +#| msgid "The options which apply to the su command are:" +msgid "The options which apply to the <_:command-1/> command are:" +msgstr "As opções que se aplicam ao comando su são:" + +#. (itstool) path: term/option +#. (itstool) path: para/option +#: chage.1.xml.out:74 gpasswd.1.xml.out:139 groupmems.8.xml.out:94 +#: passwd.1.xml.out:164 useradd.8.xml.out:123 useradd.8.xml.out:151 +#: useradd.8.xml.out:619 usermod.8.xml.out:112 usermod.8.xml.out:260 +#, fuzzy +#| msgid "-" +msgid "-d" +msgstr "-" + +#. (itstool) path: term/option +#: chage.1.xml.out:74 +msgid "--lastday" msgstr "" -"As opções que se aplicam aos comandos vipw e " -"vigr são:" -#: vipw.8.xml:114(term) -msgid ", " -msgstr ", " +#. (itstool) path: term/replaceable +#. (itstool) path: para/replaceable +#: chage.1.xml.out:74 chage.1.xml.out:81 chage.1.xml.out:175 +#, fuzzy +#| msgid "LASTLOG_UID_MAX" +msgid "LAST_DAY" +msgstr "LASTLOG_UID_MAX" -#: vipw.8.xml:116(para) -msgid "Edit group database." -msgstr "Edita a base de dados de grupos." +#. (itstool) path: varlistentry/term +#: chage.1.xml.out:73 chage.1.xml.out:88 chage.1.xml.out:127 +#: chage.1.xml.out:156 chage.1.xml.out:168 chage.1.xml.out:189 +#: chage.1.xml.out:202 chage.1.xml.out:217 chfn.1.xml.out:93 chfn.1.xml.out:101 +#: chfn.1.xml.out:109 chfn.1.xml.out:121 chfn.1.xml.out:129 chfn.1.xml.out:150 +#: chgpasswd.8.xml.out:128 chpasswd.8.xml.out:115 chpasswd.8.xml.out:170 +#: chpasswd.8.xml.out:183 chpasswd.8.xml.out:198 chsh.1.xml.out:83 +#: chsh.1.xml.out:96 faillog.8.xml.out:104 faillog.8.xml.out:119 +#: faillog.8.xml.out:156 faillog.8.xml.out:169 gpasswd.1.xml.out:125 +#: gpasswd.1.xml.out:138 gpasswd.1.xml.out:159 groupadd.8.xml.out:101 +#: groupadd.8.xml.out:157 groupadd.8.xml.out:200 groupadd.8.xml.out:213 +#: groupdel.8.xml.out:88 groupdel.8.xml.out:101 groupmems.8.xml.out:83 +#: groupmems.8.xml.out:94 groupmems.8.xml.out:110 groupmems.8.xml.out:141 +#: groupmod.8.xml.out:72 groupmod.8.xml.out:81 groupmod.8.xml.out:120 +#: groupmod.8.xml.out:142 groupmod.8.xml.out:163 groupmod.8.xml.out:176 +#: grpck.8.xml.out:148 lastlog.8.xml.out:74 lastlog.8.xml.out:103 +#: lastlog.8.xml.out:127 newusers.8.xml.out:307 passwd.1.xml.out:192 +#: passwd.1.xml.out:241 passwd.1.xml.out:263 passwd.1.xml.out:273 +#: passwd.1.xml.out:286 passwd.1.xml.out:332 passwd.1.xml.out:345 +#: pwck.8.xml.out:196 pwconv.8.xml.out:177 su.1.xml.out:125 su.1.xml.out:162 +#: useradd.8.xml.out:117 useradd.8.xml.out:138 useradd.8.xml.out:150 +#: useradd.8.xml.out:178 useradd.8.xml.out:195 useradd.8.xml.out:229 +#: useradd.8.xml.out:279 useradd.8.xml.out:426 useradd.8.xml.out:490 +#: useradd.8.xml.out:503 useradd.8.xml.out:518 useradd.8.xml.out:532 +#: useradd.8.xml.out:567 useradd.8.xml.out:611 useradd.8.xml.out:629 +#: useradd.8.xml.out:641 useradd.8.xml.out:658 useradd.8.xml.out:674 +#: userdel.8.xml.out:122 userdel.8.xml.out:135 usermod.8.xml.out:98 +#: usermod.8.xml.out:111 usermod.8.xml.out:128 usermod.8.xml.out:151 +#: usermod.8.xml.out:173 usermod.8.xml.out:216 usermod.8.xml.out:289 +#: usermod.8.xml.out:327 usermod.8.xml.out:340 usermod.8.xml.out:356 +#: usermod.8.xml.out:368 usermod.8.xml.out:500 vipw.8.xml.out:114 +msgid "<_:option-1/>, <_:option-2/> <_:replaceable-3/>" +msgstr "" -#: vipw.8.xml:120(term) userdel.8.xml:123(term) useradd.8.xml:278(term) pwconv.8.xml:195(term) pwck.8.xml:196(term) passwd.1.xml:214(term) newusers.8.xml:296(term) lastlog.8.xml:119(term) grpck.8.xml:157(term) groupmod.8.xml:129(term) groupmems.8.xml:142(term) groupdel.8.xml:95(term) groupadd.8.xml:131(term) gpasswd.1.xml:173(term) faillog.8.xml:122(term) expiry.1.xml:112(term) chsh.1.xml:101(term) chpasswd.8.xml:171(term) chgpasswd.8.xml:131(term) chage.1.xml:129(term) -msgid ", " -msgstr ", " +#. (itstool) path: para/emphasis +#. (itstool) path: term/replaceable +#. (itstool) path: para/replaceable +#: chage.1.xml.out:82 chage.1.xml.out:303 groupadd.8.xml.out:303 +#: groupdel.8.xml.out:168 groupmod.8.xml.out:259 grpck.8.xml.out:237 +#: login.defs.5.xml.out:140 passwd.1.xml.out:447 pwck.8.xml.out:287 +#: su.1.xml.out:385 useradd.8.xml.out:831 userdel.8.xml.out:235 +msgid "0" +msgstr "0" -#: vipw.8.xml:122(para) userdel.8.xml:125(para) useradd.8.xml:280(para) pwconv.8.xml:197(para) pwck.8.xml:198(para) passwd.1.xml:216(para) newusers.8.xml:298(para) lastlog.8.xml:123(para) grpck.8.xml:159(para) groupmod.8.xml:131(para) groupmems.8.xml:144(para) groupdel.8.xml:97(para) groupadd.8.xml:133(para) gpasswd.1.xml:175(para) faillog.8.xml:124(para) expiry.1.xml:114(para) chsh.1.xml:103(para) chpasswd.8.xml:173(para) chgpasswd.8.xml:133(para) chfn.1.xml:169(para) chage.1.xml:131(para) +#. (itstool) path: listitem/para +#: chage.1.xml.out:77 +#, fuzzy +#| msgid "" +#| "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)." +msgid "" +"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). If the <_:replaceable-1/> is set to " +"<_:emphasis-2/> the user is forced to change his password on the next log on." +msgstr "" +"Define o número de dias desde 1 de Janeiro de 1970 em que a palavra passe " +"foi mudada pela última vez. A data também pode ser expressada no formato " +"AAAA-MM-DD (ou no formato mais comum usado na sua área)." + +#. (itstool) path: term/option +#: chage.1.xml.out:89 +#, fuzzy +#| msgid "-" +msgid "-E" +msgstr "-" + +#. (itstool) path: term/option +#: chage.1.xml.out:89 useradd.8.xml.out:179 useradd.8.xml.out:630 +#: usermod.8.xml.out:129 +msgid "--expiredate" +msgstr "" + +#. (itstool) path: term/replaceable +#. (itstool) path: para/replaceable +#: chage.1.xml.out:89 chage.1.xml.out:109 useradd.8.xml.out:179 +#: useradd.8.xml.out:630 usermod.8.xml.out:129 usermod.8.xml.out:243 +#: usermod.8.xml.out:416 +msgid "EXPIRE_DATE" +msgstr "" + +#. (itstool) path: listitem/para +#: chage.1.xml.out:92 +msgid "" +"Set the date or 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." +msgstr "" +"Define a data ou número de dias desde 1 Janeiro 1970 no qual a conta do " +"utilizador não estará mais acessível. A data também pode ser expressada no " +"formato AAAA-MM-DD (ou no formato maus comum usado na sua área). Um " +"utilizador cuja conta está trancada tem de contactar o administrador do " +"sistema antes de poder voltar a usar o sistema." + +#. (itstool) path: listitem/para +#: chage.1.xml.out:100 +msgid "" +"For example the following can be used to set an account to expire in 180 " +"days:" +msgstr "" + +#. (itstool) path: listitem/programlisting +#: chage.1.xml.out:104 +msgid "chage -E $(date -d +180days +%Y-%m-%d)" +msgstr "" + +#. (itstool) path: para/emphasis +#. (itstool) path: para/replaceable +#: chage.1.xml.out:108 chage.1.xml.out:139 chage.1.xml.out:182 +#: passwd.1.xml.out:355 useradd.8.xml.out:317 +#, fuzzy +#| msgid "1" +msgid "-1" +msgstr "1" + +#. (itstool) path: listitem/para +#: chage.1.xml.out:107 +#, fuzzy +#| msgid "" +#| "Passing the number -1 as the " +#| "EXPIRE_DATE will remove an account expiration " +#| "date." +msgid "" +"Passing the number <_:emphasis-1/> as the <_:replaceable-2/> will remove an " +"account expiration date." +msgstr "" +"Passar o número -1 como " +"EXPIRE_DATE irá remover a data de expiração da " +"conta." + +#. (itstool) path: term/option +#. (itstool) path: para/option +#: chage.1.xml.out:115 chfn.1.xml.out:102 chgpasswd.8.xml.out:113 +#: chpasswd.8.xml.out:153 chsh.1.xml.out:77 expiry.1.xml.out:88 +#: faillog.8.xml.out:98 gpasswd.1.xml.out:151 groupadd.8.xml.out:118 +#: groupdel.8.xml.out:82 groupmems.8.xml.out:118 groupmod.8.xml.out:114 +#: grpck.8.xml.out:132 lastlog.8.xml.out:96 login.1.xml.out:204 +#: login.1.xml.out:229 newusers.8.xml.out:282 passwd.1.xml.out:186 +#: pwck.8.xml.out:173 pwconv.8.xml.out:171 useradd.8.xml.out:273 +#: userdel.8.xml.out:99 vipw.8.xml.out:96 +msgid "-h" +msgstr "-h" + +#. (itstool) path: term/option +#. (itstool) path: para/option +#: chage.1.xml.out:115 chfn.1.xml.out:143 chgpasswd.8.xml.out:113 +#: chpasswd.8.xml.out:153 chsh.1.xml.out:77 expiry.1.xml.out:88 +#: faillog.8.xml.out:98 gpasswd.1.xml.out:151 groupadd.8.xml.out:118 +#: groupdel.8.xml.out:82 groupmems.8.xml.out:118 groupmod.8.xml.out:114 +#: grpck.8.xml.out:132 lastlog.8.xml.out:96 newusers.8.xml.out:282 +#: passwd.1.xml.out:186 pwck.8.xml.out:173 pwconv.8.xml.out:171 +#: su.1.xml.out:387 useradd.8.xml.out:273 userdel.8.xml.out:99 +#: vipw.8.xml.out:96 +msgid "--help" +msgstr "" + +#. (itstool) path: varlistentry/term +#: chage.1.xml.out:115 chage.1.xml.out:121 chage.1.xml.out:146 +#: chfn.1.xml.out:142 chgpasswd.8.xml.out:90 chgpasswd.8.xml.out:107 +#: chgpasswd.8.xml.out:113 chgpasswd.8.xml.out:119 chgpasswd.8.xml.out:141 +#: chpasswd.8.xml.out:145 chpasswd.8.xml.out:153 chpasswd.8.xml.out:161 +#: chsh.1.xml.out:77 expiry.1.xml.out:73 expiry.1.xml.out:79 +#: expiry.1.xml.out:88 faillog.8.xml.out:72 faillog.8.xml.out:98 +#: faillog.8.xml.out:144 gpasswd.1.xml.out:151 gpasswd.1.xml.out:174 +#: gpasswd.1.xml.out:190 groupadd.8.xml.out:87 groupadd.8.xml.out:118 +#: groupadd.8.xml.out:144 groupadd.8.xml.out:184 groupadd.8.xml.out:228 +#: groupdel.8.xml.out:71 groupdel.8.xml.out:82 groupmems.8.xml.out:118 +#: groupmems.8.xml.out:124 groupmems.8.xml.out:130 groupmod.8.xml.out:114 +#: groupmod.8.xml.out:131 groupmod.8.xml.out:193 grpck.8.xml.out:132 +#: grpck.8.xml.out:138 grpck.8.xml.out:161 grpck.8.xml.out:172 +#: lastlog.8.xml.out:84 lastlog.8.xml.out:95 lastlog.8.xml.out:116 +#: newusers.8.xml.out:270 newusers.8.xml.out:282 newusers.8.xml.out:288 +#: newusers.8.xml.out:322 passwd.1.xml.out:152 passwd.1.xml.out:163 +#: passwd.1.xml.out:175 passwd.1.xml.out:186 passwd.1.xml.out:205 +#: passwd.1.xml.out:217 passwd.1.xml.out:253 passwd.1.xml.out:301 +#: passwd.1.xml.out:319 passwd.1.xml.out:362 pwck.8.xml.out:173 +#: pwck.8.xml.out:179 pwck.8.xml.out:188 pwck.8.xml.out:209 +#: pwconv.8.xml.out:171 useradd.8.xml.out:168 useradd.8.xml.out:217 +#: useradd.8.xml.out:273 useradd.8.xml.out:332 useradd.8.xml.out:351 +#: useradd.8.xml.out:374 useradd.8.xml.out:387 useradd.8.xml.out:406 +#: useradd.8.xml.out:457 useradd.8.xml.out:550 userdel.8.xml.out:75 +#: userdel.8.xml.out:99 userdel.8.xml.out:105 userdel.8.xml.out:152 +#: usermod.8.xml.out:77 usermod.8.xml.out:88 usermod.8.xml.out:230 +#: usermod.8.xml.out:249 usermod.8.xml.out:270 usermod.8.xml.out:316 +#: usermod.8.xml.out:404 vipw.8.xml.out:90 vipw.8.xml.out:96 vipw.8.xml.out:102 +#: vipw.8.xml.out:108 vipw.8.xml.out:127 vipw.8.xml.out:133 +#, fuzzy +#| msgid ", " +msgid "<_:option-1/>, <_:option-2/>" +msgstr ", " + +#. (itstool) path: listitem/para +#: chage.1.xml.out:117 chfn.1.xml.out:146 chgpasswd.8.xml.out:115 +#: chpasswd.8.xml.out:155 chsh.1.xml.out:79 expiry.1.xml.out:90 +#: faillog.8.xml.out:100 gpasswd.1.xml.out:153 groupadd.8.xml.out:120 +#: groupdel.8.xml.out:84 groupmems.8.xml.out:120 groupmod.8.xml.out:116 +#: grpck.8.xml.out:134 lastlog.8.xml.out:99 newusers.8.xml.out:284 +#: passwd.1.xml.out:188 pwck.8.xml.out:175 pwconv.8.xml.out:173 +#: useradd.8.xml.out:275 userdel.8.xml.out:101 vipw.8.xml.out:98 msgid "Display help message and exit." msgstr "Mostra mensagem de ajuda e termina." -#: vipw.8.xml:126(term) -msgid ", " -msgstr ", " +#. (itstool) path: term/option +#: chage.1.xml.out:121 passwd.1.xml.out:193 +#, fuzzy +#| msgid "-" +msgid "-i" +msgstr "-" -#: vipw.8.xml:128(para) -msgid "Edit passwd database." -msgstr "Edita a base de dados passwd." - -#: vipw.8.xml:132(term) pwck.8.xml:202(term) passwd.1.xml:281(term) -msgid ", " -msgstr ", " - -#: vipw.8.xml:134(para) passwd.1.xml:285(para) -msgid "Quiet mode." -msgstr "Modo silencioso." - -#: vipw.8.xml:138(term) usermod.8.xml:322(term) userdel.8.xml:146(term) useradd.8.xml:457(term) pwconv.8.xml:201(term) pwck.8.xml:219(term) passwd.1.xml:301(term) newusers.8.xml:321(term) lastlog.8.xml:127(term) grpck.8.xml:173(term) groupmod.8.xml:178(term) groupmems.8.xml:165(term) groupdel.8.xml:101(term) groupadd.8.xml:204(term) faillog.8.xml:180(term) chsh.1.xml:107(term) chpasswd.8.xml:188(term) chgpasswd.8.xml:146(term) chfn.1.xml:153(term) chage.1.xml:203(term) -msgid "" -",  CHROOT_DIR<" -"/replaceable>" +#. (itstool) path: term/option +#: chage.1.xml.out:121 +msgid "--iso8601" msgstr "" -",  CHROOT_DIR<" -"/replaceable>" -#: vipw.8.xml:142(para) usermod.8.xml:326(para) userdel.8.xml:150(para) useradd.8.xml:461(para) pwconv.8.xml:205(para) pwck.8.xml:223(para) passwd.1.xml:305(para) newusers.8.xml:325(para) lastlog.8.xml:131(para) grpck.8.xml:177(para) groupmod.8.xml:182(para) groupmems.8.xml:169(para) groupdel.8.xml:105(para) groupadd.8.xml:208(para) gpasswd.1.xml:185(para) faillog.8.xml:184(para) chsh.1.xml:111(para) chpasswd.8.xml:192(para) chgpasswd.8.xml:150(para) chfn.1.xml:157(para) chage.1.xml:207(para) -msgid "" -"Apply changes in the CHROOT_DIR directory and use" -" the configuration files from the CHROOT_DIR" -" directory." +#. (itstool) path: listitem/para +#: chage.1.xml.out:123 +msgid "When printing dates, use YYYY-MM-DD format." +msgstr "ao escrever datas, usa o formato AAAA-MM-DD." + +#. (itstool) path: term/option +#: chage.1.xml.out:128 +#, fuzzy +#| msgid "-" +msgid "-I" +msgstr "-" + +#. (itstool) path: term/option +#: chage.1.xml.out:128 passwd.1.xml.out:193 useradd.8.xml.out:196 +#: useradd.8.xml.out:642 usermod.8.xml.out:152 +msgid "--inactive" msgstr "" -"Aplica alterações no directório CHROOT_DIR e " -"usa os ficheiros de configuração do directório " -"CHROOT_DIR." -#: vipw.8.xml:150(term) -msgid ", " -msgstr ", " +#. (itstool) path: term/replaceable +#. (itstool) path: para/replaceable +#. (itstool) path: para/option +#: chage.1.xml.out:128 chage.1.xml.out:134 chage.1.xml.out:140 +#: passwd.1.xml.out:193 passwd.1.xml.out:199 useradd.8.xml.out:196 +#: useradd.8.xml.out:211 useradd.8.xml.out:642 useradd.8.xml.out:652 +#: usermod.8.xml.out:152 +msgid "INACTIVE" +msgstr "" -#: vipw.8.xml:152(para) -msgid "Edit shadow or gshadow database." -msgstr "Edita a base de dados shadow ou gshadow." +#. (itstool) path: listitem/para +#: chage.1.xml.out:131 +#, fuzzy +#| msgid "" +#| "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." +msgid "" +"Set the number of days of inactivity after a password has expired before the " +"account is locked. The <_:replaceable-1/> 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." +msgstr "" +"Define o dias de inactividade após a palavra passe ter expirado e antes da " +"conta ser trancada. A opção INACTIVE é o número " +"de ias de inactividade. Um utilizador cuja conta está trancada tem de " +"contactar o administrador do sistema antes de poder voltar a usar o sistema." -#: vipw.8.xml:156(term) -msgid ", " -msgstr ", " +#. (itstool) path: listitem/para +#: chage.1.xml.out:138 +#, fuzzy +#| msgid "" +#| "Passing the number -1 as the " +#| "INACTIVE will remove an account's inactivity." +msgid "" +"Passing the number <_:emphasis-1/> as the <_:replaceable-2/> will remove an " +"account's inactivity." +msgstr "" +"Passar o número -1 como " +"INACTIVE irá remover a inactividade da conta." -#: vipw.8.xml:158(para) -msgid "Indicates which user's tcb shadow file to edit." -msgstr "Indica qual o ficheiro shadow de utilizador tcb a editar." +#. (itstool) path: term/option +#. (itstool) path: para/option +#. (itstool) path: group/arg +#: chage.1.xml.out:147 chage.1.xml.out:257 faillog.8.xml.out:88 +#: faillog.8.xml.out:105 faillog.8.xml.out:185 faillog.8.xml.out:202 +#: groupmems.8.xml.out:55 groupmems.8.xml.out:124 passwd.1.xml.out:218 +#: passwd.1.xml.out:327 su.1.xml.out:144 su.1.xml.out:156 useradd.8.xml.out:332 +#: usermod.8.xml.out:217 +msgid "-l" +msgstr "-l" -#: vipw.8.xml:165(title) usermod.8.xml:524(title) userdel.8.xml:188(title) useradd.8.xml:676(title) su.1.xml:338(title) sg.1.xml:98(title) pwconv.8.xml:227(title) pwck.8.xml:262(title) passwd.1.xml:395(title) newusers.8.xml:375(title) newgrp.1.xml:109(title) login.1.xml:294(title) lastlog.8.xml:205(title) grpck.8.xml:209(title) groupmod.8.xml:210(title) groupmems.8.xml:199(title) groupdel.8.xml:145(title) groupadd.8.xml:236(title) gpasswd.1.xml:264(title) chsh.1.xml:154(title) chpasswd.8.xml:239(title) chgpasswd.8.xml:198(title) chfn.1.xml:193(title) chage.1.xml:250(title) +#. (itstool) path: term/option +#: chage.1.xml.out:147 groupmems.8.xml.out:124 +msgid "--list" +msgstr "" + +#. (itstool) path: listitem/para +#: chage.1.xml.out:150 +msgid "Show account aging information." +msgstr "Mostra informação de envelhecimento da conta." + +#. (itstool) path: term/option +#. (itstool) path: para/option +#: chage.1.xml.out:157 chgpasswd.8.xml.out:74 chgpasswd.8.xml.out:119 +#: chpasswd.8.xml.out:80 chpasswd.8.xml.out:86 chpasswd.8.xml.out:136 +#: chpasswd.8.xml.out:161 faillog.8.xml.out:88 faillog.8.xml.out:120 +#: faillog.8.xml.out:185 faillog.8.xml.out:202 su.1.xml.out:207 +#: useradd.8.xml.out:289 useradd.8.xml.out:352 useradd.8.xml.out:478 +#: usermod.8.xml.out:119 usermod.8.xml.out:250 +#, fuzzy +#| msgid "-" +msgid "-m" +msgstr "-" + +#. (itstool) path: term/option +#: chage.1.xml.out:157 passwd.1.xml.out:242 +msgid "--mindays" +msgstr "" + +#. (itstool) path: term/replaceable +#. (itstool) path: para/replaceable +#: chage.1.xml.out:157 chage.1.xml.out:162 passwd.1.xml.out:242 +#: passwd.1.xml.out:247 +msgid "MIN_DAYS" +msgstr "" + +#. (itstool) path: listitem/para +#: chage.1.xml.out:160 passwd.1.xml.out:245 +#, fuzzy +#| msgid "" +#| "Set the minimum number of days between password changes to " +#| "MIN_DAYS. A value of zero for this field " +#| "indicates that the user may change their password at any time." +msgid "" +"Set the minimum number of days between password changes to <_:replaceable-1/" +">. A value of zero for this field indicates that the user may change their " +"password at any time." +msgstr "" +"Define o número mínimo de dias entre mudanças de palavra passe para " +"MIN_DAYS. Um valor zero neste campo indica que o " +"utilizador pode mudar a sua palavra passe a qualquer altura." + +#. (itstool) path: term/option +#. (itstool) path: para/option +#: chage.1.xml.out:169 gpasswd.1.xml.out:83 gpasswd.1.xml.out:114 +#: gpasswd.1.xml.out:219 useradd.8.xml.out:162 useradd.8.xml.out:375 +#, fuzzy +#| msgid "-" +msgid "-M" +msgstr "-" + +#. (itstool) path: term/option +#: chage.1.xml.out:169 passwd.1.xml.out:346 +msgid "--maxdays" +msgstr "" + +#. (itstool) path: term/replaceable +#. (itstool) path: para/replaceable +#: chage.1.xml.out:169 chage.1.xml.out:174 chage.1.xml.out:183 +#: passwd.1.xml.out:346 passwd.1.xml.out:351 passwd.1.xml.out:356 +msgid "MAX_DAYS" +msgstr "" + +#. (itstool) path: para/option +#. (itstool) path: term/option +#: chage.1.xml.out:178 chage.1.xml.out:218 usermod.8.xml.out:481 +#, fuzzy +#| msgid "-" +msgid "-W" +msgstr "-" + +#. (itstool) path: listitem/para +#: chage.1.xml.out:172 +#, fuzzy +#| msgid "" +#| "Set the 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 their password before being able to use their account. This " +#| "occurrence can be planned for in advance by use of the , shadow<" -"manvolnum>5." +#. (itstool) path: citerefentry/refentrytitle +#. (itstool) path: para/filename +#. (itstool) path: varlistentry/term +#. (itstool) path: refmeta/refentrytitle +#. (itstool) path: refnamediv/refname +#. (itstool) path: cmdsynopsis/command +#. (itstool) path: para/command +#. (itstool) path: para/replaceable +#. (itstool) path: para/emphasis +#: chage.1.xml.out:334 chfn.1.xml.out:211 chpasswd.8.xml.out:307 +#: chsh.1.xml.out:218 expiry.1.xml.out:118 groupadd.8.xml.out:351 +#: groupdel.8.xml.out:211 groupmems.8.xml.out:215 groupmod.8.xml.out:332 +#: grpck.8.xml.out:291 lastlog.8.xml.out:176 login.1.xml.out:128 +#: login.1.xml.out:380 login.1.xml.out:395 login.defs.5.xml.out:415 +#: login.defs.5.xml.out:535 login.defs.5.xml.out:552 login.defs.5.xml.out:558 +#: newusers.8.xml.out:81 newusers.8.xml.out:477 passwd.1.xml.out:42 +#: passwd.1.xml.out:49 passwd.1.xml.out:55 passwd.1.xml.out:68 +#: passwd.1.xml.out:71 passwd.1.xml.out:88 passwd.1.xml.out:100 +#: passwd.1.xml.out:148 passwd.1.xml.out:388 passwd.1.xml.out:435 +#: passwd.1.xml.out:444 passwd.1.xml.out:473 passwd.1.xml.out:479 +#: passwd.1.xml.out:502 passwd.5.xml.out:33 passwd.5.xml.out:40 +#: passwd.5.xml.out:182 pwck.8.xml.out:228 pwck.8.xml.out:342 +#: pwconv.8.xml.out:84 pwconv.8.xml.out:99 shadow.5.xml.out:268 +#: shadow.5.xml.out:271 useradd.8.xml.out:904 userdel.8.xml.out:316 +#: usermod.8.xml.out:628 vipw.8.xml.out:217 +msgid "passwd" +msgstr "passwd" + +#. (itstool) path: citerefentry/manvolnum +#. (itstool) path: refmeta/manvolnum +#. (itstool) path: term/replaceable +#: chage.1.xml.out:334 chage.1.xml.out:337 chfn.1.xml.out:208 +#: chfn.1.xml.out:211 chgpasswd.8.xml.out:251 chpasswd.8.xml.out:314 +#: chsh.1.xml.out:215 chsh.1.xml.out:218 expiry.1.xml.out:118 +#: expiry.1.xml.out:121 faillog.5.xml.out:34 faillog.8.xml.out:238 +#: gpasswd.1.xml.out:294 gpasswd.1.xml.out:297 groupadd.8.xml.out:363 +#: groupmod.8.xml.out:344 grpck.8.xml.out:267 grpck.8.xml.out:280 +#: grpck.8.xml.out:287 grpck.8.xml.out:291 grpck.8.xml.out:297 +#: gshadow.5.xml.out:23 gshadow.5.xml.out:153 gshadow.5.xml.out:156 +#: limits.5.xml.out:36 login.1.xml.out:389 login.1.xml.out:392 +#: login.1.xml.out:395 login.1.xml.out:398 login.access.5.xml.out:35 +#: login.defs.5.xml.out:105 login.defs.5.xml.out:558 login.defs.5.xml.out:561 +#: newgrp.1.xml.out:145 newgrp.1.xml.out:148 newusers.8.xml.out:81 +#: newusers.8.xml.out:474 newusers.8.xml.out:481 newusers.8.xml.out:484 +#: nologin.8.xml.out:48 nologin.8.xml.out:63 passwd.1.xml.out:477 +#: passwd.1.xml.out:502 passwd.1.xml.out:505 passwd.1.xml.out:509 +#: passwd.5.xml.out:34 passwd.5.xml.out:80 passwd.5.xml.out:194 +#: porttime.5.xml.out:34 pwck.8.xml.out:317 pwck.8.xml.out:336 +#: pwck.8.xml.out:342 pwck.8.xml.out:345 pwconv.8.xml.out:245 +#: shadow.3.xml.out:220 shadow.5.xml.out:34 shadow.5.xml.out:271 +#: sg.1.xml.out:134 sg.1.xml.out:137 su.1.xml.out:418 suauth.5.xml.out:34 +#: suauth.5.xml.out:91 useradd.8.xml.out:205 useradd.8.xml.out:648 +#: useradd.8.xml.out:919 useradd.8.xml.out:926 useradd.8.xml.out:929 +#: userdel.8.xml.out:319 userdel.8.xml.out:335 userdel.8.xml.out:338 +#: usermod.8.xml.out:162 usermod.8.xml.out:646 usermod.8.xml.out:650 +#: usermod.8.xml.out:653 vipw.8.xml.out:208 vipw.8.xml.out:211 +#: vipw.8.xml.out:214 vipw.8.xml.out:217 vipw.8.xml.out:220 vipw.8.xml.out:223 +msgid "5" +msgstr "5" + +#. (itstool) path: citerefentry/refentrytitle +#. (itstool) path: arg/replaceable +#. (itstool) path: phrase/emphasis +#. (itstool) path: para/replaceable +#. (itstool) path: para/emphasis +#. (itstool) path: refmeta/refentrytitle +#. (itstool) path: refnamediv/refname +#. (itstool) path: para/filename +#: chage.1.xml.out:337 expiry.1.xml.out:121 grpck.8.xml.out:51 +#: grpck.8.xml.out:190 grpck.8.xml.out:297 login.defs.5.xml.out:561 +#: passwd.1.xml.out:505 passwd.5.xml.out:79 passwd.5.xml.out:194 +#: pwck.8.xml.out:229 pwck.8.xml.out:233 pwck.8.xml.out:345 pwconv.8.xml.out:84 +#: pwconv.8.xml.out:85 pwconv.8.xml.out:100 pwconv.8.xml.out:101 +#: shadow.3.xml.out:33 shadow.3.xml.out:40 shadow.3.xml.out:96 +#: shadow.3.xml.out:220 shadow.5.xml.out:33 shadow.5.xml.out:40 +#: shadow.5.xml.out:47 useradd.8.xml.out:205 useradd.8.xml.out:648 +#: usermod.8.xml.out:162 vipw.8.xml.out:223 +msgid "shadow" +msgstr "shadow" + +#. (itstool) path: refsect1/para +#: chage.1.xml.out:332 expiry.1.xml.out:116 faillog.8.xml.out:233 +#: nologin.8.xml.out:58 shadow.3.xml.out:215 +msgid "<_:citerefentry-1/>, <_:citerefentry-2/>." msgstr "" -"vi1<" -"/citerefentry>, group5, gshadow<" -"/refentrytitle>5login.defs5<" -"/manvolnum>, passwd<" -"/refentrytitle>5, tcb5, shadow<" -"manvolnum>5." -#: usermod.8.xml:46(firstname) userdel.8.xml:45(firstname) useradd.8.xml:58(firstname) su.1.xml:56(firstname) sg.1.xml:40(firstname) shadow.5.xml:39(firstname) shadow.3.xml:39(firstname) pwck.8.xml:45(firstname) porttime.5.xml:39(firstname) passwd.5.xml:39(firstname) passwd.1.xml:46(firstname) newusers.8.xml:55(firstname) newgrp.1.xml:40(firstname) logoutd.8.xml:39(firstname) login.defs.5.xml:106(firstname) login.1.xml:72(firstname) lastlog.8.xml:41(firstname) grpck.8.xml:40(firstname) groups.1.xml:39(firstname) groupmod.8.xml:40(firstname) groupdel.8.xml:40(firstname) groupadd.8.xml:42(firstname) faillog.8.xml:39(firstname) faillog.5.xml:39(firstname) expiry.1.xml:43(firstname) chsh.1.xml:42(firstname) chpasswd.8.xml:43(firstname) chfn.1.xml:42(firstname) chage.1.xml:40(firstname) -msgid "Julianne Frances" -msgstr "Julianne Frances" +#. (itstool) path: refmeta/refentrytitle +#. (itstool) path: refnamediv/refname +#. (itstool) path: cmdsynopsis/command +#. (itstool) path: para/command +#. (itstool) path: citerefentry/refentrytitle +#. (itstool) path: varlistentry/term +#: chfn.1.xml.out:36 chfn.1.xml.out:43 chfn.1.xml.out:49 chfn.1.xml.out:62 +#: chfn.1.xml.out:89 chfn.1.xml.out:159 chfn.1.xml.out:164 chsh.1.xml.out:212 +#: groupadd.8.xml.out:345 groupdel.8.xml.out:205 groupmems.8.xml.out:209 +#: groupmod.8.xml.out:326 login.defs.5.xml.out:243 useradd.8.xml.out:898 +#: userdel.8.xml.out:310 usermod.8.xml.out:105 usermod.8.xml.out:622 +msgid "chfn" +msgstr "chfn" -#: usermod.8.xml:47(surname) userdel.8.xml:46(surname) useradd.8.xml:59(surname) su.1.xml:57(surname) sg.1.xml:41(surname) shadow.5.xml:40(surname) shadow.3.xml:40(surname) pwck.8.xml:46(surname) porttime.5.xml:40(surname) passwd.5.xml:40(surname) passwd.1.xml:47(surname) newusers.8.xml:56(surname) newgrp.1.xml:41(surname) logoutd.8.xml:40(surname) login.defs.5.xml:107(surname) login.1.xml:73(surname) lastlog.8.xml:42(surname) grpck.8.xml:41(surname) groups.1.xml:40(surname) groupmod.8.xml:41(surname) groupdel.8.xml:41(surname) groupadd.8.xml:43(surname) faillog.8.xml:40(surname) faillog.5.xml:40(surname) expiry.1.xml:44(surname) chsh.1.xml:43(surname) chpasswd.8.xml:44(surname) chfn.1.xml:43(surname) chage.1.xml:41(surname) -msgid "Haugh" -msgstr "Haugh" +#. (itstool) path: refnamediv/refpurpose +#: chfn.1.xml.out:44 +msgid "change real user name and information" +msgstr "muda o nome e informação do utilizador real" -#: usermod.8.xml:48(contrib) userdel.8.xml:47(contrib) useradd.8.xml:60(contrib) sg.1.xml:42(contrib) newusers.8.xml:57(contrib) newgrp.1.xml:42(contrib) logoutd.8.xml:41(contrib) login.defs.5.xml:108(contrib) groups.1.xml:41(contrib) groupmod.8.xml:42(contrib) groupdel.8.xml:42(contrib) groupadd.8.xml:44(contrib) chpasswd.8.xml:45(contrib) +#. (itstool) path: citerefentry/refentrytitle +#: chfn.1.xml.out:65 passwd.5.xml.out:117 +msgid "finger" +msgstr "" + +#. (itstool) path: para/option +#. (itstool) path: term/option +#: chfn.1.xml.out:71 chfn.1.xml.out:110 groupadd.8.xml.out:106 +#: groupadd.8.xml.out:145 groupadd.8.xml.out:323 groupmod.8.xml.out:93 +#: groupmod.8.xml.out:132 useradd.8.xml.out:407 useradd.8.xml.out:538 +#: useradd.8.xml.out:857 usermod.8.xml.out:271 usermod.8.xml.out:377 +#, fuzzy +#| msgid "-" +msgid "-o" +msgstr "-" + +#. (itstool) path: refsect1/para +#: chfn.1.xml.out:61 +#, fuzzy +#| msgid "" +#| "The chfn command changes user fullname, office room " +#| "number, office phone number, and home phone number information for a " +#| "user's account. This information is typically printed by " +#| "finger1 and similar programs. A normal user may only " +#| "change the fields for her own account, subject to the restrictions in " +#| "/etc/login.defs. (The default configuration is to " +#| "prevent users from changing their fullname.) The superuser may change any " +#| "field for any account. Additionally, only the superuser may use the " +#| " option to change the undefined portions of the GECOS " +#| "field." +msgid "" +"The <_:command-1/> command changes user fullname, office room number, office " +"phone number, and home phone number information for a user's account. This " +"information is typically printed by <_:citerefentry-2/> and similar " +"programs. A normal user may only change the fields for her own account, " +"subject to the restrictions in <_:filename-3/>. (The default configuration " +"is to prevent users from changing their fullname.) The superuser may change " +"any field for any account. Additionally, only the superuser may use the <_:" +"option-4/> option to change the undefined portions of the GECOS field." +msgstr "" +"O comando chfn muda a informação do nome completo do " +"utilizador, o número do quarto de escritório, número de telefone do " +"escritório, e número de telefone de casa para a conta de um utilizador. Esta " +"informação é tipicamente mostrada pelo finger1 e programas " +"semelhantes. Um utilizador normal apenas pode modificar os campos da sua " +"própria conta, sujeito às restrições em /etc/login.defs. (A configuração predefinida serve para prevenir os utilizadores " +"de mudarem o seu nome completo.) O super-utilizador pode mudar qualquer " +"campo em qualquer conta. Adicionalmente apenas o super-utilizador pode usar " +"a opção para mudar as porções não definidas do campo " +"GECOS." + +#. (itstool) path: para/emphasis +#: chfn.1.xml.out:77 chfn.1.xml.out:80 +msgid "other" +msgstr "" + +#. (itstool) path: refsect1/para +#: chfn.1.xml.out:75 +#, fuzzy +#| msgid "" +#| "These fields must not contain any colons. Except for the other field, they should not contain any comma or " +#| "equal sign. It is also recommended to avoid non-US-ASCII characters, but " +#| "this is only enforced for the phone numbers. The other field is used to store accounting " +#| "information used by other applications." +msgid "" +"These fields must not contain any colons. Except for the <_:emphasis-1/> " +"field, they should not contain any comma or equal sign. It is also " +"recommended to avoid non-US-ASCII characters, but this is only enforced for " +"the phone numbers. The <_:emphasis-2/> field is used to store accounting " +"information used by other applications." +msgstr "" +"Estes campos não podem conter símbolos de dois pontos. Excepto no campo " +"other, não podem conter nenhuma vírgula nem " +"o sinal de igual. É também recomendado evitar caracteres não US-ASCII, mas " +"isto apenas é forçado para os números de telefone. O campo other é usado para guardar informação da conta usada " +"por outras aplicações." + +#. (itstool) path: term/option +#. (itstool) path: para/option +#. (itstool) path: cmdsynopsis/arg +#: chfn.1.xml.out:94 expiry.1.xml.out:61 expiry.1.xml.out:79 +#: groupadd.8.xml.out:88 groupdel.8.xml.out:72 login.1.xml.out:90 +#: login.1.xml.out:190 login.1.xml.out:229 useradd.8.xml.out:196 +#: useradd.8.xml.out:642 userdel.8.xml.out:76 userdel.8.xml.out:287 +#: userdel.8.xml.out:302 usermod.8.xml.out:152 +msgid "-f" +msgstr "-f" + +#. (itstool) path: term/option +#: chfn.1.xml.out:94 +#, fuzzy +#| msgid "--badname" +msgid "--full-name" +msgstr "--badname" + +#. (itstool) path: term/replaceable +#: chfn.1.xml.out:94 +msgid "FULL_NAME" +msgstr "" + +#. (itstool) path: listitem/para +#: chfn.1.xml.out:97 +msgid "Change the user's full name." +msgstr "Muda o nome completo do utilizador." + +#. (itstool) path: term/option +#: chfn.1.xml.out:102 +msgid "--home-phone" +msgstr "" + +#. (itstool) path: term/replaceable +#: chfn.1.xml.out:102 +msgid "HOME_PHONE" +msgstr "" + +#. (itstool) path: listitem/para +#: chfn.1.xml.out:105 +msgid "Change the user's home phone number." +msgstr "Muda o número de telefone de casa do utilizador." + +#. (itstool) path: term/option +#: chfn.1.xml.out:110 +msgid "--other" +msgstr "" + +#. (itstool) path: term/replaceable +#: chfn.1.xml.out:110 +msgid "OTHER" +msgstr "" + +#. (itstool) path: listitem/para +#: chfn.1.xml.out:113 +msgid "" +"Change the user's other GECOS information. This field is used to store " +"accounting information used by other applications, and can be changed only " +"by a superuser." +msgstr "" +"Muda a \"outra\" informação GECOS do utilizador. Este campo é usado para " +"guardar informação de conta usada por outras aplicações, e só pode ser " +"mudada por um super-utilizador." + +#. (itstool) path: term/option +#. (itstool) path: para/option +#: chfn.1.xml.out:122 faillog.8.xml.out:89 faillog.8.xml.out:144 +#: faillog.8.xml.out:186 faillog.8.xml.out:203 gpasswd.1.xml.out:175 +#: groupadd.8.xml.out:112 groupadd.8.xml.out:185 grpck.8.xml.out:124 +#: grpck.8.xml.out:138 login.1.xml.out:220 login.1.xml.out:229 +#: newusers.8.xml.out:289 passwd.1.xml.out:264 pwck.8.xml.out:155 +#: pwck.8.xml.out:188 useradd.8.xml.out:224 useradd.8.xml.out:458 +#: useradd.8.xml.out:544 userdel.8.xml.out:106 usermod.8.xml.out:317 +msgid "-r" +msgstr "-r" + +#. (itstool) path: term/option +#: chfn.1.xml.out:122 +msgid "--room" +msgstr "" + +#. (itstool) path: term/replaceable +#: chfn.1.xml.out:122 +msgid "ROOM_NUMBER" +msgstr "" + +#. (itstool) path: listitem/para +#: chfn.1.xml.out:125 +msgid "Change the user's room number." +msgstr "Muda o número de quarto do utilizador." + +#. (itstool) path: term/option +#. (itstool) path: para/option +#: chfn.1.xml.out:143 faillog.8.xml.out:80 faillog.8.xml.out:180 +#: faillog.8.xml.out:214 lastlog.8.xml.out:90 lastlog.8.xml.out:122 +#: lastlog.8.xml.out:139 passwd.1.xml.out:320 useradd.8.xml.out:416 +#: useradd.8.xml.out:533 usermod.8.xml.out:279 usermod.8.xml.out:369 +#: vipw.8.xml.out:133 +#, fuzzy +#| msgid "-" +msgid "-u" +msgstr "-" + +#. (itstool) path: term/option +#: chfn.1.xml.out:151 passwd.1.xml.out:333 usermod.8.xml.out:463 +#, fuzzy +#| msgid "-" +msgid "-w" +msgstr "-" + +#. (itstool) path: term/option +#: chfn.1.xml.out:151 +msgid "--work-phone" +msgstr "" + +#. (itstool) path: term/replaceable +#: chfn.1.xml.out:151 +msgid "WORK_PHONE" +msgstr "" + +#. (itstool) path: listitem/para +#: chfn.1.xml.out:154 +msgid "Change the user's office phone number." +msgstr "Muda o número de telefone do escritório do utilizador." + +#. (itstool) path: refsect1/para +#: chfn.1.xml.out:158 +#, fuzzy +#| msgid "" +#| "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 user account." +msgid "" +"If none of the options are selected, <_:command-1/> operates in an " +"interactive fashion, prompting the user with the current values for all of " +"the fields. Enter the new value to change the field, or leave the line blank " +"to use the current value. The current value is displayed between a pair of " +"<_:emphasis-2/> marks. Without options, <_:command-3/> prompts for the " +"current user account." +msgstr "" +"Se nenhuma das opções for selecionada, o chfn opera num " +"modo interativo, pedido ao utilizador os valores actuais para todos os " +"campos. Insira o novo valor para mudar o campo, ou deixe esta linha em " +"branco para usar o valor actual. O valor actual é mostrado entre um par de " +"parêntesis rectos [ ]. Sem opções, o " +"chfn pergunta pela conta de utilizador actual." + +#. (itstool) path: listitem/para +#: chfn.1.xml.out:189 chgpasswd.8.xml.out:235 chpasswd.8.xml.out:291 +#: chsh.1.xml.out:202 groupadd.8.xml.out:278 groupmod.8.xml.out:241 +#: login.1.xml.out:367 login.access.5.xml.out:102 newusers.8.xml.out:446 +#: passwd.1.xml.out:429 pwconv.8.xml.out:232 su.1.xml.out:359 +#: useradd.8.xml.out:819 userdel.8.xml.out:193 +msgid "Shadow password suite configuration." +msgstr "Suite de configuração de palavra passe sombra" + +#. (itstool) path: citerefentry/refentrytitle +#. (itstool) path: refmeta/refentrytitle +#. (itstool) path: refnamediv/refname +#. (itstool) path: cmdsynopsis/command +#. (itstool) path: para/command +#. (itstool) path: varlistentry/term +#: chfn.1.xml.out:205 chsh.1.xml.out:36 chsh.1.xml.out:43 chsh.1.xml.out:49 +#: chsh.1.xml.out:62 chsh.1.xml.out:73 chsh.1.xml.out:109 +#: groupadd.8.xml.out:348 groupdel.8.xml.out:208 groupmems.8.xml.out:212 +#: groupmod.8.xml.out:329 login.defs.5.xml.out:280 useradd.8.xml.out:901 +#: userdel.8.xml.out:313 usermod.8.xml.out:625 +msgid "chsh" +msgstr "chsh" + +#. (itstool) path: citerefentry/refentrytitle +#. (itstool) path: para/filename +#. (itstool) path: refmeta/refentrytitle +#. (itstool) path: refnamediv/refname +#: chfn.1.xml.out:208 chgpasswd.8.xml.out:251 chpasswd.8.xml.out:314 +#: chsh.1.xml.out:215 groupadd.8.xml.out:194 groupadd.8.xml.out:363 +#: groupmod.8.xml.out:344 login.1.xml.out:389 login.defs.5.xml.out:104 +#: login.defs.5.xml.out:111 newusers.8.xml.out:300 newusers.8.xml.out:474 +#: passwd.1.xml.out:509 pwconv.8.xml.out:92 pwconv.8.xml.out:94 +#: pwconv.8.xml.out:108 pwconv.8.xml.out:245 su.1.xml.out:418 +#: useradd.8.xml.out:919 userdel.8.xml.out:117 userdel.8.xml.out:319 +#: usermod.8.xml.out:646 vipw.8.xml.out:214 +msgid "login.defs" +msgstr "login.defs" + +#. (itstool) path: refsect1/para +#: chfn.1.xml.out:203 chgpasswd.8.xml.out:243 chsh.1.xml.out:210 +#: limits.5.xml.out:183 +msgid "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>." +msgstr "" + +#. (itstool) path: author/contrib +#: chgpasswd.8.xml.out:25 +msgid "Creation, 2006" +msgstr "Criação, 2006" + +#. (itstool) path: refmeta/refentrytitle +#. (itstool) path: refnamediv/refname +#. (itstool) path: cmdsynopsis/command +#. (itstool) path: para/command +#. (itstool) path: varlistentry/term +#: chgpasswd.8.xml.out:35 chgpasswd.8.xml.out:42 chgpasswd.8.xml.out:48 +#: chgpasswd.8.xml.out:58 chgpasswd.8.xml.out:68 chgpasswd.8.xml.out:85 +#: login.defs.5.xml.out:253 +msgid "chgpasswd" +msgstr "chgpasswd" + +#. (itstool) path: refmeta/manvolnum +#. (itstool) path: citerefentry/manvolnum +#. (itstool) path: term/replaceable +#: chgpasswd.8.xml.out:36 chgpasswd.8.xml.out:248 chpasswd.8.xml.out:40 +#: chpasswd.8.xml.out:310 chpasswd.8.xml.out:318 faillog.5.xml.out:87 +#: faillog.8.xml.out:34 gpasswd.1.xml.out:282 gpasswd.1.xml.out:285 +#: gpasswd.1.xml.out:288 gpasswd.1.xml.out:291 groupadd.8.xml.out:37 +#: groupadd.8.xml.out:354 groupadd.8.xml.out:357 groupadd.8.xml.out:360 +#: groupadd.8.xml.out:366 groupadd.8.xml.out:369 groupadd.8.xml.out:372 +#: groupdel.8.xml.out:35 groupdel.8.xml.out:186 groupdel.8.xml.out:214 +#: groupdel.8.xml.out:217 groupdel.8.xml.out:220 groupdel.8.xml.out:223 +#: groupdel.8.xml.out:226 groupdel.8.xml.out:229 groupmems.8.xml.out:38 +#: groupmems.8.xml.out:218 groupmems.8.xml.out:221 groupmems.8.xml.out:224 +#: groupmems.8.xml.out:227 groupmems.8.xml.out:230 groupmod.8.xml.out:35 +#: groupmod.8.xml.out:335 groupmod.8.xml.out:338 groupmod.8.xml.out:341 +#: groupmod.8.xml.out:347 groupmod.8.xml.out:350 groupmod.8.xml.out:353 +#: grpck.8.xml.out:34 grpck.8.xml.out:283 grpck.8.xml.out:294 +#: gshadow.5.xml.out:159 gshadow.5.xml.out:162 lastlog.8.xml.out:36 +#: login.1.xml.out:174 login.1.xml.out:176 login.1.xml.out:249 +#: login.1.xml.out:251 login.1.xml.out:401 login.defs.5.xml.out:564 +#: logoutd.8.xml.out:34 newusers.8.xml.out:52 newusers.8.xml.out:488 +#: nologin.8.xml.out:23 passwd.1.xml.out:496 passwd.1.xml.out:513 +#: passwd.5.xml.out:185 passwd.5.xml.out:188 passwd.5.xml.out:191 +#: passwd.5.xml.out:200 pwck.8.xml.out:41 pwck.8.xml.out:339 pwck.8.xml.out:348 +#: pwconv.8.xml.out:40 pwconv.8.xml.out:242 pwconv.8.xml.out:248 +#: pwconv.8.xml.out:251 pwconv.8.xml.out:254 shadow.5.xml.out:274 +#: shadow.5.xml.out:277 shadow.5.xml.out:280 shadow.5.xml.out:286 +#: suauth.5.xml.out:192 useradd.8.xml.out:53 useradd.8.xml.out:576 +#: useradd.8.xml.out:590 useradd.8.xml.out:910 useradd.8.xml.out:913 +#: useradd.8.xml.out:916 useradd.8.xml.out:922 useradd.8.xml.out:933 +#: useradd.8.xml.out:936 userdel.8.xml.out:40 userdel.8.xml.out:259 +#: userdel.8.xml.out:322 userdel.8.xml.out:325 userdel.8.xml.out:328 +#: userdel.8.xml.out:331 userdel.8.xml.out:342 userdel.8.xml.out:345 +#: usermod.8.xml.out:41 usermod.8.xml.out:522 usermod.8.xml.out:634 +#: usermod.8.xml.out:637 usermod.8.xml.out:640 usermod.8.xml.out:643 +#: usermod.8.xml.out:657 usermod.8.xml.out:660 vipw.8.xml.out:36 +msgid "8" +msgstr "8" + +#. (itstool) path: refmeta/refmiscinfo +#: chgpasswd.8.xml.out:37 chpasswd.8.xml.out:41 faillog.8.xml.out:35 +#: groupadd.8.xml.out:38 groupdel.8.xml.out:36 groupmems.8.xml.out:39 +#: groupmod.8.xml.out:36 grpck.8.xml.out:35 lastlog.8.xml.out:37 +#: logoutd.8.xml.out:35 newusers.8.xml.out:53 nologin.8.xml.out:24 +#: pwck.8.xml.out:42 pwconv.8.xml.out:41 useradd.8.xml.out:54 +#: userdel.8.xml.out:41 usermod.8.xml.out:42 vipw.8.xml.out:37 +msgid "System Management Commands" +msgstr "Comandos de Gestão do Sistema" + +#. (itstool) path: refnamediv/refpurpose +#: chgpasswd.8.xml.out:43 +msgid "update group passwords in batch mode" +msgstr "actualiza palavras passe de grupo em modo de lote" + +#. (itstool) path: refsect1/para +#: chgpasswd.8.xml.out:57 +#, fuzzy +#| msgid "" +#| "The chgpasswd command reads a list of group name and " +#| "password pairs from standard input and uses this information to update a " +#| "set of existing groups. Each line is of the format:" +msgid "" +"The <_:command-1/> command reads a list of group name and password pairs " +"from standard input and uses this information to update a set of existing " +"groups. Each line is of the format:" +msgstr "" +"O comando chgpasswd lê uma lista de pares de nome de " +"grupo e palavra passe a partir da entrada standard e usa esta informação " +"para actualizar um conjunto de grupos existentes Cada linha tem o formato:" + +#. (itstool) path: para/emphasis +#. (itstool) path: arg/replaceable +#. (itstool) path: term/replaceable +#: chgpasswd.8.xml.out:63 groupmems.8.xml.out:54 groupmems.8.xml.out:110 +msgid "group_name" +msgstr "group_name" + +#. (itstool) path: para/emphasis +#: chgpasswd.8.xml.out:64 chpasswd.8.xml.out:68 passwd.5.xml.out:77 +#: passwd.5.xml.out:86 passwd.5.xml.out:91 passwd.5.xml.out:95 +#: passwd.5.xml.out:98 +#, fuzzy +#| msgid "passwd" +msgid "password" +msgstr "passwd" + +#. (itstool) path: refsect1/para +#: chgpasswd.8.xml.out:62 chpasswd.8.xml.out:66 +msgid "<_:emphasis-1/>:<_:emphasis-2/>" +msgstr "" + +#. (itstool) path: refsect1/para +#: chgpasswd.8.xml.out:66 +#, fuzzy +#| msgid "" +#| "By default the supplied password must be in clear-text, and is encrypted " +#| "by chgpasswd." +msgid "" +"By default the supplied password must be in clear-text, and is encrypted by " +"<_:command-1/>." +msgstr "" +"Por predefinição a palavra passe fornecida tem de estar em texto simples, e " +"é encriptada pelo chgpasswd." + +#. (itstool) path: para/option +#: chgpasswd.8.xml.out:72 chpasswd.8.xml.out:77 chpasswd.8.xml.out:138 +#: passwd.1.xml.out:114 +#, fuzzy +#| msgid "ENCRYPT_METHOD MD5_CRYPT_ENAB" +msgid "ENCRYPT_METHOD" +msgstr "ENCRYPT_METHOD MD5_CRYPT_ENAB" + +#. (itstool) path: para/option +#. (itstool) path: term/option +#: chgpasswd.8.xml.out:73 chgpasswd.8.xml.out:107 chpasswd.8.xml.out:80 +#: chpasswd.8.xml.out:86 chpasswd.8.xml.out:136 chpasswd.8.xml.out:145 +#: passwd.1.xml.out:176 useradd.8.xml.out:179 useradd.8.xml.out:630 +#: usermod.8.xml.out:129 +#, fuzzy +#| msgid "-" +msgid "-e" +msgstr "-" + +#. (itstool) path: para/option +#. (itstool) path: term/option +#. (itstool) path: arg/arg +#: chgpasswd.8.xml.out:74 chgpasswd.8.xml.out:90 chpasswd.8.xml.out:80 +#: chpasswd.8.xml.out:86 chpasswd.8.xml.out:116 chpasswd.8.xml.out:135 +#: expiry.1.xml.out:60 expiry.1.xml.out:73 newusers.8.xml.out:270 +#: sg.1.xml.out:50 su.1.xml.out:86 su.1.xml.out:126 su.1.xml.out:131 +#: useradd.8.xml.out:139 usermod.8.xml.out:99 +msgid "-c" +msgstr "-c" + +#. (itstool) path: refsect1/para +#: chgpasswd.8.xml.out:70 +#, fuzzy +#| msgid "" +#| "The default encryption algorithm can be defined for the system with the " +#| " variable of /etc/login.defs, and can be overwritten with the , , or options." +msgid "" +"The default encryption algorithm can be defined for the system with the <_:" +"option-1/> variable of <_:filename-2/>, and can be overwritten with the <_:" +"option-3/>, <_:option-4/>, or <_:option-5/> options." +msgstr "" +"O algoritmo de encriptação predefinido pode ser definido para o sistema com " +"a variável de /etc/login.defs, e pode ser sobreposto com as opções , , ou ." + +#. (itstool) path: refsect1/para +#: chgpasswd.8.xml.out:76 chpasswd.8.xml.out:101 +msgid "" +"This command is intended to be used in a large system environment where many " +"accounts are created at a single time." +msgstr "" +"Este comando destina-se a ser usado num ambiente de sistema grande onde " +"muitas contas são criadas de uma só vez." + +#. (itstool) path: term/option +#: chgpasswd.8.xml.out:90 chpasswd.8.xml.out:116 newusers.8.xml.out:270 +msgid "--crypt-method" +msgstr "" + +#. (itstool) path: listitem/para +#: chgpasswd.8.xml.out:92 chpasswd.8.xml.out:119 newusers.8.xml.out:272 +msgid "Use the specified method to encrypt the passwords." +msgstr "Usa o método especificado para encriptar as palavras passe." + +#. (itstool) path: phrase/replaceable +#: chgpasswd.8.xml.out:95 chgpasswd.8.xml.out:149 chpasswd.8.xml.out:122 +#: chpasswd.8.xml.out:208 newusers.8.xml.out:330 +msgid "BCRYPT" +msgstr "" + +#. (itstool) path: para/phrase +#: chgpasswd.8.xml.out:94 chpasswd.8.xml.out:121 +#, fuzzy +#| msgid "-h " +msgid "<_:replaceable-1/>," +msgstr "-h " + +#. (itstool) path: para/replaceable +#: chgpasswd.8.xml.out:96 chpasswd.8.xml.out:123 +msgid "DES" +msgstr "" + +#. (itstool) path: para/replaceable +#: chgpasswd.8.xml.out:97 chpasswd.8.xml.out:124 +msgid "MD5" +msgstr "" + +#. (itstool) path: phrase/replaceable +#: chgpasswd.8.xml.out:98 chgpasswd.8.xml.out:151 chpasswd.8.xml.out:125 +#: chpasswd.8.xml.out:210 newusers.8.xml.out:332 +msgid "SHA256" +msgstr "" + +#. (itstool) path: phrase/replaceable +#: chgpasswd.8.xml.out:99 chgpasswd.8.xml.out:152 chpasswd.8.xml.out:126 +#: chpasswd.8.xml.out:211 newusers.8.xml.out:333 +msgid "SHA512" +msgstr "" + +#. (itstool) path: para/phrase +#: chgpasswd.8.xml.out:97 chpasswd.8.xml.out:124 +msgid ", <_:replaceable-1/>, <_:replaceable-2/>" +msgstr "" + +#. (itstool) path: phrase/replaceable +#: chgpasswd.8.xml.out:100 chgpasswd.8.xml.out:154 chpasswd.8.xml.out:127 +#: chpasswd.8.xml.out:213 newusers.8.xml.out:335 +#, fuzzy +#| msgid "DESCRIPTION" +msgid "YESCRYPT" +msgstr "DESCRIÇÃO" + +#. (itstool) path: para/phrase +#: chgpasswd.8.xml.out:99 chpasswd.8.xml.out:126 +#, fuzzy +#| msgid "-h " +msgid ", <_:replaceable-1/>" +msgstr "-h " + +#. (itstool) path: para/replaceable +#: chgpasswd.8.xml.out:101 chpasswd.8.xml.out:128 +msgid "NONE" +msgstr "" + +#. (itstool) path: listitem/para +#: chgpasswd.8.xml.out:93 chpasswd.8.xml.out:120 +msgid "" +"The available methods are <_:phrase-1/> <_:replaceable-2/>, <_:replaceable-3/" +"><_:phrase-4/><_:phrase-5/> and <_:replaceable-6/> if your libc supports " +"these methods." +msgstr "" + +#. (itstool) path: term/option +#: chgpasswd.8.xml.out:107 chpasswd.8.xml.out:145 +#, fuzzy +#| msgid "encrypted password" +msgid "--encrypted" +msgstr "palavra passe encriptada" + +#. (itstool) path: listitem/para +#: chgpasswd.8.xml.out:109 chpasswd.8.xml.out:147 +msgid "Supplied passwords are in encrypted form." +msgstr "Palavras passe fornecidas estão em formato encriptado." + +#. (itstool) path: term/option +#: chgpasswd.8.xml.out:119 chpasswd.8.xml.out:161 +msgid "--md5" +msgstr "" + +#. (itstool) path: listitem/para +#: chgpasswd.8.xml.out:121 chpasswd.8.xml.out:163 +msgid "" +"Use MD5 encryption instead of DES when the supplied passwords are not " +"encrypted." +msgstr "" +"Usa encriptação MD5 em vez de DES quando as palavras passe fornecidas não " +"estão encriptadas." + +#. (itstool) path: term/option +#. (itstool) path: para/option +#: chgpasswd.8.xml.out:141 chpasswd.8.xml.out:199 chsh.1.xml.out:97 +#: chsh.1.xml.out:108 grpck.8.xml.out:124 grpck.8.xml.out:161 +#: newusers.8.xml.out:322 passwd.1.xml.out:363 pwck.8.xml.out:155 +#: pwck.8.xml.out:209 su.1.xml.out:163 useradd.8.xml.out:519 +#: useradd.8.xml.out:675 usermod.8.xml.out:357 vipw.8.xml.out:70 +#: vipw.8.xml.out:127 +#, fuzzy +#| msgid "-" +msgid "-s" +msgstr "-" + +#. (itstool) path: term/option +#: chgpasswd.8.xml.out:141 chpasswd.8.xml.out:199 newusers.8.xml.out:322 +msgid "--sha-rounds" +msgstr "" + +#. (itstool) path: listitem/para +#: chgpasswd.8.xml.out:143 chpasswd.8.xml.out:202 newusers.8.xml.out:324 +msgid "Use the specified number of rounds to encrypt the passwords." +msgstr "Usa o número de rondas especificado para encriptar as palavras passe." + +#. (itstool) path: listitem/para +#: chgpasswd.8.xml.out:146 chpasswd.8.xml.out:205 newusers.8.xml.out:327 +msgid "" +"You can only use this option with crypt method: <_:phrase-1/> <_:phrase-2/> " +"<_:phrase-3/>" +msgstr "" + +#. (itstool) path: listitem/para +#: chgpasswd.8.xml.out:156 chpasswd.8.xml.out:215 newusers.8.xml.out:337 +#, fuzzy +#| msgid "" +#| "By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS " +#| "and SHA_CRYPT_MAX_ROUNDS variables in /etc/login.defs." +msgid "" +"By default, the number of rounds for BCRYPT is defined by the " +"BCRYPT_MIN_ROUNDS and BCRYPT_MAX_ROUNDS variables in <_:filename-1/>." +msgstr "" +"Por predefinição, o número de rondas é definido pelas variáveis " +"SHA_CRYPT_MIN_ROUNDS e SHA_CRYPT_MAX_ROUNDS em /etc/login.defs." + +#. (itstool) path: listitem/para +#: chgpasswd.8.xml.out:161 chpasswd.8.xml.out:220 +#, fuzzy +#| msgid "" +#| "A minimal value of 1000 and a maximal value of 999,999,999 will be " +#| "enforced." +msgid "" +"A minimal value of 4 and a maximal value of 31 will be enforced for BCRYPT. " +"The default number of rounds is 13." +msgstr "Será forçado um valor mínimo de 1000 e um valor máximo de 999,999,999." + +#. (itstool) path: listitem/para +#: chgpasswd.8.xml.out:165 chpasswd.8.xml.out:224 newusers.8.xml.out:346 +#, fuzzy +#| msgid "" +#| "By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS " +#| "and SHA_CRYPT_MAX_ROUNDS variables in /etc/login.defs." +msgid "" +"By default, the number of rounds for SHA256 or SHA512 is defined by the " +"SHA_CRYPT_MIN_ROUNDS and SHA_CRYPT_MAX_ROUNDS variables in <_:filename-1/>." +msgstr "" +"Por predefinição, o número de rondas é definido pelas variáveis " +"SHA_CRYPT_MIN_ROUNDS e SHA_CRYPT_MAX_ROUNDS em /etc/login.defs." + +#. (itstool) path: listitem/para +#: chgpasswd.8.xml.out:170 chpasswd.8.xml.out:229 +#, fuzzy +#| msgid "" +#| "A minimal value of 1000 and a maximal value of 999,999,999 will be " +#| "enforced." +msgid "" +"A minimal value of 1000 and a maximal value of 999,999,999 will be enforced " +"for SHA256 and SHA512. The default number of rounds is 5000." +msgstr "Será forçado um valor mínimo de 1000 e um valor máximo de 999,999,999." + +#. (itstool) path: listitem/para +#: chgpasswd.8.xml.out:175 chpasswd.8.xml.out:234 newusers.8.xml.out:355 +#, fuzzy +#| msgid "" +#| "By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS " +#| "and SHA_CRYPT_MAX_ROUNDS variables in /etc/login.defs." +msgid "" +"By default, the number of rounds for YESCRYPT is defined by the " +"YESCRYPT_COST_FACTOR in <_:filename-1/>." +msgstr "" +"Por predefinição, o número de rondas é definido pelas variáveis " +"SHA_CRYPT_MIN_ROUNDS e SHA_CRYPT_MAX_ROUNDS em /etc/login.defs." + +#. (itstool) path: listitem/para +#: chgpasswd.8.xml.out:179 chpasswd.8.xml.out:238 +#, fuzzy +#| msgid "" +#| "A minimal value of 1000 and a maximal value of 999,999,999 will be " +#| "enforced." +msgid "" +"A minimal value of 1 and a maximal value of 11 will be enforced for " +"YESCRYPT. The default number of rounds is 5." +msgstr "Será forçado um valor mínimo de 1000 e um valor máximo de 999,999,999." + +#. (itstool) path: refsect1/title +#: chgpasswd.8.xml.out:189 chpasswd.8.xml.out:248 faillog.8.xml.out:209 +#: gpasswd.1.xml.out:231 groupadd.8.xml.out:285 groupdel.8.xml.out:121 +#: lastlog.8.xml.out:206 login.1.xml.out:236 newusers.8.xml.out:369 +#: passwd.1.xml.out:376 shadow.3.xml.out:194 su.1.xml.out:306 +#: useradd.8.xml.out:702 userdel.8.xml.out:281 usermod.8.xml.out:534 +msgid "CAVEATS" +msgstr "RESSALVAS" + +#. (itstool) path: refsect1/para +#: chgpasswd.8.xml.out:190 chpasswd.8.xml.out:249 +msgid "" +"Remember to set permissions or umask to prevent readability of unencrypted " +"files by other users." +msgstr "" +"Lembre-se de definir permissões ou umask para impedir a leitura de ficheiros " +"não encriptados por outros utilizadores." + +#. (itstool) path: refsect1/para +#: chgpasswd.8.xml.out:194 newusers.8.xml.out:374 +msgid "" +"You should make sure the passwords and the encryption method respect the " +"system's password policy." +msgstr "" +"Você deve certificar que as palavras passe e o método de encriptação " +"respeitam a política de palavras passe do sistema." + +#. (itstool) path: term/filename +#. (itstool) path: phrase/filename +#. (itstool) path: para/filename +#. (itstool) path: citerefentry/refentrytitle +#: chgpasswd.8.xml.out:221 gpasswd.1.xml.out:50 gpasswd.1.xml.out:53 +#: gpasswd.1.xml.out:75 gpasswd.1.xml.out:233 gpasswd.1.xml.out:261 +#: groupadd.8.xml.out:170 groupadd.8.xml.out:264 groupdel.8.xml.out:148 +#: groupmems.8.xml.out:191 groupmod.8.xml.out:227 groups.1.xml.out:58 +#: groups.1.xml.out:70 groups.1.xml.out:80 grpck.8.xml.out:62 +#: grpck.8.xml.out:81 grpck.8.xml.out:94 grpck.8.xml.out:112 +#: grpck.8.xml.out:164 grpck.8.xml.out:177 grpck.8.xml.out:185 +#: grpck.8.xml.out:211 gshadow.5.xml.out:91 gshadow.5.xml.out:124 +#: gshadow.5.xml.out:135 newgrp.1.xml.out:80 newgrp.1.xml.out:112 +#: newusers.8.xml.out:432 pwck.8.xml.out:261 pwconv.8.xml.out:128 +#: sg.1.xml.out:101 suauth.5.xml.out:90 useradd.8.xml.out:775 +#: userdel.8.xml.out:185 usermod.8.xml.out:574 vipw.8.xml.out:69 +#: vipw.8.xml.out:175 +msgid "/etc/group" +msgstr "/etc/group" + +#. (itstool) path: listitem/para +#: chgpasswd.8.xml.out:223 gpasswd.1.xml.out:263 groupadd.8.xml.out:266 +#: groupdel.8.xml.out:150 groupmems.8.xml.out:193 groupmod.8.xml.out:229 +#: groups.1.xml.out:82 grpck.8.xml.out:213 gshadow.5.xml.out:137 +#: newgrp.1.xml.out:114 newusers.8.xml.out:434 pwck.8.xml.out:263 +#: sg.1.xml.out:103 useradd.8.xml.out:777 userdel.8.xml.out:187 +#: vipw.8.xml.out:177 +msgid "Group account information." +msgstr "Informação da conta de grupo." + +#. (itstool) path: term/filename +#. (itstool) path: phrase/filename +#. (itstool) path: para/filename +#: chgpasswd.8.xml.out:227 gpasswd.1.xml.out:54 gpasswd.1.xml.out:76 +#: gpasswd.1.xml.out:234 gpasswd.1.xml.out:267 groupadd.8.xml.out:170 +#: groupadd.8.xml.out:270 groupdel.8.xml.out:154 groupmems.8.xml.out:87 +#: groupmems.8.xml.out:88 groupmems.8.xml.out:98 groupmems.8.xml.out:103 +#: groupmems.8.xml.out:104 groupmems.8.xml.out:134 groupmems.8.xml.out:135 +#: groupmems.8.xml.out:197 groupmod.8.xml.out:233 grpck.8.xml.out:63 +#: grpck.8.xml.out:93 grpck.8.xml.out:114 grpck.8.xml.out:166 +#: grpck.8.xml.out:186 grpck.8.xml.out:217 gshadow.5.xml.out:36 +#: gshadow.5.xml.out:141 newgrp.1.xml.out:78 newgrp.1.xml.out:118 +#: newusers.8.xml.out:438 pwconv.8.xml.out:129 sg.1.xml.out:107 +#: useradd.8.xml.out:781 usermod.8.xml.out:580 vipw.8.xml.out:72 +#: vipw.8.xml.out:181 +msgid "/etc/gshadow" +msgstr "/etc/gshadow" + +#. (itstool) path: listitem/para +#: chgpasswd.8.xml.out:229 gpasswd.1.xml.out:269 groupadd.8.xml.out:272 +#: groupdel.8.xml.out:156 groupmod.8.xml.out:235 grpck.8.xml.out:219 +#: gshadow.5.xml.out:143 newgrp.1.xml.out:120 newusers.8.xml.out:440 +#: sg.1.xml.out:109 useradd.8.xml.out:783 vipw.8.xml.out:183 +msgid "Secure group account information." +msgstr "Informação da conta de grupo seguro." + +#. (itstool) path: citerefentry/refentrytitle +#. (itstool) path: refmeta/refentrytitle +#. (itstool) path: refnamediv/refname +#. (itstool) path: cmdsynopsis/command +#. (itstool) path: para/command +#. (itstool) path: varlistentry/term +#: chgpasswd.8.xml.out:245 gpasswd.1.xml.out:40 gpasswd.1.xml.out:47 +#: gpasswd.1.xml.out:61 gpasswd.1.xml.out:74 gpasswd.1.xml.out:87 +#: gpasswd.1.xml.out:121 groupadd.8.xml.out:354 groupdel.8.xml.out:214 +#: groupmod.8.xml.out:335 gshadow.5.xml.out:153 login.defs.5.xml.out:290 +#: newgrp.1.xml.out:142 sg.1.xml.out:131 userdel.8.xml.out:322 +#: usermod.8.xml.out:634 +msgid "gpasswd" +msgstr "gpasswd" + +#. (itstool) path: citerefentry/refentrytitle +#. (itstool) path: refmeta/refentrytitle +#. (itstool) path: refnamediv/refname +#. (itstool) path: cmdsynopsis/command +#. (itstool) path: para/command +#. (itstool) path: varlistentry/term +#: chgpasswd.8.xml.out:248 gpasswd.1.xml.out:282 groupadd.8.xml.out:36 +#: groupadd.8.xml.out:43 groupadd.8.xml.out:49 groupadd.8.xml.out:61 +#: groupadd.8.xml.out:82 groupadd.8.xml.out:292 groupadd.8.xml.out:300 +#: groupdel.8.xml.out:217 groupmems.8.xml.out:218 groupmod.8.xml.out:338 +#: login.defs.5.xml.out:303 useradd.8.xml.out:910 userdel.8.xml.out:325 +#: usermod.8.xml.out:637 +msgid "groupadd" +msgstr "groupadd" + +#. (itstool) path: author/contrib +#: chpasswd.8.xml.out:23 groupadd.8.xml.out:20 groupdel.8.xml.out:18 +#: groupmod.8.xml.out:18 groups.1.xml.out:17 login.defs.5.xml.out:88 +#: logoutd.8.xml.out:17 newgrp.1.xml.out:18 newusers.8.xml.out:35 +#: sg.1.xml.out:18 useradd.8.xml.out:36 userdel.8.xml.out:23 +#: usermod.8.xml.out:24 msgid "Creation, 1991" msgstr "Criação, 1991" -#: usermod.8.xml:64(refentrytitle) usermod.8.xml:71(refname) usermod.8.xml:77(command) login.defs.5.xml:510(term) -msgid "usermod" -msgstr "usermod" +#. (itstool) path: refmeta/refentrytitle +#. (itstool) path: refnamediv/refname +#. (itstool) path: cmdsynopsis/command +#. (itstool) path: para/command +#. (itstool) path: varlistentry/term +#. (itstool) path: citerefentry/refentrytitle +#: chpasswd.8.xml.out:39 chpasswd.8.xml.out:46 chpasswd.8.xml.out:52 +#: chpasswd.8.xml.out:62 chpasswd.8.xml.out:72 chpasswd.8.xml.out:91 +#: chpasswd.8.xml.out:98 chpasswd.8.xml.out:110 chpasswd.8.xml.out:297 +#: login.defs.5.xml.out:266 passwd.1.xml.out:496 +msgid "chpasswd" +msgstr "chpasswd" -#: usermod.8.xml:72(refpurpose) -msgid "modify a user account" -msgstr "modifica uma conta de utilizador" +#. (itstool) path: refnamediv/refpurpose +#: chpasswd.8.xml.out:47 +msgid "update passwords in batch mode" +msgstr "actualiza palavras passe em modo de lote" -#: usermod.8.xml:81(replaceable) userdel.8.xml:78(replaceable) useradd.8.xml:92(replaceable) passwd.1.xml:82(replaceable) chsh.1.xml:78(replaceable) chfn.1.xml:78(replaceable) chage.1.xml:75(replaceable) -msgid "LOGIN" -msgstr "LOGIN" - -#: usermod.8.xml:87(para) +#. (itstool) path: refsect1/para +#: chpasswd.8.xml.out:61 +#, fuzzy +#| msgid "" +#| "The chpasswd command reads a list of user name and " +#| "password pairs from standard input and uses this information to update a " +#| "group of existing users. Each line is of the format:" msgid "" -"The usermod command modifies the system account files to" -" reflect the changes that are specified on the command line." +"The <_:command-1/> command reads a list of user name and password pairs from " +"standard input and uses this information to update a group of existing " +"users. Each line is of the format:" msgstr "" -"O comando usermod modifica os ficheiros de conta do " -"sistema para refletor as alterações que foram especificadas na linha de " -"comandos." +"O comando chpasswd lê uma lista de pares de nome de " +"utilizador e palavra passe a partir da entrada standard e usa esta " +"informação para actualizar um grupo de utilizadores existentes. Cada linha " +"tem o formato:" -#: usermod.8.xml:95(para) -msgid "The options which apply to the usermod command are:" -msgstr "As opções que se aplicam ao comando usermod são:" +#. (itstool) path: para/emphasis +#. (itstool) path: arg/replaceable +#. (itstool) path: term/replaceable +#: chpasswd.8.xml.out:67 groupmems.8.xml.out:52 groupmems.8.xml.out:53 +#: groupmems.8.xml.out:83 groupmems.8.xml.out:94 +msgid "user_name" +msgstr "user_name" -#: usermod.8.xml:101(term) -msgid ", " -msgstr ", " - -#: usermod.8.xml:105(para) +#. (itstool) path: refsect1/para +#: chpasswd.8.xml.out:70 +#, fuzzy +#| msgid "" +#| "By default the passwords must be supplied in clear-text, and are " +#| "encrypted by chpasswd. Also the password age will be " +#| "updated, if present." msgid "" -"Add the user to the supplementary group(s). Use only with the ." +"Por predefinição as palavras passe têm de ser fornecidas em texto simples, e " +"são encriptadas pelo chpasswd. A idade da palavra passe " +"também será actualizada, se estiver presente." -#: usermod.8.xml:112(term) -msgid ", " -msgstr ", " +#. (itstool) path: para/option +#: chpasswd.8.xml.out:78 chpasswd.8.xml.out:139 +#, fuzzy +#| msgid "ENCRYPT_METHOD MD5_CRYPT_ENAB" +msgid "MD5_CRYPT_ENAB" +msgstr "ENCRYPT_METHOD MD5_CRYPT_ENAB" -#: usermod.8.xml:116(para) useradd.8.xml:135(para) pwck.8.xml:190(para) newusers.8.xml:276(para) -msgid "Allow names that do not conform to standards." -msgstr "Permite nomes que não estão em conformidade com standards." - -#: usermod.8.xml:122(term) useradd.8.xml:162(term) +#. (itstool) path: refsect1/para +#: chpasswd.8.xml.out:75 +#, fuzzy +#| msgid "" +#| "The default encryption algorithm can be defined for the system with the " +#| " variable of /etc/login.defs, and can be overwritten with the , , or options." msgid "" -",  COMMENT<" -"/replaceable>" +"The default encryption algorithm can be defined for the system with the <_:" +"option-1/> or <_:option-2/> variables of <_:filename-3/>, and can be " +"overwritten with the <_:option-4/>, <_:option-5/>, or <_:option-6/> options." msgstr "" -",  COMMENT<" -"/replaceable>" +"O algoritmo de encriptação predefinido pode ser definido para o sistema com " +"a variável de /etc/login.defs, e pode ser sobreposto com as opções , , ou ." -#: usermod.8.xml:126(para) +#. (itstool) path: refsect1/para +#: chpasswd.8.xml.out:83 +#, fuzzy +#| msgid "" +#| "By default, passwords are encrypted by PAM, but (even if not recommended) " +#| "you can select a different encryption method with the , or options." msgid "" -"The new value of the user's password file comment field. It is normally" -" modified using the chfn<" -"manvolnum>1 utility." +"By default, passwords are encrypted by PAM, but (even if not recommended) " +"you can select a different encryption method with the <_:option-1/>, <_:" +"option-2/>, or <_:option-3/> options." msgstr "" -"O novo valor do campo de comentários do ficheiro password do utilizador. " -"E normalmente modificado usando o utilitário chfn1." +"Por predefinição, as palavras passe são encriptadas pelo PAM, mas (mesmo que " +"não recomendado) você pode selecionar um método de encriptação diferente com " +"as opções , , ou ." -#: usermod.8.xml:135(term) +#. (itstool) path: para/phrase +#: chpasswd.8.xml.out:90 +#, fuzzy +#| msgid "By default, PAM is used to encrypt the passwords." +msgid "Except when PAM is used to encrypt the passwords," +msgstr "Por predefinição, é usado o PAM para encriptar as palavras passe." + +#. (itstool) path: refsect1/para +#: chpasswd.8.xml.out:89 +#, fuzzy +#| msgid "" +#| "Except when PAM is used to encrypt the " +#| "passwords,chpasswd first updates all the " +#| "passwords in memory, and then commits all the changes to disk if no " +#| "errors occurred for any user." msgid "" -",  HOME_DIR<" -"/replaceable>" +"<_:phrase-1/> <_:command-2/> first updates all the passwords in memory, and " +"then commits all the changes to disk if no errors occurred for any user." msgstr "" -",  HOME_DIR<" -"/replaceable>" +"Excepto quando o PAM é usado para encriptar as " +"palavras passe, o chpasswd primeiro actualiza " +"todas as palavras passe em memória, e depois guarda todas as alterações no " +"disco, se não ocorrerem erros para nenhum utilizador." -#: usermod.8.xml:139(para) -msgid "The user's new login directory." -msgstr "O novo directório de login do utilizador." - -#: usermod.8.xml:142(para) +#. (itstool) path: refsect1/para +#: chpasswd.8.xml.out:95 +#, fuzzy +#| msgid "" +#| "When PAM is used to encrypt the passwords (and update the passwords in " +#| "the system database) then if a password cannot be updated " +#| "chpasswd continues updating the passwords of the next " +#| "users, and will return an error code on exit." msgid "" -"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." +"When PAM is used to encrypt the passwords (and update the passwords in the " +"system database) then if a password cannot be updated <_:command-1/> " +"continues updating the passwords of the next users, and will return an error " +"code on exit." msgstr "" -"Se for fornecida a opção , o conteúdo do directório home " -"actual será movido para o novo directório home, o qual será criado se não " -"existir já." +"Quando o PAM é usado para encriptar as palavras passe (e actualizar as " +"palavras passe na base de dados do sistema) então se uma palavra passe não " +"puder ser actualizada o chpasswd continua a actualizar as " +"palavras passe dos próximos utilizadores, e irá retornar um código de erro " +"ao terminar." -#: usermod.8.xml:151(term) useradd.8.xml:200(term) useradd.8.xml:577(term) +#. (itstool) path: term/replaceable +#: chpasswd.8.xml.out:116 +msgid "METHOD" +msgstr "" + +#. (itstool) path: listitem/para +#: chpasswd.8.xml.out:131 +msgid "By default, PAM is used to encrypt the passwords." +msgstr "Por predefinição, é usado o PAM para encriptar as palavras passe." + +#. (itstool) path: listitem/para +#: chpasswd.8.xml.out:134 +#, fuzzy +#| msgid "" +#| "By default (if none of the , , or " +#| " options are specified), the encryption method is " +#| "defined by the or ,  EXPIRE_DATE" +"By default (if none of the <_:option-1/>, <_:option-2/>, or <_:option-3/> " +"options are specified), the encryption method is defined by the <_:option-4/" +"> or <_:option-5/> variables of <_:filename-6/>." msgstr "" -",  EXPIRE_DATE" +"Por predefinição (se nenhuma da opções , for especificada), o método de encriptação é " +"definido pelas variáveis ou " +" de /etc/login.defs." -#: usermod.8.xml:155(para) useradd.8.xml:204(para) +#. (itstool) path: term/replaceable +#: chpasswd.8.xml.out:199 +msgid "ROUNDS" +msgstr "" + +#. (itstool) path: term/filename +#: chpasswd.8.xml.out:295 +msgid "/etc/pam.d/chpasswd" +msgstr "/etc/pam.d/chpasswd" + +#. (itstool) path: listitem/para +#: chpasswd.8.xml.out:297 newusers.8.xml.out:452 passwd.1.xml.out:435 +#, fuzzy +#| msgid "PAM configuration for passwd." +msgid "PAM configuration for <_:command-1/>." +msgstr "Configuração PAM para passwd." + +#. (itstool) path: citerefentry/refentrytitle +#. (itstool) path: varlistentry/term +#. (itstool) path: refmeta/refentrytitle +#. (itstool) path: refnamediv/refname +#. (itstool) path: cmdsynopsis/command +#. (itstool) path: para/command +#: chpasswd.8.xml.out:310 login.defs.5.xml.out:393 newusers.8.xml.out:51 +#: newusers.8.xml.out:58 newusers.8.xml.out:64 newusers.8.xml.out:77 +#: newusers.8.xml.out:98 newusers.8.xml.out:125 newusers.8.xml.out:134 +#: newusers.8.xml.out:153 newusers.8.xml.out:166 newusers.8.xml.out:172 +#: newusers.8.xml.out:174 newusers.8.xml.out:212 newusers.8.xml.out:232 +#: newusers.8.xml.out:254 newusers.8.xml.out:452 useradd.8.xml.out:922 +msgid "newusers" +msgstr "newusers" + +#. (itstool) path: para/phrase +#: chpasswd.8.xml.out:312 grpck.8.xml.out:285 passwd.1.xml.out:507 +msgid "<_:citerefentry-1/>," +msgstr "" + +#. (itstool) path: citerefentry/refentrytitle +#. (itstool) path: varlistentry/term +#. (itstool) path: refmeta/refentrytitle +#. (itstool) path: refnamediv/refname +#. (itstool) path: cmdsynopsis/command +#. (itstool) path: para/command +#: chpasswd.8.xml.out:318 groupadd.8.xml.out:366 groupdel.8.xml.out:223 +#: groupmems.8.xml.out:224 groupmod.8.xml.out:347 login.defs.5.xml.out:481 +#: newusers.8.xml.out:488 useradd.8.xml.out:52 useradd.8.xml.out:59 +#: useradd.8.xml.out:64 useradd.8.xml.out:71 useradd.8.xml.out:75 +#: useradd.8.xml.out:87 useradd.8.xml.out:90 useradd.8.xml.out:103 +#: useradd.8.xml.out:129 useradd.8.xml.out:187 useradd.8.xml.out:209 +#: useradd.8.xml.out:239 useradd.8.xml.out:286 useradd.8.xml.out:343 +#: useradd.8.xml.out:474 useradd.8.xml.out:604 useradd.8.xml.out:606 +#: useradd.8.xml.out:710 useradd.8.xml.out:828 userdel.8.xml.out:342 +#: usermod.8.xml.out:657 +msgid "useradd" +msgstr "useradd" + +#. (itstool) path: refsect1/para +#: chpasswd.8.xml.out:305 newusers.8.xml.out:472 msgid "" -"The date on which the user account will be disabled. The date is specified in" -" the format YYYY-MM-DD." +"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:phrase-3/> <_:citerefentry-4/>." msgstr "" -"A data na qual a conta do utilizador será desactivada. A data é especificada " -"no formato AAAA-MM-DD." -#: usermod.8.xml:159(para) +#. (itstool) path: refnamediv/refpurpose +#: chsh.1.xml.out:44 +msgid "change login shell" +msgstr "muda a shell de login" + +#. (itstool) path: refsect1/para +#: chsh.1.xml.out:61 +#, fuzzy +#| msgid "" +#| "The chsh command changes the user login shell. This " +#| "determines the name of the user's initial login command. A normal user " +#| "may only change the login shell for her own account; the superuser may " +#| "change the login shell for any account." msgid "" -"An empty EXPIRE_DATE argument will disable the" -" expiration of the account." +"The <_:command-1/> command changes the user login shell. This determines the " +"name of the user's initial login command. A normal user may only change the " +"login shell for her own account; the superuser may change the login shell " +"for any account." msgstr "" -"Um argumento EXPIRE_DATE vazio irá desactivar " -"o expirar da conta." +"O comando chsh muda a shell de login do utilizador. Isto " +"determina o nome do comando de login inicial. Um utilizador normal pode " +"apenas mudar a shell de login para a sua própria conta; o super-utilizador " +"pode mudar a shell de login para qualquer conta." -#: usermod.8.xml:163(para) usermod.8.xml:184(para) +#. (itstool) path: term/option +#. (itstool) path: para/option +#: chsh.1.xml.out:97 su.1.xml.out:163 su.1.xml.out:199 useradd.8.xml.out:519 +#: useradd.8.xml.out:675 usermod.8.xml.out:357 +#, fuzzy +#| msgid "pw_shell" +msgid "--shell" +msgstr "pw_shell" + +#. (itstool) path: term/replaceable +#. (itstool) path: para/option +#: chsh.1.xml.out:97 su.1.xml.out:163 useradd.8.xml.out:519 +#: useradd.8.xml.out:524 useradd.8.xml.out:675 useradd.8.xml.out:682 +#: usermod.8.xml.out:357 +msgid "SHELL" +msgstr "" + +#. (itstool) path: listitem/para +#: chsh.1.xml.out:100 msgid "" -"This option requires a /etc/shadow file. A /etc/shadow entry will be created if there were none." +"The name of the user's new login shell. Setting this field to blank causes " +"the system to select the default login shell." msgstr "" -"Esta opção requer um ficheiro /etc/shadow. Será criada " -"uma entrada /etc/shadow se não existir nenhuma." +"O nome da shell de login do novo utilizador. Definir este campo para vazio " +"faz com que o sistema selecione a shell de login predefinida." -#: usermod.8.xml:171(term) useradd.8.xml:217(term) useradd.8.xml:589(term) +#. (itstool) path: refsect1/para +#: chsh.1.xml.out:107 +#, fuzzy +#| msgid "" +#| "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." msgid "" -",  INACTIVE<" -"/replaceable>" +"If the <_:option-1/> option is not selected, <_:command-2/> operates in an " +"interactive fashion, prompting the user with the current login shell. Enter " +"the new value to change the shell, or leave the line blank to use the " +"current one. The current shell is displayed between a pair of <_:emphasis-3/" +"> marks." msgstr "" -",  INACTIVE<" -"/replaceable>" +"Se a opção não for selecionada, o chsh opera em modo interactivo, pedindo ao utilizador a shell de login " +"actual. Insira novo valor para mudar a shell, ou deixe a linha em branco " +"para usar a actual. A shell actual é mostrada entre um para de parêntesis " +"rectos [ ]." -#: usermod.8.xml:175(para) +#. (itstool) path: para/filename +#. (itstool) path: term/filename +#: chsh.1.xml.out:120 chsh.1.xml.out:124 chsh.1.xml.out:130 chsh.1.xml.out:143 +#: chsh.1.xml.out:172 chsh.1.xml.out:184 su.1.xml.out:198 +msgid "/etc/shells" +msgstr "/etc/shells" + +#. (itstool) path: para/filename +#: chsh.1.xml.out:123 chsh.1.xml.out:142 +msgid "/bin/rsh" +msgstr "" + +#. (itstool) path: refsect1/para +#: chsh.1.xml.out:118 +#, fuzzy +#| msgid "" +#| "The only restriction placed on the login shell is that the command name " +#| "must be listed in /etc/shells, unless the invoker is " +#| "the superuser, 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 ever changing her login shell back to its original " +#| "value." msgid "" -"The number of days after a password expires until the account is permanently" -" disabled." +"The only restriction placed on the login shell is that the command name must " +"be listed in <_:filename-1/>, unless the invoker is the superuser, and then " +"any value may be added. An account with a restricted login shell may not " +"change her login shell. For this reason, placing <_:filename-2/> in <_:" +"filename-3/> is discouraged since accidentally changing to a restricted " +"shell would prevent the user from ever changing her login shell back to its " +"original value." msgstr "" -"O número de dias após uma palavra-passe expirar até que a conta seja " -"desactivada permanentemente." +"A única restrição colocada na shell de login é que o nome de comando tem de " +"estar listado em /etc/shells, a menos que o invocador " +"seja o super-utilizador, e assim qualquer valor pode ser adicionado. Uma " +"conta com uma shell de login restringida não pode mudar a sua shell de " +"login. Por esta razão, colocar /bin/rsh em /" +"etc/shells é desencorajado a mudança acidental para uma shell " +"restringida iria impedir o utilizador de alguma vez voltar a mudar a sua " +"shell de login para o seu valor original." -#: usermod.8.xml:179(para) +#. (itstool) path: para/filename +#. (itstool) path: term/filename +#: chsh.1.xml.out:132 chsh.1.xml.out:181 +msgid "%vendordir%/shells" +msgstr "" + +#. (itstool) path: para/filename +#: chsh.1.xml.out:133 +msgid "%vendordir%/shells.d/*" +msgstr "" + +#. (itstool) path: para/filename +#: chsh.1.xml.out:134 +#, fuzzy +#| msgid "/etc/shells" +msgid "/etc/shells.d/*" +msgstr "/etc/shells" + +#. (itstool) path: para/filename +#: chsh.1.xml.out:135 +#, fuzzy +#| msgid "/etc/shells" +msgid "/etc/shells.d/@filename@" +msgstr "/etc/shells" + +#. (itstool) path: para/filename +#: chsh.1.xml.out:136 +msgid "%vendordir%/shells.d/@filename@" +msgstr "" + +#. (itstool) path: refsect1/para +#: chsh.1.xml.out:128 msgid "" -"A value of 0 disables the account as soon as the password has expired, and a" -" value of -1 disables the feature." +"The only restriction placed on the login shell is that the command name must " +"be listed in <_:filename-1/>. If this file does not exist, the definitions " +"are taken from the files <_:filename-2/>, <_:filename-3/> and <_:filename-4/" +"> in that order. If <_:filename-5/> exists, then <_:filename-6/> will not be " +"used. If the invoker is the superuser any value may be added regardless what " +"is defined in the configuration files. An account with a restricted login " +"shell may not change her login shell." msgstr "" -"Um valor de 0 desactiva a conta assim que a palavra-passe expirar, e um " -"valor -1 desactiva esta funcionalidade." -#: usermod.8.xml:192(term) useradd.8.xml:236(term) useradd.8.xml:604(term) +#. (itstool) path: refsect1/para +#: chsh.1.xml.out:141 msgid "" -",  GROUP<" -"/replaceable>" +"For this reason, placing <_:filename-1/> in <_:filename-2/> is discouraged " +"since accidentally changing to a restricted shell would prevent the user " +"from ever changing her login shell back to its original value." msgstr "" -",  GROUP<" -"/replaceable>" -#: usermod.8.xml:196(para) +#. (itstool) path: listitem/para +#: chsh.1.xml.out:174 +msgid "List of valid login shells." +msgstr "Lista de shells de login válidas." + +#. (itstool) path: listitem/para +#: chsh.1.xml.out:177 +#, fuzzy +#| msgid "List of valid login shells." +msgid "User defined list of valid login shells." +msgstr "Lista de shells de login válidas." + +#. (itstool) path: listitem/para +#: chsh.1.xml.out:183 +msgid "Default configuration file if <_:filename-1/> does not exist." +msgstr "" + +#. (itstool) path: term/filename +#: chsh.1.xml.out:188 +msgid "%vendordir%/shells.d" +msgstr "" + +#. (itstool) path: listitem/para +#: chsh.1.xml.out:190 +msgid "Directory for additional vendor specific configuration files." +msgstr "" + +#. (itstool) path: term/filename +#: chsh.1.xml.out:194 +#, fuzzy +#| msgid "/etc/shells" +msgid "/etc/shells.d" +msgstr "/etc/shells" + +#. (itstool) path: listitem/para +#: chsh.1.xml.out:196 +#, fuzzy +#| msgid "Directory containing default files." +msgid "Directory for additional user defined configuration files." +msgstr "Directório que contém ficheiros predefinidos." + +#. (itstool) path: refmeta/refentrytitle +#. (itstool) path: refnamediv/refname +#. (itstool) path: cmdsynopsis/command +#. (itstool) path: para/command +#: expiry.1.xml.out:37 expiry.1.xml.out:44 expiry.1.xml.out:50 +#: expiry.1.xml.out:60 expiry.1.xml.out:69 +msgid "expiry" +msgstr "expiry" + +#. (itstool) path: refnamediv/refpurpose +#: expiry.1.xml.out:45 +msgid "check and enforce password expiration policy" +msgstr "verifica e reforça a política de expiração da palavra passe" + +#. (itstool) path: arg/replaceable +#: expiry.1.xml.out:52 gpasswd.1.xml.out:63 +msgid "option" +msgstr "opção" + +#. (itstool) path: refsect1/para +#: expiry.1.xml.out:59 +#, fuzzy +#| msgid "" +#| "The expiry command checks () the " +#| "current password expiration and forces () changes when " +#| "required. It is callable as a normal user command." msgid "" -"The group name or number of the user's new initial login group. The group" -" must exist." +"The <_:command-1/> command checks (<_:option-2/>) the current password " +"expiration and forces (<_:option-3/>) changes when required. It is callable " +"as a normal user command." msgstr "" -"O nome do grupo ou número do grupo de login inicial dos novos utilizadores. " -"O grupo tem de existir." +"O comando expiry verifica () a " +"expiração da palavra passe actual e força () alterações " +"quando requerido. Pode ser chamado como comando de utilizador normal." -#: usermod.8.xml:200(para) +#. (itstool) path: term/option +#: expiry.1.xml.out:73 +msgid "--check" +msgstr "" + +#. (itstool) path: listitem/para +#: expiry.1.xml.out:75 +msgid "Check the password expiration of the current user." +msgstr "Verifica a expiração da palavra passe do utilizador actual." + +#. (itstool) path: term/option +#: expiry.1.xml.out:79 groupadd.8.xml.out:88 groupdel.8.xml.out:72 +#: userdel.8.xml.out:76 +msgid "--force" +msgstr "" + +#. (itstool) path: listitem/para +#: expiry.1.xml.out:81 +msgid "Force a password change if the current user has an expired password." +msgstr "" +"Força a mudança da palavra passe se o utilizador actual tem uma palavra " +"passe expirada." + +#. (itstool) path: author/contrib +#: faillog.5.xml.out:17 faillog.8.xml.out:17 login.1.xml.out:50 +#: passwd.1.xml.out:26 passwd.5.xml.out:17 porttime.5.xml.out:17 +#: shadow.3.xml.out:17 shadow.5.xml.out:17 su.1.xml.out:34 +msgid "Creation, 1989" +msgstr "Criação, 1989" + +#. (itstool) path: refmeta/refentrytitle +#. (itstool) path: refnamediv/refname +#. (itstool) path: citerefentry/refentrytitle +#. (itstool) path: cmdsynopsis/command +#. (itstool) path: para/command +#. (itstool) path: para/filename +#: faillog.5.xml.out:33 faillog.5.xml.out:40 faillog.5.xml.out:87 +#: faillog.8.xml.out:33 faillog.8.xml.out:40 faillog.8.xml.out:46 +#: faillog.8.xml.out:56 faillog.8.xml.out:59 faillog.8.xml.out:67 +#: faillog.8.xml.out:76 faillog.8.xml.out:203 faillog.8.xml.out:211 +#: faillog.8.xml.out:238 +msgid "faillog" +msgstr "faillog" + +#. (itstool) path: refmeta/refmiscinfo +#: faillog.5.xml.out:35 gshadow.5.xml.out:24 limits.5.xml.out:37 +#: login.access.5.xml.out:36 login.defs.5.xml.out:106 passwd.5.xml.out:35 +#: porttime.5.xml.out:35 shadow.5.xml.out:35 suauth.5.xml.out:35 +#, fuzzy +#| msgid "File Formats and Conversions" +msgid "File Formats and Configuration Files" +msgstr "Formatos de Ficheiros e Conversões" + +#. (itstool) path: refnamediv/refpurpose +#: faillog.5.xml.out:41 +msgid "login failure logging file" +msgstr "ficheiro de registo de falhas de login" + +#. (itstool) path: para/filename +#. (itstool) path: term/filename +#: faillog.5.xml.out:47 faillog.5.xml.out:75 faillog.8.xml.out:57 +#: faillog.8.xml.out:113 faillog.8.xml.out:138 faillog.8.xml.out:150 +#: faillog.8.xml.out:223 +msgid "/var/log/faillog" +msgstr "/var/log/faillog" + +#. (itstool) path: refsect1/para +#: faillog.5.xml.out:46 +#, fuzzy +#| msgid "" +#| "/var/log/faillog maintains a count of login failures " +#| "and the limits for each account." msgid "" -"Any file from the user's home directory owned by the previous primary group" -" of the user will be owned by this new group." +"<_:filename-1/> maintains a count of login failures and the limits for each " +"account." msgstr "" -"Qualquer ficheiro do directório home do utilizador que pertença ao grupo " -"primário anterior do utilizador passará a pertencer a este novo grupo." +"/var/log/faillog mantém uma contagem de falhas de login " +"e os limites de cada conta." -#: usermod.8.xml:204(para) +#. (itstool) path: refsect1/para +#: faillog.5.xml.out:50 msgid "" -"The group ownership of files outside of the user's home directory must be" -" fixed manually." +"The file contains fixed length records, 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 on " +"which the last login failure occurred; the date of the last login failure; " +"and the duration (in seconds) during which the account will be locked after " +"a failure." msgstr "" -"A pertença de grupo dos ficheiros que estejam fora do directório home do " -"utilizador terá que ser corrigida manualmente." +"O ficheiro contém registos de comprimento fixo, indexados pelo UID numérico. " +"Cada registo contém a contagem de falhas de login desde o último login com " +"sucesso; o número máximo da falhas antes da conta ser desativada; a linha na " +"qual a última falha de login ocorreu; a data da última falha de login; e a " +"duração (em segundos) durante a conta ficará trancada após uma falha." -#: usermod.8.xml:211(term) useradd.8.xml:263(term) +#. (itstool) path: refsect1/para +#: faillog.5.xml.out:60 +msgid "The structure of the file is:" +msgstr "A estrutura do ficheiro é:" + +#. (itstool) path: refsect1/programlisting +#: faillog.5.xml.out:61 +#, fuzzy +#| msgid "" +#| "\n" +#| "struct\tfaillog {\n" +#| "\tshort fail_cnt;\n" +#| "\tshort fail_max;\n" +#| "\tchar fail_line[12];\n" +#| "\ttime_t fail_time;\n" +#| "\tlong fail_locktime;\n" +#| "};" msgid "" -",  GROUP1<" -"/replaceable>[,GROUP2,...[,GROUPN]]]" +"struct faillog { short fail_cnt; short fail_max; char fail_line[12]; time_t " +"fail_time; long fail_locktime; };" msgstr "" -",  GROUP1<" -"/replaceable>[,GROUP2,...[,GROUPN]]]" +"\n" +"struct\tfaillog {\n" +"\tshort fail_cnt;\n" +"\tshort fail_max;\n" +"\tchar fail_line[12];\n" +"\ttime_t fail_time;\n" +"\tlong fail_locktime;\n" +"};" -#: usermod.8.xml:215(para) +#. (itstool) path: listitem/para +#: faillog.5.xml.out:77 faillog.8.xml.out:225 +msgid "Failure logging file." +msgstr "Ficheiro de registo de falhas." + +#. (itstool) path: refnamediv/refpurpose +#: faillog.8.xml.out:41 +msgid "display faillog records or set login failure limits" +msgstr "mostra registos faillog ou define limites de falhas de login" + +#. (itstool) path: refsect1/para +#: faillog.8.xml.out:55 +#, fuzzy +#| msgid "" +#| "faillog displays the contents of the failure log " +#| "database (/var/log/faillog). It can also set the " +#| "failure counters and limits. When faillog is run " +#| "without arguments, it only displays the faillog records of the users who " +#| "had a login failure." msgid "" -"A list of supplementary groups which the user is also a member of. Each group" -" is separated from the next by a comma, with no intervening whitespace. The" -" groups are subject to the same restrictions as the group given with the <" -"option>-g option." +"<_:command-1/> displays the contents of the failure log database (<_:" +"filename-2/>). It can also set the failure counters and limits. When <_:" +"command-3/> is run without arguments, it only displays the faillog records " +"of the users who had a login failure." msgstr "" -"Uma lista de grupos suplementares a que o utilizador é também membro. Cada " -"grupo é separado do próximo por uma vírgula, sem nenhum espaço em branco " -"intermédio. Os grupos estão sujeitos às mesmas restrições que o grupo dado " -"com a opção ." +"faillog mostra o conteúdo da base de dados de registo de " +"falhas (/var/log/faillog). Também pode definir os " +"contadores e limites de falhas. Quando o faillog é " +"corrido sem argumentos, apenas mostra os registos faillog dos utilizadores " +"que tiveram falhas no login." -#: usermod.8.xml:222(para) +#. (itstool) path: term/option +#. (itstool) path: para/option +#: faillog.8.xml.out:72 faillog.8.xml.out:215 gpasswd.1.xml.out:126 +#: groupmems.8.xml.out:83 groupmod.8.xml.out:73 passwd.1.xml.out:153 +#: usermod.8.xml.out:78 usermod.8.xml.out:210 +#, fuzzy +#| msgid "-" +msgid "-a" +msgstr "-" + +#. (itstool) path: term/option +#: faillog.8.xml.out:72 passwd.1.xml.out:153 +msgid "--all" +msgstr "" + +#. (itstool) path: listitem/para +#: faillog.8.xml.out:74 +#, fuzzy +#| msgid "" +#| "Display (or act on) faillog records for all users having an entry in the " +#| "faillog database." msgid "" -"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 the <" -"option>-a option, which appends the user to the current" -" supplementary group list." +"Display (or act on) faillog records for all users having an entry in the <_:" +"filename-1/> database." msgstr "" -"Se o utilizador é actualmente membro de um grupo que não está listado, o " -"utilizador será removido desse grupo. Este comportamento pode ser alterado " -"via opção , a qual acrescenta o utilizador à actual " -"lista de grupos suplementares." +"Mostra (ou actua em) registos faillog para todos os utilizadores que tenham " +"uma entrada na base de dados faillog." -#: usermod.8.xml:231(term) +#. (itstool) path: listitem/para +#: faillog.8.xml.out:78 +#, fuzzy +#| msgid "" +#| "The range of users can be restricted with the option." +msgid "The range of users can be restricted with the <_:option-1/> option." +msgstr "" +"A gama de utilizadores pode ser restringida com a opção ." + +#. (itstool) path: listitem/para +#: faillog.8.xml.out:82 msgid "" -",  NEW_LOGIN<" -"/replaceable>" +"In display mode, this is still restricted to existing users but forces the " +"display of the faillog entries even if they are empty." msgstr "" -",  NEW_LOGIN<" -"/replaceable>" +"Em modo de mostragem, isto está ainda restrito aos utilizadores existentes " +"mas força a mostragem de entradas faillog mesmo que estas estejam vazias." -#: usermod.8.xml:235(para) +#. (itstool) path: para/option +#. (itstool) path: term/option +#: faillog.8.xml.out:89 faillog.8.xml.out:169 lastlog.8.xml.out:128 +#, fuzzy +#| msgid "-" +msgid "-t" +msgstr "-" + +#. (itstool) path: listitem/para +#: faillog.8.xml.out:87 +#, fuzzy +#| msgid "" +#| "With the , , , " +#| " options, the users' records are changed, even if the " +#| "user does not exist on the system. This is useful to reset records of " +#| "users that have been deleted or to set a policy in advance for a range of " +#| "users." msgid "" -"The name of the user will be changed from LOGIN to" -" NEW_LOGIN. Nothing else is changed. In" -" particular, the user's home directory or mail spool should probably be" -" renamed manually to reflect the new login name." +"With the <_:option-1/>, <_:option-2/>, <_:option-3/>, <_:option-4/> options, " +"the users' records are changed, even if the user does not exist on the " +"system. This is useful to reset records of users that have been deleted or " +"to set a policy in advance for a range of users." msgstr "" -"O nome do utilizador será alterado de LOGIN para " -"NEW_LOGIN. Nada mais é alterado. Em particular, " -"o directório home do utilizador ou a pasta de mail devem provavelmente " -"ser renomeados manualmente para refletir o novo nome de login." +"Com as opções , , , " +", os registos dos utilizadores são alterados, mesmo se o " +"utilizador já não existir no sistema. Isto é útil para reiniciar registos de " +"utilizadores que foram apagados ou para definir antecipadamente uma política " +"para uma gama de utilizadores." -#: usermod.8.xml:245(term) -msgid ", " -msgstr ", " +#. (itstool) path: term/option +#: faillog.8.xml.out:105 +msgid "--lock-secs" +msgstr "" -#: usermod.8.xml:249(para) +#. (itstool) path: term/replaceable +#. (itstool) path: para/replaceable +#: faillog.8.xml.out:105 faillog.8.xml.out:109 +#, fuzzy +#| msgid "USE_TCB" +msgid "SEC" +msgstr "USE_TCB" + +#. (itstool) path: listitem/para +#: faillog.8.xml.out:108 +#, fuzzy +#| msgid "" +#| "Lock account for SEC seconds after failed " +#| "login." +msgid "Lock account for <_:replaceable-1/> seconds after failed login." +msgstr "" +"Tranca a conta por SEC segundos após login " +"falhado." + +#. (itstool) path: listitem/para +#: faillog.8.xml.out:112 faillog.8.xml.out:137 faillog.8.xml.out:149 +#, fuzzy +#| msgid "" +#| "Write access to /var/log/faillog is required for " +#| "this option." +msgid "Write access to <_:filename-1/> is required for this option." +msgstr "" +"É requerido acesso de escrita a /var/log/faillog para " +"esta opção." + +#. (itstool) path: term/option +#: faillog.8.xml.out:120 +msgid "--maximum" +msgstr "" + +#. (itstool) path: term/replaceable +#. (itstool) path: para/replaceable +#: faillog.8.xml.out:120 faillog.8.xml.out:125 faillog.8.xml.out:129 +msgid "MAX" +msgstr "" + +#. (itstool) path: listitem/para +#: faillog.8.xml.out:123 +#, fuzzy +#| msgid "" +#| "Set the maximum number of login failures after the account is disabled to " +#| "MAX." msgid "" -"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 -p or ." +"Set the maximum number of login failures after the account is disabled to <_:" +"replaceable-1/>." msgstr "" -"Tranca a palavra passe do utilizador. Isto põe um '!' na frente da palavra " -"passe encriptada, efectivamente desactivando a palavra passe. Você não pode " -"usar esta opção com ou ." +"Define o número máximo de falhas de login para MAX o que após isso desactiva a conta " -#: usermod.8.xml:255(para) +#. (itstool) path: listitem/para +#: faillog.8.xml.out:127 +#, fuzzy +#| msgid "" +#| "Selecting a MAX value of 0 has the effect of " +#| "not placing a limit on the number of failed logins." msgid "" -"Note: if you wish to lock the account (not only access with a password), you" -" should also set the EXPIRE_DATE to 1." +"Selecting a <_:replaceable-1/> value of 0 has the effect of not placing a " +"limit on the number of failed logins." msgstr "" -"Nota: Se deseja trancar uma conta (não apenas acesso com uma palavra passe), " -"você deve também definir EXPIRE_DATE para " -"1." +"Selecionar um valor MAX de o tem o efeito de não " +"impor um limite ao número de logins falhados." -#: usermod.8.xml:264(term) -msgid ", " -msgstr ", " - -#: usermod.8.xml:268(para) -msgid "Move the content of the user's home directory to the new location." +#. (itstool) path: para/emphasis +#: faillog.8.xml.out:134 groupmems.8.xml.out:160 porttime.5.xml.out:85 +msgid "root" msgstr "" -"Move o conteúdo do directório home do utilizador para a nova localização." -#: usermod.8.xml:272(para) +#. (itstool) path: listitem/para +#: faillog.8.xml.out:132 +#, fuzzy +#| msgid "" +#| "The maximum failure count should always be 0 for root to prevent a denial of services attack against the system." msgid "" -"This option is only valid in combination with the (or <" -"option>--home) option." +"The maximum failure count should always be 0 for <_:emphasis-1/> to prevent " +"a denial of services attack against the system." msgstr "" -"Esta opção é apenas válida em combinação com a opção " -"(ou )." +"O contador máximo de falhas deve ser sempre 0 para o root para prevenir um ataque de negação de serviços contra o sistema." -#: usermod.8.xml:276(para) -msgid "" -"usermod will try to adapt the ownership of the files and" -" to copy the modes, ACL and extended attributes, but manual changes might be" -" needed afterwards." +#. (itstool) path: term/option +#: faillog.8.xml.out:144 +msgid "--reset" msgstr "" -"O usermod irá tentar adaptar a posse dos ficheiros e " -"copiar os modos, atributos ACL e estendidos, mas depois disso podem ser " -"precisas alterações manuais." -#: usermod.8.xml:284(term) useradd.8.xml:397(term) groupmod.8.xml:146(term) groupadd.8.xml:157(term) -msgid ", " -msgstr ", " +#. (itstool) path: listitem/para +#: faillog.8.xml.out:146 +msgid "Reset the counters of login failures." +msgstr "Reinicia os contadores das falhas de login." -#: usermod.8.xml:288(para) -msgid "" -"When used with the option, this option allows to change" -" the user ID to a non-unique value." +#. (itstool) path: term/option +#: faillog.8.xml.out:169 lastlog.8.xml.out:128 +msgid "--time" msgstr "" -"Quando usada com a opção , esta opção permite alterar " -"o ID de utilizador para um valor não-único." -#: usermod.8.xml:295(term) useradd.8.xml:409(term) groupmod.8.xml:157(term) groupadd.8.xml:167(term) -msgid "" -",  PASSWORD<" -"/replaceable>" +#. (itstool) path: term/replaceable +#. (itstool) path: para/replaceable +#: faillog.8.xml.out:169 faillog.8.xml.out:174 lastlog.8.xml.out:75 +#: lastlog.8.xml.out:79 lastlog.8.xml.out:128 lastlog.8.xml.out:133 +msgid "DAYS" msgstr "" -",  PASSWORD<" -"/replaceable>" -#: usermod.8.xml:299(para) groupmod.8.xml:161(para) -msgid "" -"The encrypted password, as returned by crypt<" -"/refentrytitle>3." +#. (itstool) path: listitem/para +#: faillog.8.xml.out:172 +#, fuzzy +#| msgid "" +#| "Display faillog records more recent than DAYS." +msgid "Display faillog records more recent than <_:replaceable-1/>." msgstr "" -"A palavra passe encriptada, como retornada por <" -"refentrytitle>crypt3." +"Mostra registos faillog mais recentes que DAYS." -#: usermod.8.xml:304(para) useradd.8.xml:418(para) groupmod.8.xml:166(para) groupadd.8.xml:176(para) +#. (itstool) path: term/option +#. (itstool) path: para/option +#: faillog.8.xml.out:180 lastlog.8.xml.out:90 lastlog.8.xml.out:122 +#: lastlog.8.xml.out:139 vipw.8.xml.out:133 +#, fuzzy +#| msgid "user" +msgid "--user" +msgstr "user" + +#. (itstool) path: term/replaceable +#. (itstool) path: para/replaceable +#: faillog.8.xml.out:180 faillog.8.xml.out:190 faillog.8.xml.out:191 +#: lastlog.8.xml.out:139 lastlog.8.xml.out:147 lastlog.8.xml.out:148 +msgid "RANGE" +msgstr "" + +#. (itstool) path: varlistentry/term +#: faillog.8.xml.out:179 lastlog.8.xml.out:138 +#, fuzzy +#| msgid "" +#| ",  UID" +msgid "<_:option-1/>, <_:option-2/> <_:replaceable-3/>|<_:replaceable-4/>" +msgstr "" +",  UID" + +#. (itstool) path: listitem/para +#: faillog.8.xml.out:183 +#, fuzzy +#| msgid "" +#| "Display faillog record or maintains failure counters and limits (if used " +#| "with , or " +#| "options) only for the specified user(s)." msgid "" -"Note: This option is not recommended" -" because the password (or encrypted password) will be visible by users" -" listing the processes." +"Display faillog record or maintains failure counters and limits (if used " +"with <_:option-1/>, <_:option-2/> or <_:option-3/> options) only for the " +"specified user(s)." +msgstr "" +"Mostra o registo faillog ou mantém contadores e limites de falha (se usado " +"com as opções , ou , , or SYS_UID_MAX from /etc/login.defs." -msgstr "" -"Nenhuma verificação será executada em relação a , <" -"option>UID_MAX, , ou SYS_UID_MAX a partir de /etc/login.defs." - -#: usermod.8.xml:392(term) -msgid ", " -msgstr ", " - -#: usermod.8.xml:396(para) -msgid "" -"Unlock a user's password. This removes the '!' in front of the encrypted" -" password. You can't use this option with or ." - -#: usermod.8.xml:401(para) -msgid "" -"Note: if you wish to unlock the account (not only access with a password)," -" you should also set the EXPIRE_DATE (for example" -" to 99999, or to the value" -" from /etc/default/useradd)." -msgstr "" -"Nota: Se deseja destrancar a conta (não apenas acesso com uma palavra passe), " -"você deve também definir EXPIRE_DATE (por exemplo " -"para 99999, ou o valor " -"de /etc/default/useradd)." - -#: usermod.8.xml:412(term) -msgid "" -",  FIRST<" -"/replaceable>-LAST" -msgstr "" -",  FIRST<" -"/replaceable>-LAST" - -#: usermod.8.xml:416(para) -msgid "Add a range of subordinate uids to the user's account." -msgstr "Adiciona um alcance de uids subordinados à conta do utilizador." - -#: usermod.8.xml:419(para) usermod.8.xml:457(para) -msgid "" -"This option may be specified multiple times to add multiple ranges to a users" -" account." -msgstr "" -"Esta opção pode ser especificada várias vezes para adicionar vários alcances " -"à conta de um utilizador." - -#: usermod.8.xml:422(para) usermod.8.xml:442(para) -msgid "" -"No checks will be performed with regard to , <" -"option>SUB_UID_MAX, or from" -" /etc/login.defs." -msgstr "" -"Nenhuma verificação será executada em relação a , " -", ou a partir de " -"/etc/login.defs." - -#: usermod.8.xml:430(term) -msgid "" -",  FIRST<" -"/replaceable>-LAST" -msgstr "" -",  FIRST<" -"/replaceable>-LAST" - -#: usermod.8.xml:434(para) -msgid "Remove a range of subordinate uids from the user's account." -msgstr "Remove um alcance de uids subordinados à conta do utilizador." - -#: usermod.8.xml:437(para) -msgid "" -"This option may be specified multiple times to remove multiple ranges to a" -" users account. When both and --add-subuids are specified, the removal of all subordinate uid" -" ranges happens before any subordinate uid range is added." -msgstr "" -"Esta opção pode ser especifica várias vezes para remover vários alcances " -"de uma conta de utilizador. Quando ambas e " -" são especificadas, a remoção de um alcance " -"de uid subordinado acontece antes de se adicionar o alcance de uid " -"subordinado." - -#: usermod.8.xml:450(term) -msgid "" -",  FIRST<" -"/replaceable>-LAST" -msgstr "" -",  FIRST<" -"/replaceable>-LAST" - -#: usermod.8.xml:454(para) -msgid "Add a range of subordinate gids to the user's account." -msgstr "Adiciona um alcance de gids subordinados à conta do utilizador." - -#: usermod.8.xml:460(para) usermod.8.xml:480(para) -msgid "" -"No checks will be performed with regard to , <" -"option>SUB_GID_MAX, or from" -" /etc/login.defs." -msgstr "" -"Nenhuma verificação será executada em relação a , " -", ou a partir de " -"/etc/login.defs." - -#: usermod.8.xml:468(term) -msgid "" -",  FIRST<" -"/replaceable>-LAST" -msgstr "" -",  FIRST<" -"/replaceable>-LAST" - -#: usermod.8.xml:472(para) -msgid "Remove a range of subordinate gids from the user's account." -msgstr "Remove um alcance de gids subordinados à conta do utilizador." - -#: usermod.8.xml:475(para) -msgid "" -"This option may be specified multiple times to remove multiple ranges to a" -" users account. When both and --add-subgids are specified, the removal of all subordinate gid" -" ranges happens before any subordinate gid range is added." -msgstr "" -"Esta opção pode ser especifica várias vezes para remover vários alcances " -"de uma conta de utilizador. Quando ambas ,  SEUSER" -msgstr "" -",  SEUSER" - -#: usermod.8.xml:492(para) -msgid "The new SELinux user for the user's login." -msgstr "O novo utilizador SELinux para o login do utilizador." - -#: usermod.8.xml:495(para) -msgid "" -"A blank SEUSER will remove the SELinux user" -" mapping for user LOGIN (if any)." -msgstr "" -"Um SEUSER vazio irá remover o mapeamento de " -"utilizador SELinux para i utilizador LOGIN " -"(se existir algum)." - -#: usermod.8.xml:506(title) userdel.8.xml:298(title) useradd.8.xml:652(title) su.1.xml:330(title) shadow.3.xml:218(title) passwd.1.xml:377(title) newusers.8.xml:363(title) login.1.xml:260(title) lastlog.8.xml:229(title) groupdel.8.xml:133(title) groupadd.8.xml:274(title) gpasswd.1.xml:252(title) faillog.8.xml:232(title) chpasswd.8.xml:231(title) chgpasswd.8.xml:186(title) -msgid "CAVEATS" -msgstr "RESSALVAS" - -#: usermod.8.xml:507(para) -msgid "" -"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, the user's" -" name, or the user's home directory is being changed. usermod<" -"/command> checks this on Linux. On other platforms it only uses utmp to check" -" if the user is logged in." -msgstr "" -"Você tem de certifica que o utilizador nomeado não está a executar nenhum " -"processo quando este comando é executado, se o ID numérico do utilizador, o " -"nome de utilizador ou o directório home do utilizador está ser alterado. " -"O usermod verifica isto em Linux. Nas outras plataformas " -"apenas usa o utmp para verificar seu o utilizador tem sessão iniciada." - -#: usermod.8.xml:514(para) -msgid "" -"You must change the owner of any crontab files or at jobs manually." -msgstr "" -"Você tem de alterar a posse de quaisquer ficheiros crontab " -"ou tarefas at manualmente." - -#: usermod.8.xml:518(para) -msgid "You must make any changes involving NIS on the NIS server." -msgstr "Você tem fazer quaisquer alterações que envolvam NIS no servidor NIS." - -#: usermod.8.xml:33(term) useradd.8.xml:33(term) login.defs.5.xml:33(term) lastlog.8.xml:33(term) -msgid " (number)" -msgstr " (número)" - -#: usermod.8.xml:35(para) useradd.8.xml:35(para) login.defs.5.xml:35(para) lastlog.8.xml:35(para) -msgid "" -"Highest user ID number for which the lastlog entries should be updated. As" -" higher user IDs are usually tracked by remote user identity and" -" authentication services there is no need to create a huge sparse lastlog" -" file for them." -msgstr "" -"Número de ID de utilizador mais alto para o qual as entradas em lastlog devem " -"ser atualizadas. Como os IDs de utilizador altos são geralmente acompanhados " -"de identidade de utilizador remoto e serviços de autenticação, não há " -"necessidade de criar um ficheiro lastlog enorme e disperso para eles." - -#: usermod.8.xml:41(para) useradd.8.xml:41(para) login.defs.5.xml:41(para) lastlog.8.xml:41(para) -msgid "" -"No option present in the configuration means" -" that there is no user ID limit for writing lastlog entries." -msgstr "" -"Nenhuma opção presente na configuração " -"significa que não há nenhum limite de ID de utilizador para escrever entradas " -"no lastlog." - -#: usermod.8.xml:32(term) userdel.8.xml:32(term) useradd.8.xml:32(term) su.1.xml:32(term) login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (string)" -msgstr " (string)" - -#: usermod.8.xml:34(para) userdel.8.xml:34(para) useradd.8.xml:34(para) su.1.xml:34(para) login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "" -"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." -msgstr "" -"O directório de pasta de mail. Isto é preciso para manipular a caixa de " -"correio quando a sua conta de utilizador correspondente é modificada ou " -"apagada. Se não for especificado, é usado um tempo-de-compilação predefinido." - -#: usermod.8.xml:41(term) userdel.8.xml:41(term) useradd.8.xml:41(term) su.1.xml:41(term) login.defs.5.xml:41(term) login.1.xml:41(term) -msgid " (string)" -msgstr " (string)" - -#: usermod.8.xml:43(para) userdel.8.xml:43(para) useradd.8.xml:43(para) su.1.xml:43(para) login.defs.5.xml:43(para) login.1.xml:43(para) -msgid "" -"Defines the location of the users mail spool files relatively to their home" -" directory." -msgstr "" -"Defina a localização dos ficheiros de pasta de mail do utilizador " -"relativamente ao seu directório home." - -#. FIXME: MAIL_FILE not used in useradd -#: usermod.8.xml:50(para) userdel.8.xml:50(para) useradd.8.xml:50(para) su.1.xml:50(para) login.defs.5.xml:50(para) login.1.xml:50(para) -msgid "" -"The and variables are" -" used by useradd, usermod, and userdel to create, move, or delete the user's mail spool." -msgstr "" -"As variáveis e são " -"usadas por useradd, usermod, e " -"userdel para criar, mover, ou apagar a pasta de mail " -"do utilizador." - -#: usermod.8.xml:56(para) userdel.8.xml:56(para) useradd.8.xml:56(para) su.1.xml:56(para) login.defs.5.xml:56(para) login.1.xml:56(para) -msgid "" -"If is set to yes," -" they are also used to define the MAIL environment variable." -msgstr "" -"Se for definido para yes, são também usadas para definir a variável de ambiente " -"MAIL." - -#: usermod.8.xml:30(term) userdel.8.xml:30(term) useradd.8.xml:30(term) pwconv.8.xml:30(term) newusers.8.xml:30(term) login.defs.5.xml:30(term) grpck.8.xml:30(term) groupmod.8.xml:30(term) groupmems.8.xml:30(term) groupdel.8.xml:30(term) groupadd.8.xml:30(term) gpasswd.1.xml:30(term) chgpasswd.8.xml:30(term) -msgid " (number)" -msgstr " (número)" - -#: usermod.8.xml:32(para) userdel.8.xml:32(para) useradd.8.xml:32(para) pwconv.8.xml:32(para) newusers.8.xml:32(para) login.defs.5.xml:32(para) grpck.8.xml:32(para) groupmod.8.xml:32(para) groupmems.8.xml:32(para) groupdel.8.xml:32(para) groupadd.8.xml:32(para) gpasswd.1.xml:32(para) chgpasswd.8.xml:32(para) -msgid "" -"Maximum members per group entry. When the maximum is reached, a new group" -" entry (line) is started in /etc/group (with the same" -" name, same password, and same GID)." -msgstr "" -"Máximo de membros por entrada de grupo. Quando o máximo é atingido, é " -"começada um entrada (linha) para novo grupo em /etc/group (com o mesmo nome, mesma palavra passe, e mesmo GID)." - -#: usermod.8.xml:37(para) userdel.8.xml:37(para) useradd.8.xml:37(para) pwconv.8.xml:37(para) newusers.8.xml:37(para) login.defs.5.xml:37(para) grpck.8.xml:37(para) groupmod.8.xml:37(para) groupmems.8.xml:37(para) groupdel.8.xml:37(para) groupadd.8.xml:37(para) gpasswd.1.xml:37(para) chgpasswd.8.xml:37(para) -msgid "" -"The default value is 0, meaning that there are no limits in the number of" -" members in a group." -msgstr "" -"O valor predefinido é 0, que significa que não há limites no número de " -"membros de um grupo." - -#. Note: on HP, split groups have the same ID, but different -#. names. -#: usermod.8.xml:43(para) userdel.8.xml:43(para) useradd.8.xml:43(para) pwconv.8.xml:43(para) newusers.8.xml:43(para) login.defs.5.xml:43(para) grpck.8.xml:43(para) groupmod.8.xml:43(para) groupmems.8.xml:43(para) groupdel.8.xml:43(para) groupadd.8.xml:43(para) gpasswd.1.xml:43(para) chgpasswd.8.xml:43(para) -msgid "" -"This feature (split group) permits to limit the length of lines in the group" -" file. This is useful to make sure that lines for NIS groups are not larger" -" than 1024 characters." -msgstr "" -"esta funcionalidade (dividir grupo) permite limitar a quantidade de linhas " -"num ficheiro de grupo. Isto é útil para certificar que as linhas para grupos " -"NIS não são maiores que 1024 caracteres." - -#: usermod.8.xml:48(para) userdel.8.xml:48(para) useradd.8.xml:48(para) pwconv.8.xml:48(para) newusers.8.xml:48(para) login.defs.5.xml:48(para) grpck.8.xml:48(para) groupmod.8.xml:48(para) groupmems.8.xml:48(para) groupdel.8.xml:48(para) groupadd.8.xml:48(para) gpasswd.1.xml:48(para) chgpasswd.8.xml:48(para) -msgid "If you need to enforce such limit, you can use 25." -msgstr "Se você deseja impor tal limite, você pode usar 25." - -#: usermod.8.xml:51(para) userdel.8.xml:51(para) useradd.8.xml:51(para) pwconv.8.xml:51(para) newusers.8.xml:51(para) login.defs.5.xml:51(para) grpck.8.xml:51(para) groupmod.8.xml:51(para) groupmems.8.xml:51(para) groupdel.8.xml:51(para) groupadd.8.xml:51(para) gpasswd.1.xml:51(para) chgpasswd.8.xml:51(para) -msgid "" -"Note: split groups may not be supported by all tools (even in the Shadow" -" toolsuite). You should not use this variable unless you really need it." -msgstr "" -"Nota: a divisão de grupos pode não ser suportada por todas as ferramentas " -"(mesmo na suite de ferramentas do Shadow). Você não deve usar esta " -"variável a menos que realmente precise dela." - -#: usermod.8.xml:30(term) useradd.8.xml:30(term) newusers.8.xml:30(term) login.defs.5.xml:30(term) -msgid " (number)" -msgstr " (número)" - -#: usermod.8.xml:31(term) useradd.8.xml:31(term) newusers.8.xml:31(term) login.defs.5.xml:31(term) -msgid " (number)" -msgstr " (número)" - -#: usermod.8.xml:32(term) useradd.8.xml:32(term) newusers.8.xml:32(term) login.defs.5.xml:32(term) -msgid " (number)" -msgstr " (número)" - -#: usermod.8.xml:34(para) useradd.8.xml:34(para) newusers.8.xml:34(para) login.defs.5.xml:34(para) -msgid "" -"If /etc/subuid exists, the commands useradd<" -"/command> and newusers (unless the user already have" -" subordinate group IDs) allocate unused group" -" IDs from the range to file." -msgstr "" -"A pasta de mail é definida pela variável no " -"ficheiro login.defs." - -#: userdel.8.xml:175(term) -msgid ", " -msgstr ", " - -#: userdel.8.xml:179(para) -msgid "Remove any SELinux user mapping for the user's login." -msgstr "Remove qualquer utilizador SELinux mapeado para o login do utilizador." - -#: userdel.8.xml:33(term) login.defs.5.xml:33(term) -msgid " (string)" -msgstr " (string)" - -#: userdel.8.xml:35(para) login.defs.5.xml:35(para) -msgid "" -"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)." -msgstr "" -"Se definido, este comando é corrido quando se remove um utilizador. Deverá " -"remover quaisquer tarefas at/cron/print etc. possuídas pelo utilizador a " -"ser removido (passado como primeiro argumento)." - -#: userdel.8.xml:40(para) login.defs.5.xml:40(para) -msgid "The return code of the script is not taken into account." -msgstr "O código de retorno do script não é tido em conta." - -#: userdel.8.xml:46(programlisting) login.defs.5.xml:46(programlisting) -#, no-wrap -msgid "" -"\n#! /bin/sh\n\n# Check for the required argument.\nif [ $# != 1 ];" -" then\n\techo \"Usage: $0 username\"\n\texit 1\nfi\n\n# Remove cron" -" jobs.\ncrontab -r -u $1\n\n# Remove at jobs.\n# Note that it will remove any" -" jobs owned by the same UID,\n# even if it was shared by a different" -" username.\nAT_SPOOL_DIR=/var/spool/cron/atjobs\nfind $AT_SPOOL_DIR -name" -" \"[^.]*\" -type f -user $1 -delete \\;\n\n# Remove print jobs.\nlprm $1\n\n#" -" All done.\nexit 0\n " -msgstr "" -"\n#! /bin/sh\n\n# Check for the required argument.\nif [ $# != 1 ];" -" then\n\techo \"Usage: $0 username\"\n\texit 1\nfi\n\n# Remove cron" -" jobs.\ncrontab -r -u $1\n\n# Remove at jobs.\n# Note that it will remove any" -" jobs owned by the same UID,\n# even if it was shared by a different" -" username.\nAT_SPOOL_DIR=/var/spool/cron/atjobs\nfind $AT_SPOOL_DIR -name" -" \"[^.]*\" -type f -user $1 -delete \\;\n\n# Remove print jobs.\nlprm $1\n\n#" -" All done.\nexit 0\n " - -#: userdel.8.xml:43(para) login.defs.5.xml:43(para) -msgid "" -"Here is an example script, which removes the user's cron, at and print jobs:" -" " -msgstr "" -"Aqui está um script de exemplo que remove as tarefas cron e de impressão " -"do utilizador: " - -#: userdel.8.xml:32(term) useradd.8.xml:32(term) su.1.xml:32(term) login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (boolean)" -msgstr " (booleano)" - -#: userdel.8.xml:34(para) useradd.8.xml:34(para) su.1.xml:34(para) login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "" -"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." -msgstr "" -"Activa a definição dos bits de grupo umask group bits para serem os mesmos " -"que os bits do dono (exemplos: 022 -> 002, 077 -> 007) para " -"utilizadores não-root, se o uid for o mesmo que o gid, e o nome de utilizador " -"o mesmo que o nome de grupo primário." - -#: userdel.8.xml:39(para) useradd.8.xml:39(para) su.1.xml:39(para) login.defs.5.xml:39(para) login.1.xml:39(para) -msgid "" -"If set to yes, userdel will" -" remove the user's group if it contains no more members, and useradd will create by default a group with the name of the user." -msgstr "" -"Se definido para yes, userdel " -"irá remover o grupo do utilizador se este não conter mais membros, e " -"useradd irá criar por predefinição um grupo com o " -"nome do utilizador." - -#: userdel.8.xml:247(title) useradd.8.xml:766(title) su.1.xml:390(title) pwck.8.xml:303(title) passwd.1.xml:443(title) grpck.8.xml:245(title) groupmod.8.xml:252(title) groupdel.8.xml:175(title) groupadd.8.xml:296(title) chage.1.xml:284(title) -msgid "EXIT VALUES" -msgstr "VALORES DE SAÍDA" - -#: userdel.8.xml:252(replaceable) useradd.8.xml:771(replaceable) su.1.xml:409(replaceable) pwck.8.xml:308(replaceable) passwd.1.xml:448(replaceable) grpck.8.xml:250(replaceable) groupmod.8.xml:257(replaceable) groupdel.8.xml:180(replaceable) groupadd.8.xml:301(replaceable) chage.1.xml:289(replaceable) -msgid "0" -msgstr "0" - -#: userdel.8.xml:254(para) useradd.8.xml:773(para) pwck.8.xml:310(para) passwd.1.xml:450(para) grpck.8.xml:252(para) groupdel.8.xml:182(para) groupadd.8.xml:303(para) chage.1.xml:291(para) -msgid "success" -msgstr "sucesso" - -#: userdel.8.xml:258(replaceable) useradd.8.xml:777(replaceable) su.1.xml:75(manvolnum) su.1.xml:415(replaceable) sg.1.xml:59(manvolnum) pwck.8.xml:314(replaceable) passwd.1.xml:65(manvolnum) passwd.1.xml:454(replaceable) newgrp.1.xml:59(manvolnum) login.1.xml:91(manvolnum) grpck.8.xml:256(replaceable) groups.1.xml:58(manvolnum) gpasswd.1.xml:63(manvolnum) expiry.1.xml:62(manvolnum) chsh.1.xml:61(manvolnum) chfn.1.xml:61(manvolnum) chage.1.xml:59(manvolnum) chage.1.xml:295(replaceable) -msgid "1" -msgstr "1" - -#: userdel.8.xml:260(para) useradd.8.xml:779(para) -msgid "can't update password file" -msgstr "incapaz de actualizar o ficheiro da palavra passe" - -#: userdel.8.xml:264(replaceable) useradd.8.xml:783(replaceable) pwck.8.xml:320(replaceable) passwd.1.xml:460(replaceable) grpck.8.xml:262(replaceable) groupmod.8.xml:263(replaceable) groupdel.8.xml:186(replaceable) groupadd.8.xml:307(replaceable) chage.1.xml:301(replaceable) -msgid "2" -msgstr "2" - -#: userdel.8.xml:266(para) useradd.8.xml:785(para) pwck.8.xml:316(para) grpck.8.xml:258(para) groupdel.8.xml:188(para) groupadd.8.xml:309(para) chage.1.xml:303(para) -msgid "invalid command syntax" -msgstr "sintaxe de comando inválida" - -#: userdel.8.xml:270(replaceable) useradd.8.xml:801(replaceable) pwck.8.xml:344(replaceable) passwd.1.xml:484(replaceable) groupmod.8.xml:281(replaceable) groupdel.8.xml:192(replaceable) -msgid "6" -msgstr "6" - -#: userdel.8.xml:272(para) -msgid "specified user doesn't exist" -msgstr "o utilizador especificado não existe" - -#: userdel.8.xml:278(para) -msgid "user currently logged in" -msgstr "utilizador actualmente com sessão activa" - -#: userdel.8.xml:282(replaceable) useradd.8.xml:813(replaceable) groupmod.8.xml:293(replaceable) groupdel.8.xml:204(replaceable) groupadd.8.xml:331(replaceable) -msgid "10" -msgstr "10" - -#: userdel.8.xml:284(para) useradd.8.xml:815(para) groupdel.8.xml:206(para) groupadd.8.xml:333(para) -msgid "can't update group file" -msgstr "incapaz de actualizar o ficheiro de grupo" - -#: userdel.8.xml:288(replaceable) useradd.8.xml:819(replaceable) groupmod.8.xml:305(replaceable) -msgid "12" -msgstr "12" - -#: userdel.8.xml:290(para) -msgid "can't remove home directory" -msgstr "incapaz de remover o directório home" - -#: userdel.8.xml:248(para) -msgid "" -"The userdel command exits with the following values: <" -"placeholder-1/>" -msgstr "" -"O comando userdel termina com os seguintes valores: " -"" - -#: userdel.8.xml:299(para) -msgid "" -"userdel will not allow you to remove an account if there" -" are running processes which belong to this account. In that case, you may" -" have to kill those processes or lock the user's password or account and" -" remove the account later. The option can force the" -" deletion of this account." -msgstr "" -"O userdel não irá permitir remover uma conta se existirem " -"processos a correr que pertençam a esta conta. Neste caso, você poderá " -"ter que matar esses processos, ou trancar a palavra passe do utilizador " -"ou a conta e remover a conta mais tarde. A opção pode " -"forçar o apagar desta conta." - -#: userdel.8.xml:306(para) -msgid "" -"You should manually check all file systems to ensure that no files remain" -" owned by this user." -msgstr "" -"Você deve verificar manualmente todos os sistemas para assegurar que não " -"restam ficheiros possuídos por este utilizador." - -#: userdel.8.xml:310(para) -msgid "" -"You may not remove any NIS attributes on a NIS client. This must be performed" -" on the NIS server." -msgstr "" -"Você não pode remover nenhum atributo NIS num cliente NIS client. Isto tem " -"de ser feito no servidor NIS." - -#: userdel.8.xml:313(para) -msgid "" -"If is defined to yes<" -"/emphasis> in /etc/login.defs, userdel will delete the group with the same name as the user. To avoid" -" inconsistencies in the passwd and group databases, userdel will check that this group is not used as a primary group for another user," -" and will just warn without deleting the group otherwise. The estiver definido para yes em /etc/login.defs, o " -"userdel irá apagar o grupo com o mesmo nome que o " -"utilizador. Para evitar inconsistências nas bases de dados de palavras passe " -"e grupos, o userdel irá verificar que este grupo não " -"é usado como grupo primário para outro utilizador, e caso contrário irá " -"apenas avisar sobre o apagar do grupo. A opção pode " -"forçar o apagar o apagar deste grupo." - -#: userdel.8.xml:326(para) -msgid "" -"chfn1<" -"/citerefentry>, chsh1, passwd<" -"/refentrytitle>1, <" -"refentrytitle>login.defs5<" -"/citerefentry>, gpasswd<" -"manvolnum>8, groupadd8, <" -"citerefentry>groupdel8<" -"/citerefentry>, groupmod<" -"manvolnum>8, <" -"citerefentry>subgid5<" -"/citerefentry>, subuid5, useradd<" -"/refentrytitle>8, <" -"refentrytitle>usermod8." -msgstr "" -"chfn1<" -"/citerefentry>, chsh1, passwd<" -"/refentrytitle>1, <" -"refentrytitle>login.defs5<" -"/citerefentry>, gpasswd<" -"manvolnum>8, groupadd8, <" -"citerefentry>groupdel8<" -"/citerefentry>, groupmod<" -"manvolnum>8, <" -"citerefentry>subgid5<" -"/citerefentry>, subuid5, useradd<" -"/refentrytitle>8, <" -"refentrytitle>usermod8." - -#: useradd.8.xml:76(refentrytitle) useradd.8.xml:83(refname) useradd.8.xml:88(command) useradd.8.xml:95(command) useradd.8.xml:99(command) login.defs.5.xml:482(term) -msgid "useradd" -msgstr "useradd" - -#: useradd.8.xml:84(refpurpose) -msgid "create a new user or update default new user information" -msgstr "" -"cria um novo utilizador ou actualiza a informação predefinida do utilizador" - -#: useradd.8.xml:96(arg) useradd.8.xml:100(arg) -msgid "-D" -msgstr "-D" - -#: useradd.8.xml:109(para) -msgid "" -"When invoked without the option, the useradd<" -"/command> command creates a new user account using the values specified on" -" the command line plus 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." -msgstr "" -"Quando invocado sem a opção , o comando useradd<" -"/command> cria uma nova conta de utilizador usando os valores especificados " -"na linha de comandos mais os valores predefinidos do sistema. Dependendo " -"das opções de linha de comandos, o comando useradd irá " -"actualizar ficheiros do sistema e pode também criar o directório home do " -"novo utilizador e copiar os ficheiros iniciais." - -#: useradd.8.xml:118(para) -msgid "" -"By default, a group will also be created for the new user (see , , and USERGROUPS_ENAB)." -msgstr "" -"Por predefinição, será também criado um grupo para o novo utilizador " -"(veja , , , e " -")." - -#: useradd.8.xml:127(para) -msgid "The options which apply to the useradd command are:" -msgstr "As opções que se aplicam ao comando useradd são:" - -#: useradd.8.xml:132(option) pwck.8.xml:187(option) newusers.8.xml:273(option) -msgid "--badname" -msgstr "--badname" - -#: useradd.8.xml:141(term) useradd.8.xml:559(term) -msgid "" -",  BASE_DIR<" -"/replaceable>" -msgstr "" -",  BASE_DIR<" -"/replaceable>" - -#: useradd.8.xml:145(para) -msgid "" -"The default base directory for the system if  <" -"replaceable>HOME_DIR is not specified. BASE_DIR<" -"/replaceable> is concatenated with the account name to define the home" -" directory. If the option is not used, BASE_DIR must exist." -msgstr "" -"O directório base predefinido para o sistema de  <" -"replaceable>HOME_DIR não for especificada. " -"BASE_DIR é concatenada com o nome da conta " -"para definir o directório home. Se a opção não for usada, " -"BASE_DIR tem de existir." - -#: useradd.8.xml:152(para) -msgid "" -"If this option is not specified, useradd will use the base" -" directory specified by the variable in /etc/default/useradd, or /home by default." -msgstr "" -"Se esta opção não for especificada, o useradd irá usar o " -"directório base especificado pela variável em /etc/default/useradd, ou /home por " -"predefinição." - -#: useradd.8.xml:166(para) -msgid "" -"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." -msgstr "" -"Qualquer string de texto. É geralmente uma descrição curta do login, e é " -"actualmente usado como o campo para o nome completo do utilizador." - -#: useradd.8.xml:174(term) -msgid "" -",  HOME_DIR<" -"/replaceable>" -msgstr "" -",  HOME_DIR<" -"/replaceable>" - -#: useradd.8.xml:178(para) -msgid "" -"The new user will be created using HOME_DIR as the" -" value for the user's login directory. The default is to append the <" -"replaceable>LOGIN name to BASE_DIR" -" and use that as the login directory name. The directory HOME_DIR does not have to exist but will not be created if it" -" is missing." -msgstr "" -"O novo utilizador será criado usando HOME_DIR " -"como o valor para o directório de login do utilizador. A predefinição é " -"acrescentar o nome de LOGIN a " -"BASE_DIR e usar isso como o nome do directório de " -"login. O directório HOME_DIR não tem de existir " -"mas não será criado se estiver em falta." - -#: useradd.8.xml:190(term) -msgid ", " -msgstr ", " - -#: useradd.8.xml:194(para) -msgid "See below, the subsection \"Changing the default values\"." -msgstr "Veja em baixo, a subsecção \"Alterar os valores predefinidos\"." - -#: useradd.8.xml:208(para) -msgid "" -"If not specified, useradd will use the default expiry date" -" specified by the variable in /etc/default/useradd, or an empty string (no expiry) by default." -msgstr "" -"Se não definido, o useradd irá usar a data de expiração " -"predefinida especificada pela variável em /etc/default/useradd, ou uma string vazia (não expira) por " -"predefinição." - -#: useradd.8.xml:221(para) -msgid "" -"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." -msgstr "" -"O número de dias após a palavra passe expirar até que a conta permanentemente " -"desactivada. Um valor de 0 desactiva a conta assim que a palavra-passe " -"expirar, e um valor -1 desactiva esta funcionalidade." - -#: useradd.8.xml:227(para) -msgid "" -"If not specified, useradd will use the default inactivity" -" period specified by the variable in /etc/default/useradd, or -1 by default." -msgstr "" -"Se não definido, o useradd irá usar o período de " -"inatividade predefinido especificado pela variável " -"em /etc/default/useradd, ou -1 por predefinição." - -#: useradd.8.xml:240(para) -msgid "" -"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." -msgstr "" -"O nome do grupo ou o número do grupo de login inicial do utilizador. O nome " -"do grupo tem de existir. Um número de grupo tem de se referir a um grupo " -"já existente." - -#: useradd.8.xml:245(para) -msgid "" -"If not specified, the behavior of useradd will depend on" -" the variable in /etc/login.defs<" -"/filename>. If this variable is set to yes (or <" -"option>-U/--user-group is specified on the command line), a group" -" will be created for the user, with the same name as her loginname. If the" -" variable is set to no (or -N/--no-user-group is specified on the command line), useradd will" -" set the primary group of the new user to the value specified by the GROUP variable in /etc/default/useradd, or 100" -" by default." -msgstr "" -"Se não especificado, o comportamento do useradd irá " -"depender da variável em " -"/etc/login.defs. Se esta variável for definida para " -"yes (ou for " -"definida na linha de comandos), será criado um grupo para o utilizador, com " -"o mesmo nome que o nome de login. Se a variável for definida para " -"no (ou se " -"for especificada na linha de comandos), o useradd irá definir o grupo " -"primário do novo utilizador para o valor especificado pela variável " -" em /etc/default/useradd, or 100 " -"por predefinição." - -#: useradd.8.xml:267(para) -msgid "" -"A list of supplementary groups which the user is also a member of. Each group" -" is separated from the next by a comma, with no intervening whitespace. The" -" groups are subject to the same restrictions as the group given with the <" -"option>-g option. The default is for the user to belong only to the" -" initial group." -msgstr "" -"Uma lista de grupos suplementares a que o utilizador é também membro. Cada " -"grupo é separado do próximo por uma vírgula, sem nenhum espaço em branco " -"intermédio. Os grupos estão sujeitos às mesmas restrições que o grupo dado " -"com a opção . A predefinição é o utilizador pertencer " -"apenas ao grupo inicial." - -#: useradd.8.xml:284(term) -msgid "" -",  SKEL_DIR<" -"/replaceable>" -msgstr "" -",  SKEL_DIR<" -"/replaceable>" - -#: useradd.8.xml:288(para) -msgid "" -"The skeleton directory, which contains files and directories to be copied in" -" the user's home directory, when the home directory is created by useradd." -msgstr "" -"O directório esqueleto, que contem ficheiros e directórios a serem copiados " -"para o directório home do utilizador, quando o directório home é criado pelo " -"useradd." - -#: useradd.8.xml:293(para) -msgid "" -"This option is only valid if the (or --create-home) option is specified." -msgstr "" -"Esta opção apenas é válida se a opção (ou " -") for especificada." - -#: useradd.8.xml:297(para) -msgid "" -"If this option is not set, the skeleton directory is defined by the SKEL variable in /etc/default/useradd or, by" -" default, /etc/skel." -msgstr "" -"Se esta opção não for definida, o directório esqueleto é definido pela " -"variável em /etc/default/useradd ou, por predefinição, /etc/skel." - -#: useradd.8.xml:303(para) -msgid "If possible, the ACLs and extended attributes are copied." -msgstr "Se possível, os atributos ACL e estendidos são copiados." - -#: useradd.8.xml:309(term) groupadd.8.xml:137(term) -msgid "" -",  KEY<" -"/replaceable>=VALUE" -msgstr "" -",  KEY<" -"/replaceable>=VALUE" - -#: useradd.8.xml:313(para) -msgid "" -"Overrides /etc/login.defs defaults (, , PASS_MAX_DAYS and others). Example: options can be specified, e.g.:  <" -"replaceable>UID_MIN=100 -K UID_MAX=499<" -"/replaceable>" -msgstr "" -"Sobrepõe as predefinições de /etc/login.defs " -"(, , , " -" e outras). Exemplo: pode ser " -"usado  PASS_MAX_DAYS=<" -"replaceable>-1 quando se cria uma conta de sistema para " -"desligar o envelhecimento da palavra passe, mesmo que a conta de sistema não " -"tenha nenhuma palavra passe. Podem ser especificadas varias opções -K, ex. :  UID_MIN=100  <" -"replaceable>UID_MAX=499" - -#: useradd.8.xml:334(term) -msgid ", " -msgstr ", " - -#: useradd.8.xml:336(para) -msgid "Do not add the user to the lastlog and faillog databases." -msgstr "Não adiciona o utilizador às bases de dados lastlog e faillog." - -#: useradd.8.xml:339(para) -msgid "" -"By default, the user's entries in the lastlog and faillog databases are reset" -" to avoid reusing the entry from a previously deleted user." -msgstr "" -"Por predefinição, as entradas do utilizador nas bases de dados lastlog e " -"faillog são reiniciadas para evitar reutilizar uma entrada de um utilizador " -"anteriormente apagado." - -#: useradd.8.xml:347(term) -msgid ", " -msgstr ", " - -#: useradd.8.xml:351(para) -msgid "" -"Create the user's home directory if it does not exist. The files and" -" directories contained in the skeleton directory (which can be defined with" -" the option) will be copied to the home directory." -msgstr "" -"Cria o directório home do utilizador se este não existir. Os ficheiros e " -"directórios contidos no directório esqueleto (o qual pode ser definido " -"com a opção ) serão copiados para o directório home." - -#: useradd.8.xml:357(para) -msgid "" -"By default, if this option is not specified and " -" is not enabled, no home directories are created." -msgstr "" -"Por predefinição, se esta opção não for especificada e , " -msgstr ", " - -#: useradd.8.xml:369(para) -msgid "" -"Do no create the user's home directory, even if the system wide setting from" -" /etc/login.defs () is set" -" to yes." -msgstr "" -"Não cria o directório home do utilizador, mesmo que a definição geral do " -"o sistema de /etc/login.defs (, " -msgstr ", " - -#: useradd.8.xml:382(para) -msgid "" -"Do not create a group with the same name as the user, but add the user to the" -" group specified by the option or by the ou pela " -"variável em /etc/default/useradd." - -#: useradd.8.xml:388(para) useradd.8.xml:526(para) -msgid "" -"The default behavior (if the , , and <" -"option>-U options are not specified) is defined by the USERGROUPS_ENAB variable in /etc/login.defs." +#. (itstool) path: term/option +#: groupadd.8.xml.out:185 newusers.8.xml.out:289 useradd.8.xml.out:458 +msgid "--system" +msgstr "" + +#. (itstool) path: listitem/para +#: groupadd.8.xml.out:188 +msgid "Create a system group." +msgstr "Cria um grupo de sistema." + +#. (itstool) path: para/option +#: groupadd.8.xml.out:193 groupmod.8.xml.out:108 +msgid "SYS_GID_MIN" +msgstr "" + +#. (itstool) path: para/option +#: groupadd.8.xml.out:193 groupmod.8.xml.out:108 +#, fuzzy +#| msgid "LASTLOG_UID_MAX" +msgid "SYS_GID_MAX" +msgstr "LASTLOG_UID_MAX" + +#. (itstool) path: listitem/para +#: groupadd.8.xml.out:191 +#, fuzzy +#| msgid "" +#| "The numeric identifiers of new system groups are chosen in the " +#| "- range, defined " +#| "in login.defs, instead of -" +#| "." +msgid "" +"The numeric identifiers of new system groups are chosen in the <_:option-1/>-" +"<_:option-2/> range, defined in <_:filename-3/>, instead of <_:option-4/>-<_:" +"option-5/>." +msgstr "" +"Os identificadores numéricos de novos grupos de sistema são escolhidos " +"dentro da gama -, " +"definida em login.defs, em vez de ." + +#. (itstool) path: term/option +#. (itstool) path: para/option +#: groupadd.8.xml.out:229 groupadd.8.xml.out:237 groupmod.8.xml.out:194 +#: groupmod.8.xml.out:202 useradd.8.xml.out:96 useradd.8.xml.out:399 +#: useradd.8.xml.out:551 useradd.8.xml.out:560 usermod.8.xml.out:238 +#: usermod.8.xml.out:405 +#, fuzzy +#| msgid "-" +msgid "-U" +msgstr "-" + +#. (itstool) path: term/option +#: groupadd.8.xml.out:229 groupmod.8.xml.out:194 +#, fuzzy +#| msgid "user" +msgid "--users" +msgstr "user" + +#. (itstool) path: listitem/para +#: groupadd.8.xml.out:232 groupmod.8.xml.out:197 +#, fuzzy +#| msgid "Administrators can change the password or the members of the group." +msgid "A list of usernames to add as members of the group." +msgstr "Os administradores podem mudar a palavra passe dos membros do grupo." + +#. (itstool) path: para/option +#. (itstool) path: term/option +#: groupadd.8.xml.out:237 groupmod.8.xml.out:202 useradd.8.xml.out:96 +#: useradd.8.xml.out:388 useradd.8.xml.out:399 useradd.8.xml.out:560 +#, fuzzy +#| msgid "-" +msgid "-N" +msgstr "-" + +#. (itstool) path: para/option +#. (itstool) path: para/phrase +#: groupadd.8.xml.out:238 groupmod.8.xml.out:203 login.defs.5.xml.out:467 +#: useradd.8.xml.out:97 useradd.8.xml.out:240 useradd.8.xml.out:400 +#: useradd.8.xml.out:561 userdel.8.xml.out:86 userdel.8.xml.out:296 +msgid "USERGROUPS_ENAB" +msgstr "" + +#. (itstool) path: listitem/para +#: groupadd.8.xml.out:235 groupmod.8.xml.out:200 useradd.8.xml.out:397 +#: useradd.8.xml.out:558 +#, fuzzy +#| msgid "" +#| "The default behavior (if the , , " +#| "and options are not specified) is defined by the " +#| " variable in /etc/login.defs." +msgid "" +"The default behavior (if the <_:option-1/>, <_:option-2/>, and <_:option-3/> " +"options are not specified) is defined by the <_:option-4/> variable in <_:" +"filename-5/>." msgstr "" "O comportamento predefinido (as as opções , não forem especificadas) é definido pela " "variável em /etc/login.defs." -#: useradd.8.xml:401(para) -msgid "Allow the creation of a user account with a duplicate (non-unique) UID." -msgstr "" -"Permite a criação de uma conta de utilizador com um UID duplicado (não único)." - -#: useradd.8.xml:402(para) +#. (itstool) path: refsect1/para +#: groupadd.8.xml.out:286 msgid "" -"This option is only valid in combination with the option." +"You may not add a NIS or LDAP group. This must be performed on the " +"corresponding server." msgstr "" -"Esta opção é apenas válida em combinação com a opção ." +"Você não pode adicionar um grupo NIS ou LDAP. Isto tem de ser feito no " +"servidor correspondente." -#: useradd.8.xml:413(para) groupadd.8.xml:171(para) +#. (itstool) path: refsect1/para +#: groupadd.8.xml.out:290 +#, fuzzy +#| msgid "" +#| "If the groupname already exists in an external group database such as NIS " +#| "or LDAP, groupadd will deny the group creation request." msgid "" -"The encrypted password, as returned by crypt<" -"/refentrytitle>3. The default is to" -" disable the password." +"If the groupname already exists in an external group database such as NIS or " +"LDAP, <_:command-1/> will deny the group creation request." msgstr "" -"A palavra passe encriptada, como retornada por <" -"refentrytitle>crypt3. " -"A predefinição é desactivar a palavra passe." +"Se o nome de grupo já existir numa base de dados de grupos externa como NIS " +"ou LDAP, o groupadd irá negar o pedido de criação de " +"grupo." -#: useradd.8.xml:430(term) newusers.8.xml:302(term) groupadd.8.xml:188(term) -msgid ", " -msgstr ", " - -#: useradd.8.xml:434(para) newusers.8.xml:306(para) -msgid "Create a system account." -msgstr "Cria uma conta de sistema." - -#: useradd.8.xml:437(para) -msgid "" -"System users will be created with no aging information in /etc/shadow, and their numeric identifiers are chosen in the <" -"option>SYS_UID_MIN- range, defined in <" -"filename>/etc/login.defs, instead of -<" -"option>UID_MAX (and their counterparts for the" -" creation of groups)." -msgstr "" -"Os utilizadores de sistema serão criados sem nenhuma informação de " -"envelhecimento em /etc/shadow, e os seus identificadores " -"numéricos são escolhidos dentro do alcance " -"-, definido em /etc/login.defs, em vez de - (e " -"os seus homólogos para a criação de grupos)." - -#: useradd.8.xml:446(para) -msgid "" -"Note that useradd will not create a home directory for" -" such a user, regardless of the default setting in /etc/login.defs<" -"/filename> (). You have to specify the -m options if you want a home directory for a system account to be" -" created." -msgstr "" -"Note que useradd não irá criar um directório home para " -"tal utilizador, independentemente da definição predefinida em " -"/etc/login.defs (). Você " -"tem de especificar a opção se quer que seja criado um " -"directório home para uma conta de sistema." - -#: useradd.8.xml:490(para) -msgid "" -"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 specified by the <" -"option>SHELL variable in /etc/default/useradd," -" or an empty string by default." -msgstr "" -"O nome da shell de login do utilizador. A predefinição é deixar este campo " -"vazio, o que faz com que o sistema selecione a shell de login predefinida " -"especificada pela variável em " -"/etc/default/useradd, ou uma string vazia por " -"predefinição." - -#: useradd.8.xml:504(para) -msgid "" -"The numerical value of the user's ID. This value must be unique, unless the <" -"option>-o option is used. The value must be non-negative. The" -" default is to use the smallest ID value greater than or equal to UID_MIN and greater than every other user." -msgstr "" -"O valor numérico do ID de utilizador. Este valor tem de ser único, a menos " -"que a opção seja usada. O valor tem de ser não-negativo. " -"A predefinição é usar menor valor de ID maior ou igual a option and the " -" description." -msgstr "" -"Veja também a opção e a descrição de " -"." - -#: useradd.8.xml:518(term) -msgid ", " -msgstr ", " - -#: useradd.8.xml:522(para) -msgid "" -"Create a group with the same name as the user, and add the user to this group." -msgstr "" -"Cria um grupo com o mesmo nome que o utilizador, e adiciona o utilizador a " -"este grupo." - -#: useradd.8.xml:539(para) -msgid "" -"The SELinux user for the user's login. The default is to leave this field" -" blank, which causes the system to select the default SELinux user." -msgstr "" -"O utilizador SELinux para o login de utilizador. A predefinição é deixar " -"este campo vazio, o que faz com que o sistema selecione o utilizador " -"SELinux predefinido." - -#: useradd.8.xml:549(title) -msgid "Changing the default values" -msgstr "Alterar os valores predefinidos" - -#: useradd.8.xml:550(para) -msgid "" -"When invoked with only the option, useradd<" -"/command> will display the current default values. When invoked with -D plus other options, useradd will update the" -" default values for the specified options. Valid default-changing options are:" -msgstr "" -"Quando invocado apenas com a opção , o useradd<" -"/command> irá mostrar os valores predefinidos actuais. Quando invocado com " -" mais outras opções, o useradd irá " -"actualizar os valores predefinidos para as opções especificadas. As opções " -"de alteração de predefinições válidas são:" - -#: useradd.8.xml:563(para) -msgid "" -"The path prefix for a new user's home directory. The user's name will be" -" affixed to the end of BASE_DIR to form the new" -" user's home directory name, if the option is not used" -" when creating a new account." -msgstr "" -"O prefixo de caminho para o directório home de novo utilizador. O nome " -"do utilizador será afixado no final de BASE_DIR " -"para formar o nome do directório home do novo utilizador, se a opção " -" não for usada quando se cria uma nova conta." - -#: useradd.8.xml:570(para) -msgid "" -"This option sets the variable in /etc/default/useradd." -msgstr "" -"Esta opção define a variável em " -"/etc/default/useradd." - -#: useradd.8.xml:581(para) -msgid "The date on which the user account is disabled." -msgstr "A data em que a conta do utilizador é desactivada." - -#: useradd.8.xml:582(para) -msgid "" -"This option sets the variable in /etc/default/useradd." -msgstr "" -"Esta opção define a variável em " -"/etc/default/useradd." - -#: useradd.8.xml:593(para) -msgid "" -"The number of days after a password has expired before the account will be" -" disabled." -msgstr "" -"O número de dias após a palavra passe ter expirado e antes da conta ser " -"desactivada." - -#: useradd.8.xml:597(para) -msgid "" -"This option sets the variable in /etc/default/useradd." -msgstr "" -"Esta opção define a variável em " -"/etc/default/useradd." - -#: useradd.8.xml:608(para) -msgid "" -"The group name or ID for a new user's initial group (when the -N/--no-user-group is used or when the ). The named group must exist, and a numerical" -" group ID must have an existing entry." -msgstr "" -"O nome do grupo ou o ID do grupo inicial para um novo utilizador (quando " -"é usado ou quando a variável " -" esta definida para no em /etc/login.defs). O grupo nomeado tem " -"de existir, e um ID de grupo numérico tem de ter uma entrada existente." - -#: useradd.8.xml:617(para) -msgid "" -"This option sets the variable in /etc/default/useradd." -msgstr "" -"Esta opção define a variável em " -"/etc/default/useradd." - -#: useradd.8.xml:628(para) -msgid "The name of a new user's login shell." -msgstr "O nome da shell de login do novo utilizador." - -#: useradd.8.xml:631(para) -msgid "" -"This option sets the variable in /etc/default/useradd." -msgstr "" -"Esta opção define a variável em " -"/etc/default/useradd." - -#: useradd.8.xml:643(title) -msgid "NOTES" -msgstr "NOTAS" - -#: useradd.8.xml:644(para) -msgid "" -"The system administrator is responsible for placing the default user files in" -" the /etc/skel/ directory (or any other skeleton" -" directory specified in /etc/default/useradd or on the" -" command line)." -msgstr "" -"O administrador do sistema é responsável por colocar os ficheiros " -"predefinidos de utilizador no directório /etc/skel/ " -"(ou noutro directório esqueleto especificado em " -"/etc/default/useradd ou na linha de comandos." - -#: useradd.8.xml:653(para) -msgid "" -"You may not add a user to a NIS or LDAP group. This must be performed on the" -" corresponding server." -msgstr "" -"Você não pode adicionar um utilizador a um grupo NIS ou LDAP. Isto tem de " -"ser feito no servidor correspondente." - -#: useradd.8.xml:658(para) -msgid "" -"Similarly, if the username already exists in an external user database such" -" as NIS or LDAP, useradd will deny the user account" -" creation request." -msgstr "" -"De modo semelhante, se o nome de utilizador já existir numa base de dados " -"externa de utilizadores como em NIS ou LDAP, o useradd " -"irá negar o pedido de criação da conta de utilizador." - -#: useradd.8.xml:664(para) -msgid "" -"Usernames must start with a lower case letter or an underscore, followed by" -" lower case letters, digits, underscores, or dashes. They can end with a" -" dollar sign. In regular expression terms: [a-z_][a-z0-9_-]*[$]?" -msgstr "" -"Os nomes de utilizador devem começar com uma letra minúscula ou um " -"underscore, seguido de letras minúsculas, dígitos, underscores, ou traços. " -"Eles podem acabar com um cifrão. Em termos de expressão regular: " -"[a-z_][a-z0-9_-]*[$]?" - -#: useradd.8.xml:670(para) -msgid "Usernames may only be up to 32 characters long." -msgstr "Os nomes de utilizador só podem ir até 32 caracteres de comprimento." - -#: useradd.8.xml:30(term) login.defs.5.xml:30(term) -msgid " (boolean)" -msgstr " (booleano)" - -#: useradd.8.xml:32(para) login.defs.5.xml:32(para) -msgid "" -"Indicate if a home directory should be created by default for new users." -msgstr "" -"Indica se um directório home deve ser criado por predefinição para novos " -"utilizadores." - -#: useradd.8.xml:36(para) login.defs.5.xml:36(para) -msgid "" -"This setting does not apply to system users, and can be overridden on the" -" command line." -msgstr "" -"Esta definição não se aplica a utilizadores do sistema, e pode ser sobreposta " -"na linha de comandos." - -#: useradd.8.xml:32(term) newusers.8.xml:32(term) login.defs.5.xml:32(term) groupadd.8.xml:32(term) -msgid " (number)" -msgstr " (número)" - -#: useradd.8.xml:33(term) newusers.8.xml:33(term) login.defs.5.xml:33(term) groupadd.8.xml:33(term) -msgid " (number)" -msgstr " (número)" - -#: useradd.8.xml:35(para) newusers.8.xml:35(para) login.defs.5.xml:35(para) groupadd.8.xml:35(para) -msgid "" -"Range of group IDs used for the creation of regular groups by useradd, groupadd, or newusers<" -"/command>." -msgstr "" -"Alcance dos IDs de grupo usados para a criação de grupos regulares por " -"useradd, groupadd, ou " -"newusers." - -#: useradd.8.xml:40(para) newusers.8.xml:40(para) login.defs.5.xml:40(para) groupadd.8.xml:40(para) -msgid "" -"The default value for (resp. (resp. " -") é 1000 (resp. 60000)." - -#: useradd.8.xml:32(term) newusers.8.xml:32(term) login.defs.5.xml:32(term) -msgid " (number)" -msgstr " (número)" - -#: useradd.8.xml:34(para) newusers.8.xml:34(para) login.defs.5.xml:34(para) -msgid "" -"The mode for new home directories. If not specified, the para criar o modo." - -#: useradd.8.xml:38(para) newusers.8.xml:38(para) login.defs.5.xml:38(para) -msgid "" -"useradd and newusers use this to set" -" the mode of the home directory they create." -msgstr "" -"useradd e newusers usam isto para " -"definir o modo do directório home que criam." - -#: useradd.8.xml:32(term) pwconv.8.xml:32(term) pwck.8.xml:32(term) newusers.8.xml:32(term) login.defs.5.xml:32(term) -msgid " (number)" -msgstr " (número)" - -#: useradd.8.xml:34(para) pwconv.8.xml:34(para) pwck.8.xml:34(para) newusers.8.xml:34(para) login.defs.5.xml:34(para) -msgid "" -"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)." -msgstr "" -"O número máximo de dias que uma palavra passe pode ser usada. Se a palavra " -"passe for mais antiga que isto, é forçada a alteração da palavra passe. " -"Se não especificado, será assumido -1 (que desactiva a restrição)." - -#: useradd.8.xml:32(term) pwconv.8.xml:32(term) pwck.8.xml:32(term) newusers.8.xml:32(term) login.defs.5.xml:32(term) -msgid " (number)" -msgstr " (número)" - -#: useradd.8.xml:34(para) pwconv.8.xml:34(para) pwck.8.xml:34(para) newusers.8.xml:34(para) login.defs.5.xml:34(para) -msgid "" -"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)." -msgstr "" -"O número mínimo de dias permitidos entre alterações de palavra passe. " -"Quaisquer tentativas de mudança de palavra passe mais cedo que isto serão " -"rejeitadas. Se não especificado, será assumido -1 (o que desactiva a " -"restrição)." - -#: useradd.8.xml:32(term) pwconv.8.xml:32(term) pwck.8.xml:32(term) newusers.8.xml:32(term) login.defs.5.xml:32(term) -msgid " (number)" -msgstr " (número)" - -#: useradd.8.xml:34(para) pwconv.8.xml:34(para) pwck.8.xml:34(para) newusers.8.xml:34(para) login.defs.5.xml:34(para) -msgid "" -"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." -msgstr "" -"O número de dias de avisos antes da palavra passe expirar. Um zero significa " -"que o aviso só é dado apenas no dia de expiração, um valor negativo significa " -"que nenhum aviso será dado. Se não especificado, nenhum aviso será dado." - -#: useradd.8.xml:30(term) newusers.8.xml:30(term) login.defs.5.xml:30(term) groupadd.8.xml:30(term) -msgid " (number)" -msgstr " (número)" - -#: useradd.8.xml:31(term) newusers.8.xml:31(term) login.defs.5.xml:31(term) groupadd.8.xml:31(term) -msgid " (number)" -msgstr " (número)" - -#: useradd.8.xml:33(para) newusers.8.xml:33(para) login.defs.5.xml:33(para) groupadd.8.xml:33(para) -msgid "" -"Range of group IDs used for the creation of system groups by useradd, groupadd, or newusers<" -"/command>." -msgstr "" -"Alcance de IDs de grupo usados para a criação de grupos do sistema por " -"useradd, groupadd, ou " -"newusers." - -#: useradd.8.xml:38(para) newusers.8.xml:38(para) login.defs.5.xml:38(para) groupadd.8.xml:38(para) -msgid "" -"The default value for (resp. SYS_GID_MAX) is 101 (resp. -1)." -msgstr "" -"O valor predefinido para (resp. SYS_GID_MAX) é 101 (resp. -1)." - -#: useradd.8.xml:30(term) newusers.8.xml:30(term) login.defs.5.xml:30(term) -msgid " (number)" -msgstr " (número)" - -#: useradd.8.xml:31(term) newusers.8.xml:31(term) login.defs.5.xml:31(term) -msgid " (number)" -msgstr " (número)" - -#: useradd.8.xml:33(para) newusers.8.xml:33(para) login.defs.5.xml:33(para) -msgid "" -"Range of user IDs used for the creation of system users by useradd<" -"/command> or newusers." -msgstr "" -"Alcance de IDs de utilizador usados para a criação de utilizadores do sistema " -"por useradd, ou newusers." - -#: useradd.8.xml:37(para) newusers.8.xml:37(para) login.defs.5.xml:37(para) -msgid "" -"The default value for (resp. SYS_UID_MAX) is 101 (resp. -1)." -msgstr "" -"O valor predefinido para (resp. SYS_UID_MAX) é 101 (resp. -1)." - -#: useradd.8.xml:30(term) pwck.8.xml:30(term) login.defs.5.xml:30(term) -msgid " (boolean)" -msgstr " (booleano)" - -#: useradd.8.xml:32(para) pwck.8.xml:32(para) login.defs.5.xml:32(para) -msgid "" -"If yes, newly created tcb shadow files will be" -" group owned by the auth group." -msgstr "" -"Se yes, os ficheiros sombra tcb criados novos " -"irão ser do grupo possuído pelo grupo auth." - -#: useradd.8.xml:32(term) newusers.8.xml:32(term) login.defs.5.xml:32(term) -msgid " (number)" -msgstr " (número)" - -#: useradd.8.xml:33(term) newusers.8.xml:33(term) login.defs.5.xml:33(term) -msgid " (number)" -msgstr " (número)" - -#: useradd.8.xml:35(para) newusers.8.xml:35(para) login.defs.5.xml:35(para) -msgid "" -"Range of user IDs used for the creation of regular users by useradd<" -"/command> or newusers." -msgstr "" -"Alcance de IDs de utilizador usados para a criação de utilizadores regulares " -"por useradd, ou newusers." - -#: useradd.8.xml:39(para) newusers.8.xml:39(para) login.defs.5.xml:39(para) -msgid "" -"The default value for (resp. ) is 1000 (resp. 60000)." -msgstr "" -"O valor predefinido para (resp. (number)" -msgstr " (número)" - -#: useradd.8.xml:34(para) newusers.8.xml:34(para) login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "" -"The file mode creation mask is initialized to this value. If not specified," -" the mask will be initialized to 022." -msgstr "" -"A máscara de criação de modo de ficheiro é inicializada para este valor. Se " -"não especificado, a máscara será inicializada para 022." - -#: useradd.8.xml:38(para) newusers.8.xml:38(para) login.defs.5.xml:38(para) login.1.xml:38(para) -msgid "" -"useradd and newusers use this mask to" -" set the mode of the home directory they create if " -" is not set." -msgstr "" -"useradd e newusers usam esta máscara " -"para definir o modo do directório home que criam se " -" não estiver definido." - -#: useradd.8.xml:43(para) newusers.8.xml:43(para) login.defs.5.xml:43(para) login.1.xml:43(para) -msgid "" -"It is also used by login to define users' initial umask." -" Note that this mask can be overridden by the user's GECOS line (if QUOTAS_ENAB is set) or by the specification of a limit with the <" -"emphasis>K identifier in limits<" -"/refentrytitle>5." -msgstr "" -"É também usado por login para definir a umask inicial " -"do utilizador. Note que esta máscara pode ser sobreposta pela linha GECOS " -"do utilizador (se estiver definida) ou pela " -"especificação de um limite com o identificador K em " -"limits5." - -#: useradd.8.xml:51(para) newusers.8.xml:51(para) login.defs.5.xml:51(para) login.1.xml:51(para) -msgid "" -"It is also used by pam_umask as the default umask value." -msgstr "" -"É também usado pelo pam_umask como o valor umask " -"predefinido." - -#: useradd.8.xml:733(filename) -msgid "/etc/default/useradd" -msgstr "/etc/default/useradd" - -#: useradd.8.xml:735(para) -msgid "Default values for account creation." -msgstr "Valores predefinidos para criação de conta." - -#: useradd.8.xml:739(filename) -msgid "/etc/skel/" -msgstr "/etc/skel/" - -#: useradd.8.xml:741(para) -msgid "Directory containing default files." -msgstr "Directório que contém ficheiros predefinidos." - -#: useradd.8.xml:789(replaceable) shadow.3.xml:58(manvolnum) pwck.8.xml:326(replaceable) passwd.1.xml:466(replaceable) grpck.8.xml:268(replaceable) groupmod.8.xml:269(replaceable) groupadd.8.xml:313(replaceable) -msgid "3" -msgstr "3" - -#: useradd.8.xml:791(para) passwd.1.xml:486(para) groupadd.8.xml:315(para) +#. (itstool) path: listitem/para +#: groupadd.8.xml.out:317 passwd.1.xml.out:485 useradd.8.xml.out:851 msgid "invalid argument to option" msgstr "Argumento inválido para opção" -#: useradd.8.xml:795(replaceable) pwck.8.xml:332(replaceable) passwd.1.xml:472(replaceable) grpck.8.xml:274(replaceable) groupmod.8.xml:275(replaceable) groupadd.8.xml:319(replaceable) +#. (itstool) path: term/replaceable +#: groupadd.8.xml.out:321 groupmod.8.xml.out:277 grpck.8.xml.out:261 +#: passwd.1.xml.out:471 pwck.8.xml.out:311 useradd.8.xml.out:855 msgid "4" msgstr "4" -#: useradd.8.xml:797(para) -msgid "UID already in use (and no )" +#. (itstool) path: listitem/para +#: groupadd.8.xml.out:323 +#, fuzzy +#| msgid "UID already in use (and no )" +msgid "GID is already used (when called without <_:option-1/>)" msgstr "UID já em uso (e nenhum )" -#: useradd.8.xml:803(para) groupdel.8.xml:194(para) -msgid "specified group doesn't exist" -msgstr "grupos especificado não existe" - -#: useradd.8.xml:807(replaceable) groupmod.8.xml:287(replaceable) groupadd.8.xml:325(replaceable) +#. (itstool) path: term/replaceable +#: groupadd.8.xml.out:327 groupmod.8.xml.out:289 useradd.8.xml.out:867 msgid "9" msgstr "9" -#: useradd.8.xml:809(para) -msgid "username already in use" +#. (itstool) path: listitem/para +#: groupadd.8.xml.out:329 +#, fuzzy +#| msgid "username already in use" +msgid "group name is already used" msgstr "nome de utilizador já em uso" -#: useradd.8.xml:821(para) -msgid "can't create home directory" -msgstr "incapaz de criar o directório home" +#. (itstool) path: listitem/para +#: groupadd.8.xml.out:335 groupdel.8.xml.out:194 useradd.8.xml.out:875 +#: userdel.8.xml.out:267 +msgid "can't update group file" +msgstr "incapaz de actualizar o ficheiro de grupo" -#: useradd.8.xml:825(replaceable) -msgid "14" -msgstr "14" +#. (itstool) path: citerefentry/refentrytitle +#. (itstool) path: varlistentry/term +#. (itstool) path: refmeta/refentrytitle +#. (itstool) path: refnamediv/refname +#. (itstool) path: cmdsynopsis/command +#. (itstool) path: para/command +#: groupadd.8.xml.out:369 groupdel.8.xml.out:226 groupmems.8.xml.out:227 +#: groupmod.8.xml.out:350 login.defs.5.xml.out:499 useradd.8.xml.out:933 +#: userdel.8.xml.out:39 userdel.8.xml.out:46 userdel.8.xml.out:51 +#: userdel.8.xml.out:62 userdel.8.xml.out:71 userdel.8.xml.out:82 +#: userdel.8.xml.out:211 userdel.8.xml.out:232 userdel.8.xml.out:283 +#: userdel.8.xml.out:298 userdel.8.xml.out:300 usermod.8.xml.out:660 +msgid "userdel" +msgstr "userdel" -#: useradd.8.xml:827(para) -msgid "can't update SELinux user mapping" -msgstr "incapaz de actualizar mapeamento de utilizador SELinux" +#. (itstool) path: citerefentry/refentrytitle +#. (itstool) path: varlistentry/term +#. (itstool) path: para/command +#. (itstool) path: refmeta/refentrytitle +#. (itstool) path: refnamediv/refname +#. (itstool) path: cmdsynopsis/command +#: groupadd.8.xml.out:372 groupdel.8.xml.out:229 groupmems.8.xml.out:230 +#: groupmod.8.xml.out:353 login.defs.5.xml.out:509 passwd.1.xml.out:513 +#: pwck.8.xml.out:140 pwck.8.xml.out:348 useradd.8.xml.out:936 +#: userdel.8.xml.out:345 usermod.8.xml.out:40 usermod.8.xml.out:47 +#: usermod.8.xml.out:53 usermod.8.xml.out:64 usermod.8.xml.out:72 +#: usermod.8.xml.out:263 usermod.8.xml.out:539 +msgid "usermod" +msgstr "usermod" -#: useradd.8.xml:767(para) +#. (itstool) path: refsect1/para +#: groupadd.8.xml.out:344 groupmod.8.xml.out:324 msgid "" -"The useradd command exits with the following values: <" -"placeholder-1/>" +"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" +"citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/>, <_:" +"citerefentry-7/>, <_:citerefentry-8/>, <_:citerefentry-9/>, <_:" +"citerefentry-10/>." msgstr "" -"O comando useradd termina com os seguintes valores: " -"" -#: useradd.8.xml:836(para) +#. (itstool) path: refnamediv/refpurpose +#: groupdel.8.xml.out:42 +msgid "delete a group" +msgstr "apaga um grupo" + +#. (itstool) path: arg/replaceable +#. (itstool) path: para/replaceable +#. (itstool) path: para/emphasis +#. (itstool) path: term/replaceable +#. (itstool) path: para/option +#: groupdel.8.xml.out:51 groupdel.8.xml.out:59 groupmod.8.xml.out:51 +#: groupmod.8.xml.out:59 groupmod.8.xml.out:86 groupmod.8.xml.out:102 +#: groupmod.8.xml.out:125 suauth.5.xml.out:85 suauth.5.xml.out:87 +#: useradd.8.xml.out:230 useradd.8.xml.out:249 useradd.8.xml.out:394 +#: useradd.8.xml.out:659 useradd.8.xml.out:668 usermod.8.xml.out:174 +msgid "GROUP" +msgstr "GRUPO" + +#. (itstool) path: refsect1/para +#: groupdel.8.xml.out:57 +#, fuzzy +#| msgid "" +#| "The groupdel command modifies the system account " +#| "files, deleting all entries that refer to GROUP. The named group must exist." msgid "" -"chfn1<" -"/citerefentry>, chsh1, passwd<" -"/refentrytitle>1, <" -"refentrytitle>crypt3, <" -"citerefentry>groupadd8<" -"/citerefentry>, groupdel<" -"manvolnum>8, groupmod8, <" -"citerefentry>login.defs5, newusers<" -"manvolnum>8, <" -"citerefentry>subgid5<" -"/citerefentry>, subuid5, userdel<" -"/refentrytitle>8, <" -"refentrytitle>usermod8." +"The <_:command-1/> command modifies the system account files, deleting all " +"entries that refer to <_:replaceable-2/>. The named group must exist." msgstr "" -"chfn1<" -"/citerefentry>, chsh1, passwd<" -"/refentrytitle>1, <" -"refentrytitle>crypt3, <" -"citerefentry>groupadd8<" -"/citerefentry>, groupdel<" -"manvolnum>8, groupmod8, <" -"citerefentry>login.defs5, newusers<" -"manvolnum>8, <" -"citerefentry>subgid5<" -"/citerefentry>, subuid5, userdel<" -"/refentrytitle>8, <" -"refentrytitle>usermod8." +"O comando groupdel modifica os ficheiros de contas do " +"sistema, apagando todas as entradas que se referem a GROUP. O grupo nomeado tem de existir." -#: suauth.5.xml:41(contrib) pwconv.8.xml:47(contrib) login.access.5.xml:42(contrib) gpasswd.1.xml:46(contrib) -msgid "Creation, 1996" -msgstr "Criação, 1996" - -#: suauth.5.xml:57(refentrytitle) suauth.5.xml:64(refname) -msgid "suauth" -msgstr "suauth" - -#: suauth.5.xml:58(manvolnum) shadow.5.xml:58(manvolnum) pwck.8.xml:338(replaceable) porttime.5.xml:58(manvolnum) passwd.5.xml:58(manvolnum) passwd.1.xml:478(replaceable) login.defs.5.xml:125(manvolnum) login.access.5.xml:59(manvolnum) limits.5.xml:60(manvolnum) gshadow.5.xml:47(manvolnum) grpck.8.xml:280(replaceable) faillog.5.xml:58(manvolnum) -msgid "5" -msgstr "5" - -#: suauth.5.xml:59(refmiscinfo) shadow.5.xml:59(refmiscinfo) porttime.5.xml:59(refmiscinfo) passwd.5.xml:59(refmiscinfo) login.defs.5.xml:126(refmiscinfo) login.access.5.xml:60(refmiscinfo) limits.5.xml:61(refmiscinfo) gshadow.5.xml:48(refmiscinfo) faillog.5.xml:59(refmiscinfo) -msgid "File Formats and Conversions" -msgstr "Formatos de Ficheiros e Conversões" - -#: suauth.5.xml:65(refpurpose) -msgid "detailed su control file" -msgstr "ficheiro de controle su detalhado" - -#: suauth.5.xml:70(command) suauth.5.xml:196(filename) -msgid "/etc/suauth" -msgstr "/etc/suauth" - -#: suauth.5.xml:76(para) +#. (itstool) path: listitem/para +#: groupdel.8.xml.out:75 msgid "" -"The file /etc/suauth is referenced whenever the su" -" command is called. It can change the behaviour of the su command, based upon:" +"This option forces the removal of the group, even if there's some user " +"having the group as the primary one." msgstr "" -"O ficheiro /etc/suauth é referenciado sempre que o " -"comando su é chamado. Ele pode mudar o comportamento do comando su, com " -"base em:" -#. .RS -#: suauth.5.xml:83(literallayout) -#, no-wrap -msgid "\n 1) the user su is targeting\n " -msgstr "\n 1) no utilizador que o su está a apontar\n " - -#. .fi -#: suauth.5.xml:87(para) +#. (itstool) path: listitem/para +#: groupdel.8.xml.out:105 groupmod.8.xml.out:180 userdel.8.xml.out:139 +#, fuzzy +#| msgid "" +#| "Apply changes in the PREFIX_DIR directory and " +#| "use the configuration files from the PREFIX_DIR directory. This option does not chroot and is intended for " +#| "preparing a cross-compilation target. Some limitations: NIS and LDAP " +#| "users/groups are not verified. PAM authentication is using the host " +#| "files. No SELINUX support." msgid "" -"2) the user executing the su command (or any groups he might be a member of)" +"Apply changes in the <_:replaceable-1/> directory and use the configuration " +"files from the <_:replaceable-2/> directory. This option does not chroot and " +"is intended for preparing a cross-compilation target. Some limitations: NIS " +"and LDAP users/groups are not verified. PAM authentication is using the host " +"files. No SELINUX support." msgstr "" -"2) no utilizador que executa o comando su (ou quaisquer grupos de que ele " -"possa ser membro)" +"Aplica alterações no directório PREFIX_DIR e usa " +"os ficheiro de configuração do directório PREFIX_DIR. Esta opção não faz chroot e destina-se à preparação de um alvo " +"de compilação cruzada. Algumas limitações: Os utilizadores/grupos NIS e LDAP " +"não são verificados. A autenticação PAM usa os ficheiros do anfitrião. Não " +"há suporte a SELINUX." -#: suauth.5.xml:92(para) +#. (itstool) path: refsect1/para +#: groupdel.8.xml.out:122 msgid "" -"The file is formatted like this, with lines starting with a # being treated" -" as comment lines and ignored;" +"You may not remove the primary group of any existing user. You must remove " +"the user before you remove the group." msgstr "" -"O ficheiro é formatado como isto, com as linhas começadas com # a serem " -"tratadas como comentários e ignoradas." +"Você não pode remover o grupo primário de um utilizador existente. Você tem " +"de remover o utilizador antes de remover o grupo." -#: suauth.5.xml:97(literallayout) -#, no-wrap -msgid "\n to-id:from-id:ACTION\n " -msgstr "\n to-id:from-id:ACTION\n " - -#: suauth.5.xml:101(para) +#. (itstool) path: refsect1/para +#: groupdel.8.xml.out:126 msgid "" -"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 \",\"." +"You should manually check all file systems to ensure that no files remain " +"owned by this group." msgstr "" -"Onde to-id é ou a palavra ALL, uma lista de nomes de " -"utilizadores delimitados por \",\" ou as palavras ALL EXCEPT seguida por uma lista de nomes de utilizadores delimitados por" -" \",\"." +"Você deve verificar manualmente todos os sistemas para assegurar que não " +"restam ficheiros possuídos por este grupo." -#: suauth.5.xml:107(para) +#. (itstool) path: term/replaceable +#: groupdel.8.xml.out:180 groupmod.8.xml.out:283 passwd.1.xml.out:483 +#: pwck.8.xml.out:323 useradd.8.xml.out:861 userdel.8.xml.out:253 +msgid "6" +msgstr "6" + +#. (itstool) path: listitem/para +#: groupdel.8.xml.out:182 useradd.8.xml.out:863 +msgid "specified group doesn't exist" +msgstr "grupos especificado não existe" + +#. (itstool) path: listitem/para +#: groupdel.8.xml.out:188 +msgid "can't remove user's primary group" +msgstr "incapaz de remover o grupo primário do utilizador" + +#. (itstool) path: refsect1/para +#: groupdel.8.xml.out:203 login.1.xml.out:375 shadow.5.xml.out:260 msgid "" -"from-id is formatted the same as to-id except the extra word GROUP<" -"/emphasis> is recognized. 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<" -"/refentrytitle>5 is necessary." +"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" +"citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/>, <_:" +"citerefentry-7/>, <_:citerefentry-8/>, <_:citerefentry-9/>." msgstr "" -"from-id é formatado igual a to-id excepto que é reconhecida a palavra extra " -"GROUP. ALL EXCEPT GROUP é também " -"perfeitamente válida. A seguir a GROUP aparece um ou " -"mais nomes de grupos, delimitados por \",\". Não é suficiente ter o id de" -" grupo " -"primário do grupo relevante, é necessário uma entrada em <" -"refentrytitle>/etc/group5." -#: suauth.5.xml:118(para) -msgid "Action can be one only of the following currently supported options." -msgstr "" -"Action pode ser uma apenas das seguintes opções suportadas actualmente." +#. (itstool) path: author/firstname +#: groupmems.8.xml.out:18 +msgid "George" +msgstr "George" -#: suauth.5.xml:124(emphasis) -msgid "DENY" -msgstr "DENY" +#. (itstool) path: author/surname +#: groupmems.8.xml.out:19 +msgid "Kraft" +msgstr "Kraft" -#: suauth.5.xml:127(para) -msgid "The attempt to su is stopped before a password is even asked for." -msgstr "A tentativa de su é parada antes de ser pedida uma palavra passe." +#. (itstool) path: author/lineage +#: groupmems.8.xml.out:20 +msgid "IV" +msgstr "IV" -#: suauth.5.xml:134(emphasis) -msgid "NOPASS" -msgstr "NOPASS" +#. (itstool) path: author/contrib +#: groupmems.8.xml.out:21 +msgid "Creation, 2000" +msgstr "Criação, 2000" -#: suauth.5.xml:137(para) +#. (itstool) path: refmeta/refentrytitle +#. (itstool) path: refnamediv/refname +#. (itstool) path: cmdsynopsis/command +#. (itstool) path: para/command +#. (itstool) path: varlistentry/term +#: groupmems.8.xml.out:37 groupmems.8.xml.out:44 groupmems.8.xml.out:50 +#: groupmems.8.xml.out:63 groupmems.8.xml.out:65 groupmems.8.xml.out:71 +#: groupmems.8.xml.out:78 groupmems.8.xml.out:159 groupmems.8.xml.out:163 +#: login.defs.5.xml.out:318 +msgid "groupmems" +msgstr "groupmems" + +#. (itstool) path: refnamediv/refpurpose +#: groupmems.8.xml.out:45 +msgid "administer members of a user's primary group" +msgstr "membros administrativos de um grupo primário de utilizador." + +#. (itstool) path: group/arg +#: groupmems.8.xml.out:52 +#, fuzzy +#| msgid "-a " +msgid "-a <_:replaceable-1/>" +msgstr "-a " + +#. (itstool) path: group/arg +#: groupmems.8.xml.out:53 +#, fuzzy +#| msgid "-d " +msgid "-d <_:replaceable-1/>" +msgstr "-d " + +#. (itstool) path: group/arg +#: groupmems.8.xml.out:54 +#, fuzzy +#| msgid "-g " +msgid "-g <_:replaceable-1/>" +msgstr "-g " + +#. (itstool) path: refsect1/para +#: groupmems.8.xml.out:62 +#, fuzzy +#| msgid "" +#| "The groupmems command allows a user to administer " +#| "their own group membership list without the requirement of superuser " +#| "privileges. The groupmems utility is for systems that " +#| "configure its users to be in their own name sake primary group (i.e., " +#| "guest / guest)." msgid "" -"The attempt to su is automatically successful; no password is asked for." +"The <_:command-1/> command allows a user to administer their own group " +"membership list without the requirement of superuser privileges. The <_:" +"command-2/> utility is for systems that configure its users to be in their " +"own name sake primary group (i.e., guest / guest)." msgstr "" -"A tentativa de su tem sucesso automático; nenhuma palavra passe é pedida." +"O comando groupmems permite a um utilizador administrar a " +"lista de membros do seu próprio grupo sem os requerimentos dos privilégios " +"do super-utilizador. O utilitário groupmems serve para " +"sistemas que configuram os seus utilizadores para terem o seu nome próprio e " +"para pertencerem ao seu próprio grupo primário (isto é, guest / guest)." -#: suauth.5.xml:145(emphasis) -msgid "OWNPASS" -msgstr "OWNPASS" - -#: suauth.5.xml:148(para) +#. (itstool) path: refsect1/para +#: groupmems.8.xml.out:70 +#, fuzzy +#| msgid "" +#| "Only the superuser, as administrator, can use groupmems to alter the memberships of other groups." msgid "" -"For the su command to be successful, the user must enter his or her own" -" password. They are told this." +"Only the superuser, as administrator, can use <_:command-1/> to alter the " +"memberships of other groups." msgstr "" -"Para o comando su ter sucesso, o utilizador tem de inserir a sua própria " -"palavra passe. Eles são informados disso." +"Apenas o super-utilizador, como administrador, pode usar groupmems par alterar a lista de membros dos outros grupos." -#: suauth.5.xml:156(para) +#. (itstool) path: listitem/para +#: groupmems.8.xml.out:85 +msgid "Add a user to the group membership list." +msgstr "Adiciona um utilizador à lista de membros do grupo." + +#. (itstool) path: listitem/para +#: groupmems.8.xml.out:86 groupmems.8.xml.out:102 groupmems.8.xml.out:133 +#, fuzzy +#| msgid "" +#| "If the /etc/gshadow file exist, and the group has no " +#| "entry in the /etc/gshadow file, a new entry will be " +#| "created." msgid "" -"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." +"If the <_:filename-1/> file exist, and the group has no entry in the <_:" +"filename-2/> file, a new entry will be created." msgstr "" -"Note que existem três campos separados delimitados por dois pontos (:). Não " -"podem existir espaços em branco juntos aos dois ponto. Note também que o " -"ficheiro é examinado sequencialmente linha a linha, e a primeira regra " -"aplicável é usada sem examinar o resto do ficheiro. Isto torna possível para " -"um administrador de sistema executar as afinações que desejar." +"Se o ficheiro /etc/gshadow existir, e o grupo não tiver " +"uma entrada no ficheiro /etc/gshadow, será criada uma " +"nova entrada." -#: suauth.5.xml:166(title) -msgid "EXAMPLE" -msgstr "EXEMPLO" +#. (itstool) path: listitem/para +#: groupmems.8.xml.out:96 +msgid "Delete a user from the group membership list." +msgstr "Apaga um utilizador da lista de membros de grupo." -#: suauth.5.xml:167(literallayout) -#, no-wrap +#. (itstool) path: listitem/para +#: groupmems.8.xml.out:97 +#, fuzzy +#| msgid "" +#| "If the /etc/gshadow file exist, the user will be " +#| "removed from the list of members and administrators of the group." msgid "" -"\n # sample /etc/suauth file\n #\n # A couple of privileged" -" usernames may\n # su to root with their own password.\n #\n " -" root:chris,birddog:OWNPASS\n #\n # Anyone else may not su to root" -" unless in\n # group wheel. This is how BSD does things.\n #\n " -" root:ALL EXCEPT GROUP wheel:DENY\n #\n # Perhaps terry and birddog" -" are accounts\n # owned by the same person.\n # Access can be" -" arranged between them\n # with no password.\n #\n " -" terry:birddog:NOPASS\n birddog:terry:NOPASS\n #\n " +"If the <_:filename-1/> file exist, the user will be removed from the list of " +"members and administrators of the group." msgstr "" -"\n # sample /etc/suauth file\n #\n # A couple of privileged" -" usernames may\n # su to root with their own password.\n #\n " -" root:chris,birddog:OWNPASS\n #\n # Anyone else may not su to root" -" unless in\n # group wheel. This is how BSD does things.\n #\n " -" root:ALL EXCEPT GROUP wheel:DENY\n #\n # Perhaps terry and birddog" -" are accounts\n # owned by the same person.\n # Access can be" -" arranged between them\n # with no password.\n #\n " -" terry:birddog:NOPASS\n birddog:terry:NOPASS\n #\n " +"Se o ficheiro /etc/gshadow existir, o utilizador será " +"removido da lista de membros e administradores do grupo." -#: suauth.5.xml:203(title) pwconv.8.xml:216(title) login.defs.5.xml:531(title) -msgid "BUGS" -msgstr "BUGS" +#. (itstool) path: term/option +#: groupmems.8.xml.out:110 vipw.8.xml.out:90 +#, fuzzy +#| msgid "group" +msgid "--group" +msgstr "group" -#: suauth.5.xml:204(para) +#. (itstool) path: listitem/para +#: groupmems.8.xml.out:112 +msgid "The superuser can specify which group membership list to modify." +msgstr "" +"O super-utilizador pode especificar a lista de membros de grupo a modificar." + +#. (itstool) path: listitem/para +#: groupmems.8.xml.out:126 +msgid "List the group membership list." +msgstr "Lista a lista de membros do grupo." + +#. (itstool) path: term/option +#: groupmems.8.xml.out:130 +msgid "--purge" +msgstr "" + +#. (itstool) path: listitem/para +#: groupmems.8.xml.out:132 +msgid "Purge all users from the group membership list." +msgstr "Purga todos os utilizadores da lista de membros de grupo." + +#. (itstool) path: refsect1/title +#: groupmems.8.xml.out:157 +msgid "SETUP" +msgstr "CONFIGURAÇÃO" + +#. (itstool) path: para/literal +#: groupmems.8.xml.out:160 +msgid "2710" +msgstr "" + +#. (itstool) path: para/emphasis +#. (itstool) path: refmeta/refentrytitle +#. (itstool) path: refnamediv/refname +#. (itstool) path: cmdsynopsis/command +#. (itstool) path: para/command +#: groupmems.8.xml.out:161 groupmems.8.xml.out:162 groups.1.xml.out:33 +#: groups.1.xml.out:40 groups.1.xml.out:46 groups.1.xml.out:56 +msgid "groups" +msgstr "groups" + +#. (itstool) path: refsect1/para +#: groupmems.8.xml.out:158 +#, fuzzy +#| msgid "" +#| "The groupmems executable should be in mode " +#| "2710 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." msgid "" -"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." +"The <_:command-1/> executable should be in mode <_:literal-2/> as user <_:" +"emphasis-3/> and in group <_:emphasis-4/>. The system administrator can add " +"users to group <_:emphasis-5/> to allow or disallow them using the <_:" +"command-6/> utility to manage their own group membership list." msgstr "" -"Pode haver muita coisa escondida. O analisador de ficheiro é particularmente " -"imperdoável com erros de sintaxe, espera nenhum espaço em branco falso " -"(aparte do princípio e final das linhas), e um símbolo específico delimitando " -"as diferentes coisas." +"O executável groupmems deve estar em modo 2710 como utilizador root e no grupo " +"groups. O administrador do sistema pode adicionar " +"utilizadores ao grupo groups para permitir ou retirar a " +"permissão destes usarem o utilitário groupmems para gerir " +"a sua própria lista de membros do grupo." -#: suauth.5.xml:213(title) shadow.3.xml:208(title) -msgid "DIAGNOSTICS" -msgstr "DIAGNÓSTICOS" - -#: suauth.5.xml:214(para) +#. (itstool) path: refsect1/programlisting +#: groupmems.8.xml.out:167 +#, fuzzy +#| msgid "" +#| "\n" +#| "\t$ groupadd -r groups\n" +#| "\t$ chmod 2710 groupmems\n" +#| "\t$ chown root.groups groupmems\n" +#| "\t$ groupmems -g groups -a gk4\n" +#| " " msgid "" -"An error parsing the file is reported using syslogd8 as level ERR" -" on facility AUTH." +"$ groupadd -r groups $ chmod 2710 groupmems $ chown root:groups groupmems $ " +"groupmems -g groups -a gk4" msgstr "" -"Um erro ao analisar o ficheiro é reportado usando syslogd8 como nível " -"ERR em instalação AUTH." +"\n" +"\t$ groupadd -r groups\n" +"\t$ chmod 2710 groupmems\n" +"\t$ chown root.groups groupmems\n" +"\t$ groupmems -g groups -a gk4\n" +" " -#: suauth.5.xml:223(para) +#. (itstool) path: listitem/para +#: groupmems.8.xml.out:199 +msgid "secure group account information" +msgstr "informação de conta de grupo segura" + +#. (itstool) path: refsect1/para +#: groupmems.8.xml.out:207 msgid "" -"su1<" -"/citerefentry>." +"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" +"citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/>, <_:" +"citerefentry-7/>, <_:citerefentry-8/>." msgstr "" -"su1<" -"/citerefentry>." -#: su.1.xml:58(contrib) shadow.5.xml:41(contrib) shadow.3.xml:41(contrib) porttime.5.xml:41(contrib) passwd.5.xml:41(contrib) passwd.1.xml:48(contrib) login.1.xml:74(contrib) faillog.8.xml:41(contrib) faillog.5.xml:41(contrib) -msgid "Creation, 1989" -msgstr "Criação, 1989" +#. (itstool) path: refnamediv/refpurpose +#: groupmod.8.xml.out:42 +msgid "modify a group definition on the system" +msgstr "modifica a definição de um grupo no sistema" -#: su.1.xml:74(refentrytitle) su.1.xml:81(refname) su.1.xml:86(command) login.defs.5.xml:456(term) -msgid "su" -msgstr "su" +#. (itstool) path: refsect1/para +#: groupmod.8.xml.out:57 +#, fuzzy +#| msgid "" +#| "The groupmod command modifies the definition of the " +#| "specified GROUP by modifying the appropriate " +#| "entry in the group database." +msgid "" +"The <_:command-1/> command modifies the definition of the specified <_:" +"replaceable-2/> by modifying the appropriate entry in the group database." +msgstr "" +"O comando groupmod modifica a definição do " +"GROUP especificado ao modificar a entrada " +"apropriada na base de dados do grupo." -#: su.1.xml:76(refmiscinfo) sg.1.xml:60(refmiscinfo) passwd.1.xml:66(refmiscinfo) newgrp.1.xml:60(refmiscinfo) login.1.xml:92(refmiscinfo) groups.1.xml:59(refmiscinfo) gpasswd.1.xml:64(refmiscinfo) expiry.1.xml:63(refmiscinfo) chsh.1.xml:62(refmiscinfo) chfn.1.xml:62(refmiscinfo) chage.1.xml:60(refmiscinfo) -msgid "User Commands" -msgstr "Comandos de Utilizador" +#. (itstool) path: term/option +#: groupmod.8.xml.out:73 usermod.8.xml.out:78 +msgid "--append" +msgstr "" -#: su.1.xml:82(refpurpose) -msgid "change user ID or become superuser" -msgstr "mudar o ID de utilizador ou tornar-se super-utilizador" +#. (itstool) path: listitem/para +#: groupmod.8.xml.out:76 +msgid "" +"If group members are specified with -U, append them to the existing member " +"list, rather than replacing it." +msgstr "" -#: su.1.xml:91(replaceable) sg.1.xml:72(arg) newgrp.1.xml:71(arg) -msgid "-" +#. (itstool) path: listitem/para +#: groupmod.8.xml.out:85 +#, fuzzy +#| msgid "" +#| "The group ID of the given GROUP will be " +#| "changed to GID." +msgid "" +"The group ID of the given <_:replaceable-1/> will be changed to <_:" +"replaceable-2/>." +msgstr "" +"I ID de grupo do GROUP fornecido será mudado para " +"GID." + +#. (itstool) path: listitem/para +#: groupmod.8.xml.out:89 +#, fuzzy +#| msgid "" +#| "The value of GID must be a non-negative " +#| "decimal integer. This value must be unique, unless the ." + +#. (itstool) path: listitem/para +#: groupmod.8.xml.out:95 +msgid "" +"Users who use the group as primary group will be updated to keep the group " +"as their primary group." +msgstr "" +"Os utilizadores que usam o grupo como grupo primário serão actualizados para " +"manterem o grupo como u seu grupo primário." + +#. (itstool) path: listitem/para +#: groupmod.8.xml.out:99 +#, fuzzy +#| msgid "" +#| "Any files that have the old group ID and must continue to belong to " +#| "GROUP, must have their group ID changed " +#| "manually." +msgid "" +"Any files that have the old group ID and must continue to belong to <_:" +"replaceable-1/>, must have their group ID changed manually." +msgstr "" +"Quaisquer ficheiros que têm o ID de grupo antigo e devem continuar a " +"pertencer ao GROUP, precisam de ter o seu ID de " +"grupo mudado manualmente." + +#. (itstool) path: listitem/para +#: groupmod.8.xml.out:105 usermod.8.xml.out:395 +#, fuzzy +#| msgid "" +#| "No checks will be performed with regard to the , " +#| ", , or " +#| " from /etc/login.defs." +msgid "" +"No checks will be performed with regard to the <_:option-1/>, <_:option-2/>, " +"<_:option-3/>, or <_:option-4/> from <_:filename-5/>." +msgstr "" +"Nenhuma verificação será executada em relação a , " +", , ou " +" a partir de /etc/login.defs." + +#. (itstool) path: term/option +#: groupmod.8.xml.out:121 passwd.1.xml.out:242 +#, fuzzy +#| msgid "-" +msgid "-n" msgstr "-" -#: su.1.xml:94(replaceable) login.1.xml:107(replaceable) login.1.xml:115(replaceable) -msgid "username" -msgstr "nome de utilizador" +#. (itstool) path: term/option +#: groupmod.8.xml.out:121 +#, fuzzy +#| msgid "--badname" +msgid "--new-name" +msgstr "--badname" -#: su.1.xml:96(replaceable) -msgid "args" -msgstr "argumentos" +#. (itstool) path: term/replaceable +#. (itstool) path: para/replaceable +#: groupmod.8.xml.out:121 groupmod.8.xml.out:126 +#, fuzzy +#| msgid "GROUP" +msgid "NEW_GROUP" +msgstr "GRUPO" -#: su.1.xml:104(para) +#. (itstool) path: listitem/para +#: groupmod.8.xml.out:124 +#, fuzzy +#| msgid "" +#| "The name of the group will be changed from GROUP to NEW_GROUP name." msgid "" -"The su command is used to become another user during a" -" login session. Invoked without a , su<" -"/command> defaults to becoming the superuser. The option" -" may be used to provide an environment similar to what the user would expect" -" had the user logged in directly. The option may be used" -" to treat the next argument as a command by most shells." +"The name of the group will be changed from <_:replaceable-1/> to <_:" +"replaceable-2/> name." msgstr "" -"O comando su é usado para se tornar noutro utilizador " -"durante uma sessão de login: Invocado sem um , " -"su por predefinição torna-se no super-utilizador. A " -"opção pode ser usada para fornecer um ambiente semelhante " -"àquele que o utilizador iria esperar como se tivesse feito o login " -"diretamente. A opção pode ser usada para tratar o " -"próximo argumento como um comando na maioria das shells." +"O nome do grupo será alterado de GROUP para " +"NEW_GROUP." -#: su.1.xml:114(para) +#. (itstool) path: listitem/para +#: groupmod.8.xml.out:135 +#, fuzzy +#| msgid "" +#| "When used with the option, allow to change the group " +#| "GID to a non-unique value." msgid "" -"Options are recognized everywhere in the argument list. You can use the <" -"option>-- argument to stop option parsing. The " -" option is special: it is also recognized after , but has" -" to be placed before ." +"When used with the <_:option-1/> option, allow to change the group <_:" +"replaceable-2/> to a non-unique value." msgstr "" -"As opções são reconhecidas em qualquer sítio na lista de argumentos. Você " -"pode usar o argumento para parar a análise de opções. A " -"opção é especial: é também reconhecida após " -", mas tem de ser colocada antes de , permite mudar o " +"GID do grupo para um valor não-único." -#: su.1.xml:122(para) +#. (itstool) path: listitem/para +#: groupmod.8.xml.out:146 +msgid "The encrypted password, as returned by <_:citerefentry-1/>." +msgstr "" + +#. (itstool) path: listitem/para +#: groupmod.8.xml.out:261 +msgid "E_SUCCESS: success" +msgstr "E_SUCCESS: sucesso" + +#. (itstool) path: listitem/para +#: groupmod.8.xml.out:267 +msgid "E_USAGE: invalid command syntax" +msgstr "E_USAGE: sintaxe inválida de comando" + +#. (itstool) path: listitem/para +#: groupmod.8.xml.out:273 +msgid "E_BAD_ARG: invalid argument to option" +msgstr "E_BAD_ARG: argumento inválido para a opção" + +#. (itstool) path: listitem/para +#: groupmod.8.xml.out:279 +#, fuzzy +#| msgid "E_NAME_IN_USE: group name already in use" +msgid "E_GID_IN_USE: group id already in use" +msgstr "E_NAME_IN_USE: nome de grupo já em uso" + +#. (itstool) path: listitem/para +#: groupmod.8.xml.out:285 +msgid "E_NOTFOUND: specified group doesn't exist" +msgstr "E_NOTFOUND: grupo especificado não existe" + +#. (itstool) path: listitem/para +#: groupmod.8.xml.out:291 +msgid "E_NAME_IN_USE: group name already in use" +msgstr "E_NAME_IN_USE: nome de grupo já em uso" + +#. (itstool) path: listitem/para +#: groupmod.8.xml.out:297 +msgid "E_GRP_UPDATE: can't update group file" +msgstr "E_GRP_UPDATE: incapaz de actualizar ficheiro de grupo" + +#. (itstool) path: term/replaceable +#: groupmod.8.xml.out:301 +msgid "11" +msgstr "11" + +#. (itstool) path: listitem/para +#: groupmod.8.xml.out:303 +msgid "E_CLEANUP_SERVICE: can't setup cleanup service" +msgstr "E_CLEANUP_SERVICE: incapaz de configurar o serviço de limpeza" + +#. (itstool) path: term/replaceable +#: groupmod.8.xml.out:307 useradd.8.xml.out:879 userdel.8.xml.out:271 +msgid "12" +msgstr "12" + +#. (itstool) path: listitem/para +#: groupmod.8.xml.out:309 +msgid "E_PAM_USERNAME: can't determine your username for use with pam" +msgstr "" +"E_PAM_USERNAME: incapaz de determinar o seu nome de utilizador par usar com " +"o pam" + +#. (itstool) path: term/replaceable +#: groupmod.8.xml.out:313 +msgid "13" +msgstr "13" + +#. (itstool) path: listitem/para +#: groupmod.8.xml.out:315 msgid "" -"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 abuse of the system." +"E_PAM_ERROR: pam returned an error, see syslog facility id groupmod for the " +"PAM error message" msgstr "" -"Ao utilizador será pedida uma palavra passe, se apropriado. Palavras passe " -"inválidas irão produzir uma mensagem de erro. Todas as tentativas, ambas " -"válidas e inválidas, são registadas para detectar abusos do sistema." +"E_PAM_ERROR: pam retornou um erro, veja a funcionalidade id groupmod no " +"syslog para a mensagem de erro do PAM" -#: su.1.xml:127(para) +#. (itstool) path: refnamediv/refpurpose +#: groups.1.xml.out:41 +msgid "display current group names" +msgstr "mostra nomes de grupo actuais" + +#. (itstool) path: refsect1/para +#: groups.1.xml.out:55 +#, fuzzy +#| msgid "" +#| "The groups command 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 parameter will " +#| "display the groups for the named user." msgid "" -"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" -" superuser. This may be changed with the and <" -"option>ENV_SUPATH definitions in /etc/login.defs." +"The <_:command-1/> command displays the current group names or ID values. If " +"the value does not have a corresponding entry in <_:filename-2/>, the value " +"will be displayed as the numerical group value. The optional <_:" +"replaceable-3/> parameter will display the groups for the named user." msgstr "" -"O ambiente actual é passado para a nova shell. O valor de $PATH é reiniciado para /bin:/usr/bin para utilizadores " -"normais, ou /sbin:/bin:/usr/sbin:/usr/bin para o super-" -"utilizador. Isto pode ser alterado com as definições em /etc/login.defs." - -#: su.1.xml:136(para) login.1.xml:188(para) -msgid "" -"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." -msgstr "" -"Um login de sub-sistema é indicado com a presença de um \"*\" no primeiro " -"caractere da shell de login. O directório home dado será usado como a raiz " -"do novo sistema de ficheiros no qual o utilizador tem agora sessão aberta." - -#: su.1.xml:145(para) -msgid "The options which apply to the su command are:" -msgstr "As opções que se aplicam ao comando su são:" - -#: su.1.xml:149(term) -msgid "" -",  COMMAND<" -"/replaceable>" -msgstr "" -",  COMMAND<" -"/replaceable>" - -#: su.1.xml:153(para) -msgid "" -"Specify a command that will be invoked by the shell using its , , " -msgstr ", , " - -#: su.1.xml:171(para) -msgid "" -"Provide an environment similar to what the user would expect had the user" -" logged in directly." -msgstr "" -"Fornece um ambiente semelhante ao que o utilizador esperaria se tivesse " -"feito login diretamente." - -#: su.1.xml:175(para) -msgid "" -"When is used, it must be specified before any username. For portability it is recommended to use it as last" -" option, before any . The other forms () do not have this restriction." -msgstr "" -"Quando é usado , tem de ser especificado antes de qualquer " -". Para portabilidade é recomendado usá-lo como " -"última opção, antes de qualquer . As outras formas " -"( e ) não têm esta restrição." - -#: su.1.xml:190(para) -msgid "The shell that will be invoked." -msgstr "A shell que será invocada," - -#: su.1.xml:198(para) -msgid "The shell specified with --shell." -msgstr "A shell especificada com --shell." - -#: su.1.xml:201(para) -msgid "" -"If is used, the shell specified by" -" the $SHELL environment variable." -msgstr "" -"Se for usado , a shell é especificada " -"pela variável de ambiente $SHELL." - -#: su.1.xml:208(para) -msgid "" -"The shell indicated in the /etc/passwd entry for the" -" target user." -msgstr "" -"A shell indicada na entrada /etc/passwdpara o utilizador " -"apontado." - -#: su.1.xml:214(para) -msgid "" -"/bin/sh if a shell could not be found by any above" -" method." -msgstr "" -"/bin/sh se uma shell não puder ser encontrada por " -"nenhum dos métodos de cima." - -#: su.1.xml:191(para) -msgid "" -"The invoked shell is chosen from (highest priority first): " -msgstr "" -"A shell invocada é escolhida a partir de (de maior prioridade em primeiro): " -"" - -#: su.1.xml:219(para) -msgid "" -"If the target user has a restricted shell (i.e. the shell field of this" -" user's entry in /etc/passwd is not listed in /etc/shells), then the option or the <" -"envar>$SHELL environment variable won't be taken into account, unless" -" su is called by root." -msgstr "" -"Se o utilizador apontado tem uma shell restrita (isto é, o campo shell da " -"entrada deste utilizador em /etc/passwd não está " -"listado em /etc/shells), então a opção , , , , or (see below);" -msgstr "" -"reinicia de acordo com as opções ou " -" em /etc/login.defs " -"(veja abaixo);" - -#: su.1.xml:250(envar) -msgid "$IFS" -msgstr "$IFS" - -#: su.1.xml:252(para) -msgid "" -"reset to <space><tab><newline>, if it was" -" set." -msgstr "" -"reinicia para <space><tab><newline>, " -"se estava definida." - -#: su.1.xml:235(para) -msgid "Preserve the current environment, except for: " -msgstr "Preserva o ambiente actual, excepto para: " - -#: su.1.xml:261(para) -msgid "" -"If the target user has a restricted shell, this option has no effect (unless" -" su is called by root)." -msgstr "" -"Se o utilizador apontado tiver uma shell restrita, esta opção não tem efeito " -"(a menos que su seja chamado pelo root)." - -#: su.1.xml:270(para) -msgid "" -"The $HOME, $SHELL, $USER, $LOGNAME, $PATH, and $IFS environment" -" variables are reset." -msgstr "" -"As variáveis de ambiente $HOME, $SHELL, " -"$USER, $LOGNAME, $PATH, e " -"$IFS são reiniciadas." - -#: su.1.xml:279(para) -msgid "" -"If is not used, the environment is copied, except" -" for the variables above." -msgstr "" -"Se não for usado , o ambiente é copiado, excepto " -"para as variáveis em cima." - -#: su.1.xml:286(para) -msgid "" -"If is used, the $TERM, $COLORTERM, $DISPLAY, and $XAUTHORITY" -" environment variables are copied if they were set." -msgstr "" -"Se for usado, as variáveis de ambiente " -"$TERM, $COLORTERM, $DISPLAY, " -"e $XAUTHORITY são copiadas se estiverem definidas." - -#: su.1.xml:296(para) -msgid "" -"If is used, the $TZ, $HZ<" -"/envar>, and $MAIL environment variables are set according to" -" the /etc/login.defs options , <" -"option>ENV_HZ, , and for usado, as variáveis de ambiente " -"$TZ, $HZ, e $MAIL são definidas " -"de acordo com as opções , , " -", e de " -"/etc/login.defs (veja em baixo)." - -#: su.1.xml:309(para) -msgid "" -"If is used, other environment variables might be set" -" by the file (see below)." -msgstr "" -"Se for usado, outras variáveis de ambiente podem " -"ser definidas pelo ficheiro (veja em baixo)." - -#: su.1.xml:317(para) -msgid "Other environments might be set by PAM modules." -msgstr "Outros ambientes podem ser definidos por módulos do PAM." - -#: su.1.xml:265(para) -msgid "" -"Note that the default behavior for the environment is the following: <" -"placeholder-1/>" -msgstr "" -"Note que o comportamento predefinido para o ambiente é o seguinte: <" -"placeholder-1/>" - -#: su.1.xml:331(para) -msgid "" -"This version of su has many compilation options, only some" -" of which may be in use at any particular site." -msgstr "" -"Esta versão do su tem muitas opções de compilação, apenas " -"algumas delas podem estar em uso em qualquer sítio particular." - -#: su.1.xml:32(term) login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (string)" -msgstr " (string)" - -#: su.1.xml:34(para) login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "" -"If defined, either full pathname of a file containing device names (one per" -" line) or a \":\" delimited list of device names. Root logins will be allowed" -" only upon these devices." -msgstr "" -"Se definido, ou é um nome de caminho completo de um ficheiro que contem " -"nomes de dispositivos (um por linha)m ou uma lista delimitada por \":\" de " -"nomes de dispositivos. Os logins de root serão permitidos apenas sobre " -"estes dispositivos." - -#: su.1.xml:39(para) login.defs.5.xml:39(para) login.1.xml:39(para) -msgid "If not defined, root will be allowed on any device." -msgstr "Se não definido, o root será permitido em qualquer dispositivo." - -#: su.1.xml:42(para) login.defs.5.xml:42(para) login.1.xml:42(para) -msgid "The device should be specified without the /dev/ prefix." -msgstr "O dispositivo deve ser especificado sem o prefixo /dev/." - -#: su.1.xml:32(term) login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (string)" -msgstr " (string)" - -#: su.1.xml:34(para) login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "" -"List of groups to add to the user's supplementary groups set when logging in" -" on the console (as determined by the CONSOLE setting). Default is none. <" -"placeholder-1/> Use with caution - it is possible for users to gain permanent" -" access to these groups, even when not logged in on the console." -msgstr "" -"Lista de grupos a adicionar ao conjunto de grupos suplementares do utilizador " -"quando se faz login na consola (como determinado pela definição CONSOLE). " -"A predefinição é nenhum. Use com cuidado - É possível " -"os utilizadores ganharem acesso permanente a estes grupos, mesmo quando " -"não fazem login na consola." - -#: su.1.xml:32(term) login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (boolean)" -msgstr " (booleano)" - -#: su.1.xml:34(para) login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "" -"Indicate if login is allowed if we can't cd to the home directory. Default is" -" no." -msgstr "" -"Indica se é permitido o login se não pudermos fazer cd para o directório " -"home. A predefinição é \"não\"." - -#: su.1.xml:38(para) login.defs.5.xml:38(para) login.1.xml:38(para) -msgid "" -"If set to yes, the user will login in the root (<" -"filename>/) directory if it is not possible to cd to her home" -" directory." -msgstr "" -"Se definido para yes, o utilizador irá fazer " -"login no directório raiz (/) se não for possível fazer " -"cd para o seu directório home." - -#. XXX: When compiled with PAM support, only sulogin uses ENV_HZ -#: su.1.xml:33(term) login.defs.5.xml:33(term) login.1.xml:33(term) -msgid " (string)" -msgstr " (string)" - -#: su.1.xml:35(para) login.defs.5.xml:35(para) login.1.xml:35(para) -msgid "" -"If set, it will be used to define the HZ environment variable when a user" -" login. The value must be preceded by HZ=. A" -" common value on Linux is HZ=100." -msgstr "" -"Se definido, irá ser usado para definir a variável de ambiente HZ quando um " -"utilizador faz login. O valor tem de ser precedido de HZ=. Um valor comum em Linux é HZ=100." - -#: su.1.xml:41(para) login.defs.5.xml:41(para) login.1.xml:41(para) -msgid "" -"The HZ environment variable is only set when the user (the" -" superuser) logs in with sulogin." -msgstr "" -"A variável de ambiente HZ é apenas definida quando o " -"utilizador (o super-utilizador) inicia sessão com sulogin." - -#: su.1.xml:32(term) login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (string)" -msgstr " (string)" - -#: su.1.xml:34(para) login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "" -"If this file exists and is readable, login environment will be read from it." -" Every line should be in the form name=value." -msgstr "" -"Se este ficheiro existir e for legível, a ambiente de login será lido de " -"ele. Cada linha deve estar no formato nome=valor." - -#: su.1.xml:38(para) login.defs.5.xml:38(para) login.1.xml:38(para) -msgid "Lines starting with a # are treated as comment lines and ignored." -msgstr "As linhas começadas com # são tratadas como comentários e ignoradas." - -#: su.1.xml:32(term) login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (string)" -msgstr " (string)" - -#: su.1.xml:34(para) login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "" -"If set, it will be used to define the PATH environment variable when a" -" regular user login. The value is a colon separated list of paths (for" -" example /bin:/usr/bin) and can be preceded by <" -"replaceable>PATH=. The default value is PATH=/bin:/usr/bin." -msgstr "" -"Se definido, irá ser usado para definir a variável de ambiente PATH quando um " -"utilizador regular faz login. O valor é uma lista separada por dois pontos" -"de caminhos (por exemplo /bin:/usr/bin) e pode ser " -"precedido por PATH=. O valor predefinido é " -"PATH=/bin:/usr/bin." - -#: su.1.xml:32(term) login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (string)" -msgstr " (string)" - -#: su.1.xml:34(para) login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "" -"If set, it will be used to define the PATH environment variable when the" -" superuser login. The value is a colon separated list of paths (for example <" -"replaceable>/sbin:/bin:/usr/sbin:/usr/bin) and can be preceded" -" by PATH=. The default value is PATH=/sbin:/bin:/usr/sbin:/usr/bin." -msgstr "" -"Se definido, irá ser usado para definir a variável de ambiente PATH quando o " -"super-utilizador faz login. O valor é uma lista separada por dois pontos" -"de caminhos (por exemplo /sbin:/bin:/usr/sbin:/usr/bin) e pode ser precedido por PATH=. O " -"valor predefinido é PATH=/sbin:/bin:/usr/sbin:/usr/bin." - -#: su.1.xml:32(term) login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (string)" -msgstr " (string)" - -#: su.1.xml:34(para) login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "" -"If set, it will be used to define the TZ environment variable when a user" -" login. The value can be the name of a timezone preceded by TZ=<" -"/replaceable> (for example TZ=CST6CDT), or the" -" full path to the file containing the timezone specification (for example <" -"filename>/etc/tzname)." -msgstr "" -"Se definido, será usado para definir a variável de ambiente TZ quando um " -"utilizador faz login. O valor pode ser o nome de uma zona horária precedido " -"por TZ= (por exemplo TZ=CST6CDT), ou o caminho completo para o ficheiro que contém a " -"especificação da zona horária (por exemplo /etc/tzname)." - -#. TODO: it can in fact be used to set any other variable -#: su.1.xml:43(para) login.defs.5.xml:43(para) login.1.xml:43(para) -msgid "" -"If a full path is specified but the file does not exist or cannot be read," -" the default is to use TZ=CST6CDT." -msgstr "" -"Se for especificado um caminho completo mas o ficheiro não existir ou não " -"puder ser lido, a predefinição é usar TZ=CST6CDT." - -#: su.1.xml:32(term) login.defs.5.xml:32(term) login.1.xml:32(term) chsh.1.xml:32(term) chfn.1.xml:32(term) -msgid " (string)" -msgstr " (string)" - -#: su.1.xml:34(para) login.defs.5.xml:34(para) login.1.xml:34(para) chsh.1.xml:34(para) chfn.1.xml:34(para) -msgid "" -"The string used for prompting a password. The default is to use \"Password:" -" \", or a translation of that string. If you set this variable, the prompt" -" will not be translated." -msgstr "" -"A string usada para pedir uma palavra passe. A predefinição é usar" -" \"Password: " -"\", ou uma tradução dessa string. Se você definir esta variável, o aviso não " -"será traduzido." - -#: su.1.xml:39(para) login.defs.5.xml:39(para) login.1.xml:39(para) chsh.1.xml:39(para) chfn.1.xml:39(para) -msgid "" -"If the string contains %s, this will be replaced" -" by the user's name." -msgstr "" -"Se a string conter %s, isto será substituído " -"pelo nome de utilizador." - -#: su.1.xml:32(term) login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (boolean)" -msgstr " (booleano)" - -#: su.1.xml:34(para) login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "Enable checking and display of mailbox status upon login." -msgstr "Activa a verificação e mostragem da caixa de mail após login." - -#: su.1.xml:37(para) login.defs.5.xml:37(para) login.1.xml:37(para) -msgid "" -"You should disable it if the shell startup files already check for mail" -" (\"mailx -e\" or equivalent)." -msgstr "" -"Você deve desactivar isto se os ficheiros de arranque da shell já verificam " -"o mail (\"mailx -e\" ou equivalente)." - -#: su.1.xml:32(term) login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (boolean)" -msgstr " (booleano)" - -#: su.1.xml:34(para) login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "" -"Enable setting of resource limits from /etc/limits and" -" ulimit, umask, and niceness from the user's passwd gecos field." -msgstr "" -"Activa a definição de limites de recurso a partir de /etc/limits e ulimit, umask, e niceness a partir do campo passwd gecos do " -"utilizador." - -#: su.1.xml:32(term) login.defs.5.xml:32(term) -msgid " (string)" -msgstr " (string)" - -#: su.1.xml:34(para) login.defs.5.xml:34(para) -msgid "If defined, all su activity is logged to this file." -msgstr "Se definido, toda a atividade de su é registada neste ficheiro." - -#: su.1.xml:32(term) login.defs.5.xml:32(term) -msgid " (string)" -msgstr " (string)" - -#: su.1.xml:34(para) login.defs.5.xml:34(para) -msgid "" -"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\"." -msgstr "" -"Se definido, o nome de comando a mostrar quando se corre \"su -\". Por" -" exemplo, " -"se isto for definido como \"su\" então um \"ps\" irá mostrar o comando é" -" \"-su\". " -"Se não for definido, então \"ps\" irá mostrar o nome da shell que está " -"actualmente a ser corrida, ex. algo como \"-sh\"." - -#: su.1.xml:33(term) login.defs.5.xml:33(term) -msgid " (boolean)" -msgstr " (booleano)" - -#: su.1.xml:35(para) login.defs.5.xml:35(para) -msgid "" -"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." -msgstr "" -"Se yes, o utilizador tem de estar listado como " -"membro do primeiro grupo de gid 0 em /etc/group (chamado " -"root na maioria dos sistemas Linux) para ser capaz " -"de fazer su para contas de uid 0. Se o grupo não existir " -"ou estiver vazio, ninguém será capaz de fazer su para " -"uid 0." - -#: su.1.xml:32(term) login.defs.5.xml:32(term) -msgid " (boolean)" -msgstr " (booleano)" - -#: su.1.xml:34(para) login.defs.5.xml:34(para) -msgid "" -"Enable \"syslog\" logging of su activity - in addition to" -" sulog file logging." -msgstr "" -"Activa o registo \"syslog\" das atividades su - em adição " -"ao registo no ficheiro sulog." - -#: su.1.xml:391(para) -msgid "" -"On success, su returns the exit value of the command it" -" executed." -msgstr "" -"Quando em sucesso, su retorna o valor de saída do comando " -"que executou." - -#: su.1.xml:395(para) -msgid "" -"If this command was terminated by a signal, su returns the" -" number of this signal plus 128." -msgstr "" -"Se este comando foi terminado por um sinal, o su retorna " -"o número deste sinal mais 128." - -#: su.1.xml:399(para) -msgid "" -"If su has to kill the command (because it was asked to terminate, and the" -" command did not terminate in time), su returns 255." -msgstr "" -"Se o su tiver que matar o comando (porque foi-lhe pedido para terminar, " -"e o comando não terminou dentro do tempo), o su retorna " -"255." - -#: su.1.xml:411(para) -msgid "success ( only)" -msgstr "sucesso (apenas )" - -#: su.1.xml:417(para) -msgid "System or authentication failure" -msgstr "Falha do sistema ou de autenticação" - -#: su.1.xml:421(replaceable) -msgid "126" -msgstr "126" - -#: su.1.xml:423(para) -msgid "The requested command was not found" -msgstr "O comando requisitado não foi encontrado" - -#: su.1.xml:427(replaceable) -msgid "127" -msgstr "127" - -#: su.1.xml:429(para) -msgid "The requested command could not be executed" -msgstr "O comando requisitado não pode ser executado" - -#: su.1.xml:404(para) -msgid "" -"Some exit values from su are independent from the executed" -" command: " -msgstr "" -"Alguns valores de saída do su são independentes do " -"comando executado: " - -#: su.1.xml:438(para) -msgid "" -"login1<" -"/citerefentry>, login.defs<" -"manvolnum>5, sg<" -"/refentrytitle>1, <" -"refentrytitle>sh1." -msgstr "" -"login1<" -"/citerefentry>, login.defs<" -"manvolnum>5, sg<" -"/refentrytitle>1, <" -"refentrytitle>sh1." - -#: sg.1.xml:58(refentrytitle) sg.1.xml:65(refname) sg.1.xml:71(command) +"O comando The groups mostra os nomes de grupos actuais ou " +"os valores ID. Se o valor não possuir uma entrada correspondente em " +"/etc/group, o valor será mostrado como um valor " +"numérico de grupo. O parâmetro opcional user irá mostrar os grupos para o user " +"nomeado." + +#. (itstool) path: citerefentry/refentrytitle +#: groups.1.xml.out:68 groups.1.xml.out:104 +#, fuzzy +#| msgid "groups" +msgid "initgroups" +msgstr "groups" + +#. (itstool) path: para/command +#. (itstool) path: citerefentry/refentrytitle +#. (itstool) path: refmeta/refentrytitle +#. (itstool) path: refnamediv/refname +#. (itstool) path: cmdsynopsis/command +#: groups.1.xml.out:71 newgrp.1.xml.out:139 sg.1.xml.out:34 sg.1.xml.out:41 +#: sg.1.xml.out:47 sg.1.xml.out:59 sg.1.xml.out:62 sg.1.xml.out:64 +#: sg.1.xml.out:67 sg.1.xml.out:68 su.1.xml.out:421 msgid "sg" msgstr "sg" -#: sg.1.xml:66(refpurpose) -msgid "execute command as different group ID" -msgstr "executa comando como ID de grupo diferente" - -#: sg.1.xml:74(arg) -msgid "-c" -msgstr "-c" - -#: sg.1.xml:73(arg) -msgid "group command" -msgstr "grupo comando" - -#: sg.1.xml:82(para) +#. (itstool) path: refsect1/para +#: groups.1.xml.out:66 +#, fuzzy +#| msgid "" +#| "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 his " +#| "current real and effective group ID." msgid "" -"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> command you are returned to your previous group ID." +"Systems which do not support supplementary groups (see <_:citerefentry-1/>) " +"will have the information from <_:filename-2/> reported. The user must use " +"<_:command-3/> or <_:command-4/> to change his current real and effective " +"group ID." msgstr "" -"O comando sg funciona de modo semelhante ao " -"newgrp mas aceita um comando. O comando será executado " -"com a shell /bin/sh. Você pode correr o sg a partir da maioria das shells, você precisa de enclausurar comandos " -"de multi-palavras entre aspas. Outra diferença entre newgrp e sg é que algumas shells tratam o " -"newgrp de maneira especial, substituindo-se a elas " -"próprias com uma nova instância de shell que o newgrp " -"cria. Isto não acontece com o sg, assim após sair de " -"um comando sg você retorna ao seu ID de grupo anterior." +"Os sistemas que não suportam conjuntos de grupos concorrentes irão reportar " +"a informação de /etc/group. O utilizador tem de usar " +"newgrp ou sg para mudar o seu ID de " +"grupo efectivo e real actual." -#: sg.1.xml:32(term) newgrp.1.xml:32(term) login.defs.5.xml:32(term) -msgid " (boolean)" -msgstr " (booleano)" - -#: sg.1.xml:34(para) newgrp.1.xml:34(para) login.defs.5.xml:34(para) -msgid "Enable \"syslog\" logging of sg activity." -msgstr "Activo o registo \"syslog\" da atividade do sg." - -#: sg.1.xml:141(para) -msgid "" -"id1<" -"/citerefentry>, login1, newgrp<" -"/refentrytitle>1, <" -"refentrytitle>su1, <" -"citerefentry>gpasswd1<" -"/citerefentry>, group5, <" -"refentrytitle>gshadow5<" -"/phrase>." +#. (itstool) path: citerefentry/refentrytitle +#: groups.1.xml.out:95 +msgid "getgid" msgstr "" -"id1<" -"/citerefentry>, login1, newgrp<" -"/refentrytitle>1, <" -"refentrytitle>su1, <" -"citerefentry>gpasswd1<" -"/citerefentry>, group5, <" -"refentrytitle>gshadow5<" -"/phrase>." -#: shadow.5.xml:57(refentrytitle) shadow.5.xml:64(refname) shadow.3.xml:57(refentrytitle) shadow.3.xml:64(refname) pwck.8.xml:84(replaceable) grpck.8.xml:76(replaceable) -msgid "shadow" -msgstr "shadow" +#. (itstool) path: citerefentry/refentrytitle +#: groups.1.xml.out:98 +#, fuzzy +#| msgid "groups" +msgid "getgroups" +msgstr "groups" -#: shadow.5.xml:65(refpurpose) -msgid "shadowed password file" -msgstr "ficheiro de palavra passe ensombrada" - -#: shadow.5.xml:70(para) -msgid "" -"shadow is a file which contains the password information" -" for the system's accounts and optional aging information." +#. (itstool) path: citerefentry/refentrytitle +#: groups.1.xml.out:101 +msgid "getuid" msgstr "" -"shadow é um ficheiro que contém a informação de palavra " -"passe para as contas do sistema e informação opcional de envelhecimento." -#: shadow.5.xml:76(para) gshadow.5.xml:64(para) +#. (itstool) path: refsect1/para +#: groups.1.xml.out:90 gshadow.5.xml.out:151 pwck.8.xml.out:334 msgid "" -"This file must not be readable by regular users if password security is to be" -" maintained." +"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" +"citerefentry-4/>, <_:citerefentry-5/>." +msgstr "" + +#. (itstool) path: author/contrib +#: grpck.8.xml.out:17 lastlog.8.xml.out:19 pwck.8.xml.out:24 +msgid "Creation, 1992" +msgstr "Criação, 1992" + +#. (itstool) path: refnamediv/refpurpose +#: grpck.8.xml.out:41 +msgid "verify integrity of group files" +msgstr "verifica a integridade de ficheiros de grupo" + +#. (itstool) path: para/phrase +#: grpck.8.xml.out:62 grpck.8.xml.out:165 grpck.8.xml.out:185 +msgid "and <_:filename-1/>" +msgstr "" + +#. (itstool) path: refsect1/para +#: grpck.8.xml.out:59 +#, fuzzy +#| msgid "" +#| "The grpck command verifies the integrity of the groups " +#| "information. It checks that all entries in /etc/groupand /etc/gshadow have the proper format and contain valid data. The " +#| "user is prompted to delete entries that are improperly formatted or which " +#| "have other uncorrectable errors." +msgid "" +"The <_:command-1/> command verifies the integrity of the groups information. " +"It checks that all entries in <_:filename-2/> <_:phrase-3/> have the proper " +"format and contain valid data. The user is prompted to delete entries that " +"are improperly formatted or which have other uncorrectable errors." +msgstr "" +"O comando grpck verifica a integridade da informação de " +"grupos. Verifica se todas as entradas em /etc/group e /etc/gshadowtêm o formato apropriado e contêm dados válidos. Ao utilizador é " +"pedido para apagar as entradas que não têm formato apropriado ou que têm " +"outros erros incorrigíveis." + +#. (itstool) path: refsect1/para +#: grpck.8.xml.out:69 pwck.8.xml.out:82 +msgid "Checks are made to verify that each entry has:" +msgstr "São feitos testes para verificar que cada entrada tem:" + +#. (itstool) path: listitem/para +#: grpck.8.xml.out:73 pwck.8.xml.out:85 +msgid "the correct number of fields" +msgstr "o número correcto de campos" + +#. (itstool) path: listitem/para +#: grpck.8.xml.out:76 +msgid "a unique and valid group name" +msgstr "um nome de grupo único e válido" + +#. (itstool) path: para/phrase +#: grpck.8.xml.out:81 +msgid "(<_:filename-1/> only)" +msgstr "" + +#. (itstool) path: listitem/para +#: grpck.8.xml.out:79 +#, fuzzy +#| msgid "a valid user and group identifier" +msgid "a valid group identifier <_:phrase-1/>" +msgstr "um identificador de utilizador e grupo válido" + +#. (itstool) path: para/phrase +#: grpck.8.xml.out:88 +#, fuzzy +#| msgid "administrators" +msgid "and administrators" +msgstr "administradores" + +#. (itstool) path: listitem/para +#: grpck.8.xml.out:86 +msgid "a valid list of members <_:phrase-1/>" +msgstr "" + +#. (itstool) path: listitem/para +#: grpck.8.xml.out:92 +#, fuzzy +#| msgid "" +#| "a corresponding entry in the /etc/gshadow file " +#| "(respectively /etc/group for the gshadow checks)" +msgid "" +"a corresponding entry in the <_:filename-1/> file (respectively <_:" +"filename-2/> for the <_:filename-3/> checks)" +msgstr "" +"uma entrada correspondente no ficheiro /etc/gshadow " +"(respetivamente /etc/group para as verificações de " +"gshadow)" + +#. (itstool) path: refsect1/para +#: grpck.8.xml.out:100 +#, fuzzy +#| msgid "" +#| "The checks for correct number of fields and unique group name are fatal. " +#| "If an 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 " +#| "groupmod command to correct the error." +msgid "" +"The checks for correct number of fields and unique group name are fatal. If " +"an 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 <_:command-1/> command to " +"correct the error." +msgstr "" +"As verificações para o correcto número de campos e nome de grupo único são " +"fatais. Se a entrada tiver o número errado de campos, será pedido ao " +"utilizador para apagar a linha inteira. Se o utilizador não responder " +"afirmativamente, todos os testes posteriores são saltados. Uma entrada com " +"um nome de grupo duplicado é avisada para remoção, mas os restantes testes " +"continuarão a ser feitos. Todos os outros erros produzem avisos e o " +"utilizador é encorajado a correr o comando groupmod para " +"corrigir o erro." + +#. (itstool) path: para/phrase +#. (itstool) path: arg/replaceable +#. (itstool) path: para/replaceable +#: grpck.8.xml.out:113 newusers.8.xml.out:69 newusers.8.xml.out:77 +msgid "file" +msgstr "file" + +#. (itstool) path: para/phrase +#: grpck.8.xml.out:114 +msgid "and <_:filename-1/> files" +msgstr "" + +#. (itstool) path: refsect1/para +#: grpck.8.xml.out:111 +#, fuzzy +#| msgid "" +#| "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." +msgid "" +"The commands which operate on the <_:filename-1/> <_:phrase-2/><_:phrase-3/> " +"are not able to alter corrupted or duplicated entries. <_:command-4/> should " +"be used in those circumstances to remove the offending entries." +msgstr "" +"Os comandos que operam no ficheiro /etc/passwd não são " +"capazes de alterar entradas corruptas ou duplicadas. Deve ser usado o " +"pwck nestas circunstâncias para remover a entrada " +"ofensiva." + +#. (itstool) path: refsect1/para +#: grpck.8.xml.out:123 pwck.8.xml.out:154 +#, fuzzy +#| msgid "" +#| "The and options cannot be " +#| "combined." +msgid "The <_:option-1/> and <_:option-2/> options cannot be combined." +msgstr "" +"As opções e não podem ser combinadas." + +#. (itstool) path: term/option +#: grpck.8.xml.out:138 pwck.8.xml.out:188 +msgid "--read-only" +msgstr "" + +#. (itstool) path: para/emphasis +#. (itstool) path: para/replaceable +#: grpck.8.xml.out:143 login.defs.5.xml.out:136 login.defs.5.xml.out:138 +#: useradd.8.xml.out:246 +msgid "no" +msgstr "" + +#. (itstool) path: listitem/para +#: grpck.8.xml.out:140 +#, fuzzy +#| msgid "" +#| "Execute the grpck command in read-only mode. This " +#| "causes all questions regarding changes to be answered no without user intervention." +msgid "" +"Execute the <_:command-1/> command in read-only mode. This causes all " +"questions regarding changes to be answered <_:emphasis-2/> without user " +"intervention." +msgstr "" +"Executa o comando grpck em modo só-leitura. Isto faz com " +"que todas as perguntas sobre alterações sejam respondidas com não sem a intervenção do utilizador." + +#. (itstool) path: term/option +#: grpck.8.xml.out:161 pwck.8.xml.out:209 +msgid "--sort" +msgstr "" + +#. (itstool) path: listitem/para +#: grpck.8.xml.out:163 +msgid "Sort entries in <_:filename-1/> <_:phrase-2/> by GID." +msgstr "" + +#. (itstool) path: term/option +#. (itstool) path: para/option +#: grpck.8.xml.out:172 lastlog.8.xml.out:117 passwd.1.xml.out:157 +#: passwd.1.xml.out:302 +#, fuzzy +#| msgid "-" +msgid "-S" +msgstr "-" + +#. (itstool) path: term/option +#: grpck.8.xml.out:172 +msgid "--silence-warnings" +msgstr "" + +#. (itstool) path: para/filename +#: grpck.8.xml.out:178 +#, fuzzy +#| msgid "/etc/gshadow" +msgid "/etc/ghadow" +msgstr "/etc/gshadow" + +#. (itstool) path: listitem/para +#: grpck.8.xml.out:174 +msgid "" +"Suppress more controversial warnings, in particular warnings about " +"inconsistency between group members listed in <_:filename-1/> and <_:" +"filename-2/>." +msgstr "" + +#. (itstool) path: para/phrase +#: grpck.8.xml.out:189 +msgid "parameter." +msgstr "" + +#. (itstool) path: para/phrase +#: grpck.8.xml.out:190 +msgid "and <_:emphasis-1/> parameters." +msgstr "" + +#. (itstool) path: refsect1/para +#: grpck.8.xml.out:183 +msgid "" +"By default, <_:command-1/> operates on <_:filename-2/> <_:phrase-3/>. The " +"user may select alternate files with the <_:emphasis-4/> <_:phrase-5/> <_:" +"phrase-6/>" +msgstr "" + +#. (itstool) path: listitem/para +#: grpck.8.xml.out:251 +msgid "one or more bad group entries" +msgstr "uma ou mais entradas de grupo más" + +#. (itstool) path: listitem/para +#: grpck.8.xml.out:257 +msgid "can't open group files" +msgstr "incapaz de abrir ficheiros de grupo" + +#. (itstool) path: listitem/para +#: grpck.8.xml.out:263 +msgid "can't lock group files" +msgstr "incapaz de trancar ficheiros de grupo" + +#. (itstool) path: listitem/para +#: grpck.8.xml.out:269 +msgid "can't update group files" +msgstr "incapaz de actualizar ficheiros de grupo" + +#. (itstool) path: phrase/citerefentry +#: grpck.8.xml.out:286 +msgid "<_:refentrytitle-1/><_:manvolnum-2/>," +msgstr "" + +#. (itstool) path: refsect1/para +#: grpck.8.xml.out:278 +msgid "" +"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:phrase-3/> <_:citerefentry-4/>, " +"<_:citerefentry-5/>, <_:citerefentry-6/>." +msgstr "" + +#. (itstool) path: author/contrib +#: gshadow.5.xml.out:17 +msgid "Creation, 2005" +msgstr "Criação, 2005" + +#. (itstool) path: refnamediv/refpurpose +#: gshadow.5.xml.out:30 +msgid "shadowed group file" +msgstr "ficheiro de grupo ensombrado" + +#. (itstool) path: refsect1/para +#: gshadow.5.xml.out:35 +#, fuzzy +#| msgid "" +#| "/etc/gshadow contains the shadowed information for " +#| "group accounts." +msgid "<_:filename-1/> contains the shadowed information for group accounts." +msgstr "" +"/etc/gshadow contém informação ensombrada para contas " +"de grupos." + +#. (itstool) path: refsect1/para +#: gshadow.5.xml.out:40 shadow.5.xml.out:52 +msgid "" +"This file must not be readable by regular users if password security is to " +"be maintained." msgstr "" "Este ficheiro não deve poder ser lido por utilizadores regulares se a " "segurança das palavras passe deve ser mantida." -#: shadow.5.xml:81(para) -msgid "" -"Each line of this file contains 9 fields, separated by colons (:<" -"/quote>), in the following order:" +#. (itstool) path: refsect1/para +#: gshadow.5.xml.out:45 +msgid "Each line of this file contains the following colon-separated fields:" msgstr "" -"Cada linha deste ficheiro contém 9 campos, separados por dois pontos " -"(:), na seguinte ordem:" +"Cada linha deste ficheiro contém os seguintes campos separados por dois " +"pontos:" -#: shadow.5.xml:88(emphasis) passwd.5.xml:78(para) -msgid "login name" -msgstr "nome de login" +#. (itstool) path: term/emphasis +#: gshadow.5.xml.out:51 +msgid "group name" +msgstr "nome de grupo" -#: shadow.5.xml:90(para) -msgid "It must be a valid account name, which exist on the system." -msgstr "Tem de ser um nome de conta válido, o qual existe no sistema." +#. (itstool) path: listitem/para +#: gshadow.5.xml.out:53 +msgid "It must be a valid group name, which exist on the system." +msgstr "Tem de ser um nome de grupo válido, que existe no sistema." -#: shadow.5.xml:96(emphasis) gshadow.5.xml:83(emphasis) +#. (itstool) path: term/emphasis +#: gshadow.5.xml.out:59 shadow.5.xml.out:72 msgid "encrypted password" msgstr "palavra passe encriptada" -#: shadow.5.xml:98(para) +#. (itstool) path: listitem/para +#. (itstool) path: refsect1/para +#: gshadow.5.xml.out:61 passwd.5.xml.out:102 shadow.5.xml.out:87 +#, fuzzy +#| msgid "" +#| "Refer to crypt3 for details on how this string is interpreted." msgid "" -"This field may be empty, in which case no passwords are required to" -" authenticate as the specified login name. However, some applications which" -" read the /etc/shadow file may decide not to permit any" -" access at all if the password field is empty." +"Refer to <_:citerefentry-1/> for details on how this string is interpreted." msgstr "" -"Este campo pode estar vazio, que neste caso não são requeridas palavras " -"passe para autenticação com o nome de login especificado. No entanto, algumas " -"aplicações que leem o ficheiro /etc/shadow podem " -"decidir não permitir nenhum acesso a nada se o campo de palavra passe " -"estiver vazio." +"Consulte crypt3 para detalhes em como esta string é interpretada." -#: shadow.5.xml:105(para) gshadow.5.xml:107(para) +#. (itstool) path: listitem/para +#: gshadow.5.xml.out:66 +#, fuzzy +#| msgid "" +#| "If the password field contains some string that is not a valid result of " +#| "crypt3, for instance ! or *, users will not be able to " +#| "use a unix password to access the group (but group members do not need " +#| "the password)." msgid "" -"A password field which starts with an exclamation mark means that the" -" password is locked. The remaining characters on the line represent the" -" password field before the password was locked." +"If the password field contains some string that is not a valid result of <_:" +"citerefentry-1/>, for instance ! or *, users will not be able to use a unix " +"password to access the group (but group members do not need the password)." +msgstr "" +"Se o campo da palavra passe conter alguma string que não é um resultado " +"válido de crypt3, por exemplo ! ou *, os utilizadores não serão " +"capazes de usar uma palavra passe de unix para aceder ao grupo (mas os " +"membros do grupo não precisam da palavra passe)." + +#. (itstool) path: listitem/para +#: gshadow.5.xml.out:73 +#, fuzzy +#| msgid "" +#| "The password is used when a user who is not a member of the group wants " +#| "to gain the permissions of this group (see " +#| "newgrp1)." +msgid "" +"The password is used when a user who is not a member of the group wants to " +"gain the permissions of this group (see <_:citerefentry-1/>)." +msgstr "" +"A palavra passe é usada quando um utilizador que não é membro do grupo quer " +"ganhar permissões desse grupo (veja newgrp1)." + +#. (itstool) path: listitem/para +#: gshadow.5.xml.out:79 +msgid "" +"This field may be empty, in which case only the group members can gain the " +"group permissions." +msgstr "" +"Este campo pode estar vazio, o que nesse caso apenas os membros do grupo " +"podem ganhar as permissões do grupo." + +#. (itstool) path: listitem/para +#: gshadow.5.xml.out:83 shadow.5.xml.out:81 +msgid "" +"A password field which starts with an exclamation mark means that the " +"password is locked. The remaining characters on the line represent the " +"password field before the password was locked." msgstr "" "Um campo de palavra passe que comece com um ponto de exclamação significa " "que a palavra passe está trancada. Os restantes caracteres da linha " "representam o campo da palavra passe antes da palavra passe ser trancada." -#: shadow.5.xml:111(para) passwd.5.xml:126(para) gshadow.5.xml:85(para) -msgid "" -"Refer to crypt3<" -"/manvolnum> for details on how this string is interpreted." +#. (itstool) path: listitem/para +#: gshadow.5.xml.out:89 +#, fuzzy +#| msgid "" +#| "This password supersedes any password specified in /etc/group." +msgid "This password supersedes any password specified in <_:filename-1/>." msgstr "" -"Consulte crypt3<" -"/manvolnum> para detalhes em como esta string é interpretada." +"Esta palavra passe sobrepõe-se a qualquer palavra passe especificada em " +"/etc/group." -#: shadow.5.xml:116(para) passwd.5.xml:131(para) +#. (itstool) path: term/emphasis +#: gshadow.5.xml.out:97 +msgid "administrators" +msgstr "administradores" + +#. (itstool) path: listitem/para +#: gshadow.5.xml.out:99 gshadow.5.xml.out:115 +msgid "It must be a comma-separated list of user names." +msgstr "Tem de ser uma lista de nomes de utilizadores separados por vírgulas." + +#. (itstool) path: listitem/para +#: gshadow.5.xml.out:102 +msgid "Administrators can change the password or the members of the group." +msgstr "Os administradores podem mudar a palavra passe dos membros do grupo." + +#. (itstool) path: listitem/para +#: gshadow.5.xml.out:106 msgid "" -"If the password field contains some string that is not a valid result of <" -"citerefentry>crypt3<" -"/citerefentry>, for instance ! or *, the user will not be able to use a unix" -" password to log in (but the user may log in the system by other means)." +"Administrators also have the same permissions as the members (see below)." +msgstr "" +"Os administradores também têm as mesmas permissões que os membros (veja em " +"baixo)." + +#. (itstool) path: term/emphasis +#: gshadow.5.xml.out:113 +msgid "members" +msgstr "membros" + +#. (itstool) path: listitem/para +#: gshadow.5.xml.out:118 +msgid "Members can access the group without being prompted for a password." +msgstr "" +"Os membros podem aceder ao grupo sem lhes ser pedida uma palavra passe." + +#. (itstool) path: listitem/para +#: gshadow.5.xml.out:122 +#, fuzzy +#| msgid "" +#| "You should use the same list of users as in /etc/group." +msgid "You should use the same list of users as in <_:filename-1/>." +msgstr "" +"Você deve usar a mesma lista de utilizadores que em /etc/group." + +#. (itstool) path: citerefentry/refentrytitle +#. (itstool) path: varlistentry/term +#. (itstool) path: refnamediv/refname +#. (itstool) path: cmdsynopsis/command +#. (itstool) path: para/command +#: gshadow.5.xml.out:162 login.defs.5.xml.out:337 pwconv.8.xml.out:48 +#: pwconv.8.xml.out:67 pwconv.8.xml.out:113 pwconv.8.xml.out:134 +#: pwconv.8.xml.out:166 pwconv.8.xml.out:208 +msgid "grpconv" +msgstr "grpconv" + +#. (itstool) path: refmeta/refentrytitle +#. (itstool) path: refnamediv/refname +#. (itstool) path: cmdsynopsis/command +#. (itstool) path: para/command +#. (itstool) path: para/filename +#. (itstool) path: varlistentry/term +#: lastlog.8.xml.out:35 lastlog.8.xml.out:42 lastlog.8.xml.out:48 +#: lastlog.8.xml.out:58 lastlog.8.xml.out:70 lastlog.8.xml.out:172 +#: login.defs.5.xml.out:350 +msgid "lastlog" +msgstr "lastlog" + +#. (itstool) path: refnamediv/refpurpose +#: lastlog.8.xml.out:43 +msgid "reports the most recent login of all users or of a given user" +msgstr "" +"reporta o login mais recente de todos os utilizadores ou de um dado " +"utilizador." + +#. (itstool) path: para/filename +#. (itstool) path: term/filename +#: lastlog.8.xml.out:59 lastlog.8.xml.out:197 lastlog.8.xml.out:214 +msgid "/var/log/lastlog" +msgstr "/var/log/lastlog" + +#. (itstool) path: para/emphasis +#: lastlog.8.xml.out:60 +#, fuzzy +#| msgid "login name" +msgid "login-name" +msgstr "nome de login" + +#. (itstool) path: para/emphasis +#: lastlog.8.xml.out:60 +#, fuzzy +#| msgid "porttime" +msgid "port" +msgstr "porttime" + +#. (itstool) path: para/emphasis +#: lastlog.8.xml.out:61 +#, fuzzy +#| msgid "login name" +msgid "last login time" +msgstr "nome de login" + +#. (itstool) path: refsect1/para +#: lastlog.8.xml.out:57 +#, fuzzy +#| msgid "" +#| "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." +msgid "" +"<_:command-1/> formats and prints the contents of the last login log <_:" +"filename-2/> file. The <_:emphasis-3/>, <_:emphasis-4/>, and <_:emphasis-5/> " +"will be printed. The default (no flags) causes lastlog entries to be " +"printed, sorted by their order in <_:filename-6/>." +msgstr "" +"lastlog formata e escreve o conteúdo do ficheiro de " +"relatório do último login /var/log/lastlog. Serão " +"escritos os login-name, port, e " +"last login time. A predefinição (sem bandeiras) faz com " +"que as entradas do lastlog sejam escritas, ordenadas pela ordem em " +"/etc/passwd." + +#. (itstool) path: term/option +#: lastlog.8.xml.out:75 useradd.8.xml.out:118 useradd.8.xml.out:612 +#: usermod.8.xml.out:89 +#, fuzzy +#| msgid "-" +msgid "-b" +msgstr "-" + +#. (itstool) path: term/option +#: lastlog.8.xml.out:75 +msgid "--before" +msgstr "" + +#. (itstool) path: listitem/para +#: lastlog.8.xml.out:78 +#, fuzzy +#| msgid "" +#| "Print only lastlog records older than DAYS." +msgid "Print only lastlog records older than <_:replaceable-1/>." +msgstr "" +"Escreve apenas registos do lastlog mais antigos que DAYS." + +#. (itstool) path: term/option +#: lastlog.8.xml.out:85 +#, fuzzy +#| msgid "-" +msgid "-C" +msgstr "-" + +#. (itstool) path: term/option +#: lastlog.8.xml.out:85 +msgid "--clear" +msgstr "" + +#. (itstool) path: listitem/para +#: lastlog.8.xml.out:88 +#, fuzzy +#| msgid "" +#| "Clear lastlog record of a user. This option can be used only together " +#| "with ())." +msgid "" +"Clear lastlog record of a user. This option can be used only together with " +"<_:option-1/> (<_:option-2/>))." +msgstr "" +"Limpa o registo do lastlog de um utilizador. Esta opção só pode ser usada " +"juntamente com ()." + +#. (itstool) path: term/option +#: lastlog.8.xml.out:117 +msgid "--set" +msgstr "" + +#. (itstool) path: listitem/para +#: lastlog.8.xml.out:120 +#, fuzzy +#| msgid "" +#| "Set lastlog record of a user to the current time. This option can be used " +#| "only together with ())." +msgid "" +"Set lastlog record of a user to the current time. This option can be used " +"only together with <_:option-1/> (<_:option-2/>))." +msgstr "" +"Define o registo de lastlog de um utilizador par a a hora actual. Esta opção " +"só pode ser usada juntamente com ( is enabled) have the proper format and" -" contain valid data. The user is prompted to delete entries that are" -" improperly formatted or which have other uncorrectable errors." -msgstr "" -"O comando pwck verifica a integridade da informação " -"do utilizador e autenticação. Verifica que todas as entradas em /etc/passwd e /etc/shadow(ou os ficheiros em /etc/tcb, quando <" -"option>USE_TCB está activo) têm o formato correcto e " -"contêm dados válidos. O é chamado a apagar entradas que estão formatadas " -"de modo incorreto ou que têm outros erros incorrigíveis ." - -#: pwck.8.xml:105(para) grpck.8.xml:94(para) -msgid "Checks are made to verify that each entry has:" -msgstr "São feitos testes para verificar que cada entrada tem:" - -#: pwck.8.xml:108(para) grpck.8.xml:98(para) -msgid "the correct number of fields" -msgstr "o número correcto de campos" - -#: pwck.8.xml:111(para) -msgid "a unique and valid user name" -msgstr "um nome de utilizador único e válido" - -#: pwck.8.xml:114(para) -msgid "a valid user and group identifier" -msgstr "um identificador de utilizador e grupo válido" - -#: pwck.8.xml:117(para) -msgid "a valid primary group" -msgstr "um grupo primário válido" - -#: pwck.8.xml:120(para) -msgid "a valid home directory" -msgstr "um directório home válido" - -#: pwck.8.xml:123(para) -msgid "a valid login shell" -msgstr "uma shell de login válida" - -#: pwck.8.xml:127(para) -msgid "" -"shadow checks are enabled when a second file parameter" -" is specified or when /etc/shadow exists on the system." -msgstr "" -"As verificações shadow são activadas quando é " -"especificado um parâmetro de segundo ficheiro ou quando " -"/etc/shadow existe no sistema." - -#: pwck.8.xml:132(para) -msgid "These checks are the following:" -msgstr "Estas verificações são o seguinte:" - -#: pwck.8.xml:137(para) -msgid "" -"every passwd entry has a matching shadow entry, and every shadow entry has a" -" matching passwd entry" -msgstr "" -"cada entrada passwd tem uma entrada shadow correspondente, e cada entrada " -"shadow tem uma entrada passwd correspondente." - -#: pwck.8.xml:143(para) -msgid "passwords are specified in the shadowed file" -msgstr "as palavras passe são especificadas no ficheiro ensombrado" - -#: pwck.8.xml:146(para) -msgid "shadow entries have the correct number of fields" -msgstr "entradas sombra têm o número actual de campos" - -#: pwck.8.xml:149(para) -msgid "shadow entries are unique in shadow" -msgstr "entradas sombra são únicas em shadow" - -#: pwck.8.xml:152(para) -msgid "the last password changes are not in the future" -msgstr "as últimas alterações de palavra passe não estão no futuro" - -#: pwck.8.xml:156(para) -msgid "" -"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 usermod command to correct the error." -msgstr "" -"As verificações para o correcto número de campos e nome de utilizador " -"único são fatais. Se a entrada tiver o número errado de campos, será pedido " -"ao utilizador para apagar a linha inteira. Se o utilizador não responder " -"afirmativamente, todos os testes posteriores são saltados. Uma entrada com " -"um nome de utilizador duplicado é avisada para remoção, mas os restantes " -"testes continuarão a ser feitos. Todos os outros erros produzem avisos e o " -"utilizador é encorajado a correr o comando usermod " -"para corrigir o erro." - -#: pwck.8.xml:167(para) -msgid "" -"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." -msgstr "" -"Os comandos que operam no ficheiro /etc/passwd não são " -"capazes de alterar entradas corruptas ou duplicadas. Deve ser usado o " -"pwck nestas circunstâncias para remover a entrada " -"ofensiva." - -#: pwck.8.xml:177(para) grpck.8.xml:148(para) -msgid "" -"The and options cannot be combined." -msgstr "" -"As opções e não podem ser combinadas." - -#: pwck.8.xml:181(para) -msgid "The options which apply to the pwck command are:" -msgstr "As opções que se aplicam ao comando pwck são:" - -#: pwck.8.xml:204(para) -msgid "" -"Report errors only. The warnings which do not require any action from the" -" user won't be displayed." -msgstr "" -"Apenas reporta erros. Os avisos que não requerem nenhuma acção do utilizador " -"não serão mostrados." - -#: pwck.8.xml:211(term) grpck.8.xml:163(term) -msgid ", " -msgstr ", " - -#: pwck.8.xml:213(para) -msgid "Execute the pwck command in read-only mode." -msgstr "Executa o comando pwck em modo de só-leitura." - -#: pwck.8.xml:231(term) grpck.8.xml:185(term) -msgid ", " -msgstr ", " - -#: pwck.8.xml:233(para) -msgid "" -"Sort entries in /etc/passwd and /etc/shadow<" -"/filename> by UID." -msgstr "" -"Ordena as entradas em /etc/passwd e " -"/etc/shadow pelo UID." - -#: pwck.8.xml:237(para) -msgid "This option has no effect when is enabled." -msgstr "Esta opção não tem efeito quando está activo." - -#: pwck.8.xml:244(para) -msgid "" -"By default, pwck operates on the files /etc/passwd and /etc/shadow (or the files in /etc/tcb)." -" The user may select alternate files with the passwd<" -"/replaceable> and shadow parameters." -msgstr "" -"Por predefinição, pwck opera nos ficheiros /etc/passwd e /etc/shadow (ou nos ficheiros em /etc/tcb). O utilizador pode selecionar ficheiros alternativos com os " -"parâmetros passwd e shadow." - -#: pwck.8.xml:253(para) -msgid "" -"Note that when is enabled, you cannot specify an" -" alternative shadow file. In future releases, this" -" parameter could be replaced by an alternate TCB directory." -msgstr "" -"Note que quando está activo, você não pode " -"especificar um ficheiro shadow alternativo. Em " -"lançamentos futuros, este parâmetro pode ser substituído por um directório " -"TCB alternativo." - -#: pwck.8.xml:322(para) -msgid "one or more bad password entries" -msgstr "uma ou mais entradas de má palavra passe" - -#: pwck.8.xml:328(para) -msgid "can't open password files" -msgstr "incapaz de abrir ficheiros de palavra passe" - -#: pwck.8.xml:334(para) -msgid "can't lock password files" -msgstr "incapaz de trancar ficheiros de palavra passe" - -#: pwck.8.xml:340(para) -msgid "can't update password files" -msgstr "incapaz de actualizar ficheiros de palavra passe" - -#: pwck.8.xml:346(para) -msgid "can't sort password files" -msgstr "incapaz de ordenar ficheiros de palavra passe" - -#: pwck.8.xml:304(para) -msgid "" -"The pwck command exits with the following values: <" -"placeholder-1/>" -msgstr "" -"O comando pwck termina com os seguintes valores: " -"" - -#: pwck.8.xml:355(para) -msgid "" -"group5<" -"/citerefentry>, grpck8, passwd<" -"/refentrytitle>5, <" -"refentrytitle>shadow5," -" usermod8." -msgstr "" -"group5<" -"/citerefentry>, grpck8, passwd<" -"/refentrytitle>5, <" -"refentrytitle>shadow5," -" usermod8." - -#: porttime.5.xml:57(refentrytitle) porttime.5.xml:64(refname) +#. (itstool) path: refmeta/refentrytitle +#. (itstool) path: refnamediv/refname +#. (itstool) path: para/emphasis +#: porttime.5.xml.out:33 porttime.5.xml.out:40 porttime.5.xml.out:47 msgid "porttime" msgstr "porttime" -#: porttime.5.xml:65(refpurpose) +#. (itstool) path: refnamediv/refpurpose +#: porttime.5.xml.out:41 msgid "port access time file" msgstr "ficheiro de tempo de acesso ao porto" -#: porttime.5.xml:70(para) +#. (itstool) path: refsect1/para +#: porttime.5.xml.out:46 +#, fuzzy +#| msgid "" +#| "porttime contains a list of tty devices, " +#| "user names, and permitted login times." msgid "" -"porttime contains a list of tty devices," -" user names, and permitted login times." +"<_:emphasis-1/> contains a list of tty devices, user names, and permitted " +"login times." msgstr "" "porttime contém uma lista de dispositivos " "tty, nomes de utilizadores, e tempos de login permitidos." -#: porttime.5.xml:75(para) +#. (itstool) path: refsect1/para +#: porttime.5.xml.out:51 msgid "" -"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." msgstr "" "Cada entrada consiste de três campos separados por dois pontos. O primeiro " -"campo é uma lista de dispositivos tty separados por virgulas, ou um asterisco " -"para indicar que todos os dispositivos correspondem a esta entrada. O segundo " -"campo é uma lista de nomes de utilizadores separados por vírgulas, ou um " -"asterisco para indicar que todos os nomes de utilizadores correspondem a " -"esta entrada. O terceiro campo é uma lista de tempos de acesso permitidos " -"separados por virgulas." +"campo é uma lista de dispositivos tty separados por virgulas, ou um " +"asterisco para indicar que todos os dispositivos correspondem a esta " +"entrada. O segundo campo é uma lista de nomes de utilizadores separados por " +"vírgulas, ou um asterisco para indicar que todos os nomes de utilizadores " +"correspondem a esta entrada. O terceiro campo é uma lista de tempos de " +"acesso permitidos separados por virgulas." -#: porttime.5.xml:84(para) +#. (itstool) path: para/emphasis +#: porttime.5.xml.out:62 +msgid "Su" +msgstr "" + +#. (itstool) path: para/emphasis +#: porttime.5.xml.out:62 +msgid "Mo" +msgstr "" + +#. (itstool) path: para/emphasis +#: porttime.5.xml.out:63 +msgid "Tu" +msgstr "" + +#. (itstool) path: para/emphasis +#: porttime.5.xml.out:63 +msgid "We" +msgstr "" + +#. (itstool) path: para/emphasis +#: porttime.5.xml.out:64 +msgid "Th" +msgstr "" + +#. (itstool) path: para/emphasis +#: porttime.5.xml.out:64 +msgid "Fr" +msgstr "" + +#. (itstool) path: para/emphasis +#: porttime.5.xml.out:65 +msgid "Sa" +msgstr "" + +#. (itstool) path: para/emphasis +#: porttime.5.xml.out:66 +msgid "Wk" +msgstr "" + +#. (itstool) path: para/emphasis +#: porttime.5.xml.out:67 porttime.5.xml.out:68 +msgid "Al" +msgstr "" + +#. (itstool) path: refsect1/para +#: porttime.5.xml.out:60 +#, fuzzy +#| msgid "" +#| "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." msgid "" -"Each access time entry consists of zero or more days of the week, abbreviated" -" Su, Mo, Tu, <" -"emphasis>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 <_:emphasis-1/>, <_:emphasis-2/>, <_:emphasis-3/>, <_:emphasis-4/" +">, <_:emphasis-5/>, <_:emphasis-6/>, and <_:emphasis-7/>, followed by a pair " +"of times separated by a hyphen. The abbreviation <_:emphasis-8/> may be used " +"to represent Monday thru Friday, and <_:emphasis-9/> may be used to indicate " +"every day. If no days are given, <_:emphasis-10/> is assumed." msgstr "" "Cada entrada de tempo de acesso consiste de zero ou mais dias da semana, " "abreviados Su, Mo, Tu para indicar todos os dias. Se não forem dados dias, é assumido " "Al." -#: porttime.5.xml:98(title) +#. (itstool) path: refsect1/title +#: porttime.5.xml.out:74 msgid "EXAMPLES" msgstr "EXEMPLOS" -#: porttime.5.xml:99(para) +#. (itstool) path: para/emphasis +#: porttime.5.xml.out:77 +msgid "jfh" +msgstr "" + +#. (itstool) path: refsect1/para +#: porttime.5.xml.out:75 +#, fuzzy +#| msgid "" +#| "The following entry allows access to user jfh on every port during weekdays from 9am to 5pm." msgid "" -"The following entry allows access to user jfh on every port during weekdays from 9am to 5pm." +"The following entry allows access to user <_:emphasis-1/> on every port " +"during weekdays from 9am to 5pm." msgstr "" "A seguinte entrada permite acesso ao utilizador jfh em todos os portos durante dias da semana das 09 até às 17 horas." -#: porttime.5.xml:105(para) +#. (itstool) path: refsect1/para +#: porttime.5.xml.out:81 msgid "*:jfh:Wk0900-1700" msgstr "*:jfh:Wk0900-1700" -#: porttime.5.xml:107(para) -msgid "" -"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." +#. (itstool) path: para/emphasis +#: porttime.5.xml.out:85 +msgid "oper" msgstr "" -"As seguintes entradas permitem acesso apenas aos utilizadores root e oper a /dev/console " -"a qualquer hora. Isto ilustra como o ficheiro /etc/porttime é uma lista ordenada de tempos de acesso. Qualquer outro utilizador " -"iria corresponder à segunda entrada que não permite acesso a qualquer hora." -#: porttime.5.xml:116(programlisting) -#, no-wrap -msgid "\n console:root,oper:Al0000-2400\n console:*:\n " -msgstr "\n console:root,oper:Al0000-2400\n console:*:\n " +#. (itstool) path: para/filename +#: porttime.5.xml.out:86 +msgid "/dev/console" +msgstr "" -#: porttime.5.xml:121(para) +#. (itstool) path: refsect1/para +#: porttime.5.xml.out:83 +#, fuzzy +#| msgid "" +#| "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." msgid "" -"The following entry allows access for the user games on" -" any port during non-working hours." +"The following entries allow access only to the users <_:emphasis-1/> and <_:" +"emphasis-2/> on <_:filename-3/> at any time. This illustrates how the <_:" +"filename-4/> file is an ordered list of access times. Any other user would " +"match the second entry which does not permit access at any time." +msgstr "" +"As seguintes entradas permitem acesso apenas aos utilizadores " +"root e oper a /dev/" +"console a qualquer hora. Isto ilustra como o ficheiro /" +"etc/porttime é uma lista ordenada de tempos de acesso. Qualquer " +"outro utilizador iria corresponder à segunda entrada que não permite acesso " +"a qualquer hora." + +#. (itstool) path: refsect1/programlisting +#: porttime.5.xml.out:92 +#, fuzzy +#| msgid "" +#| "\n" +#| " console:root,oper:Al0000-2400\n" +#| " console:*:\n" +#| " " +msgid "console:root,oper:Al0000-2400 console:*:" +msgstr "" +"\n" +" console:root,oper:Al0000-2400\n" +" console:*:\n" +" " + +#. (itstool) path: para/emphasis +#: porttime.5.xml.out:99 +msgid "games" +msgstr "" + +#. (itstool) path: refsect1/para +#: porttime.5.xml.out:97 +#, fuzzy +#| msgid "" +#| "The following entry allows access for the user games " +#| "on any port during non-working hours." +msgid "" +"The following entry allows access for the user <_:emphasis-1/> on any port " +"during non-working hours." msgstr "" "A seguinte entrada permite acesso ao utilizador games a " "qualquer porto durante horas de não-trabalho." -#: porttime.5.xml:126(para) +#. (itstool) path: refsect1/para +#: porttime.5.xml.out:102 msgid "*:games:Wk1700-0900,SaSu0000-2400" msgstr "*:games:Wk1700-0900,SaSu0000-2400" -#: porttime.5.xml:133(filename) logoutd.8.xml:92(filename) -msgid "/etc/porttime" -msgstr "/etc/porttime" +#. (itstool) path: refnamediv/refpurpose +#: pwck.8.xml.out:48 +#, fuzzy +#| msgid "verify integrity of password files" +msgid "verify the integrity of password files" +msgstr "verifica a integridade de ficheiros de palavras passe" -#: porttime.5.xml:135(para) logoutd.8.xml:94(para) -msgid "File containing port access." -msgstr "Ficheiro que contem acesso a porto." - -#: porttime.5.xml:143(para) login.access.5.xml:134(para) -msgid "" -"login1<" -"/citerefentry>." -msgstr "" -"login1<" -"/citerefentry>." - -#: passwd.5.xml:65(refpurpose) -msgid "the password file" -msgstr "o ficheiro da palavra passe" - -#: passwd.5.xml:70(para) -msgid "" -"/etc/passwd contains one line for each user account," -" with seven fields delimited by colons (:). These fields are:" -msgstr "" -"/etc/passwd contém uma linha para cada conta de " -"utilizador, com sete campos delimitados por dois pontos (:). " -"Estes campos são:" - -#: passwd.5.xml:81(para) -msgid "optional encrypted password" -msgstr "palavra passe encriptada opcional" - -#: passwd.5.xml:84(para) -msgid "numerical user ID" -msgstr "ID numérico do utilizador" - -#: passwd.5.xml:87(para) -msgid "numerical group ID" -msgstr "ID numérico do grupo" - -#: passwd.5.xml:90(para) -msgid "user name or comment field" -msgstr "nome de utilizador ou campo de comentário" - -#: passwd.5.xml:93(para) -msgid "user home directory" -msgstr "directório home do utilizador" - -#: passwd.5.xml:96(para) -msgid "optional user command interpreter" -msgstr "interpretador de comandos opcional do utilizador" - -#: passwd.5.xml:100(para) -msgid "" -"If the password field is a lower-case x," -" then the encrypted password is actually stored in the <" -"refentrytitle>shadow5" -" file instead; there must be a corresponding line in the" -" /etc/shadow file, or else the user account is invalid." -msgstr "" -"Se o campo password for um x minúsculo, " -"então a palavra passe encriptada está realmente guardada no ficheiro " -"shadow5; tem de existir uma linha correspondente " -"no ficheiro /etc/shadow, ou a conta do utilizador fica " -"inválida." - -#: passwd.5.xml:109(para) -msgid "" -"The encrypted password field may be empty, 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." -msgstr "" -"O campo password encriptado pode estar vazio, que neste " -"caso nenhuma palavra passe é requerida para se autenticar com o nome de login " -"especificado. No entanto, algumas aplicações que leem o ficheiro " -"/etc/passwdpode decidir não permitir nenhum acesso a nada de o campo password estiver " -"vazio." - -#: passwd.5.xml:118(para) -msgid "" -"A password field which starts with an exclamation mark" -" means that the password is locked. The remaining characters on the line" -" represent the password field before the password was" -" locked." -msgstr "" -"Um campo password começado com um ponto de exclamação " -"significa que a palavra passe está trancada. Os restantes caracteres da linha " -"representam o campo password antes da palavra passe " -"ser trancada." - -#: passwd.5.xml:138(para) -msgid "" -"The comment field is used by various system utilities, such as finger1." -msgstr "" -"O campo \"comment\" é usado por vários utilitários do sistema, tais como " -"finger1." - -#: passwd.5.xml:144(para) -msgid "" -"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." -msgstr "" -"O campo \"home directory\" fornece o nome do directório de trabalho iniciai." -" O " -"programa login usa esta informação para definir o valor " -"da variável de ambiente $HOME." - -#: passwd.5.xml:150(para) -msgid "" -"The command interpreter field provides the name of the user's command" -" language interpreter, or the name of the initial program to execute. The <" -"command>login 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." -msgstr "" -"O campo \"command interpreter\" fornece o nome do interpretador de " -"linguagem de comandos do utilizador, ou o nome do programa inicial a " -"executar. O programa login usa esta informação para " -"definir o valor da variável de ambiente $SHELL. Se este campo " -"estiver vazio, usa por predefinição o valor /bin/sh." - -#: passwd.5.xml:171(para) -msgid "optional encrypted password file" -msgstr "ficheiro de palavra passe encriptada opcional" - -#: passwd.5.xml:175(filename) -msgid "/etc/passwd-" -msgstr "/etc/passwd-" - -#: passwd.5.xml:177(para) -msgid "Backup file for /etc/passwd." -msgstr "Ficheiro de salvaguarda para /etc/passwd." - -#: passwd.5.xml:189(para) -msgid "" -"crypt3<" -"/citerefentry>, getent1, getpwnam<" -"/refentrytitle>3, <" -"refentrytitle>login1, <" -"citerefentry>passwd1<" -"/citerefentry>, pwck8, pwconv<" -"/refentrytitle>8, <" -"refentrytitle>pwunconv8, shadow5, su1, sulogin<" -"/refentrytitle>8." -msgstr "" -"crypt3<" -"/citerefentry>, getent1, getpwnam<" -"/refentrytitle>3, <" -"refentrytitle>login1, <" -"citerefentry>passwd1<" -"/citerefentry>, pwck8, pwconv<" -"/refentrytitle>8, <" -"refentrytitle>pwunconv8, shadow5, su1, sulogin<" -"/refentrytitle>8." - -#: passwd.1.xml:72(refpurpose) -msgid "change user password" -msgstr "muda a palavra passe do utilizador" - -#: passwd.1.xml:89(para) -msgid "" -"The passwd command changes passwords for user accounts. A" -" normal user may only change the password for their own account, while the" -" superuser may change the password for any account. passwd" -" also changes the account or associated password validity period." -msgstr "" -"O comando passwd muda palavras passe para contas de " -"utilizadores. Um utilizador normal só pode mudar a palavra passe da sua " -"própria conta, enquanto que o super-utilizador pode mudar a palavra passe de " -"qualquer conta. O passwd também muda a conta ou o " -"período de validade da palavra passe associada." - -#: passwd.1.xml:98(title) -msgid "Password Changes" -msgstr "Mudanças de Palavras Passe" - -#: passwd.1.xml:99(para) -msgid "" -"The user is first prompted for their old password, if one is present. This" -" password is then encrypted and compared against the stored password. The" -" user has only one chance to enter the correct password. The superuser is" -" permitted to bypass this step so that forgotten passwords may be changed." -msgstr "" -"Ao utilizador é primeiro pedida a sua antiga palavra passe, se esta existir. " -"Esta palavra passe é então encriptada e comparada com a palavra passe " -"guardada. O utilizador tem apenas uma hipótese de inserir a palavra passe " -"correta. Ao super-utilizador é permitido saltar este passo para que as " -"palavras passe esquecidas possam ser mudadas." - -#: passwd.1.xml:107(para) -msgid "" -"After the password has been entered, password aging information is checked to" -" see if the user is permitted to change the password at this time. If not, <" -"command>passwd refuses to change the password and exits." -msgstr "" -"Após a palavra passe ser inserida, é verificada informação de envelhecimento " -"da palavra passe para se ver se é permitido ao utilizador mudar a palavra " -"passe nesta altura. Se não, o passwd recusa a mudança " -"da palavra passe e termina." - -#: passwd.1.xml:114(para) -msgid "" -"The user is then prompted twice for a replacement password. The second entry" -" is compared against the first and both are required to match in order for" -" the password to be changed." -msgstr "" -"Ao utilizador é então pedido duas vezes uma palavra passe de substituição. " -"A segunda entrada é comparada com a primeira e é requerido que ambas " -"correspondam para que a palavra passe seja mudada." - -#: passwd.1.xml:120(para) -msgid "" -"Then, the password is tested for complexity. As a general guideline," -" passwords should consist of 6 to 8 characters including one or more" -" characters from each of the following sets:" -msgstr "" -"Então, a palavra passe é testada para complexidade. Como orientação geral, " -"as palavras passe devem consistir de 6 a 8 caracteres incluindo um mais " -"caracteres de cada um dos seguintes conjuntos:" - -#: passwd.1.xml:128(para) -msgid "lower case alphabetics" -msgstr "alfabéticos em minúsculas" - -#: passwd.1.xml:131(para) -msgid "digits 0 thru 9" -msgstr "dígitos de 0 a 9" - -#: passwd.1.xml:134(para) -msgid "punctuation marks" -msgstr "pontos" - -#: passwd.1.xml:138(para) -msgid "" -"Care must be taken not to include the system default erase or kill" -" characters. passwd will reject any password which is not" -" suitably complex." -msgstr "" -"Deve-se ter cuidado em não incluir os caracteres de apagar ou matar " -"predefinidos do sistema. O passwd irá rejeitar qualquer " -"palavra passe que não tenha a complexidade apropriada." - -#: passwd.1.xml:147(title) -msgid "Hints for user passwords" -msgstr "Dicas para palavra passe de utilizador" - -#: passwd.1.xml:148(para) -msgid "" -"The security of a password depends upon the strength of the encryption" -" algorithm and the size of the key space. The legacy UNIX System encryption method is based on the NBS DES algorithm. More recent" -" methods are now recommended (see ). The size" -" of the key space depends upon the randomness of the password which is" -" selected." -msgstr "" -"A segurança de uma palavra passe depende da força do algoritmo de encriptação " -"e do tamanho do espaço chave.O antigo método de encriptação do Sistema " -"UNIX é baseado no algoritmo NBS DES. Agora são " -"recomendados métodos mais recentes (veja ). " -"O tamanho do espaço chave depende da aleatoriedade da palavra passe que é " -"selecionada." - -#: passwd.1.xml:157(para) -msgid "" -"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." -msgstr "" -"A segurança comprometida das palavras passe normalmente resulta da selecção " -"e manuseamento descuidado das palavras passe. Por esta razão você não deve " -"escolher uma palavra passe que esteja no dicionário ou que tenha de ser " -"escrita. A palavra passe também não deve ser um nome próprio, o seu número " -"de licença, data de nascimento, ou endereço de morada. Qualquer uma destas " -"pode ser adivinhada e violar a segurança do sistema." - -#: passwd.1.xml:166(para) -msgid "" -"You can find advice on how to choose a strong password on" -" http://en.wikipedia.org/wiki/Password_strength" -msgstr "" -"Você pode obter conselhos sobre como escolher uma palavra passe forte em " -"http://en.wikipedia.org/wiki/Password_strength" - -#: passwd.1.xml:175(para) -msgid "The options which apply to the passwd command are:" -msgstr "As opções que se aplicam ao comando passwd são:" - -#: passwd.1.xml:180(term) faillog.8.xml:96(term) -msgid ", " -msgstr ", " - -#: passwd.1.xml:184(para) -msgid "" -"This option can be used only with and causes show status" -" for all users." -msgstr "" -"Esta opção só pode ser usada com e causa estado de " -"visualização para todos os utilizadores." - -#: passwd.1.xml:191(term) -msgid ", " -msgstr ", " - -#: passwd.1.xml:195(para) -msgid "" -"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." -msgstr "" -"Apaga uma palavra passe de utilizador (torna-a vazia). Este é um modo rápido " -"para desactivar uma palavra passe para uma conta. Irá fazer com a conta " -"nomeada não tenha palavra passe." - -#: passwd.1.xml:203(term) -msgid ", " -msgstr ", " - -#: passwd.1.xml:207(para) -msgid "" -"Immediately expire an account's password. This in effect can force a user to" -" change their password at the user's next login." -msgstr "" -"Expira imediatamente uma palavra passe de uma conta. Isto consegue forçar " -"um utilizador a mudar a sua palavra passe no seu próximo login." - -#: passwd.1.xml:220(term) -msgid "" -",  INACTIVE<" -"/replaceable>" -msgstr "" -",  INACTIVE<" -"/replaceable>" - -#: passwd.1.xml:224(para) -msgid "" -"This option is used to disable an account after the password has been expired" -" for a number of days. After a user account has had an expired password for <" -"replaceable>INACTIVE days, the user may no longer sign on to" -" the account." -msgstr "" -"Esta opção é usada para desactivar uma conta após a palavra passe ter " -"expirado por um número de dias. Após uma conta de utilizador ter tido a " -"palavra passe expirada por INACTIVE dias, o " -"utilizador não pode mais iniciar sessão na conta." - -#: passwd.1.xml:233(term) -msgid ", " -msgstr ", " - -#: passwd.1.xml:237(para) -msgid "" -"Indicate password change should be performed only for expired authentication" -" tokens (passwords). The user wishes to keep their non-expired tokens as" -" before." -msgstr "" -"Indica que a mudança de palavra passe só deve ser executada para testemunhos " -"de autenticação expirados (palavras passe). O utilizador deseja manter os " -"testemunhos não-expirados como antes." - -#: passwd.1.xml:245(term) -msgid ", " -msgstr ", " - -#: passwd.1.xml:249(para) -msgid "" -"Lock the password of the named account. This option disables a password by" -" changing it to a value which matches no possible encrypted value (it adds a" -" ´!´ at the beginning of the password)." -msgstr "" -"Tranca a palavra passe na conta nomeada. Esta opção desactiva uma palavra " -"passe ao mudá-la para um valor que não pode corresponder a nenhum valor " -"encriptado (adiciona um ´!´ ao inicio da palavra passe)." - -#: passwd.1.xml:255(para) -msgid "" -"Note that this does not disable the account. The user may still be able to" -" login using another authentication token (e.g. an SSH key). To disable the" -" account, administrators should use usermod --expiredate 1" -" (this set the account's expire date to Jan 2, 1970)." -msgstr "" -"Note que isto não desactiva a conta. O utilizador pode ainda fazer login " -"usando outro testemunho de autenticação (ex. uma chave SSH). Para desactivar " -"a conta, os administradores devem usar usermod --expiredate 1 (isto define a data de expiração da conta para 2 Janeiro 1970)." - -#: passwd.1.xml:262(para) -msgid "Users with a locked password are not allowed to change their password." -msgstr "" -"Utilizadores com a palavra passe trancada não têm permissão de mudar a " -"sua palavra passe." - -#: passwd.1.xml:269(term) -msgid "" -",  MIN_DAYS<" -"/replaceable>" -msgstr "" -",  MIN_DAYS<" -"/replaceable>" - -#: passwd.1.xml:273(para) chage.1.xml:174(para) -msgid "" -"Set the minimum number of days between password changes to MIN_DAYS. A value of zero for this field indicates that the" -" user may change their password at any time." -msgstr "" -"Define o número mínimo de dias entre mudanças de palavra passe para " -"MIN_DAYS. Um valor zero neste campo indica que " -"o utilizador pode mudar a sua palavra passe a qualquer altura." - -#: passwd.1.xml:291(term) -msgid "" -",  REPOSITORY" -msgstr "" -",  REPOSITORY" - -#: passwd.1.xml:295(para) -msgid "change password in REPOSITORY repository" -msgstr "" -"muda a palavra passe no repositório REPOSITORY" - -#: passwd.1.xml:313(term) -msgid ", " -msgstr ", " - -#: passwd.1.xml:317(para) -msgid "" -"Display account status information. The status information consists of 7" -" fields. The first field is the user's login name. The second field indicates" -" if the user account has a locked password (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." -msgstr "" -"Mostra informação do estado da conta. A informação de estado consiste de 7 " -"campos. O primeiro campo é o nome de login do utilizador. O segundo campo " -"indica se o utilizador tem a palavra passe trancada (L), não tem palavra " -"passe (NP), ou tem uma palavra passe utilizável (P). O terceiro campo dá " -"a data da última mudança da palavra passe. Os quatro campos seguintes são " -"idade mínima, idade máxima, período de aviso, e período de inatividade para a " -"palavra passe. Estas idades são expressadas em dias." - -#: passwd.1.xml:331(term) -msgid ", " -msgstr ", " - -#: passwd.1.xml:335(para) -msgid "" -"Unlock the password of the named account. This option re-enables a password" -" by changing the password back to its previous value (to the value before" -" using the option)." -msgstr "" -"Destranca a palavra passe da conta nomeada. Esta opção re-activa uma palavra " -"passe ao alterar a palavra passe de volta ao seu valor anterior (para o valor " -"antes de se usar a opção )." - -#: passwd.1.xml:344(term) -msgid "" -",  WARN_DAYS<" -"/replaceable>" -msgstr "" -",  WARN_DAYS<" -"/replaceable>" - -#: passwd.1.xml:348(para) -msgid "" -"Set the number of days of warning before a password change is required. The <" -"replaceable>WARN_DAYS option is the number of days prior to the" -" password expiring that a user will be warned that their password is about to" -" expire." -msgstr "" -"Define o número de dias de aviso antes de ser requerido a mudança da palavra " -"passe. A opção WARN_DAYS é o número de dias " -"antes da palavra passe expirar em que o utilizador é avisado que a sua " -"palavra passe está prestes a expirar." - -#: passwd.1.xml:357(term) -msgid "" -",  MAX_DAYS<" -"/replaceable>" -msgstr "" -",  MAX_DAYS<" -"/replaceable>" - -#: passwd.1.xml:361(para) -msgid "" -"Set the maximum number of days a password remains valid. After MAX_DAYS, the password is required to be changed." -msgstr "" -"Define o número máximo de dias que uma palavra passe permanece válida. Após " -"MAX_DAYS, é requerido que a palavra passe seja " -"mudada." - -#: passwd.1.xml:366(para) chage.1.xml:195(para) -msgid "" -"Passing the number -1 as MAX_DAYS will remove checking a password's validity." -msgstr "" -"Passar o número -1 como MAX_DAYS irá remover a verificação da validade da palavra " -"passe." - -#: passwd.1.xml:378(para) -msgid "" -"Password complexity checking may vary from site to site. The user is urged to" -" select a password as complex as he or she feels comfortable with." -msgstr "" -"A complexidade da palavra passe pode variar de sitio para sitio. O utilizador " -"é aconselhado a escolher uma palavra passe tão complexa quanto ele se sente " -"confortável com ela." - -#: passwd.1.xml:383(para) -msgid "" -"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." -msgstr "" -"Os utilizadores podem não ser capazes de mudar a sua palavra passe num " -"sistema se o NIS estiver activo e não tiverem sessão iniciada no servidor NIS." - -#: passwd.1.xml:388(para) -msgid "" -"passwd uses PAM to authenticate users and to change their" -" passwords." -msgstr "" -"O passwd usa PAM para autenticar os utilizadores e para " -"mudar as suas palavras passe." - -#: passwd.1.xml:30(term) newusers.8.xml:30(term) login.defs.5.xml:30(term) gpasswd.1.xml:30(term) chpasswd.8.xml:30(term) chgpasswd.8.xml:30(term) -msgid " (string)" -msgstr " (string)" - -#: passwd.1.xml:32(para) newusers.8.xml:32(para) login.defs.5.xml:32(para) gpasswd.1.xml:32(para) chpasswd.8.xml:32(para) chgpasswd.8.xml:32(para) -msgid "" -"This defines the system default encryption algorithm for encrypting passwords" -" (if no algorithm are specified on the command line)." -msgstr "" -"Isto define o algoritmo de encriptação predefinido do sistema para encriptar " -"palavras passe (se não for especificado um algoritmo na linha de comandos)." - -#: passwd.1.xml:36(para) newusers.8.xml:36(para) login.defs.5.xml:36(para) gpasswd.1.xml:36(para) chpasswd.8.xml:36(para) chgpasswd.8.xml:36(para) -msgid "" -"It can take one of these values: DES (default), <" -"replaceable>MD5, SHA256, SHA512." -msgstr "" -"Pode tomar um destes valores: DES (predefinido), " -"MD5, " -"SHA256, SHA512." - -#: passwd.1.xml:43(para) newusers.8.xml:43(para) login.defs.5.xml:43(para) gpasswd.1.xml:43(para) chpasswd.8.xml:43(para) chgpasswd.8.xml:43(para) -msgid "" -"Note: this parameter overrides the variable." -msgstr "" -"Nota: este parâmetro sobrepõe a variável ." - -#: passwd.1.xml:47(para) passwd.1.xml:53(para) passwd.1.xml:62(para) newusers.8.xml:47(para) newusers.8.xml:53(para) newusers.8.xml:62(para) login.defs.5.xml:47(para) login.defs.5.xml:53(para) login.defs.5.xml:62(para) gpasswd.1.xml:47(para) gpasswd.1.xml:53(para) gpasswd.1.xml:62(para) chpasswd.8.xml:47(para) chpasswd.8.xml:53(para) chpasswd.8.xml:62(para) chgpasswd.8.xml:47(para) chgpasswd.8.xml:53(para) chgpasswd.8.xml:62(para) -msgid "" -"Note: This only affect the generation of group passwords. The generation of" -" user passwords is done by PAM and subject to the PAM configuration. It is" -" recommended to set this variable consistently with the PAM configuration." -msgstr "" -"Nota: Isto apenas afeta a geração de palavras passe de grupo. A geração " -"das palavras passe de utilizadores é feita pelo PAM e sujeita à configuração " -"do PAM. É recomendado definir esta variável em consistência com a " -"configuração do PAM." - -#: passwd.1.xml:32(term) newusers.8.xml:32(term) login.defs.5.xml:32(term) gpasswd.1.xml:32(term) chpasswd.8.xml:32(term) chgpasswd.8.xml:32(term) -msgid " (boolean)" -msgstr " (booleano)" - -#: passwd.1.xml:34(para) newusers.8.xml:34(para) login.defs.5.xml:34(para) gpasswd.1.xml:34(para) chpasswd.8.xml:34(para) chgpasswd.8.xml:34(para) -msgid "" -"Indicate if passwords must be encrypted using the MD5-based algorithm. 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 <" -"replaceable>no." -msgstr "" -"Indica se as palavras passe devem ser encriptadas usando o algoritmo baseado " -"em MD5. Se definido para yes, as novas palavras " -"passe serão encriptadas usando o algoritmo baseado em MD5 compatível com " -"aquele usado pelos lançamentos recentes de FreeBSD. Suporta palavras passe " -"de comprimento ilimitado e strings longas salgadas. Defina para " -"no se você precisar de copiar palavras passe " -"encriptadas para outros sistemas que não compreendem o novo algoritmo. " -"A predefinição é no." - -#: passwd.1.xml:44(para) newusers.8.xml:44(para) login.defs.5.xml:44(para) gpasswd.1.xml:44(para) chpasswd.8.xml:44(para) chgpasswd.8.xml:44(para) -msgid "" -"This variable is superseded by the variable" -" or by any command line option used to configure the encryption algorithm." -msgstr "" -"Esta variável é sobreposta pela variável ou " -"por qualquer opção de linha de comandos usada para configurar o algoritmo de " -"encriptação." - -#: passwd.1.xml:49(para) newusers.8.xml:49(para) login.defs.5.xml:49(para) gpasswd.1.xml:49(para) chpasswd.8.xml:49(para) chgpasswd.8.xml:49(para) -msgid "" -"This variable is deprecated. You should use ." +#. (itstool) path: arg/replaceable +#: pwck.8.xml.out:57 +msgid "PASSWORDFILE" msgstr "" -"Esta variável está descontinuada. Você deve usar (boolean)" -msgstr " (booleano)" - -#: passwd.1.xml:34(para) login.defs.5.xml:34(para) -msgid "Enable additional checks upon password changes." -msgstr "Activa verificações adicionais após alterações na palavra passe." - -#: passwd.1.xml:32(term) login.defs.5.xml:32(term) -msgid " (boolean)" -msgstr " (booleano)" - -#: passwd.1.xml:34(para) login.defs.5.xml:34(para) -msgid "Warn about weak passwords (but still allow them) if you are root." -msgstr "" -"Avisa sobre palavras passe fracas (mas mesmo assim permite-as) se você " -"for o root." - -#: passwd.1.xml:32(term) login.defs.5.xml:32(term) -msgid " (number)" -msgstr " (número)" - -#: passwd.1.xml:34(para) login.defs.5.xml:34(para) -msgid "Maximum number of attempts to change password if rejected (too easy)." -msgstr "" -"Número máximo de tentativas de mudar a palavra passe se rejeitada " -"(muito fácil)." - -#: passwd.1.xml:32(term) login.defs.5.xml:32(term) -msgid " (number)" -msgstr " (número)" - -#: passwd.1.xml:33(term) login.defs.5.xml:33(term) -msgid " (number)" -msgstr " (número)" - -#: passwd.1.xml:35(para) login.defs.5.xml:35(para) -msgid "" -"Number of significant characters in the password for crypt(). PASS_MAX_LEN is 8 by default. Don't change unless your crypt() is" -" better. This is ignored if set to <" -"replaceable>yes." -msgstr "" -"Número de caracteres significativos na palavra passe para encriptação. " -"Por predefinição é 8. Não altere isto a " -"menos que a sua encriptação seja melhor. Isto é ignorado se " -" for definido para yes." - -#: passwd.1.xml:30(term) newusers.8.xml:30(term) login.defs.5.xml:30(term) gpasswd.1.xml:30(term) chpasswd.8.xml:30(term) chgpasswd.8.xml:30(term) -msgid " (number)" -msgstr " (número)" - -#: passwd.1.xml:31(term) newusers.8.xml:31(term) login.defs.5.xml:31(term) gpasswd.1.xml:31(term) chpasswd.8.xml:31(term) chgpasswd.8.xml:31(term) -msgid " (number)" -msgstr " (número)" - -#: passwd.1.xml:33(para) newusers.8.xml:33(para) login.defs.5.xml:33(para) gpasswd.1.xml:33(para) chpasswd.8.xml:33(para) chgpasswd.8.xml:33(para) -msgid "" -"When is set to SHA256<" -"/replaceable> or SHA512, this defines the number" -" of SHA rounds used by the encryption algorithm by default (when the number" -" of rounds is not specified on the command line)." -msgstr "" -"Quando é definido para SHA256<" -"/replaceable> ou SHA512, isto define o número de " -"rondas SHA usadas pelo algoritmo de encriptação por predefinição (quando o " -"número de rondas não é especificado na linha de comandos)." - -#: passwd.1.xml:40(para) newusers.8.xml:40(para) login.defs.5.xml:40(para) gpasswd.1.xml:40(para) chpasswd.8.xml:40(para) chgpasswd.8.xml:40(para) -msgid "" -"With a lot of rounds, it is more difficult to brute forcing the password. But" -" note also that more CPU resources will be needed to authenticate users." -msgstr "" -"Com muitas rondas, é mais difícil vencer a palavra passe por força bruta. " -"Mas note também que serão precisos mais recursos da CPU para autenticar " -"os utilizadores." - -#: passwd.1.xml:45(para) newusers.8.xml:45(para) login.defs.5.xml:45(para) gpasswd.1.xml:45(para) chpasswd.8.xml:45(para) chgpasswd.8.xml:45(para) -msgid "" -"If not specified, the libc will choose the default number of rounds (5000)." -msgstr "" -"Se não especificado, o libc irá escolher o número predefinido de rondas " -"(5000)." - -#: passwd.1.xml:49(para) newusers.8.xml:49(para) login.defs.5.xml:49(para) gpasswd.1.xml:49(para) chpasswd.8.xml:49(para) chgpasswd.8.xml:49(para) -msgid "The values must be inside the 1000-999,999,999 range." -msgstr "Os valores têm de estar dentro do alcance 1000-999,999,999." -#: passwd.1.xml:52(para) newusers.8.xml:52(para) login.defs.5.xml:52(para) gpasswd.1.xml:52(para) chpasswd.8.xml:52(para) chgpasswd.8.xml:52(para) -msgid "" -"If only one of the or SHA_CRYPT_MAX_ROUNDS values is set, then this value will be used." +#. (itstool) path: arg/replaceable +#. (itstool) path: para/replaceable +#: pwck.8.xml.out:61 pwck.8.xml.out:106 +msgid "SHADOWFILE" msgstr "" -"Se apenas um dos valores ou SHA_CRYPT_MAX_ROUNDS for definido, então será usado este valor." - -#: passwd.1.xml:57(para) newusers.8.xml:57(para) login.defs.5.xml:57(para) gpasswd.1.xml:57(para) chpasswd.8.xml:57(para) chgpasswd.8.xml:57(para) -msgid "" -"If > > - range, defined in <" -"filename>login.defs, instead of -UID_MAX (and their counterparts for the" -" creation of groups)." -msgstr "" -"Os utilizadores de sistema serão criados sem nenhuma informação de " -"envelhecimento em /etc/shadow, e os seus identificadores " -"numéricos são escolhidos dentro do alcance " -"-, definido em login.defs, " -"em vez de - (e os seus " -"homólogos para a criação de grupos)." - -#: newusers.8.xml:335(term) chgpasswd.8.xml:158(term) -msgid ", " -msgstr ", " - -#: newusers.8.xml:337(para) chpasswd.8.xml:204(para) chgpasswd.8.xml:160(para) -msgid "Use the specified number of rounds to encrypt the passwords." -msgstr "Usa o número de rondas especificado para encriptar as palavras passe." - -#: newusers.8.xml:340(para) chpasswd.8.xml:207(para) chgpasswd.8.xml:163(para) -msgid "" -"The value 0 means that the system will choose the default number of rounds" -" for the crypt method (5000)." -msgstr "" -"O valor 0 significa que o sistema irá escolher o número predefinido de rondas " -"para o método de encriptação (5000)." - -#: newusers.8.xml:344(para) chpasswd.8.xml:211(para) chgpasswd.8.xml:167(para) -msgid "" -"A minimal value of 1000 and a maximal value of 999,999,999 will be enforced." -msgstr "Será forçado um valor mínimo de 1000 e um valor máximo de 999,999,999." - -#: newusers.8.xml:348(para) chpasswd.8.xml:215(para) chgpasswd.8.xml:171(para) -msgid "You can only use this option with the SHA256 or SHA512 crypt method." -msgstr "" -"Você pode apenas usar esta opção com o método de encriptação SHA256 ou SHA512." - -#: newusers.8.xml:352(para) chgpasswd.8.xml:175(para) -msgid "" -"By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and" -" SHA_CRYPT_MAX_ROUNDS variables in /etc/login.defs." -msgstr "" -"Por predefinição, o número de rondas é definido pelas variáveis " -"SHA_CRYPT_MIN_ROUNDS e SHA_CRYPT_MAX_ROUNDS em /etc/login.defs." - -#: newusers.8.xml:364(para) -msgid "" -"The input file must be protected since it contains unencrypted passwords." -msgstr "" -"O ficheiro de entrada deve ser protegido pois contém palavras passe " -"não encriptadas." - -#: newusers.8.xml:368(para) chgpasswd.8.xml:191(para) -msgid "" -"You should make sure the passwords and the encryption method respect the" -" system's password policy." -msgstr "" -"Você deve certificar que as palavras passe e o método de encriptação " -"respeitam a política de palavras passe do sistema." - -#: newusers.8.xml:444(filename) -msgid "/etc/pam.d/newusers" -msgstr "/etc/pam.d/newusers" - -#: newusers.8.xml:446(para) -msgid "PAM configuration for newusers." -msgstr "Configuração PAM para newusers." - -#: newusers.8.xml:466(para) -msgid "" -"login.defs5<" -"/manvolnum>, passwd<" -"/refentrytitle>1, subgid<" -"manvolnum>5, subuid<" -"/refentrytitle>5, <" -"citerefentry>useradd8<" -"/citerefentry>." -msgstr "" -"login.defs5<" -"/manvolnum>, passwd<" -"/refentrytitle>1, subgid<" -"manvolnum>5, subuid<" -"/refentrytitle>5, <" -"citerefentry>useradd8<" -"/citerefentry>." - -#: newgrp.1.xml:58(refentrytitle) newgrp.1.xml:65(refname) newgrp.1.xml:71(command) -msgid "newgrp" -msgstr "newgrp" - -#: newgrp.1.xml:66(refpurpose) -msgid "log in to a new group" -msgstr "login para um novo grupo" - -#: newgrp.1.xml:72(replaceable) grpck.8.xml:74(replaceable) groupadd.8.xml:78(replaceable) gpasswd.1.xml:88(replaceable) -msgid "group" -msgstr "group" - -#: newgrp.1.xml:78(para) -msgid "" -"The newgrp command 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." -msgstr "" -"O comando newgrp é usado para alterar o ID de grupo " -"actual durante um login de sessão. Se for dada a bandeira opcional " -", o ambiente do utilizador será reiniciado como se o " -"utilizador tivesse feito login, caso contrário, o ambiente actual, incluindo " -"o directório de trabalho actual, permanece não alterado." - -#: newgrp.1.xml:86(para) -msgid "" -"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." -msgstr "" -"newgrp muda o ID de grupo real actual para o grupo " -"nomeado, ou para o grupo predefinido listado em /etc/passwd se não for dado um nome de grupo. newgrp também " -"tenta adicionar o grupo ao conjunto de grupos do utilizador. Se não for root, " -"será pedido ao utilizador uma palavra passe se este não tiver uma palavra " -"passe (em /etc/shadow se este utilizador tiver uma " -"entrada no ficheiro de palavras passe sombra, ou caso contrário em /etc/passwd) e o grupo tiver, ou se o utilizador não estiver " -"listado como membro e o grupo possuir uma palavra passe. Será negado acesso " -"ao utilizador se a palavra passe do grupo estiver vazia e o utilizador não " -"estiver listado como membro." - -#: newgrp.1.xml:100(para) -msgid "" -"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." -msgstr "" -"Se existir uma entrada para este grupo em /etc/gshadow, " -"então a lista de membros e a palavra passe deste grupo serão obtidas a " -"partir deste ficheiro, caso contrário, será considerada a entrada em " -"/etc/group." - -#: newgrp.1.xml:152(para) -msgid "" -"id1<" -"/citerefentry>, login1, su1, sg<" -"/refentrytitle>1, <" -"refentrytitle>gpasswd1," -" group5<" -"/citerefentry>, gshadow5<" -"/manvolnum>." -msgstr "" -"id1<" -"/citerefentry>, login1, su1, sg<" -"/refentrytitle>1, <" -"refentrytitle>gpasswd1," -" group5<" -"/citerefentry>, gshadow5<" -"/manvolnum>." - -#: logoutd.8.xml:57(refentrytitle) logoutd.8.xml:64(refname) logoutd.8.xml:70(command) -msgid "logoutd" -msgstr "logoutd" - -#: logoutd.8.xml:65(refpurpose) -msgid "enforce login time restrictions" -msgstr "força restrições de hora de login" - -#: logoutd.8.xml:76(para) -msgid "" -"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 the named user is permitted on the named port at the" -" current time. Any login session which is violating the restrictions in <" -"filename>/etc/porttime is terminated." -msgstr "" -"logoutd reforça a hora de login e as restrições de porto " -"especificadas em /etc/porttime. O logoutd deve ser arrancado a partir de /etc/rc. O " -"ficheiro /var/run/utmp é sondado periodicamente e cada " -"nome de utilizador é verificado para se ver se o utilizador nomeado é " -"permitido no porto nomeado na hora actual. Qualquer sessão de login que " -"viole as restrições em /etc/porttime é terminada." - -#: logoutd.8.xml:98(filename) login.1.xml:341(filename) -msgid "/var/run/utmp" -msgstr "/var/run/utmp" - -#: logoutd.8.xml:100(para) login.1.xml:343(para) -msgid "List of current login sessions." -msgstr "Lista das sessões de login actuais." - -#: login.defs.5.xml:124(refentrytitle) login.defs.5.xml:131(refname) -msgid "login.defs" -msgstr "login.defs" - -#: login.defs.5.xml:132(refpurpose) -msgid "shadow password suite configuration" -msgstr "configuração da suite de palavra passe sombra" - -#: login.defs.5.xml:137(para) -msgid "" -"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." -msgstr "" -"O ficheiro /etc/login.defs define a configuração " -"específica de sítio para a suite de palavras passe sombra. Este ficheiro " -"é necessário. A ausência deste ficheiro não irá impedir a operação do " -"sistema, mas irá provavelmente resultar em operação não desejável." - -#: login.defs.5.xml:144(para) -msgid "" -"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." -msgstr "" -"Este ficheiro é um ficheiro de texto legível, e cada linha do ficheiro " -"descreve um parâmetro de configuração. As linhas consistem de um nome de " -"configuração e um valor, separados por espaço em branco. As linhas vazias e " -"os comentários são ignorados. Os comentários são introduzidos com um " -"cardinal \"#\" e este cardinal tem de ser o primeiro caractere não branco da " -"linha." - -#: login.defs.5.xml:152(para) -msgid "" -"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<" -"/replaceable>. An undefined boolean parameter or one with a value other than" -" these will be given a no value. Numbers (both" -" regular and long) may be either decimal values, octal values (precede the" -" value with 0) or hexadecimal values (precede the" -" value with 0x). The maximum value of the regular" -" and long numeric parameters is machine-dependent." -msgstr "" -"Os valores do parâmetros podem ser de quatro tipos: strings, booleanos, " -"números e números longos. Uma string é composta por quaisquer caracteres " -"de escrita. Um booleano deve ser ou o valor yes " -"ou no. Um parâmetro booleano não definido ou um " -"com o valor diferente destes receberá o valor no. " -"Números (ambos regulares e longos) podem ser ou valores decimais, valores em " -"octal (precedendo o valor com 0) ou valores em " -"hexadecimal (precedendo o valor com 0x). O valor " -"máximo dos parâmetros numéricos regulares e longos é dependente da máquina." - -#: login.defs.5.xml:167(para) -msgid "The following configuration items are provided:" -msgstr "Os seguintes itens de configuração são fornecidos:" - -#: login.defs.5.xml:32(term) chfn.1.xml:32(term) -msgid " (boolean)" -msgstr " (booleano)" - -#: login.defs.5.xml:34(para) chfn.1.xml:34(para) -msgid "" -"If yes, the chfn program will" -" require authentication before making any changes, unless run by the" -" superuser." -msgstr "" -"Se yes, o programa chfn irá " -"requerer autenticação antes de fazer quaisquer alterações, a menos que " -"seja corrido pelo super-utilizador." - -#: login.defs.5.xml:32(term) chfn.1.xml:32(term) -msgid " (string)" -msgstr " (string)" - -#: login.defs.5.xml:34(para) chfn.1.xml:34(para) -msgid "" -"This parameter specifies which values in the gecos<" -"/emphasis> 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<" -"/replaceable>, w, h," -" for Full name, Room number, Work phone, and Home phone, respectively. For" -" backward compatibility, yes is equivalent to <" -"replaceable>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." -msgstr "" -"Este parâmetro especifica quais valores no campo gecos<" -"/emphasis> do ficheiro /etc/passwd podem ser mudados " -"por utilizadores regulares usando o programa chfn. Pode " -"ser qualquer combinação das letras f, " -"r, w, " -"h, para nome \"Full\" completo, número de quarto " -"\" Room\", telefone de trabalho \"Work\", e telefone de casa \"Home\", " -"respetivamente. Para compatibilidade do versões anteriores, yes é equivalente a rwh e " -"no é equivalente a frwh. Se não for especificado, apenas o super-utilizador pode fazer " -"quaisquer alterações. A definição mais restritiva é melhor obtida ao não " -"instalar o chfn com SUID." - -#: login.defs.5.xml:32(term) chsh.1.xml:32(term) -msgid " (boolean)" -msgstr " (booleano)" - -#: login.defs.5.xml:34(para) chsh.1.xml:34(para) -msgid "" -"If yes, the chsh program will" -" require authentication before making any changes, unless run by the" -" superuser." -msgstr "" -"Se yes, o programa chsh irá " -"requerer autenticação antes de fazer quaisquer alterações, a menos que " -"seja corrido pelo super-utilizador." - -#: login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (number)" -msgstr " (número)" - -#: login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "" -"Terminal ERASE character (010 = backspace, <" -"replaceable>0177 = DEL)." -msgstr "" -"Caractere ERASE de terminal (010 = backspace, <" -"replaceable>0177 = DEL)." - -#: login.defs.5.xml:38(para) login.defs.5.xml:37(para) login.1.xml:38(para) login.1.xml:37(para) -msgid "" -"The value can be prefixed \"0\" for an octal value, or \"0x\" for an" -" hexadecimal value." -msgstr "" -"O valor pode ser prefixado com \"0\" para um valor octal, ou \"0x\" para um " -"valor hexadecimal." - -#: login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (number)" -msgstr " (número)" - -#: login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "" -"Delay in seconds before being allowed another attempt after a login failure." -msgstr "" -"Atraso em segundos antes de permitir nova tentativa após falha de login." - -#: login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (boolean)" -msgstr " (booleano)" - -#: login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "" -"Enable logging and display of /var/log/faillog login" -" failure info." -msgstr "" -"Activa o relatório e mostragem de /var/log/faillog da " -"informação de falhas de login." - -#: login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (string)" -msgstr " (string)" - -#: login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "" -"If set, login will execute this shell instead of the" -" users' shell specified in /etc/passwd." -msgstr "" -"Se definido, login irá executar esta shell em vez da " -"shell de utilizador especificada em /etc/passwd." - -#: login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (string)" -msgstr " (string)" - -#: login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "" -"If defined, login failures will be logged in this file in a utmp format." -msgstr "" -"Se definido, as falhas de login serão registadas neste ficheiro em formato " -"utmp." - -#: login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (string)" -msgstr " (string)" - -#: login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "" -"If defined, this file can inhibit all the usual chatter during the login" -" sequence. If a full pathname is specified, 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." -msgstr "" -"Se definido, este ficheiro pode inibi toda a conversa habitual da sequência " -"de login. Se for especificado um nome de caminho completo, será activado " -"o modo silencioso se o nome de utilizador ou a shell forem encontrados no " -"ficheiro. Se não um nome de caminho completo, então o modo silencioso será " -"activado se o ficheiro existir no directório home do utilizador." - -#: login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (string)" -msgstr " (string)" - -#: login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "If defined, this file will be displayed before each login prompt." -msgstr "Se definido, este ficheiro será mostrado antes cada aviso de login." - -#: login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (number)" -msgstr " (número)" - -#: login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "Terminal KILL character (025 = CTRL/U)." -msgstr "Caractere KILL de termina (025 = CTRL/U)." - -#: login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (boolean)" -msgstr " (booleano)" - -#: login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "Enable logging and display of /var/log/lastlog login time info." -msgstr "" -"Activa o registo e mostragem da informação de horas de login em " -"/var/log/lastlog." - -#: login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (boolean)" -msgstr " (booleano)" - -#: login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "Enable logging of successful logins." -msgstr "Activa o registo de logins com sucesso." - -#: login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (boolean)" -msgstr " (booleano)" - -#: login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "Enable display of unknown usernames when login failures are recorded." -msgstr "" -"Activa mostragem de nomes de utilizadores desconhecidos quando as falhas " -"de login são registadas." - -#: login.defs.5.xml:38(para) login.1.xml:38(para) -msgid "" -"Note: logging unknown usernames may be a security issue if an user enter her" -" password instead of her login name." -msgstr "" -"Nota: o registar de nomes de utilizador desconhecidos pode ser um problema " -"de segurança se o utilizador escrever a palavra passe no lugar no seu nome " -"de login." - -#: login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (number)" -msgstr " (número)" - -#: login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "Maximum number of login retries in case of bad password." -msgstr "Número máximo de tentativas de login em caso de palavra passe errada." - -#: login.defs.5.xml:37(para) login.1.xml:37(para) -msgid "" -"This will most likely be overridden by PAM, since the default pam_unix module" -" has its own built in of 3 retries. However, this is a safe fallback in case" -" you are using an authentication module that does not enforce PAM_MAXTRIES." -msgstr "" -"Isto irá muito provavelmente ser sobreposto pelo PAM, pois o módulo pam_unix " -"predefinido tem embutido nele próprio 3 tentativas. No entanto, isto é um " -"recurso de segurança no caso de você estar a usar um módulo de autenticação " -"que não força PAM_MAXTRIES." - -#: login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (number)" -msgstr " (número)" - -#: login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "Max time in seconds for login." -msgstr "Tempo máximo em segundos para login." - -#: login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (string)" -msgstr " (string)" - -#: login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "" -"If defined, \":\" delimited list of \"message of the day\" files to be" -" displayed upon login." -msgstr "" -"Se definido, lista delimitada por \":\" de ficheiros \"mensagem do dia\" a" -" serem " -"mostrados após login." - -#: login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (string)" -msgstr " (string)" - -#: login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "" -"If defined, name of file whose presence will inhibit non-root logins. The" -" contents of this file should be a message indicating why logins are" -" inhibited." -msgstr "" -"Se definido, o nome do ficheiro cuja presença irá inibir logins não-root. O " -"conteúdo deste ficheiro deve ser uma mensagem a indicar o porquê dos logins " -"estarem inibidos." - -#: login.defs.5.xml:212(para) -msgid "" -", and PASS_WARN_AGE are only used at the time of account creation. Any" -" changes to these settings won't affect existing accounts." -msgstr "" -", e PASS_WARN_AGE são apenas usadas na altura da criação da conta. " -"Quaisquer alterações nestas definições não afectam contas existentes." - -#: login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (boolean)" -msgstr " (booleano)" - -#: login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "" -"Enable checking of time restrictions specified in /etc/porttime<" -"/filename>." -msgstr "" -"Activa a verificação das restrições de tempo especificadas em " -"/etc/porttime." - -#: login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (string)" -msgstr " (string)" - -#: login.defs.5.xml:33(term) login.1.xml:33(term) -msgid " (string)" -msgstr " (string)" - -#: login.defs.5.xml:35(para) login.1.xml:35(para) -msgid "" -"The terminal permissions: the login tty will be owned by the TTYGROUP group, and the permissions will be set to , e as permissões serão definidas para can be either the name of a group or a numeric" -" group identifier." -msgstr "" -" pode ser ou o nome de um grupo ou o identificados " -"numérico de um grupo." - -#: login.defs.5.xml:49(para) login.1.xml:49(para) -msgid "" -"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." -msgstr "" -"Se você tem um programa write o qual é \"setgid\" para um " -"grupo especial que possui os terminais, defina TTYGROUP para o número do " -"grupo e TTYPERM para 0620. Caso contrário deixe TTYGROUP comentado e defina " -"TTYPERM a 622 ou 600." - -#: login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (string)" -msgstr " (string)" - -#: login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "" -"If defined, file which maps tty line to TERM environment parameter. Each line" -" of the file is in a format something like \"vt100 tty01\"." -msgstr "" -"Se definido, ficheiro que mapeia a linha tty para o parâmetro de ambiente " -"TERM. Cada linha do ficheiro está um formato parecido com \"vt100 tty01\"." - -#: login.defs.5.xml:32(term) login.1.xml:32(term) -msgid " (number)" -msgstr " (número)" - -#: login.defs.5.xml:34(para) login.1.xml:34(para) -msgid "Default ulimit value." -msgstr "Valor ulimit predefinido." - -#: login.defs.5.xml:245(title) -msgid "CROSS REFERENCES" -msgstr "REFERÊNCIAS CRUZADAS" - -#: login.defs.5.xml:246(para) -msgid "" -"The following cross references show which programs in the shadow password" -" suite use which parameters." -msgstr "" -"As seguintes referências cruzadas mostram quais programas na suite de " -"palavras passe sombra usam quais parâmetros." - -#: login.defs.5.xml:253(term) chage.1.xml:58(refentrytitle) chage.1.xml:65(refname) chage.1.xml:70(command) -msgid "chage" -msgstr "chage" - -#: login.defs.5.xml:255(para) login.defs.5.xml:451(phrase) login.defs.5.xml:523(phrase) -msgid "USE_TCB" -msgstr "USE_TCB" - -#: login.defs.5.xml:259(term) chfn.1.xml:60(refentrytitle) chfn.1.xml:67(refname) chfn.1.xml:73(command) -msgid "chfn" -msgstr "chfn" - -#: login.defs.5.xml:261(para) -msgid "" -"CHFN_AUTH CHFN_RESTRICT LOGIN_STRING" -msgstr "" -"CHFN_AUTH CHFN_RESTRICT LOGIN_STRING" - -#: login.defs.5.xml:269(term) chgpasswd.8.xml:57(refentrytitle) chgpasswd.8.xml:64(refname) chgpasswd.8.xml:70(command) -msgid "chgpasswd" -msgstr "chgpasswd" - -#: login.defs.5.xml:271(para) login.defs.5.xml:302(para) -msgid "" -"ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" -msgstr "" -"ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" - -#: login.defs.5.xml:279(term) chpasswd.8.xml:61(refentrytitle) chpasswd.8.xml:68(refname) chpasswd.8.xml:74(command) -msgid "chpasswd" -msgstr "chpasswd" - -#: login.defs.5.xml:282(phrase) -msgid "ENCRYPT_METHOD MD5_CRYPT_ENAB" -msgstr "ENCRYPT_METHOD MD5_CRYPT_ENAB" - -#: login.defs.5.xml:284(phrase) -msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" -msgstr "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" - -#: login.defs.5.xml:290(term) chsh.1.xml:60(refentrytitle) chsh.1.xml:67(refname) chsh.1.xml:73(command) -msgid "chsh" -msgstr "chsh" - -#: login.defs.5.xml:292(para) -msgid "CHSH_AUTH LOGIN_STRING" -msgstr "CHSH_AUTH LOGIN_STRING" - -#: login.defs.5.xml:300(term) gpasswd.1.xml:62(refentrytitle) gpasswd.1.xml:69(refname) gpasswd.1.xml:83(command) -msgid "gpasswd" -msgstr "gpasswd" - -#: login.defs.5.xml:310(term) groupadd.8.xml:60(refentrytitle) groupadd.8.xml:67(refname) groupadd.8.xml:73(command) -msgid "groupadd" -msgstr "groupadd" - -#: login.defs.5.xml:312(para) -msgid "GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN" -msgstr "GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN" - -#: login.defs.5.xml:319(term) groupdel.8.xml:58(refentrytitle) groupdel.8.xml:65(refname) groupdel.8.xml:71(command) -msgid "groupdel" -msgstr "groupdel" - -#: login.defs.5.xml:321(para) login.defs.5.xml:327(para) login.defs.5.xml:333(para) login.defs.5.xml:340(para) login.defs.5.xml:346(para) login.defs.5.xml:352(para) -msgid "MAX_MEMBERS_PER_GROUP" -msgstr "MAX_MEMBERS_PER_GROUP" - -#: login.defs.5.xml:325(term) groupmems.8.xml:61(refentrytitle) groupmems.8.xml:68(refname) groupmems.8.xml:74(command) -msgid "groupmems" -msgstr "groupmems" - -#: login.defs.5.xml:331(term) groupmod.8.xml:58(refentrytitle) groupmod.8.xml:65(refname) groupmod.8.xml:71(command) -msgid "groupmod" -msgstr "groupmod" - -#: login.defs.5.xml:338(term) grpck.8.xml:58(refentrytitle) grpck.8.xml:65(refname) grpck.8.xml:71(command) -msgid "grpck" -msgstr "grpck" - -#: login.defs.5.xml:357(term) lastlog.8.xml:59(refentrytitle) lastlog.8.xml:66(refname) lastlog.8.xml:72(command) -msgid "lastlog" -msgstr "lastlog" - -#: login.defs.5.xml:359(para) -msgid "LASTLOG_UID_MAX" -msgstr "LASTLOG_UID_MAX" - -#: login.defs.5.xml:363(term) login.1.xml:90(refentrytitle) login.1.xml:97(refname) login.1.xml:103(command) login.1.xml:111(command) login.1.xml:118(command) -msgid "login" -msgstr "login" - -#: login.defs.5.xml:365(para) -msgid "" -"CONSOLE CONSOLE_GROUPS DEFAULT_HOME <" -"phrase condition=\"no_pam\">ENV_HZ ENV_PATH ENV_SUPATH ENV_TZ ENVIRON_FILE<" -"/phrase> ERASECHAR FAIL_DELAY FAILLOG_ENAB<" -"/phrase> FAKE_SHELL FTMP_FILE" -" HUSHLOGIN_FILE ISSUE_FILE KILLCHAR <" -"phrase condition=\"no_pam\">LASTLOG_ENAB LASTLOG_UID_MAX" -" LOGIN_RETRIES LOGIN_STRING" -" LOGIN_TIMEOUT LOG_OK_LOGINS LOG_UNKFAIL_ENAB MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE MOTD_FILE NOLOGINS_FILE" -" PORTTIME_CHECKS_ENAB QUOTAS_ENAB TTYGROUP TTYPERM TTYTYPE_FILE <" -"phrase condition=\"no_pam\">ULIMIT UMASK USERGROUPS_ENAB" -msgstr "" -"CONSOLE CONSOLE_GROUPS DEFAULT_HOME <" -"phrase condition=\"no_pam\">ENV_HZ ENV_PATH ENV_SUPATH ENV_TZ ENVIRON_FILE<" -"/phrase> ERASECHAR FAIL_DELAY FAILLOG_ENAB<" -"/phrase> FAKE_SHELL FTMP_FILE" -" HUSHLOGIN_FILE ISSUE_FILE KILLCHAR <" -"phrase condition=\"no_pam\">LASTLOG_ENAB LASTLOG_UID_MAX" -" LOGIN_RETRIES LOGIN_STRING" -" LOGIN_TIMEOUT LOG_OK_LOGINS LOG_UNKFAIL_ENAB MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE MOTD_FILE NOLOGINS_FILE" -" PORTTIME_CHECKS_ENAB QUOTAS_ENAB TTYGROUP TTYPERM TTYTYPE_FILE <" -"phrase condition=\"no_pam\">ULIMIT UMASK USERGROUPS_ENAB" - -#: login.defs.5.xml:392(term) -msgid "newgrp / sg" -msgstr "newgrp / sg" - -#: login.defs.5.xml:394(para) -msgid "SYSLOG_SG_ENAB" -msgstr "SYSLOG_SG_ENAB" - -#: login.defs.5.xml:402(para) -msgid "" -"ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB HOME_MODE" -" PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS SUB_GID_COUNT SUB_GID_MAX" -" SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN SYS_GID_MAX SYS_GID_MIN" -" SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK" -msgstr "" -"ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB HOME_MODE" -" PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS SUB_GID_COUNT SUB_GID_MAX" -" SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN SYS_GID_MAX SYS_GID_MIN" -" SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK" - -#: login.defs.5.xml:421(para) -msgid "" -"ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN" -" PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" -msgstr "" -"ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN" -" PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" - -#: login.defs.5.xml:432(para) -msgid "" -"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB" -msgstr "" -"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB" - -#: login.defs.5.xml:441(para) -msgid "" -"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE USE_TCB<" -"/phrase>" -msgstr "" -"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE USE_TCB<" -"/phrase>" - -#: login.defs.5.xml:458(para) -msgid "" -"CONSOLE CONSOLE_GROUPS DEFAULT_HOME <" -"phrase condition=\"no_pam\">ENV_HZ ENVIRON_FILE ENV_PATH ENV_SUPATH" -" ENV_TZ LOGIN_STRING MAIL_CHECK_ENAB MAIL_DIR" -" MAIL_FILE QUOTAS_ENAB SULOG_FILE SU_NAME SU_WHEEL_ONLY SYSLOG_SU_ENAB USERGROUPS_ENAB" -msgstr "" -"CONSOLE CONSOLE_GROUPS DEFAULT_HOME <" -"phrase condition=\"no_pam\">ENV_HZ ENVIRON_FILE ENV_PATH ENV_SUPATH" -" ENV_TZ LOGIN_STRING MAIL_CHECK_ENAB MAIL_DIR" -" MAIL_FILE QUOTAS_ENAB SULOG_FILE SU_NAME SU_WHEEL_ONLY SYSLOG_SU_ENAB USERGROUPS_ENAB" - -#: login.defs.5.xml:473(term) -msgid "sulogin" -msgstr "sulogin" - -#: login.defs.5.xml:475(para) -msgid "ENV_HZ ENV_TZ" -msgstr "ENV_HZ ENV_TZ" - -#: login.defs.5.xml:484(para) -msgid "" -"CREATE_HOME GID_MAX GID_MIN HOME_MODE LASTLOG_UID_MAX MAIL_DIR" -" MAX_MEMBERS_PER_GROUP PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE" -" SUB_GID_COUNT SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN" -" SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK <" -"phrase condition=\"tcb\">TCB_AUTH_GROUP TCB_SYMLINK USE_TCB" -msgstr "" -"CREATE_HOME GID_MAX GID_MIN HOME_MODE LASTLOG_UID_MAX MAIL_DIR" -" MAX_MEMBERS_PER_GROUP PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE" -" SUB_GID_COUNT SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN" -" SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK <" -"phrase condition=\"tcb\">TCB_AUTH_GROUP TCB_SYMLINK USE_TCB" - -#: login.defs.5.xml:502(para) -msgid "" -"MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB TCB_SYMLINKS USE_TCB" -msgstr "" -"MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB TCB_SYMLINKS USE_TCB" - -#: login.defs.5.xml:512(para) -msgid "" -"LASTLOG_UID_MAX MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP TCB_SYMLINKS USE_TCB" -msgstr "" -"LASTLOG_UID_MAX MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP TCB_SYMLINKS USE_TCB" - -#: login.defs.5.xml:532(para) -msgid "" -"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 passwd<" -"manvolnum>1, or less used by <" -"refentrytitle>login1," -" and su1<" -"/citerefentry>. Please refer to the corresponding PAM configuration files" -" instead." -msgstr "" -"Muitas das funcionalidades que eram fornecidas pela suite de palavras passe " -"sombra são agora lidadas pelo PAM. Assim, /etc/login.defs não é mais usado pelo passwd1, ou menos menos usado " -"pelo login1, e su<" -"manvolnum>1. Por favor consulte os ficheiros de " -"configuração do PAM em vez destes." - -#: login.defs.5.xml:548(para) -msgid "" -"login1<" -"/citerefentry>, passwd1, su1, passwd5, shadow5, pam8<" -"/citerefentry>." -msgstr "" -"login1<" -"/citerefentry>, passwd1, su1, passwd5, shadow5, pam8<" -"/citerefentry>." - -#: login.access.5.xml:58(refentrytitle) login.access.5.xml:65(refname) -msgid "login.access" -msgstr "login.access" - -#: login.access.5.xml:66(refpurpose) -msgid "login access control table" -msgstr "tabela de controle de acessos de login" - -#: login.access.5.xml:71(para) -msgid "" -"The login.access file specifies (user, host)" -" combinations and/or (user, tty) combinations for which a login will be" -" either accepted or refused." -msgstr "" -"O ficheiro login.accessespecifica" -" combinações " -"(utilizador, máquina) e/ou combinações (utilizador, tty) para os quais um " -"login será aceite ou recusado." - -#: login.access.5.xml:77(para) -msgid "" -"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." -msgstr "" -"Quando alguém faz login, o ficheiro login.access é sondado pela primeira entrada que corresponda à combinação " -"(utilizador, máquina), ou, no caso de logins não-rede, a primeira entrada " -"que corresponda à combinação (utilizador, tty). O campo de permissões dessa " -"entrada de tabela determina se o login será aceite ou recusado." - -#: login.access.5.xml:85(para) -msgid "" -"Each line of the login access control table has three fields separated by a" -" \":\" character:" -msgstr "" -"Cada linha da tabela de controle de acesso de login tem três campos separados " -"por um caractere \":\":" - -#: login.access.5.xml:90(para) -msgid "" -"permission:users<" -"/emphasis>:origins" -msgstr "" -"permission:users<" -"/emphasis>:origins" - -#: login.access.5.xml:94(para) -msgid "" -"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<" -"/emphasis> (always matches). The third field should be a list of one or more" -" tty names (for non-networked logins), host names, domain names (begin with" -" \".\"), host addresses, internet network numbers (end" -" with \".\"), ALL (always matches) or" -" LOCAL (matches any string that does not contain a \"<" -"literal>.\" character). If you run NIS you can use @netgroupname in" -" host or user patterns." -msgstr "" -"O primeiro campo deve ser um caractere \"+\" (acesso " -"garantido) ou \"-\" (acesso negado). O segundo campo" -" deve " -"ser uma lista de um ou mais nomes de login, nomes de grupos, ou ALL<" -"/emphasis> (corresponde sempre). O terceiro campo deve ser uma lista de um " -"ou mais nomes tty (para logins não-rede), nomes de máquinas, nomes de " -"domínio (começam com \".\"), endereços de máquinas," -" números " -"de rede de internet (acabam com \".\"), ALL (corresponde sempre) ou LOCAL (corresponde a " -"qualquer string que não contém um caractere \".\"). Se" -" você " -"corre o NIS você pode usar @netgroupname em padrões de máquina ou utilizador." - -#: login.access.5.xml:108(para) -msgid "" -"The EXCEPT operator makes it possible to write very" -" compact rules." -msgstr "" -"O operador EXCEPT torna possível escrever regras muito " -"compactas." - -#: login.access.5.xml:113(para) -msgid "" -"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." -msgstr "" -"O ficheiro de grupo é sondado apenas quando um nome não corresponde ao do " -"utilizador que fez login. Apenas são correspondidos grupos nos quais os " -"utilizadores são explicitamente listados: o programa não procura um valor " -"de id de grupo primário de utilizador." - -#: login.1.xml:98(refpurpose) -msgid "begin session on the system" -msgstr "iniciar sessão no sistema" - -#: login.1.xml:104(arg) login.1.xml:112(arg) login.1.xml:119(arg) login.1.xml:236(option) groupmems.8.xml:79(arg) -msgid "-p" -msgstr "-p" - -#: login.1.xml:105(replaceable) login.1.xml:113(replaceable) login.1.xml:120(replaceable) -msgid "host" -msgstr "host" - -#: login.1.xml:105(arg) login.1.xml:113(arg) -msgid "-h " -msgstr "-h " - -#: login.1.xml:108(replaceable) -msgid "ENV=VAR" -msgstr "ENV=VAR" - -#: login.1.xml:114(arg) login.1.xml:214(option) -msgid "-f" -msgstr "-f" - -#: login.1.xml:120(arg) -msgid "-r " -msgstr "-r " - -#: login.1.xml:126(para) -msgid "" -"The login program is used to establish a new session with" -" the system. It is normally invoked automatically by responding to the <" -"emphasis remap=\"I\">login: prompt on the user's terminal. <" -"command>login may be special to the shell and may not be invoked as" -" a sub-process. When called from a shell, login should be" -" executed as exec login which will cause the" -" user to exit from the current shell (and thus will prevent the new logged in" -" user to return to the session of the caller). Attempting to execute login from any shell but the login shell will produce an error" -" message." -msgstr "" -"O programa login é usado para estabelecer uma nova " -"sessão com o sistema. É normalmente invocado automaticamente quando se " -"responde ao pedido login: no terminal do " -"utilizador. login pode ser especial para a shell e pode " -"não ser invocado como um sub-processo. Quando chamado a partir da shell, " -"login deve ser executado como exec login o que irá fazer com que o utilizador saia " -"da shell actual (e assim previne-se que o novo utilizador acabado de iniciar " -"sessão retorne à sessão do chamador). Tentar executar login a partir de qualquer shell que não seja a shell de login irá " -"produzir uma mensagem de erro." - -#: login.1.xml:140(para) -msgid "" -"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." -msgstr "" -"Ao utilizador é então pedida uma palavra passe, onde apropriado. O eco " -"é desactivado para impedir a revelação da palavra passe. Apenas um pequeno " -"número de falhas de palavra passe é permitido antes de login terminar e a ligação de comunicação ser interrompida." - -#: login.1.xml:147(para) -msgid "" -"If password aging has been enabled for your account, you may be prompted for" -" a new password before proceeding. You will be forced to provide your old" -" password and the new password before continuing. Please refer to <" -"citerefentry>passwd1<" -"/citerefentry> for more information." -msgstr "" -"Se o envelhecimento de palavra passe foi activado para a sua conta, poderá " -"ser-lhe pedida uma nova palavra passe antes de prosseguir. Você irá ser " -"obrigado a fornecer a palavra passe antiga e a nova palavra passe antes " -"de continuar. Por favor consulte passwd1 para mais informação." - -#: login.1.xml:156(para) -msgid "" -"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.<" -"/emphasis>\", or \"No Mail.\" according to the condition" -" of your mailbox." -msgstr "" -"Após um login com sucesso, você será informado de quaisquer mensagens do " -"sistema e da presença de mail. Você pode desligar o escrever no ficheiro " -"de mensagens de sistema, /etc/motd, ao criar um ficheiro " -"de tamanho-zero .hushlogin no seu directório de login. " -"A mensagem de mail será uma de \"You have new mail.\", " -"\"You have mail.\", ou \"No Mail.\" " -"de acordo coma condição da caixa de mail." - -#: login.1.xml:167(para) -msgid "" -"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." -msgstr "" -"O seu ID de utilizador e grupo irão ser definidos de acordo com os seus " -"valores no ficheiro /etc/passwd. O valor para " -"$HOME, $SHELL, $PATH, " -"$LOGNAME, e $MAIL são definidos de acordo " -"com os campos apropriados na entrada password. Os valores ulimit, umask e " -"nice podem também ser definidos de acordo com as entradas no campo GECOS." - -#: login.1.xml:176(para) -msgid "" -"On some installations, the environmental variable $TERM will" -" be initialized to the terminal type on your tty line, as specified in <" -"filename>/etc/ttytype." -msgstr "" -"Em algumas instalações, a variável de ambiente $TERM será " -"inicializada para o tipo de terminal na sua linha tty, como especificado em " -"/etc/ttytype." - -#: login.1.xml:182(para) -msgid "" -"An initialization script for your command interpreter may also be executed." -" Please see the appropriate manual section for more information on this" -" function." -msgstr "" -"Também pode ser executado um script de inicialização para o seu interpretador " -"de comandos. Por favor veja a secção de manual apropriada para mais " -"informação sobre esta função." - -#: login.1.xml:194(para) login.1.xml:270(para) -msgid "" -"The login program is NOT responsible for removing users" -" from the utmp file. It is the responsibility of getty8 and <" -"citerefentry>init8<" -"/citerefentry> to clean up apparent ownership of a terminal session. If you" -" use login from the shell prompt without exec<" -"/command>, the user you use will continue to appear to be logged in even" -" after you log out of the \"subsession\"." -msgstr "" -"O programa login NÃO é responsável por remover " -"utilizadores do ficheiro utmp. É da responsabilidade do <" -"refentrytitle>getty8 e " -"init8<" -"/citerefentry> limpar a posse aparente de uma sessão de terminal. Se você " -"usar login a partir do aviso de shell sem exec<" -"/command>, o utilizador que você usa irá continuar a parecer ter uma sessão " -"activa mesmo após você terminar a \"sub-sessão\"." - -#: login.1.xml:217(para) -msgid "Do not perform authentication, user is preauthenticated." -msgstr "Não executa a autenticação, o utilizador é pré-autenticado." - -#: login.1.xml:220(para) -msgid "Note: In that case, username is mandatory." -msgstr "Nota: Neste caso, username é obrigatório." - -#: login.1.xml:228(option) -msgid "-h" -msgstr "-h" - -#: login.1.xml:231(para) -msgid "Name of the remote host for this login." -msgstr "Nome da máquina remota para este login." - -#: login.1.xml:239(para) -msgid "Preserve environment." -msgstr "Preservar o ambiente." - -#: login.1.xml:244(option) -msgid "-r" -msgstr "-r" - -#: login.1.xml:247(para) -msgid "Perform autologin protocol for rlogin." -msgstr "Executa protocolo de autologin para rlogin." - -#: login.1.xml:252(para) -msgid "" -"The , and options" -" are only used when login is invoked by root." -msgstr "" -"As opções , e " -"são apenas usadas quando login é invocado pelo root." - -#: login.1.xml:261(para) -msgid "" -"This version of login has many compilation options, only" -" some of which may be in use at any particular site." -msgstr "" -"Esta versão do login tem muitas opções de compilação, " -"apenas algumas delas podem estar em uso em qualquer sítio particular." - -#: login.1.xml:266(para) -msgid "" -"The location of files is subject to differences in system configuration." -msgstr "" -"A localização de ficheiros está sujeita a diferenças na configuração do " -"sistema." - -#: login.1.xml:282(para) -msgid "" -"As with any program, login's appearance can be faked. If" -" non-trusted users have physical access to a machine, an attacker could use" -" this to obtain the password of the next person coming to sit in front of the" -" machine. Under Linux, the SAK mechanism can be used by users to initiate a" -" trusted path and prevent this kind of attack." -msgstr "" -"Como qualquer outro programa, a aparência do login pode " -"ser falsificada. Se utilizadores não-de-confiança tiverem acesso físico à " -"máquina, um atacante pode usar isto para obter a palavra passe da " -"próxima pessoa que se sente em frente da máquina. Sob Linux, o mecanismo " -"SAK pode ser usado pelos utilizadores para iniciar um caminho de confiança " -"e prevenir este tipo de ataque." - -#: login.1.xml:347(filename) -msgid "/var/log/wtmp" -msgstr "/var/log/wtmp" - -#: login.1.xml:349(para) -msgid "List of previous login sessions." -msgstr "Lista das sessões de login anteriores." -#: login.1.xml:365(filename) -msgid "/etc/motd" +#. (itstool) path: phrase/filename +#: pwck.8.xml.out:75 pwck.8.xml.out:226 +#, fuzzy +#| msgid "/etc/motd" +msgid "/etc/tcb" msgstr "/etc/motd" -#: login.1.xml:367(para) -msgid "System message of the day file." -msgstr "Ficheiro de mensagem do dia ao sistema." +#. (itstool) path: para/phrase +#: pwck.8.xml.out:74 +msgid "(or the files in <_:filename-1/>, when <_:option-2/> is enabled)" +msgstr "" -#: login.1.xml:371(filename) -msgid "/etc/nologin" -msgstr "/etc/nologin" - -#: login.1.xml:373(para) -msgid "Prevent non-root users from logging in." -msgstr "Previne utilizadores não-root de fazerem login." - -#: login.1.xml:377(filename) -msgid "/etc/ttytype" -msgstr "/etc/ttytype" - -#: login.1.xml:379(para) -msgid "List of terminal types." -msgstr "Lista de tipos de terminais." - -#: login.1.xml:383(filename) -msgid "$HOME/.hushlogin" -msgstr "$HOME/.hushlogin" - -#: login.1.xml:385(para) -msgid "Suppress printing of system messages." -msgstr "Suprime o escreve de mensagens do sistema" - -#: login.1.xml:399(para) +#. (itstool) path: refsect1/para +#: pwck.8.xml.out:70 +#, fuzzy +#| msgid "" +#| "The grpck command verifies the integrity of the groups " +#| "information. It checks that all entries in /etc/groupand /etc/gshadow have the proper format and contain valid data. The " +#| "user is prompted to delete entries that are improperly formatted or which " +#| "have other uncorrectable errors." msgid "" -"mail1<" -"/citerefentry>, passwd1, sh1, su<" -"/refentrytitle>1, <" -"refentrytitle>login.defs5<" -"/citerefentry>, nologin<" -"manvolnum>5, passwd<" -"/refentrytitle>5, <" -"refentrytitle>securetty5, getty8." +"The <_:command-1/> command verifies the integrity of the users and " +"authentication information. It checks that all entries in <_:filename-2/> " +"and <_:filename-3/> <_:phrase-4/> have the proper format and contain valid " +"data. The user is prompted to delete entries that are improperly formatted " +"or which have other uncorrectable errors." msgstr "" -"mail1<" -"/citerefentry>, passwd1, sh1, su<" -"/refentrytitle>1, <" -"refentrytitle>login.defs5<" -"/citerefentry>, nologin<" -"manvolnum>5, passwd<" -"/refentrytitle>5, <" -"refentrytitle>securetty5, getty8." +"O comando grpck verifica a integridade da informação de " +"grupos. Verifica se todas as entradas em /etc/group e /etc/gshadowtêm o formato apropriado e contêm dados válidos. Ao utilizador é " +"pedido para apagar as entradas que não têm formato apropriado ou que têm " +"outros erros incorrigíveis." -#: limits.5.xml:41(firstname) -msgid "Luca" -msgstr "Luca" +#. (itstool) path: listitem/para +#: pwck.8.xml.out:88 +msgid "a unique and valid user name" +msgstr "um nome de utilizador único e válido" -#: limits.5.xml:42(surname) -msgid "Berra" -msgstr "Berra" +#. (itstool) path: listitem/para +#: pwck.8.xml.out:91 +msgid "a valid user and group identifier" +msgstr "um identificador de utilizador e grupo válido" -#: limits.5.xml:59(refentrytitle) limits.5.xml:66(refname) -msgid "limits" -msgstr "limits" +#. (itstool) path: listitem/para +#: pwck.8.xml.out:94 +msgid "a valid primary group" +msgstr "um grupo primário válido" -#: limits.5.xml:67(refpurpose) -msgid "resource limits definition" -msgstr "definição de limites de recurso" +#. (itstool) path: listitem/para +#: pwck.8.xml.out:97 +msgid "a valid home directory" +msgstr "um directório home válido" -#: limits.5.xml:73(para) +#. (itstool) path: listitem/para +#: pwck.8.xml.out:100 +msgid "a valid login shell" +msgstr "uma shell de login válida" + +#. (itstool) path: refsect1/para +#: pwck.8.xml.out:104 +#, fuzzy +#| msgid "" +#| "shadow checks are enabled when a second file " +#| "parameter is specified or when /etc/shadow exists on " +#| "the system." msgid "" -"The limits file (/etc/limits<" -"/filename> 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." +"Checks for shadowed password information are enabled when the second file " +"parameter <_:replaceable-1/> is specified or when <_:filename-2/> exists on " +"the system." msgstr "" -"O ficheiro limits (/etc/limits<" -"/filename> por predefinição ou definindo LIMITS_FILE config.h) descreve os limites de recursos que você deseja impor. Deve ser " -"da posse do root e legível apenas pela conta do root." +"As verificações shadow são activadas quando é " +"especificado um parâmetro de segundo ficheiro ou quando /etc/" +"shadow existe no sistema." -#: limits.5.xml:81(para) +#. (itstool) path: refsect1/para +#: pwck.8.xml.out:109 +msgid "These checks are the following:" +msgstr "Estas verificações são o seguinte:" + +#. (itstool) path: listitem/para +#: pwck.8.xml.out:114 msgid "" -"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)." +"every passwd entry has a matching shadow entry, and every shadow entry has a " +"matching passwd entry" msgstr "" -"Por predefinição, nenhuma cota é imposta em 'root'. De facto, não há maneira " -"de impor limites por este procedimento a contas equivalentes a root (contas " -"com UID 0)." +"cada entrada passwd tem uma entrada shadow correspondente, e cada entrada " +"shadow tem uma entrada passwd correspondente." -#: limits.5.xml:87(para) -msgid "Each line describes a limit for a user in the form:" -msgstr "Cada linha descreve um limite para um utilizador no formato:" +#. (itstool) path: listitem/para +#: pwck.8.xml.out:120 +msgid "passwords are specified in the shadowed file" +msgstr "as palavras passe são especificadas no ficheiro ensombrado" -#: limits.5.xml:90(emphasis) -msgid "user LIMITS_STRING" -msgstr "user LIMITS_STRING" +#. (itstool) path: listitem/para +#: pwck.8.xml.out:123 +msgid "shadow entries have the correct number of fields" +msgstr "entradas sombra têm o número actual de campos" -#: limits.5.xml:93(para) -msgid "or in the form:" -msgstr "ou no formato:" +#. (itstool) path: listitem/para +#: pwck.8.xml.out:126 +msgid "shadow entries are unique in shadow" +msgstr "entradas sombra são únicas em shadow" -#: limits.5.xml:96(emphasis) -msgid "@group LIMITS_STRING" -msgstr "@group LIMITS_STRING" +#. (itstool) path: listitem/para +#: pwck.8.xml.out:129 +msgid "the last password changes are not in the future" +msgstr "as últimas alterações de palavra passe não estão no futuro" -#: limits.5.xml:99(para) +#. (itstool) path: refsect1/para +#: pwck.8.xml.out:133 +#, fuzzy +#| msgid "" +#| "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 " +#| "usermod command to correct the error." msgid "" -"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 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 warnings and the user is encouraged to run the <_:command-1/" +"> command to correct the error." msgstr "" -"LIMITS_STRING é uma string de uma lista concatenada " -"de limites de recursos. Cada limite consiste de uma letra identificadora " -"seguida de um limite numérico." - -#: limits.5.xml:105(para) -msgid "The valid identifiers are:" -msgstr "Os identificadores válidos são:" - -#: limits.5.xml:108(para) -msgid "A: max address space (KB)" -msgstr "A: máximo espaço de endereço (KB)" - -#: limits.5.xml:109(para) -msgid "C: max core file size (KB)" -msgstr "C: máximo tamanho de ficheiro de núcleo (KB)" - -#: limits.5.xml:110(para) -msgid "D: max data size (KB)" -msgstr "D: máximo tamanho de dados (KB)" - -#: limits.5.xml:111(para) -msgid "F: maximum file size (KB)" -msgstr "F: máximo tamanho de ficheiro (KB)" - -#: limits.5.xml:112(para) -msgid "" -"K: file creation mask, set by umask<" -"/refentrytitle>2." -msgstr "" -"K: máscara de criação de ficheiro, definida por umask2." - -#: limits.5.xml:117(para) -msgid "I: max nice value (0..39 which translates to 20..-19)" -msgstr "I: máximo valor nice (0..39 o que traduz para 20..-19)" - -#: limits.5.xml:119(para) -msgid "L: max number of logins for this user" -msgstr "L: máximo número de logins para este utilizador" - -#: limits.5.xml:120(para) -msgid "M: max locked-in-memory address space (KB)" -msgstr "M: máximo espaço de endereço trancado-em-memória (KB)" - -#: limits.5.xml:121(para) -msgid "N: max number of open files" -msgstr "N: máximo número de ficheiros abertos" - -#: limits.5.xml:122(para) -msgid "O: max real time priority" -msgstr "O: máxima prioridade em tempo real" - -#: limits.5.xml:123(para) -msgid "" -"P: process priority, set by setpriority<" -"/refentrytitle>2." -msgstr "" -"P: prioridade do processo, definido por setpriority2." - -#: limits.5.xml:128(para) -msgid "R: max resident set size (KB)" -msgstr "R: máximo tamanho de conjunto residente (KB)" - -#: limits.5.xml:129(para) -msgid "S: max stack size (KB)" -msgstr "S: tamanho máximo da pilha (KB)" - -#: limits.5.xml:130(para) -msgid "T: max CPU time (MIN)" -msgstr "T: máximo tempo de CPU (MIN)" - -#: limits.5.xml:131(para) -msgid "U: max number of processes" -msgstr "U: máximo número de processos" - -#: limits.5.xml:134(para) -msgid "" -"For example, L2D2048N5 is a valid LIMITS_STRING. For reading convenience, the following entries are" -" equivalent:" -msgstr "" -"Por exemplo, L2D2048N5 é uma LIMITS_STRING válida. Para conveniência de leitura, as seguintes " -"entradas são equivalentes:" - -#: limits.5.xml:140(programlisting) -#, no-wrap -msgid "\n username L2D2048N5\n username L2 D2048 N5\n " -msgstr "\n username L2D2048N5\n username L2 D2048 N5\n " - -#: limits.5.xml:145(para) -msgid "" -"Be aware that after username the rest of the" -" line is considered a limit string, thus comments are not allowed. An invalid" -" limits string will be rejected (not considered) by the login<" -"/command> program." -msgstr "" -"Tenha atenção que após username o resto da " -"linha é considerado um limite da string, assim os comentários não são " -"permitidos. Um limite de string inválido será rejeitado (não considerado) " -"pelo programa login." - -#: limits.5.xml:152(para) -msgid "" -"The default entry is denoted by username \"*\". If you" -" have multiple default entries in your <" -"emphasis>LIMITS_FILE, then the last one will be used as the" -" default entry." -msgstr "" -"A entrada predefinida é denotada pelo nome de utilizador \"*\". Se você tem várias entradas default no seu LIMITS_FILE, então a última delas " -"será usada como a entrada predefinida." - -#: limits.5.xml:159(para) -msgid "" -"The limits specified in the form \"@group\" apply" -" to the members of the specified group." -msgstr "" -"Os limites especificados no formato \"@group\" " -"aplicam-se aos membros do grupo especificado." - -#: limits.5.xml:165(para) -msgid "" -"If more than one line with limits for a user exist, only the first line for" -" this user will be considered." -msgstr "" -"Se existir mais do que uma linha com limites para um utilizador, apenas " -"será considerada a primeira linha para esse utilizador." - -#: limits.5.xml:170(para) -msgid "" -"If no lines are specified for a user, the last @group<" -"/replaceable> line matching a group whose the user is a member of will be" -" considered, or the last line with default limits if no groups contain the" -" user." -msgstr "" -"Se nenhuma linha for especificada para um utilizador, será considerada a " -"última linha @group que corresponde ao grupo " -"cujo utilizador é membro, ou a última linha com limites predefinidos se " -"nenhum grupo conter o utilizador." - -#: limits.5.xml:177(para) -msgid "" -"To completely disable limits for a user, a single dash \"-<" -"/emphasis>\" will do." -msgstr "" -"Para desactivar completamente os limites para um utilizador, um traço " -"\"-\" único chega." - -#: limits.5.xml:182(para) -msgid "" -"To disable a limit for a user, a single dash \"-\"" -" can be used instead of the numerical value for this limit." -msgstr "" -"Para desactivar um limite para um utilizador, pode ser usado um único " -"traço \"-\" em vez do valor numérico para este " -"limite." - -#: limits.5.xml:188(para) -msgid "" -"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 ;)" -msgstr "" -"Também, por favor note que todas as definições de limites são definidas " -"POR LOGIN. Não são globais, nem são permanentes. Talvez um dia tenhamos " -"limites globais, mas por agora isto vai ter de servir ;)" - -#: limits.5.xml:199(filename) -msgid "/etc/limits" -msgstr "/etc/limits" - -#: limits.5.xml:207(para) -msgid "" -"login1<" -"/citerefentry>, setpriority<" -"manvolnum>2, setrlimit2." -msgstr "" -"login1<" -"/citerefentry>, setpriority<" -"manvolnum>2, setrlimit2." - -#: lastlog.8.xml:67(refpurpose) -msgid "reports the most recent login of all users or of a given user" -msgstr "" -"reporta o login mais recente de todos os utilizadores ou de um dado " -"utilizador." - -#: lastlog.8.xml:81(para) -msgid "" -"lastlog formats and prints the contents of the last login" -" log /var/log/lastlog file. The login-name<" -"/emphasis>, port, and last login time<" -"/emphasis> will be printed. The default (no flags) causes lastlog entries to" -" be printed, sorted by their order in /etc/passwd." -msgstr "" -"lastlog formata e escreve o conteúdo do ficheiro de " -"relatório do último login /var/log/lastlog. Serão " -"escritos os login-name, port, e " -"last login time. A predefinição (sem bandeiras) faz com " -"que as entradas do lastlog sejam escritas, ordenadas pela ordem em " -"/etc/passwd." - -#: lastlog.8.xml:93(para) -msgid "The options which apply to the lastlog command are:" -msgstr "As opções que se aplicam ao comando lastlog são:" - -#: lastlog.8.xml:98(term) -msgid "" -",  DAYS<" -"/replaceable>" -msgstr "" -",  DAYS<" -"/replaceable>" - -#: lastlog.8.xml:102(para) -msgid "" -"Print only lastlog records older than DAYS." -msgstr "" -"Escreve apenas registos do lastlog mais antigos que DAYS." - -#: lastlog.8.xml:108(term) -msgid ", " -msgstr ", " - -#: lastlog.8.xml:112(para) -msgid "" -"Clear lastlog record of a user. This option can be used only together with <" -"option>-u ())." -msgstr "" -"Limpa o registo do lastlog de um utilizador. Esta opção só pode ser usada " -"juntamente com ()." - -#: lastlog.8.xml:139(term) -msgid ", " -msgstr ", " - -#: lastlog.8.xml:143(para) -msgid "" -"Set lastlog record of a user to the current time. This option can be used" -" only together with ())." -msgstr "" -"Define o registo de lastlog de um utilizador par a a hora actual. Esta opção " -"só pode ser usada juntamente com (,  DAYS<" -"/replaceable>" -msgstr "" -",  DAYS<" -"/replaceable>" - -#: lastlog.8.xml:154(para) -msgid "" -"Print the lastlog records more recent than DAYS<" -"/emphasis>." -msgstr "" -"Escreve os registos do lastlog mais recentes que DAYS<" -"/emphasis>." - -#: lastlog.8.xml:161(term) faillog.8.xml:202(term) -msgid "" -",  LOGIN<" -"/replaceable>|RANGE" -msgstr "" -",  LOGIN<" -"/replaceable>|RANGE" - -#: lastlog.8.xml:165(para) -msgid "Print the lastlog record of the specified user(s)." -msgstr "Escreve o registo lastlog dos utilizador(es) especificados." - -#: lastlog.8.xml:168(para) faillog.8.xml:211(para) -msgid "" -"The users can be specified by a login name, a numerical user ID, or a <" -"replaceable>RANGE of users. This RANGE<" -"/replaceable> of users can be specified with a min and max values (<" -"replaceable>UID_MIN-UID_MAX), a max value (-UID_MAX), or a min value (UID_MIN-)." -msgstr "" -"Os utilizadores podem ser especificados por um nome de login, um ID numérico " -"de utilizador, ou um RANGE de utilizadores. Este " -"RANGE de utilizadores pode ser especificado com " -"valores mínimo e máximo (UID_MIN-UID_MAX), um " -"valor máximo (-UID_MAX), ou um valor mínimo " -"(UID_MIN-)." - -#: lastlog.8.xml:180(para) -msgid "" -"If the user has never logged in the message ** Never logged in**<" -"/emphasis> will be displayed instead of the port and time." -msgstr "" -"Se o utilizador nunca iniciou sessão, será,mostrada a mensagem " -"** Never logged in** em vez do porto e do tempo." - -#: lastlog.8.xml:185(para) -msgid "" -"Only the entries for the current users of the system will be displayed. Other" -" entries may exist for users that were deleted previously." -msgstr "" -"Apenas serão mostradas as entradas dos utilizadores actuais do sistema. Podem " -"existir outras entradas para utilizadores que foram removidos anteriormente." - -#: lastlog.8.xml:193(title) groups.1.xml:90(title) chsh.1.xml:140(title) chage.1.xml:237(title) -msgid "NOTE" -msgstr "NOTA" - -#: lastlog.8.xml:194(para) -msgid "" -"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 usually much smaller than the one shown by \"<" -"command>ls -l\" (which can indicate a really big file if you have" -" in passwd users with a high UID). You can display its" -" real size with \"ls -s\"." -msgstr "" -"O ficheiro lastlog é uma base de dados que contém " -"informação sobre o último login de cada utilizador. Você não deve rodá-lo. " -"É um ficheiro disperso, assim o tamanho no disco é geralmente muito menor " -"que aquele mostrado por \"ls -l\" (que pode indicar um " -"ficheiro muito grande se você tiver utilizadores em passwd com um UID alto). Você pode ver o seu tamanho real com " -"\"ls -s\"." - -#: lastlog.8.xml:220(filename) -msgid "/var/log/lastlog" -msgstr "/var/log/lastlog" - -#: lastlog.8.xml:222(para) -msgid "Database times of previous user logins." -msgstr "Base de dados dos tempos de logins anteriores de utilizadores." - -#: lastlog.8.xml:230(para) -msgid "" -"Large gaps in UID numbers will cause the lastlog program to run longer with" -" no output to the screen (i.e. if in lastlog database there is no entries for" -" users with UID between 170 and 800 lastlog will appear to hang as it" -" processes entries with UIDs 171-799)." -msgstr "" -"Grandes lacunas em números de UID irão fazer o programa lastlog correr mais " -"tempo sem resultados no ecrã (isto é, se na base de dados lastlog não " -"existirem entradas para utilizadores com UID entre 170 e 800, o lastlog " -"irá parecer ter deixado de responder enquanto processa entradas com UID " -"de 171 a 799)." - -#: gshadow.5.xml:41(contrib) -msgid "Creation, 2005" -msgstr "Criação, 2005" - -#: gshadow.5.xml:46(refentrytitle) gshadow.5.xml:53(refname) -msgid "gshadow" -msgstr "gshadow" - -#: gshadow.5.xml:54(refpurpose) -msgid "shadowed group file" -msgstr "ficheiro de grupo ensombrado" - -#: gshadow.5.xml:59(para) -msgid "" -"/etc/gshadow contains the shadowed information for group" -" accounts." -msgstr "" -"/etc/gshadow contém informação ensombrada para " -"contas de grupos." - -#: gshadow.5.xml:69(para) -msgid "Each line of this file contains the following colon-separated fields:" -msgstr "" -"Cada linha deste ficheiro contém os seguintes campos separados por dois " -"pontos:" - -#: gshadow.5.xml:75(emphasis) -msgid "group name" -msgstr "nome de grupo" - -#: gshadow.5.xml:77(para) -msgid "It must be a valid group name, which exist on the system." -msgstr "Tem de ser um nome de grupo válido, que existe no sistema." - -#: gshadow.5.xml:90(para) -msgid "" -"If the password field contains some string that is not a valid result of <" -"citerefentry>crypt3<" -"/citerefentry>, for instance ! or *, users will not be able to use a unix" -" password to access the group (but group members do not need the password)." -msgstr "" -"Se o campo da palavra passe conter alguma string que não é um resultado " -"válido de crypt3, por exemplo ! ou *, os utilizadores não serão " -"capazes de usar uma palavra passe de unix para aceder ao grupo (mas os " -"membros do grupo não precisam da palavra passe)." - -#: gshadow.5.xml:97(para) -msgid "" -"The password is used when a user who is not a member of the group wants to" -" gain the permissions of this group (see newgrp<" -"/refentrytitle>1)." -msgstr "" -"A palavra passe é usada quando um utilizador que não é membro do grupo " -"quer ganhar permissões desse grupo (veja newgrp<" -"/refentrytitle>1)." - -#: gshadow.5.xml:103(para) -msgid "" -"This field may be empty, in which case only the group members can gain the" -" group permissions." -msgstr "" -"Este campo pode estar vazio, o que nesse caso apenas os membros do grupo " -"podem ganhar as permissões do grupo." - -#: gshadow.5.xml:113(para) -msgid "" -"This password supersedes any password specified in /etc/group<" -"/filename>." -msgstr "" -"Esta palavra passe sobrepõe-se a qualquer palavra passe especificada em " -"/etc/group." - -#: gshadow.5.xml:121(emphasis) -msgid "administrators" -msgstr "administradores" - -#: gshadow.5.xml:123(para) gshadow.5.xml:139(para) -msgid "It must be a comma-separated list of user names." -msgstr "Tem de ser uma lista de nomes de utilizadores separados por vírgulas." - -#: gshadow.5.xml:126(para) -msgid "Administrators can change the password or the members of the group." -msgstr "Os administradores podem mudar a palavra passe dos membros do grupo." - -#: gshadow.5.xml:130(para) -msgid "" -"Administrators also have the same permissions as the members (see below)." -msgstr "" -"Os administradores também têm as mesmas permissões que os membros (veja " -"em baixo)." - -#: gshadow.5.xml:137(emphasis) -msgid "members" -msgstr "membros" - -#: gshadow.5.xml:142(para) -msgid "Members can access the group without being prompted for a password." -msgstr "" -"Os membros podem aceder ao grupo sem lhes ser pedida uma palavra passe." - -#: gshadow.5.xml:146(para) -msgid "" -"You should use the same list of users as in /etc/group." -msgstr "" -"Você deve usar a mesma lista de utilizadores que em /etc/group." - -#: gshadow.5.xml:175(para) -msgid "" -"gpasswd5<" -"/citerefentry>, group5, grpck<" -"/refentrytitle>8, <" -"refentrytitle>grpconv8," -" newgrp1<" -"/citerefentry>." -msgstr "" -"gpasswd5<" -"/citerefentry>, group5, grpck<" -"/refentrytitle>8, <" -"refentrytitle>grpconv8," -" newgrp1<" -"/citerefentry>." - -#: grpck.8.xml:66(refpurpose) -msgid "verify integrity of group files" -msgstr "verifica a integridade de ficheiros de grupo" - -#: grpck.8.xml:84(para) -msgid "" -"The grpck command verifies the integrity of the groups" -" information. It checks that all entries in /etc/group<" -"phrase condition=\"gshadow\">and /etc/gshadow" -" have the proper format and contain valid data. The user is prompted to" -" delete entries that are improperly formatted or which have other" -" uncorrectable errors." -msgstr "" -"O comando grpck verifica a integridade da informação " -"de grupos. Verifica se todas as entradas em /etc/group<" -"phrase condition=\"gshadow\"> e /etc/gshadow" -"têm o formato apropriado e contêm dados válidos. Ao utilizador é pedido para " -"apagar as entradas que não têm formato apropriado ou que têm outros erros " -"incorrigíveis." - -#: grpck.8.xml:101(para) -msgid "a unique and valid group name" -msgstr "um nome de grupo único e válido" - -#: grpck.8.xml:104(para) -msgid "" -"a valid group identifier (/etc/group only)" -msgstr "" -"um identificador de grupo válido (apenas " -"/etc/group)" - -#: grpck.8.xml:111(para) -msgid "" -"a valid list of members and administrators<" -"/phrase>" -msgstr "" -"uma lista de membros e administradores " -"válida" - -#: grpck.8.xml:117(para) -msgid "" -"a corresponding entry in the /etc/gshadow file" -" (respectively /etc/group for the gshadow<" -"/filename> checks)" -msgstr "" -"uma entrada correspondente no ficheiro /etc/gshadow " -"(respetivamente /etc/group para as verificações de " -"gshadow)" - -#: grpck.8.xml:125(para) -msgid "" -"The checks for correct number of fields and unique group name are fatal. If" -" an 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 groupmod" -" command to correct the error." -msgstr "" -"As verificações para o correcto número de campos e nome de grupo único são " -"fatais. Se a entrada tiver o número errado de campos, será pedido ao " +"As verificações para o correcto número de campos e nome de utilizador único " +"são fatais. Se a entrada tiver o número errado de campos, será pedido ao " "utilizador para apagar a linha inteira. Se o utilizador não responder " "afirmativamente, todos os testes posteriores são saltados. Uma entrada com " -"um nome de grupo duplicado é avisada para remoção, mas os restantes " +"um nome de utilizador duplicado é avisada para remoção, mas os restantes " "testes continuarão a ser feitos. Todos os outros erros produzem avisos e o " -"utilizador é encorajado a correr o comando groupmod " -"para corrigir o erro." +"utilizador é encorajado a correr o comando usermod para " +"corrigir o erro." -#: grpck.8.xml:136(para) +#. (itstool) path: refsect1/para +#: pwck.8.xml.out:144 +#, fuzzy +#| msgid "" +#| "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." msgid "" -"The commands which operate on the /etc/groupfileand <" -"filename>/etc/gshadow files are not able to alter" -" corrupted or duplicated entries. grpck should be used in" -" those circumstances to remove the offending entries." +"The commands which operate on the <_:filename-1/> file are not able to alter " +"corrupted or duplicated entries. <_:command-2/> should be used in those " +"circumstances to remove the offending entry." msgstr "" -"Os comandos que operam nos ficheiros /etc/group e " -"/etc/gshadow não são capazes de alterar " -"entradas corruptas ou duplicadas. Deve ser usado o grpck " -"em tais circunstâncias para remover as entradas ofensivas." +"Os comandos que operam no ficheiro /etc/passwd não são " +"capazes de alterar entradas corruptas ou duplicadas. Deve ser usado o " +"pwck nestas circunstâncias para remover a entrada " +"ofensiva." -#: grpck.8.xml:152(para) -msgid "The options which apply to the grpck command are:" -msgstr "As opções que se aplicam ao comando grpck são:" - -#: grpck.8.xml:165(para) +#. (itstool) path: listitem/para +#: pwck.8.xml.out:181 msgid "" -"Execute the grpck command in read-only mode. This causes" -" all questions regarding changes to be answered no" -" without user intervention." +"Report errors only. The warnings which do not require any action from the " +"user won't be displayed." msgstr "" -"Executa o comando grpck em modo só-leitura. Isto faz " -"com que todas as perguntas sobre alterações sejam respondidas com " -"não sem a intervenção do utilizador." +"Apenas reporta erros. Os avisos que não requerem nenhuma acção do utilizador " +"não serão mostrados." -#: grpck.8.xml:187(para) +#. (itstool) path: listitem/para +#: pwck.8.xml.out:190 +#, fuzzy +#| msgid "Execute the pwck command in read-only mode." +msgid "Execute the <_:command-1/> command in read-only mode." +msgstr "Executa o comando pwck em modo de só-leitura." + +#. (itstool) path: listitem/para +#: pwck.8.xml.out:211 +#, fuzzy +#| msgid "" +#| "Sort entries in /etc/passwd and /etc/" +#| "shadow by UID." +msgid "Sort entries in <_:filename-1/> and <_:filename-2/> by UID." +msgstr "" +"Ordena as entradas em /etc/passwd e /etc/" +"shadow pelo UID." + +#. (itstool) path: listitem/para +#: pwck.8.xml.out:215 +#, fuzzy +#| msgid "This option has no effect when is enabled." +msgid "This option has no effect when <_:option-1/> is enabled." +msgstr "Esta opção não tem efeito quando está activo." + +#. (itstool) path: para/phrase +#: pwck.8.xml.out:225 +msgid "(or the files in <_:filename-1/>)" +msgstr "" + +#. (itstool) path: refsect1/para +#: pwck.8.xml.out:222 +#, fuzzy +#| msgid "" +#| "By default, pwck operates on the files /etc/" +#| "passwd and /etc/shadow (or the files in /etc/tcb). The user may select alternate files with the " +#| "passwd and shadow " +#| "parameters." msgid "" -"Sort entries in /etc/groupand /etc/gshadow by GID." +"By default, <_:command-1/> operates on the files <_:filename-2/> and <_:" +"filename-3/><_:phrase-4/>. The user may select alternate files with the <_:" +"replaceable-5/> and <_:replaceable-6/> parameters." msgstr "" -"Ordena as entradas em /etc/group e /etc/gshadow pelo GID." +"Por predefinição, pwck opera nos ficheiros /etc/" +"passwd e /etc/shadow (ou nos ficheiros em /etc/tcb). O utilizador pode selecionar ficheiros alternativos com os " +"parâmetros passwd e shadow." -#: grpck.8.xml:196(para) +#. (itstool) path: refsect1/para +#: pwck.8.xml.out:231 +#, fuzzy +#| msgid "" +#| "Note that when is enabled, you cannot specify an " +#| "alternative shadow file. In future releases, " +#| "this parameter could be replaced by an alternate TCB directory." msgid "" -"By default, grpck operates on /etc/group<" -"/filename>and /etc/gshadow. The user may select alternate files with the groupparameter.<" -"/phrase>and shadow<" -"/emphasis> parameters." +"Note that when <_:option-1/> is enabled, you cannot specify an alternative " +"<_:replaceable-2/> file. In future releases, this parameter could be " +"replaced by an alternate TCB directory." msgstr "" -"Por predefinição, o grpck opera em /etc/group<" -"/filename> e /etc/gshadow. O utilizador pode selecionar ficheiros alternativos com os " -"parâmetro group. E parâmetros do " -"shadow." +"Note que quando está activo, você não pode " +"especificar um ficheiro shadow alternativo. Em " +"lançamentos futuros, este parâmetro pode ser substituído por um directório " +"TCB alternativo." -#: grpck.8.xml:264(para) -msgid "one or more bad group entries" -msgstr "uma ou mais entradas de grupo más" +#. (itstool) path: listitem/para +#: pwck.8.xml.out:301 +msgid "one or more bad password entries" +msgstr "uma ou mais entradas de má palavra passe" -#: grpck.8.xml:270(para) -msgid "can't open group files" -msgstr "incapaz de abrir ficheiros de grupo" +#. (itstool) path: listitem/para +#: pwck.8.xml.out:307 +msgid "can't open password files" +msgstr "incapaz de abrir ficheiros de palavra passe" -#: grpck.8.xml:276(para) -msgid "can't lock group files" -msgstr "incapaz de trancar ficheiros de grupo" +#. (itstool) path: listitem/para +#: pwck.8.xml.out:313 +msgid "can't lock password files" +msgstr "incapaz de trancar ficheiros de palavra passe" -#: grpck.8.xml:282(para) -msgid "can't update group files" -msgstr "incapaz de actualizar ficheiros de grupo" +#. (itstool) path: listitem/para +#: pwck.8.xml.out:319 +msgid "can't update password files" +msgstr "incapaz de actualizar ficheiros de palavra passe" -#: grpck.8.xml:246(para) +#. (itstool) path: listitem/para +#: pwck.8.xml.out:325 +msgid "can't sort password files" +msgstr "incapaz de ordenar ficheiros de palavra passe" + +#. (itstool) path: refnamediv/refpurpose +#: pwconv.8.xml.out:50 +msgid "convert to and from shadow passwords and groups" +msgstr "converte para e de palavras passe e grupos sombra" + +#. (itstool) path: refsect1/para +#: pwconv.8.xml.out:82 pwconv.8.xml.out:112 +#, fuzzy +#| msgid "" +#| "The pwconv command creates shadow from passwd and an optionally existing shadow." msgid "" -"The grpck command exits with the following values: <" -"placeholder-1/>" +"The <_:command-1/> command creates <_:emphasis-2/> from <_:emphasis-3/> and " +"an optionally existing <_:emphasis-4/>." msgstr "" -"O comando grpck termina com os seguintes valores: " +"O comando pwconv cria shadow a partir de passwd e de um " +"shadow de existência opcional." + +#. (itstool) path: para/command +#. (itstool) path: citerefentry/refentrytitle +#: pwconv.8.xml.out:93 pwconv.8.xml.out:251 +msgid "tcb_convert" +msgstr "" + +#. (itstool) path: refsect1/para +#: pwconv.8.xml.out:87 +#, fuzzy +#| msgid "" +#| "pwconv does not work with " +#| "enabled. To convert to tcb passwords, you should first use " +#| "pwconv to convert to shadowed passwords by disabling " +#| " in login.defs and then " +#| "convert to tcb password using tcb_convert (and re-" +#| "enable in login.defs.)" +msgid "" +"<_:command-1/> does not work with <_:option-2/> enabled. To convert to tcb " +"passwords, you should first use <_:command-3/> to convert to shadowed " +"passwords by disabling <_:option-4/> in <_:filename-5/> and then convert to " +"tcb password using <_:command-6/> (and re-enable <_:option-7/> in <_:" +"filename-8/>.)" +msgstr "" +"pwconv não funciona com activo. " +"Para converter para palavras passe tcb, você deve primeiro usar " +"pwconv para converter para palavras passe sombreadas ao " +"desactivar em login.defs e " +"depois converter para palavras passe tcb usando tcb_convert (e re-activar em login.defs.)" + +#. (itstool) path: refsect1/para +#: pwconv.8.xml.out:97 pwconv.8.xml.out:118 +msgid "" +"The <_:command-1/> command creates <_:emphasis-2/> from <_:emphasis-3/> and " +"<_:emphasis-4/> and then removes <_:emphasis-5/>." +msgstr "" + +#. (itstool) path: para/command +#. (itstool) path: citerefentry/refentrytitle +#: pwconv.8.xml.out:106 pwconv.8.xml.out:254 +msgid "tcb_unconvert" +msgstr "" + +#. (itstool) path: refsect1/para +#: pwconv.8.xml.out:103 +#, fuzzy +#| msgid "" +#| "pwunconv does not work with " +#| "enabled. You should first switch back from tcb to shadowed passwords " +#| "using tcb_unconvert, and then disable " +"activo. Você deve primeiro comutar de volta de tcb para palavras passe " +"sombreadas usando tcb_unconvert, e depois desactivar " +" em login.defs antes de usar " +"pwunconv." + +#. (itstool) path: refsect1/para +#: pwconv.8.xml.out:125 +#, fuzzy +#| msgid "" +#| "These four programs all operate on the normal and shadow password and " +#| "group files: /etc/passwd, /etc/group, /etc/shadow, and /etc/gshadow." +msgid "" +"These four programs all operate on the normal and shadow password and group " +"files: <_:filename-1/>, <_:filename-2/>, <_:filename-3/>, and <_:filename-4/" +">." +msgstr "" +"Estes quatro programas todos operam nos ficheiros de palavras passe e grupos " +"normais e sombreadas: /etc/passwd, /etc/" +"group, /etc/shadow, e /etc/" +"gshadow." + +#. (itstool) path: refsect1/para +#: pwconv.8.xml.out:132 +#, fuzzy +#| msgid "" +#| "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'. These programs " +#| "can be used for initial conversion as well to update the shadowed file if " +#| "the main file is edited by hand." +msgid "" +"Each program acquires the necessary locks before conversion. <_:command-1/> " +"and <_:command-2/> 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." +msgstr "" +"Cada programa adquire as trancas necessárias antes de conversão. " +"pwconv e grpconv são semelhantes. " +"Primeiro, as entradas no ficheiro ensombrado que não existem no ficheiro " +"principal são removidas. Depois, as entradas ensombradas que não têm `x' " +"como palavra passe no ficheiro principal são atualizadas. Quaisquer entradas " +"ensombradas em falta são adicionadas. Finalmente, as palavras passe no " +"ficheiro principal são substituídas por `x'. Estes programas podem ser " +"usados para conversão inicial assim como para actualizar o ficheiro " +"ensombrado se o ficheiro principal for editado manualmente." + +#. (itstool) path: refsect1/para +#: pwconv.8.xml.out:143 +msgid "" +"<_:command-1/> will use the values of <_:emphasis-2/>, <_:emphasis-3/>, and " +"<_:emphasis-4/> from <_:filename-5/> when adding new entries to <_:" +"filename-6/>." +msgstr "" + +#. (itstool) path: refsect1/para +#: pwconv.8.xml.out:152 +#, fuzzy +#| msgid "" +#| "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." +msgid "" +"Likewise <_:command-1/> and <_:command-2/> are similar. Passwords in the " +"main file are updated from the shadowed file. Entries which exist in the " +"main file but not in the shadowed file are left alone. Finally, the shadowed " +"file is removed. Some password aging information is lost by <_:command-3/>. " +"It will convert what it can." +msgstr "" +"Do mesmo modo pwunconv e grpunconv são " +"semelhantes. As palavras passe no ficheiro principal são actualizadas a " +"partir do ficheiro ensombrado. As entradas que existem no ficheiro principal " +"mas não no ficheiro ensombrado são deixadas como tal. Finalmente, o ficheiro " +"ensombrado é removido. Qualquer informação de envelhecimento de palavra " +"passe é perdida pelo pwunconv. Ele irá converter o que " +"consegue." + +#. (itstool) path: refsect1/para +#: pwconv.8.xml.out:164 +#, fuzzy +#| msgid "" +#| "The options which apply to the vipw and vigr commands are:" +msgid "" +"The options which apply to the <_:command-1/>, <_:command-2/>, <_:command-3/" +">, and <_:command-4/> commands are:" +msgstr "" +"As opções que se aplicam aos comandos vipw e " +"vigr são:" + +#. (itstool) path: refsect1/para +#: pwconv.8.xml.out:194 +#, fuzzy +#| msgid "" +#| "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." +msgid "" +"Errors in the password or group files (such as invalid or duplicate entries) " +"may cause these programs to loop forever or fail in other strange ways. " +"Please run <_:command-1/> and <_:command-2/> to correct any such errors " +"before converting to or from shadow passwords or groups." +msgstr "" +"Erros nos ficheiros de grupos ou palavras passe (tais como entradas " +"inválidas ou duplicadas( podem fazer com que estes programas entrem em ciclo " +"infinito ou falhem em maneiras estranhas. Por favor corra pwck e grpck para corrigir tais erros antes de " +"converter para ou de palavras passe ou grupos ensombrados." + +#. (itstool) path: refsect1/para +#: pwconv.8.xml.out:205 +#, fuzzy +#| msgid "" +#| "The following configuration variables in /etc/login.defs change the behavior of pwconv:" +msgid "" +"The following configuration variable in <_:filename-1/> changes the behavior " +"of <_:command-2/> and <_:command-3/>:" +msgstr "" +"As seguintes variáveis de configuração em /etc/login.defs mudam o comportamento de pwconv:" + +#. (itstool) path: refsect1/para +#: pwconv.8.xml.out:213 +#, fuzzy +#| msgid "" +#| "The following configuration variables in /etc/login.defs change the behavior of pwconv:" +msgid "" +"The following configuration variables in <_:filename-1/> change the behavior " +"of <_:command-2/>:" +msgstr "" +"As seguintes variáveis de configuração em /etc/login.defs mudam o comportamento de pwconv:" + +#. (itstool) path: para/phrase +#: pwconv.8.xml.out:249 +msgid ", <_:citerefentry-1/>, <_:citerefentry-2/>" +msgstr "" + +#. (itstool) path: refsect1/para +#: pwconv.8.xml.out:240 +msgid "" +"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/><_:phrase-4/>." +msgstr "" + +#. (itstool) path: refmeta/refmiscinfo +#: shadow.3.xml.out:35 +msgid "Library Calls" +msgstr "Chamadas a Biblioteca" + +#. (itstool) path: refnamediv/refname +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:41 shadow.3.xml.out:160 +msgid "getspnam" +msgstr "getspnam" + +#. (itstool) path: refnamediv/refpurpose +#: shadow.3.xml.out:42 +msgid "encrypted password file routines" +msgstr "rotinas de ficheiro de palavra passe encriptada" + +#. (itstool) path: refsect1/title +#: shadow.3.xml.out:46 +msgid "SYNTAX" +msgstr "SINTAXE" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:48 +msgid "#include <shadow.h>" +msgstr "#include <shadow.h>" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:52 +msgid "struct spwd *getspent();" +msgstr "struct spwd *getspent();" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:56 +msgid "struct spwd *getspnam(char" +msgstr "struct spwd *getspnam(char" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:57 +msgid "*name" +msgstr "*name" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:57 shadow.3.xml.out:70 shadow.3.xml.out:75 +#: shadow.3.xml.out:81 +msgid ");" +msgstr ");" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:61 +msgid "void setspent();" +msgstr "void setspent();" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:65 +msgid "void endspent();" +msgstr "void endspent();" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:69 +msgid "struct spwd *fgetspent(FILE" +msgstr "struct spwd *fgetspent(FILE" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:70 shadow.3.xml.out:81 +msgid "*fp" +msgstr "*fp" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:74 +msgid "struct spwd *sgetspent(char" +msgstr "struct spwd *sgetspent(char" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:75 +msgid "*cp" +msgstr "*cp" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:79 +msgid "int putspent(struct spwd" +msgstr "int putspent(struct spwd" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:80 +msgid "*p," +msgstr "*p," + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:80 +msgid "FILE" +msgstr "FICHEIRO" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:85 +msgid "int lckpwdf();" +msgstr "int lckpwdf();" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:89 +msgid "int ulckpwdf();" +msgstr "int ulckpwdf();" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:98 +msgid "#include" +msgstr "" + +#. (itstool) path: refsect1/para +#: shadow.3.xml.out:95 +#, fuzzy +#| msgid "" +#| "shadow manipulates the contents of the " +#| "shadow password file, /etc/shadow. The structure in " +#| "the #include file is:" +msgid "" +"<_:emphasis-1/> manipulates the contents of the shadow password file, <_:" +"filename-2/>. The structure in the <_:emphasis-3/> file is:" +msgstr "" +"shadow manipula o conteúdo do ficheiro de " +"palavras passe sombra, /etc/shadow. A estrutura no " +"ficheiros #include é:" + +#. (itstool) path: refsect1/programlisting +#: shadow.3.xml.out:100 +#, fuzzy +#| msgid "" +#| "struct spwd {\n" +#| " char\t\t*sp_namp; /* user login name */\n" +#| " char\t\t*sp_pwdp; /* encrypted password */\n" +#| " long int\t\tsp_lstchg; /* last password change */\n" +#| " long int\t\tsp_min; /* days until change allowed. */\n" +#| " long int\t\tsp_max; /* days before change required */\n" +#| " long int\t\tsp_warn; /* days warning for expiration */\n" +#| " long int\t\tsp_inact; /* days before account inactive */\n" +#| " long int\t\tsp_expire; /* date when account expires */\n" +#| " unsigned long int\tsp_flag; /* reserved for future use */\n" +#| "}\n" +#| " " +msgid "" +"struct spwd { char *sp_namp; /* user login name */ char *sp_pwdp; /* " +"encrypted password */ long int sp_lstchg; /* last password change */ long " +"int sp_min; /* days until change allowed. */ long int sp_max; /* days before " +"change required */ long int sp_warn; /* days warning for expiration */ long " +"int sp_inact; /* days before account inactive */ long int sp_expire; /* date " +"when account expires */ unsigned long int sp_flag; /* reserved for future " +"use */ }" +msgstr "" +"struct spwd {\n" +" char\t\t*sp_namp; /* user login name */\n" +" char\t\t*sp_pwdp; /* encrypted password */\n" +" long int\t\tsp_lstchg; /* last password change */\n" +" long int\t\tsp_min; /* days until change allowed. */\n" +" long int\t\tsp_max; /* days before change required */\n" +" long int\t\tsp_warn; /* days warning for expiration */\n" +" long int\t\tsp_inact; /* days before account inactive */\n" +" long int\t\tsp_expire; /* date when account expires */\n" +" unsigned long int\tsp_flag; /* reserved for future use */\n" +"}\n" +" " + +#. (itstool) path: refsect1/para +#: shadow.3.xml.out:112 +msgid "The meanings of each field are:" +msgstr "Os significados de cada campo são:" + +#. (itstool) path: listitem/para +#: shadow.3.xml.out:115 +msgid "sp_namp - pointer to null-terminated user name" +msgstr "sp_namp - apontador para nome de utilizador nulo-terminado" + +#. (itstool) path: listitem/para +#: shadow.3.xml.out:118 +msgid "sp_pwdp - pointer to null-terminated password" +msgstr "sp_pwdp - apontador para palavra passe nula-terminada" + +#. (itstool) path: listitem/para +#: shadow.3.xml.out:121 +msgid "sp_lstchg - days since Jan 1, 1970 password was last changed" +msgstr "" +"sp_lstchg - dias desde 1 Jan 1970 que a palavra passe foi última vez mudada" + +#. (itstool) path: listitem/para +#: shadow.3.xml.out:124 +msgid "sp_min - days before which password may not be changed" +msgstr "sp_min - dias antes dos quais a palavra passe não pode ser mudada" + +#. (itstool) path: listitem/para +#: shadow.3.xml.out:127 +msgid "sp_max - days after which password must be changed" +msgstr "sp_max - dias após os quais a palavra passe tem de ser mudada" + +#. (itstool) path: listitem/para +#: shadow.3.xml.out:130 +msgid "" +"sp_warn - days before password is to expire that user is warned of pending " +"password expiration" +msgstr "" +"sp_warn - dias antes da palavra passe expirar em que o utilizador é avisado " +"da expiração pendente da palavra passe" + +#. (itstool) path: listitem/para +#: shadow.3.xml.out:135 +msgid "" +"sp_inact - days after password expires that account is considered inactive " +"and disabled" +msgstr "" +"sp_inact - dias após a palavra passe expirar e que a conta é considerada " +"inativa e desactivada" + +#. (itstool) path: listitem/para +#: shadow.3.xml.out:140 +msgid "sp_expire - days since Jan 1, 1970 when account will be disabled" +msgstr "sp_expire - dias desde 1 Jan 1970 em que a conta será desactivada" + +#. (itstool) path: listitem/para +#: shadow.3.xml.out:143 +msgid "sp_flag - reserved for future use" +msgstr "sp_flag - reservado para uso futuro" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:152 shadow.3.xml.out:155 +#, fuzzy +#| msgid "getspnam" +msgid "getspent" +msgstr "getspnam" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:152 +#, fuzzy +#| msgid "getspnam" +msgid "getspname" +msgstr "getspnam" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:153 shadow.3.xml.out:156 +#, fuzzy +#| msgid "getspnam" +msgid "fgetspent" +msgstr "getspnam" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:153 shadow.3.xml.out:158 +#, fuzzy +#| msgid "getspnam" +msgid "sgetspent" +msgstr "getspnam" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:154 shadow.3.xml.out:158 +#, fuzzy +#| msgid "struct spwd *getspent();" +msgid "struct spwd" +msgstr "struct spwd *getspent();" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:161 +#, fuzzy +#| msgid "*name" +msgid "name" +msgstr "*name" + +#. (itstool) path: refsect1/para +#: shadow.3.xml.out:151 +#, fuzzy +#| msgid "" +#| "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." +msgid "" +"<_:emphasis-1/>, <_:emphasis-2/>, <_:emphasis-3/>, and <_:emphasis-4/> each " +"return a pointer to a <_:emphasis-5/>. <_:emphasis-6/> returns the next " +"entry from the file, and <_:emphasis-7/> returns the next entry from the " +"given stream, which is assumed to be a file of the proper format. <_:" +"emphasis-8/> returns a pointer to a <_:emphasis-9/> using the provided " +"string as input. <_:emphasis-10/> searches from the current position in the " +"file for an entry matching <_:emphasis-11/>." +msgstr "" +"getspent, getspname, " +"fgetspent, e sgetspent cada um " +"retorna um apontador para um struct spwd. " +"getspent retorna a próxima entrada a partir do " +"ficheiro, e fgetspentretorna a próxima entrada a partir " +"do fluxo dado, o que é assumido ser um ficheiro do formato do formato " +"apropriado. sgetspent retorna um apontador para um " +"struct spwd usando a string fornecida como entrada. " +"getspnam procura a partir da posição actual no ficheiro " +"por uma entrada que corresponda a name." + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:165 +#, fuzzy +#| msgid "void setspent();" +msgid "setspent" +msgstr "void setspent();" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:165 +#, fuzzy +#| msgid "void endspent();" +msgid "endspent" +msgstr "void endspent();" + +#. (itstool) path: refsect1/para +#: shadow.3.xml.out:164 +#, fuzzy +#| msgid "" +#| "setspent and endspent may be " +#| "used to begin and end, respectively, access to the shadow password file." +msgid "" +"<_:emphasis-1/> and <_:emphasis-2/> may be used to begin and end, " +"respectively, access to the shadow password file." +msgstr "" +"setspent e endspent podem ser " +"usados para iniciar e terminar, respetivamente, o acesso ao ficheiro de " +"palavras passe sombra." + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:171 shadow.3.xml.out:173 shadow.3.xml.out:178 +#, fuzzy +#| msgid "int lckpwdf();" +msgid "lckpwdf" +msgstr "int lckpwdf();" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:171 +#, fuzzy +#| msgid "int ulckpwdf();" +msgid "ulckpwdf" +msgstr "int ulckpwdf();" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:174 +msgid "pw_lock" +msgstr "" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:176 +msgid "spw_lock" +msgstr "" + +#. (itstool) path: refsect1/para +#: shadow.3.xml.out:170 +#, fuzzy +#| msgid "" +#| "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." +msgid "" +"The <_:emphasis-1/> and <_:emphasis-2/> routines should be used to insure " +"exclusive access to the <_:filename-3/> file. <_:emphasis-4/> attempts to " +"acquire a lock using <_:emphasis-5/> for up to 15 seconds. It continues by " +"attempting to acquire a second lock using <_:emphasis-6/> for the remainder " +"of the initial 15 seconds. Should either attempt fail after a total of 15 " +"seconds, <_:emphasis-7/> returns -1. When both locks are acquired 0 is " +"returned." +msgstr "" +"As rotinas lckpwdf e ulckpwdf " +"devem ser usadas para assegurar acesso exclusivo ao ficheiro /etc/" +"shadow. lckpwdf tenta adquirir uma tranca " +"usando pw_lock até aos 15 segundos. Continua ao tentar " +"adquirir uma segunda tranca usando spw_lock no restante " +"dos 15 segundos iniciais. Se qualquer uma das tentativas falhar após o total " +"de 15 segundos, lckpwdf retorna -1. Quando ambas " +"trancas são adquiridas é retornado 0." + +#. (itstool) path: refsect1/title +#: shadow.3.xml.out:184 suauth.5.xml.out:189 +msgid "DIAGNOSTICS" +msgstr "DIAGNÓSTICOS" + +#. (itstool) path: para/emphasis +#: shadow.3.xml.out:187 +msgid "int" +msgstr "" + +#. (itstool) path: refsect1/para +#: shadow.3.xml.out:185 +#, fuzzy +#| msgid "" +#| "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." +msgid "" +"Routines return NULL if no more entries are available or if an error occurs " +"during processing. Routines which have <_:emphasis-1/> as the return value " +"return 0 for success and -1 for failure." +msgstr "" +"As rotinas retornam NULL se não estiverem disponíveis mais entradas ou se " +"ocorrer um erro durante o processamento. As rotinas que têm int como o valor de retorno retornam 0 para sucesso e -1 para falha." + +#. (itstool) path: refsect1/para +#: shadow.3.xml.out:195 +msgid "" +"These routines may only be used by the superuser as access to the shadow " +"password file is restricted." +msgstr "" +"Estas rotinas só podem ser usadas pelo super-utilizador pois o acesso ao " +"ficheiro da palavras passe sombra é restrito." + +#. (itstool) path: citerefentry/refentrytitle +#: shadow.3.xml.out:217 +msgid "getpwent" +msgstr "" + +#. (itstool) path: refnamediv/refpurpose +#: shadow.5.xml.out:41 +msgid "shadowed password file" +msgstr "ficheiro de palavra passe ensombrada" + +#. (itstool) path: refsect1/para +#: shadow.5.xml.out:46 +#, fuzzy +#| msgid "" +#| "shadow is a file which contains the password " +#| "information for the system's accounts and optional aging information." +msgid "" +"<_:filename-1/> is a file which contains the password information for the " +"system's accounts and optional aging information." +msgstr "" +"shadow é um ficheiro que contém a informação de palavra " +"passe para as contas do sistema e informação opcional de envelhecimento." + +#. (itstool) path: refsect1/para +#: shadow.5.xml.out:57 +#, fuzzy +#| msgid "" +#| "Each line of this file contains 9 fields, separated by colons (:), in the following order:" +msgid "" +"Each line of this file contains 9 fields, separated by colons (<_:quote-1/" +">), in the following order:" +msgstr "" +"Cada linha deste ficheiro contém 9 campos, separados por dois pontos " +"(:), na seguinte ordem:" + +#. (itstool) path: listitem/para +#: shadow.5.xml.out:66 +msgid "It must be a valid account name, which exist on the system." +msgstr "Tem de ser um nome de conta válido, o qual existe no sistema." + +#. (itstool) path: listitem/para +#: shadow.5.xml.out:74 +#, fuzzy +#| msgid "" +#| "This field may be empty, in which case no passwords are required to " +#| "authenticate as the specified login name. However, some applications " +#| "which read the /etc/shadow file may decide not to " +#| "permit any access at all if the password field is empty." +msgid "" +"This field may be empty, in which case no passwords are required to " +"authenticate as the specified login name. However, some applications which " +"read the <_:filename-1/> file may decide not to permit any access at all if " +"the password field is empty." +msgstr "" +"Este campo pode estar vazio, que neste caso não são requeridas palavras " +"passe para autenticação com o nome de login especificado. No entanto, " +"algumas aplicações que leem o ficheiro /etc/shadow " +"podem decidir não permitir nenhum acesso a nada se o campo de palavra passe " +"estiver vazio." + +#. (itstool) path: term/emphasis +#: shadow.5.xml.out:103 +msgid "date of last password change" +msgstr "data da última alteração da palavra passe" + +#. (itstool) path: listitem/para +#: shadow.5.xml.out:106 +#, fuzzy +#| msgid "" +#| "The date of the last password change, expressed as the number of days " +#| "since Jan 1, 1970." +msgid "" +"The date of the last password change, expressed as the number of days since " +"Jan 1, 1970 00:00 UTC." +msgstr "" +"A data da última mudança de palavra passe, expressada como número de dias " +"desde 1 de Janeiro de 1970." + +#. (itstool) path: listitem/para +#: shadow.5.xml.out:110 +msgid "" +"The value 0 has a special meaning, which is that the user should change her " +"password the next time she will log in the system." +msgstr "" +"O valor 0 tem um significado especial, o qual é que o utilizador deve mudar " +"a sua palavra passe na próxima vez que entrar no sistema." + +#. (itstool) path: listitem/para +#: shadow.5.xml.out:115 +msgid "An empty field means that password aging features are disabled." +msgstr "" +"Um campo vazio significa que as funcionalidades de envelhecimento de palavra " +"passe estão desactivadas." + +#. (itstool) path: term/emphasis +#: shadow.5.xml.out:122 +msgid "minimum password age" +msgstr "idade mínima da palavra passe" + +#. (itstool) path: listitem/para +#: shadow.5.xml.out:124 +msgid "" +"The minimum password age is the number of days the user will have to wait " +"before she will be allowed to change her password again." +msgstr "" +"A idade mínima da palavra passe é o número de dias que o utilizador terá de " +"esperar antes de lhe ser permitido mudar outra vez a palavra passe." + +#. (itstool) path: listitem/para +#: shadow.5.xml.out:129 +#, fuzzy +#| msgid "" +#| "An empty field and value 0 mean that there are no minimum password age." +msgid "An empty field and value 0 mean that there is no minimum password age." +msgstr "" +"Um campo vazio e o valor 0 significam que não há idade mínima de palavra " +"passe." + +#. (itstool) path: term/emphasis +#: shadow.5.xml.out:136 +msgid "maximum password age" +msgstr "idade máxima da palavra passe" + +#. (itstool) path: listitem/para +#: shadow.5.xml.out:138 +msgid "" +"The maximum password age is the number of days after which the user will " +"have to change her password." +msgstr "" +"A idade máxima da palavra passe é o número de dias após os quais o " +"utilizador terá que mudar a sua palavra passe." + +#. (itstool) path: listitem/para +#: shadow.5.xml.out:142 +msgid "" +"After this number of days is elapsed, the password may still be valid. The " +"user should be asked to change her password the next time she will log in." +msgstr "" +"Após este número de dias ter passado, a palavra passe pode ainda estar " +"válida. Ao utilizador deve ser pedido para mudar a sua palavra passe na " +"próxima vez que faça login." + +#. (itstool) path: listitem/para +#: shadow.5.xml.out:147 +msgid "" +"An empty field means that there are no maximum password age, no password " +"warning period, and no password inactivity period (see below)." +msgstr "" +"Um campo vazio significa que não existe idade máxima de palavra passe, " +"nenhum período de aviso de palavra passe, e nenhum período de inatividade da " +"palavra passe (veja em baixo)." + +#. (itstool) path: listitem/para +#: shadow.5.xml.out:152 +msgid "" +"If the maximum password age is lower than the minimum password age, the user " +"cannot change her password." +msgstr "" +"Se a idade máxima de palavra passe for inferior À idade mínima da palavra " +"passe, o utilizador não pode mudar a sua palavra passe." + +#. (itstool) path: term/emphasis +#: shadow.5.xml.out:160 +msgid "password warning period" +msgstr "período de aviso da palavra passe" + +#. (itstool) path: listitem/para +#: shadow.5.xml.out:163 +msgid "" +"The number of days before a password is going to expire (see the maximum " +"password age above) during which the user should be warned." +msgstr "" +"O número de dias antes da palavra passe expirar (veja a idade máxima da " +"palavra passe em cima) durante o qual o utilizador deve ser avisado." + +#. (itstool) path: listitem/para +#: shadow.5.xml.out:168 +msgid "" +"An empty field and value 0 mean that there are no password warning period." +msgstr "" +"Um campo vazio e o valor 0 significam que não existe período de aviso da " +"palavra passe." + +#. (itstool) path: term/emphasis +#: shadow.5.xml.out:176 +msgid "password inactivity period" +msgstr "período de inatividade da palavra passe" + +#. (itstool) path: listitem/para +#: shadow.5.xml.out:179 +msgid "" +"The number of days after a password has expired (see the maximum password " +"age above) during which the password should still be accepted (and the user " +"should update her password during the next login)." +msgstr "" +"O número de dias após a palavra passe ter expirado (veja a idade máxima da " +"palavra passe em cima) durante os quais a palavra passe ainda deve ser " +"aceite (e o utilizador deve actualizar a sua palavra passe no próximo login)." + +#. (itstool) path: listitem/para +#: shadow.5.xml.out:185 +#, fuzzy +#| msgid "" +#| "After expiration of the password and this expiration period is elapsed, " +#| "no login is possible using the current user's password. The user should " +#| "contact her administrator." +msgid "" +"After expiration of the password and this expiration period is elapsed, no " +"login is possible for the user. The user should contact her administrator." +msgstr "" +"Após a expiração da palavra passe e este período ter acabado, não será " +"possível fazer login com a actual palavra passe do utilizador. O utilizador " +"deve contactar o administrador." + +#. (itstool) path: listitem/para +#: shadow.5.xml.out:190 +msgid "" +"An empty field means that there are no enforcement of an inactivity period." +msgstr "" +"Um campo vazio significa que não há nenhum cumprimento de um período de " +"inatividade." + +#. (itstool) path: term/emphasis +#: shadow.5.xml.out:198 +msgid "account expiration date" +msgstr "data de expiração da conta" + +#. (itstool) path: listitem/para +#: shadow.5.xml.out:201 +#, fuzzy +#| msgid "" +#| "The date of expiration of the account, expressed as the number of days " +#| "since Jan 1, 1970." +msgid "" +"The date of expiration of the account, expressed as the number of days since " +"Jan 1, 1970 00:00 UTC." +msgstr "" +"A data de expiração da conta, expressa no número de dias desde 1 de Janeiro " +"de 1970." + +#. (itstool) path: listitem/para +#: shadow.5.xml.out:205 +msgid "" +"Note that an account expiration differs from a password expiration. In case " +"of an account expiration, the user shall not be allowed to login. In case of " +"a password expiration, the user is not allowed to login using her password." +msgstr "" +"Note que o expirar de uma conta é diferente de expirar uma palavra passe. No " +"caso de expiração da conta, o utilizador não tem permissão de login. No caso " +"de expiração da palavra passe, o utilizador não tem permissão de login " +"usando a sua palavra passe." + +#. (itstool) path: listitem/para +#: shadow.5.xml.out:211 +msgid "An empty field means that the account will never expire." +msgstr "Um campo vazio significa que a conta nunca irá expirar." + +#. (itstool) path: listitem/para +#: shadow.5.xml.out:214 +msgid "" +"The value 0 should not be used as it is interpreted as either an account " +"with no expiration, or as an expiration on Jan 1, 1970." +msgstr "" +"O valor 0 não deve ser usado pois é interpretado de duas maneiras, ou como " +"uma conta sem expiração, ou com uma expiração a 1 de Janeiro de 1970." + +#. (itstool) path: term/emphasis +#: shadow.5.xml.out:222 +msgid "reserved field" +msgstr "campo reservado" + +#. (itstool) path: listitem/para +#: shadow.5.xml.out:224 +msgid "This field is reserved for future use." +msgstr "Este campo está reservado para uso futuro." + +#. (itstool) path: term/filename +#: shadow.5.xml.out:246 +msgid "/etc/shadow-" +msgstr "/etc/shadow-" + +#. (itstool) path: listitem/para +#: shadow.5.xml.out:248 +msgid "Backup file for /etc/shadow." +msgstr "Ficheiro cópia de salvaguarda de /etc/shadow." + +#. (itstool) path: refnamediv/refpurpose +#: sg.1.xml.out:42 +msgid "execute command as different group ID" +msgstr "executa comando como ID de grupo diferente" + +#. (itstool) path: cmdsynopsis/arg +#: sg.1.xml.out:49 +#, fuzzy +#| msgid "group command" +msgid "group <_:arg-1/> command" +msgstr "grupo comando" + +#. (itstool) path: refsect1/para +#: sg.1.xml.out:58 +#, fuzzy +#| msgid "" +#| "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." +msgid "" +"The <_:command-1/> command works similar to <_:command-2/> but accepts a " +"command. The command will be executed with the <_:filename-3/> shell. With " +"most shells you may run <_:command-4/> from, you need to enclose multi-word " +"commands in quotes. Another difference between <_:command-5/> and <_:" +"command-6/> is that some shells treat <_:command-7/> specially, replacing " +"themselves with a new instance of a shell that <_:command-8/> creates. This " +"doesn't happen with <_:command-9/>, so upon exit from a <_:command-10/> " +"command you are returned to your previous group ID." +msgstr "" +"O comando sg funciona de modo semelhante ao " +"newgrp mas aceita um comando. O comando será executado " +"com a shell /bin/sh. Você pode correr o sg a partir da maioria das shells, você precisa de enclausurar " +"comandos de multi-palavras entre aspas. Outra diferença entre " +"newgrp e sg é que algumas shells " +"tratam o newgrp de maneira especial, substituindo-se a " +"elas próprias com uma nova instância de shell que o newgrp cria. Isto não acontece com o sg, assim após " +"sair de um comando sg você retorna ao seu ID de grupo " +"anterior." + +#. (itstool) path: refnamediv/refpurpose +#: su.1.xml.out:58 +msgid "change user ID or become superuser" +msgstr "mudar o ID de utilizador ou tornar-se super-utilizador" + +#. (itstool) path: arg/replaceable +#: su.1.xml.out:72 +msgid "args" +msgstr "argumentos" + +#. (itstool) path: refsect1/para +#: su.1.xml.out:80 +#, fuzzy +#| msgid "" +#| "The su command is used to become another user during a " +#| "login session. Invoked without a , su defaults to becoming the superuser. The " +#| "option may be used to provide an environment similar to what the user " +#| "would expect had the user logged in directly. The " +#| "option may be used to treat the next argument as a command by most shells." +msgid "" +"The <_:command-1/> command is used to become another user during a login " +"session. Invoked without a <_:option-2/>, <_:command-3/> defaults to " +"becoming the superuser. The <_:option-4/> option may be used to provide an " +"environment similar to what the user would expect had the user logged in " +"directly. The <_:option-5/> option may be used to treat the next argument as " +"a command by most shells." +msgstr "" +"O comando su é usado para se tornar noutro utilizador " +"durante uma sessão de login: Invocado sem um , " +"su por predefinição torna-se no super-utilizador. A opção " +" pode ser usada para fornecer um ambiente semelhante " +"àquele que o utilizador iria esperar como se tivesse feito o login " +"diretamente. A opção pode ser usada para tratar o " +"próximo argumento como um comando na maioria das shells." + +#. (itstool) path: para/option +#: su.1.xml.out:92 su.1.xml.out:94 +#, fuzzy +#| msgid "-" +msgid "--" +msgstr "-" + +#. (itstool) path: refsect1/para +#: su.1.xml.out:90 +#, fuzzy +#| msgid "" +#| "Options are recognized everywhere in the argument list. You can use the " +#| " argument to stop option parsing. The ." +msgid "" +"Options are recognized everywhere in the argument list. You can use the <_:" +"option-1/> argument to stop option parsing. The <_:option-2/> option is " +"special: it is also recognized after <_:option-3/>, but has to be placed " +"before <_:option-4/>." +msgstr "" +"As opções são reconhecidas em qualquer sítio na lista de argumentos. Você " +"pode usar o argumento para parar a análise de opções. A " +"opção é especial: é também reconhecida após ." + +#. (itstool) path: refsect1/para +#: su.1.xml.out:98 +msgid "" +"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 abuse of the system." +msgstr "" +"Ao utilizador será pedida uma palavra passe, se apropriado. Palavras passe " +"inválidas irão produzir uma mensagem de erro. Todas as tentativas, ambas " +"válidas e inválidas, são registadas para detectar abusos do sistema." + +#. (itstool) path: para/filename +#: su.1.xml.out:105 +msgid "/bin:/usr/bin" +msgstr "" + +#. (itstool) path: para/filename +#: su.1.xml.out:106 +msgid "/sbin:/bin:/usr/sbin:/usr/bin" +msgstr "" + +#. (itstool) path: para/option +#: su.1.xml.out:108 su.1.xml.out:220 +#, fuzzy +#| msgid "$PATH" +msgid "ENV_PATH" +msgstr "$PATH" + +#. (itstool) path: para/option +#: su.1.xml.out:108 su.1.xml.out:221 +msgid "ENV_SUPATH" +msgstr "" + +#. (itstool) path: refsect1/para +#: su.1.xml.out:103 +#, fuzzy +#| msgid "" +#| "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 superuser. This may be changed with the and " +#| " definitions in /etc/login.defs." +msgid "" +"The current environment is passed to the new shell. The value of <_:envar-1/" +"> is reset to <_:filename-2/> for normal users, or <_:filename-3/> for the " +"superuser. This may be changed with the <_:option-4/> and <_:option-5/> " +"definitions in <_:filename-6/>." +msgstr "" +"O ambiente actual é passado para a nova shell. O valor de $PATH é reiniciado para /bin:/usr/bin para " +"utilizadores normais, ou /sbin:/bin:/usr/sbin:/usr/bin " +"para o super-utilizador. Isto pode ser alterado com as definições " +" e em /etc/" +"login.defs." + +#. (itstool) path: term/option +#: su.1.xml.out:126 +msgid "--command" +msgstr "" + +#. (itstool) path: term/replaceable +#: su.1.xml.out:126 +msgid "COMMAND" +msgstr "" + +#. (itstool) path: listitem/para +#: su.1.xml.out:129 +#, fuzzy +#| msgid "" +#| "Specify a command that will be invoked by the shell using its , " +msgid "<_:option-1/>, <_:option-2/>, <_:option-3/>" +msgstr ", " + +#. (itstool) path: listitem/para +#: su.1.xml.out:147 +msgid "" +"Provide an environment similar to what the user would expect had the user " +"logged in directly." +msgstr "" +"Fornece um ambiente semelhante ao que o utilizador esperaria se tivesse " +"feito login diretamente." + +#. (itstool) path: listitem/para +#: su.1.xml.out:151 +#, fuzzy +#| msgid "" +#| "When is used, it must be specified before any " +#| ". For portability it is recommended to use it as " +#| "last option, before any . The other forms " +#| "( and ) do not have this " +#| "restriction." +msgid "" +"When <_:option-1/> is used, it must be specified before any <_:option-2/>. " +"For portability it is recommended to use it as last option, before any <_:" +"option-3/>. The other forms (<_:option-4/> and <_:option-5/>) do not have " +"this restriction." +msgstr "" +"Quando é usado , tem de ser especificado antes de qualquer " +". Para portabilidade é recomendado usá-lo como " +"última opção, antes de qualquer . As outras formas " +"( e ) não têm esta restrição." + +#. (itstool) path: listitem/para +#: su.1.xml.out:166 +msgid "The shell that will be invoked." +msgstr "A shell que será invocada," + +#. (itstool) path: listitem/para +#: su.1.xml.out:174 +msgid "The shell specified with --shell." +msgstr "A shell especificada com --shell." + +#. (itstool) path: para/option +#. (itstool) path: term/option +#: su.1.xml.out:178 su.1.xml.out:208 +#, fuzzy +#| msgid "Preserve environment." +msgid "--preserve-environment" +msgstr "Preservar o ambiente." + +#. (itstool) path: listitem/para +#: su.1.xml.out:177 +#, fuzzy +#| msgid "" +#| "If is used, the shell specified " +#| "by the $SHELL environment variable." +msgid "" +"If <_:option-1/> is used, the shell specified by the <_:envar-2/> " +"environment variable." +msgstr "" +"Se for usado , a shell é especificada " +"pela variável de ambiente $SHELL." + +#. (itstool) path: listitem/para +#: su.1.xml.out:184 +#, fuzzy +#| msgid "" +#| "The shell indicated in the /etc/passwd entry for the " +#| "target user." +msgid "The shell indicated in the <_:filename-1/> entry for the target user." +msgstr "" +"A shell indicada na entrada /etc/passwdpara o " +"utilizador apontado." + +#. (itstool) path: listitem/para +#: su.1.xml.out:190 +#, fuzzy +#| msgid "" +#| "/bin/sh if a shell could not be found by any above " +#| "method." +msgid "<_:filename-1/> if a shell could not be found by any above method." +msgstr "" +"/bin/sh se uma shell não puder ser encontrada por " +"nenhum dos métodos de cima." + +#. (itstool) path: listitem/para +#: su.1.xml.out:167 +#, fuzzy +#| msgid "" +#| "The invoked shell is chosen from (highest priority first): " +msgid "" +"The invoked shell is chosen from (highest priority first): <_:variablelist-1/" +">" +msgstr "" +"A shell invocada é escolhida a partir de (de maior prioridade em primeiro): " "" -#: grpck.8.xml:291(para) +#. (itstool) path: listitem/para +#: su.1.xml.out:195 +#, fuzzy +#| msgid "" +#| "If the target user has a restricted shell (i.e. the shell field of this " +#| "user's entry in /etc/passwd is not listed in " +#| "/etc/shells), then the " +#| "option or the $SHELL environment variable won't be taken " +#| "into account, unless su is called by root." msgid "" -"group5<" -"/citerefentry>, groupmod<" -"manvolnum>8, <" -"citerefentry>gshadow5," -" , passwd5, pwck<" -"/refentrytitle>8, <" -"refentrytitle>shadow5." +"If the target user has a restricted shell (i.e. the shell field of this " +"user's entry in <_:filename-1/> is not listed in <_:filename-2/>), then the " +"<_:option-3/> option or the <_:envar-4/> environment variable won't be taken " +"into account, unless <_:command-5/> is called by root." msgstr "" -"group5<" -"/citerefentry>, groupmod<" -"manvolnum>8, <" -"citerefentry>gshadow5," -" , passwd5, pwck<" -"/refentrytitle>8, <" -"refentrytitle>shadow5." +"Se o utilizador apontado tem uma shell restrita (isto é, o campo shell da " +"entrada deste utilizador em /etc/passwd não está " +"listado em /etc/shells), então a opção or (see below);" +msgid "" +"reset according to the <_:filename-1/> options <_:option-2/> or <_:option-3/" +"> (see below);" +msgstr "" +"reinicia de acordo com as opções ou " +" em /etc/login.defs (veja " +"abaixo);" + +#. (itstool) path: term/envar +#. (itstool) path: para/envar +#: su.1.xml.out:226 su.1.xml.out:249 +msgid "$IFS" +msgstr "$IFS" + +#. (itstool) path: para/quote +#: su.1.xml.out:230 +#, fuzzy +#| msgid "" +#| "reset to <space><tab><newline>, if it " +#| "was set." +msgid "<space><tab><newline>" +msgstr "" +"reinicia para <space><tab><newline>, se " +"estava definida." + +#. (itstool) path: listitem/para +#: su.1.xml.out:228 +msgid "reset to <_:quote-1/>, if it was set." +msgstr "" + +#. (itstool) path: listitem/para +#: su.1.xml.out:211 +#, fuzzy +#| msgid "Preserve the current environment, except for: " +msgid "Preserve the current environment, except for: <_:variablelist-1/>" +msgstr "Preserva o ambiente actual, excepto para: " + +#. (itstool) path: listitem/para +#: su.1.xml.out:237 +#, fuzzy +#| msgid "" +#| "If the target user has a restricted shell, this option has no effect " +#| "(unless su is called by root)." +msgid "" +"If the target user has a restricted shell, this option has no effect (unless " +"<_:command-1/> is called by root)." +msgstr "" +"Se o utilizador apontado tiver uma shell restrita, esta opção não tem efeito " +"(a menos que su seja chamado pelo root)." + +#. (itstool) path: para/envar +#: su.1.xml.out:248 +msgid "$USER" +msgstr "" + +#. (itstool) path: listitem/para +#: su.1.xml.out:246 +#, fuzzy +#| msgid "" +#| "The $HOME, $SHELL, $USER, " +#| "$LOGNAME, $PATH, and $IFS " +#| "environment variables are reset." +msgid "" +"The <_:envar-1/>, <_:envar-2/>, <_:envar-3/>, <_:envar-4/>, <_:envar-5/>, " +"and <_:envar-6/> environment variables are reset." +msgstr "" +"As variáveis de ambiente $HOME, $SHELL, " +"$USER, $LOGNAME, $PATH, e " +"$IFS são reiniciadas." + +#. (itstool) path: listitem/para +#: su.1.xml.out:255 +#, fuzzy +#| msgid "" +#| "If is not used, the environment is copied, " +#| "except for the variables above." +msgid "" +"If <_:option-1/> is not used, the environment is copied, except for the " +"variables above." +msgstr "" +"Se não for usado , o ambiente é copiado, excepto " +"para as variáveis em cima." + +#. (itstool) path: para/envar +#: su.1.xml.out:264 +msgid "$COLORTERM" +msgstr "" + +#. (itstool) path: para/envar +#: su.1.xml.out:265 +msgid "$DISPLAY" +msgstr "" + +#. (itstool) path: para/envar +#: su.1.xml.out:266 +msgid "$XAUTHORITY" +msgstr "" + +#. (itstool) path: listitem/para +#: su.1.xml.out:262 +#, fuzzy +#| msgid "" +#| "If is used, the $TERM, " +#| "$COLORTERM, $DISPLAY, and " +#| "$XAUTHORITY environment variables are copied if they were " +#| "set." +msgid "" +"If <_:option-1/> is used, the <_:envar-2/>, <_:envar-3/>, <_:envar-4/>, and " +"<_:envar-5/> environment variables are copied if they were set." +msgstr "" +"Se for usado, as variáveis de ambiente " +"$TERM, $COLORTERM, $DISPLAY, e " +"$XAUTHORITY são copiadas se estiverem definidas." + +#. (itstool) path: para/envar +#: su.1.xml.out:274 +msgid "$TZ" +msgstr "" + +#. (itstool) path: para/envar +#: su.1.xml.out:274 +msgid "$HZ" +msgstr "" + +#. (itstool) path: para/option +#: su.1.xml.out:278 +msgid "ENV_TZ" +msgstr "" + +#. (itstool) path: para/option +#: su.1.xml.out:279 +msgid "ENV_HZ" +msgstr "" + +#. (itstool) path: para/option +#: su.1.xml.out:279 userdel.8.xml.out:116 +msgid "MAIL_DIR" +msgstr "" + +#. (itstool) path: para/option +#: su.1.xml.out:280 +#, fuzzy +#| msgid "FILE" +msgid "MAIL_FILE" +msgstr "FICHEIRO" + +#. (itstool) path: listitem/para +#: su.1.xml.out:272 +#, fuzzy +#| msgid "" +#| "If is used, the $TZ, $HZ, and $MAIL environment variables are set according " +#| "to the /etc/login.defs options , , and " +#| " (see below)." +msgid "" +"If <_:option-1/> is used, the <_:envar-2/>, <_:envar-3/>, and <_:envar-4/> " +"environment variables are set according to the <_:filename-5/> options <_:" +"option-6/>, <_:option-7/>, <_:option-8/>, and <_:option-9/> (see below)." +msgstr "" +"Se for usado, as variáveis de ambiente $TZ, $HZ, e $MAIL são definidas de acordo " +"com as opções , , " +", e de /etc/" +"login.defs (veja em baixo)." + +#. (itstool) path: para/option +#: su.1.xml.out:288 +#, fuzzy +#| msgid "ENVIRONMENT" +msgid "ENVIRON_FILE" +msgstr "AMBIENTE" + +#. (itstool) path: listitem/para +#: su.1.xml.out:285 +#, fuzzy +#| msgid "" +#| "If is used, other environment variables might be " +#| "set by the file (see below)." +msgid "" +"If <_:option-1/> is used, other environment variables might be set by the <_:" +"option-2/> file (see below)." +msgstr "" +"Se for usado, outras variáveis de ambiente podem " +"ser definidas pelo ficheiro (veja em baixo)." + +#. (itstool) path: listitem/para +#: su.1.xml.out:293 +msgid "Other environments might be set by PAM modules." +msgstr "Outros ambientes podem ser definidos por módulos do PAM." + +#. (itstool) path: listitem/para +#: su.1.xml.out:241 +#, fuzzy +#| msgid "" +#| "Note that the default behavior for the environment is the following: " +#| "" +msgid "" +"Note that the default behavior for the environment is the following: <_:" +"variablelist-1/>" +msgstr "" +"Note que o comportamento predefinido para o ambiente é o seguinte: " +"" + +#. (itstool) path: refsect1/para +#: su.1.xml.out:367 +#, fuzzy +#| msgid "" +#| "On success, su returns the exit value of the command " +#| "it executed." +msgid "" +"On success, <_:command-1/> returns the exit value of the command it executed." +msgstr "" +"Quando em sucesso, su retorna o valor de saída do comando " +"que executou." + +#. (itstool) path: refsect1/para +#: su.1.xml.out:371 +#, fuzzy +#| msgid "" +#| "If this command was terminated by a signal, su returns " +#| "the number of this signal plus 128." +msgid "" +"If this command was terminated by a signal, <_:command-1/> returns the " +"number of this signal plus 128." +msgstr "" +"Se este comando foi terminado por um sinal, o su retorna " +"o número deste sinal mais 128." + +#. (itstool) path: refsect1/para +#: su.1.xml.out:375 +#, fuzzy +#| msgid "" +#| "If su has to kill the command (because it was asked to terminate, and the " +#| "command did not terminate in time), su returns 255." +msgid "" +"If su has to kill the command (because it was asked to terminate, and the " +"command did not terminate in time), <_:command-1/> returns 255." +msgstr "" +"Se o su tiver que matar o comando (porque foi-lhe pedido para terminar, e o " +"comando não terminou dentro do tempo), o su retorna 255." + +#. (itstool) path: listitem/para +#: su.1.xml.out:387 +#, fuzzy +#| msgid "success ( only)" +msgid "success (<_:option-1/> only)" +msgstr "sucesso (apenas )" + +#. (itstool) path: listitem/para +#: su.1.xml.out:393 +msgid "System or authentication failure" +msgstr "Falha do sistema ou de autenticação" + +#. (itstool) path: term/replaceable +#: su.1.xml.out:397 +msgid "126" +msgstr "126" + +#. (itstool) path: listitem/para +#: su.1.xml.out:399 +msgid "The requested command was not found" +msgstr "O comando requisitado não foi encontrado" + +#. (itstool) path: term/replaceable +#: su.1.xml.out:403 +msgid "127" +msgstr "127" + +#. (itstool) path: listitem/para +#: su.1.xml.out:405 +msgid "The requested command could not be executed" +msgstr "O comando requisitado não pode ser executado" + +#. (itstool) path: refsect1/para +#: su.1.xml.out:380 +#, fuzzy +#| msgid "" +#| "Some exit values from su are independent from the " +#| "executed command: " +msgid "" +"Some exit values from <_:command-1/> are independent from the executed " +"command: <_:variablelist-2/>" +msgstr "" +"Alguns valores de saída do su são independentes do " +"comando executado: " + +#. (itstool) path: refsect1/para +#: su.1.xml.out:414 +#, fuzzy +#| msgid "" +#| "su1." +msgid "" +"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" +"citerefentry-4/>." +msgstr "" +"su1." + +#. (itstool) path: refmeta/refentrytitle +#. (itstool) path: refnamediv/refname +#: suauth.5.xml.out:33 suauth.5.xml.out:40 +msgid "suauth" +msgstr "suauth" + +#. (itstool) path: refnamediv/refpurpose +#: suauth.5.xml.out:41 +msgid "detailed su control file" +msgstr "ficheiro de controle su detalhado" + +#. (itstool) path: cmdsynopsis/command +#. (itstool) path: para/filename +#. (itstool) path: term/filename +#: suauth.5.xml.out:46 suauth.5.xml.out:53 suauth.5.xml.out:172 +msgid "/etc/suauth" +msgstr "/etc/suauth" + +#. (itstool) path: refsect1/para +#: suauth.5.xml.out:52 +#, fuzzy +#| msgid "" +#| "The file /etc/suauth is referenced whenever the su " +#| "command is called. It can change the behaviour of the su command, based " +#| "upon:" +msgid "" +"The file <_:filename-1/> is referenced whenever the su command is called. It " +"can change the behaviour of the su command, based upon:" +msgstr "" +"O ficheiro /etc/suauth é referenciado sempre que o " +"comando su é chamado. Ele pode mudar o comportamento do comando su, com base " +"em:" + +#. (itstool) path: refsect1/literallayout +#: suauth.5.xml.out:59 +#, fuzzy +#| msgid "" +#| "\n" +#| " 1) the user su is targeting\n" +#| " " +msgid "1) the user su is targeting" +msgstr "" +"\n" +" 1) no utilizador que o su está a apontar\n" +" " + +#. (itstool) path: refsect1/para +#: suauth.5.xml.out:63 +msgid "" +"2) the user executing the su command (or any groups he might be a member of)" +msgstr "" +"2) no utilizador que executa o comando su (ou quaisquer grupos de que ele " +"possa ser membro)" + +#. (itstool) path: refsect1/para +#: suauth.5.xml.out:68 +msgid "" +"The file is formatted like this, with lines starting with a # being treated " +"as comment lines and ignored;" +msgstr "" +"O ficheiro é formatado como isto, com as linhas começadas com # a serem " +"tratadas como comentários e ignoradas." + +#. (itstool) path: refsect1/literallayout +#: suauth.5.xml.out:73 +#, fuzzy +#| msgid "" +#| "\n" +#| " to-id:from-id:ACTION\n" +#| " " +msgid "to-id:from-id:ACTION" +msgstr "" +"\n" +" to-id:from-id:ACTION\n" +" " + +#. (itstool) path: para/emphasis +#: suauth.5.xml.out:79 +msgid "ALL EXCEPT" +msgstr "" + +#. (itstool) path: refsect1/para +#: suauth.5.xml.out:77 +#, fuzzy +#| msgid "" +#| "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 \",\"." +msgid "" +"Where to-id is either the word <_:emphasis-1/>, a list of usernames " +"delimited by \",\" or the words <_:emphasis-2/> followed by a list of " +"usernames delimited by \",\"." +msgstr "" +"Onde to-id é ou a palavra ALL, uma lista de nomes de " +"utilizadores delimitados por \",\" ou as palavras ALL EXCEPT seguida por uma lista de nomes de utilizadores delimitados por \"," +"\"." + +#. (itstool) path: para/emphasis +#: suauth.5.xml.out:85 +msgid "ALL EXCEPT GROUP" +msgstr "" + +#. (itstool) path: refsect1/para +#: suauth.5.xml.out:83 +#, fuzzy +#| msgid "" +#| "from-id is formatted the same as to-id except the extra word " +#| "GROUP is recognized. 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 necessary." +msgid "" +"from-id is formatted the same as to-id except the extra word <_:emphasis-1/> " +"is recognized. <_:emphasis-2/> is perfectly valid too. Following <_:" +"emphasis-3/> appears one or more group names, delimited by \",\". It is not " +"sufficient to have primary group id of the relevant group, an entry in <_:" +"citerefentry-4/> is necessary." +msgstr "" +"from-id é formatado igual a to-id excepto que é reconhecida a palavra extra " +"GROUP. ALL EXCEPT GROUP é também " +"perfeitamente válida. A seguir a GROUP aparece um ou " +"mais nomes de grupos, delimitados por \",\". Não é suficiente ter o id de " +"grupo primário do grupo relevante, é necessário uma entrada em " +"/etc/group5." + +#. (itstool) path: refsect1/para +#: suauth.5.xml.out:94 +msgid "Action can be one only of the following currently supported options." +msgstr "" +"Action pode ser uma apenas das seguintes opções suportadas actualmente." + +#. (itstool) path: term/emphasis +#: suauth.5.xml.out:100 +msgid "DENY" +msgstr "DENY" + +#. (itstool) path: listitem/para +#: suauth.5.xml.out:103 +msgid "The attempt to su is stopped before a password is even asked for." +msgstr "A tentativa de su é parada antes de ser pedida uma palavra passe." + +#. (itstool) path: term/emphasis +#: suauth.5.xml.out:110 +msgid "NOPASS" +msgstr "NOPASS" + +#. (itstool) path: listitem/para +#: suauth.5.xml.out:113 +msgid "" +"The attempt to su is automatically successful; no password is asked for." +msgstr "" +"A tentativa de su tem sucesso automático; nenhuma palavra passe é pedida." + +#. (itstool) path: term/emphasis +#: suauth.5.xml.out:121 +msgid "OWNPASS" +msgstr "OWNPASS" + +#. (itstool) path: listitem/para +#: suauth.5.xml.out:124 +msgid "" +"For the su command to be successful, the user must enter his or her own " +"password. They are told this." +msgstr "" +"Para o comando su ter sucesso, o utilizador tem de inserir a sua própria " +"palavra passe. Eles são informados disso." + +#. (itstool) path: refsect1/para +#: suauth.5.xml.out:132 +msgid "" +"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." +msgstr "" +"Note que existem três campos separados delimitados por dois pontos (:). Não " +"podem existir espaços em branco juntos aos dois ponto. Note também que o " +"ficheiro é examinado sequencialmente linha a linha, e a primeira regra " +"aplicável é usada sem examinar o resto do ficheiro. Isto torna possível para " +"um administrador de sistema executar as afinações que desejar." + +#. (itstool) path: refsect1/title +#: suauth.5.xml.out:142 +msgid "EXAMPLE" +msgstr "EXEMPLO" + +#. (itstool) path: refsect1/literallayout +#: suauth.5.xml.out:143 +#, fuzzy +#| msgid "" +#| "\n" +#| " # sample /etc/suauth file\n" +#| " #\n" +#| " # A couple of privileged usernames may\n" +#| " # su to root with their own password.\n" +#| " #\n" +#| " root:chris,birddog:OWNPASS\n" +#| " #\n" +#| " # Anyone else may not su to root unless in\n" +#| " # group wheel. This is how BSD does things.\n" +#| " #\n" +#| " root:ALL EXCEPT GROUP wheel:DENY\n" +#| " #\n" +#| " # Perhaps terry and birddog are accounts\n" +#| " # owned by the same person.\n" +#| " # Access can be arranged between them\n" +#| " # with no password.\n" +#| " #\n" +#| " terry:birddog:NOPASS\n" +#| " birddog:terry:NOPASS\n" +#| " #\n" +#| " " +msgid "" +"# sample /etc/suauth file # # A couple of privileged usernames may # su to " +"root with their own password. # root:chris,birddog:OWNPASS # # Anyone else " +"may not su to root unless in # group wheel. This is how BSD does things. # " +"root:ALL EXCEPT GROUP wheel:DENY # # Perhaps terry and birddog are accounts " +"# owned by the same person. # Access can be arranged between them # with no " +"password. # terry:birddog:NOPASS birddog:terry:NOPASS #" +msgstr "" +"\n" +" # sample /etc/suauth file\n" +" #\n" +" # A couple of privileged usernames may\n" +" # su to root with their own password.\n" +" #\n" +" root:chris,birddog:OWNPASS\n" +" #\n" +" # Anyone else may not su to root unless in\n" +" # group wheel. This is how BSD does things.\n" +" #\n" +" root:ALL EXCEPT GROUP wheel:DENY\n" +" #\n" +" # Perhaps terry and birddog are accounts\n" +" # owned by the same person.\n" +" # Access can be arranged between them\n" +" # with no password.\n" +" #\n" +" terry:birddog:NOPASS\n" +" birddog:terry:NOPASS\n" +" #\n" +" " + +#. (itstool) path: refsect1/para +#: suauth.5.xml.out:180 +msgid "" +"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." +msgstr "" +"Pode haver muita coisa escondida. O analisador de ficheiro é particularmente " +"imperdoável com erros de sintaxe, espera nenhum espaço em branco falso " +"(aparte do princípio e final das linhas), e um símbolo específico " +"delimitando as diferentes coisas." + +#. (itstool) path: citerefentry/refentrytitle +#: suauth.5.xml.out:192 +msgid "syslogd" +msgstr "" + +#. (itstool) path: refsect1/para +#: suauth.5.xml.out:190 +#, fuzzy +#| msgid "" +#| "An error parsing the file is reported using " +#| "syslogd8 as level ERR on facility AUTH." +msgid "" +"An error parsing the file is reported using <_:citerefentry-1/> as level ERR " +"on facility AUTH." +msgstr "" +"Um erro ao analisar o ficheiro é reportado usando " +"syslogd8 como nível ERR em instalação AUTH." + +#. (itstool) path: refnamediv/refpurpose +#: useradd.8.xml.out:60 +msgid "create a new user or update default new user information" +msgstr "" +"cria um novo utilizador ou actualiza a informação predefinida do utilizador" + +#. (itstool) path: cmdsynopsis/arg +#. (itstool) path: para/option +#. (itstool) path: term/option +#: useradd.8.xml.out:72 useradd.8.xml.out:76 useradd.8.xml.out:86 +#: useradd.8.xml.out:169 useradd.8.xml.out:603 useradd.8.xml.out:605 +msgid "-D" +msgstr "-D" + +#. (itstool) path: refsect1/para +#: useradd.8.xml.out:85 +#, fuzzy +#| msgid "" +#| "When invoked without the option, the " +#| "useradd command creates a new user account using the " +#| "values specified on the command line plus 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." +msgid "" +"When invoked without the <_:option-1/> option, the <_:command-2/> command " +"creates a new user account using the values specified on the command line " +"plus the default values from the system. Depending on command line options, " +"the <_:command-3/> command will update system files and may also create the " +"new user's home directory and copy initial files." +msgstr "" +"Quando invocado sem a opção , o comando useradd cria uma nova conta de utilizador usando os valores especificados " +"na linha de comandos mais os valores predefinidos do sistema. Dependendo das " +"opções de linha de comandos, o comando useradd irá " +"actualizar ficheiros do sistema e pode também criar o directório home do " +"novo utilizador e copiar os ficheiros iniciais." + +#. (itstool) path: refsect1/para +#: useradd.8.xml.out:94 +#, fuzzy +#| msgid "" +#| "By default, a group will also be created for the new user (see , , , and " +#| ")." +msgid "" +"By default, a group will also be created for the new user (see <_:option-1/" +">, <_:option-2/>, <_:option-3/>, and <_:option-4/>)." +msgstr "" +"Por predefinição, será também criado um grupo para o novo utilizador (veja " +", , , e " +")." + +#. (itstool) path: term/option +#: useradd.8.xml.out:118 useradd.8.xml.out:612 +msgid "--base-dir" +msgstr "" + +#. (itstool) path: term/replaceable +#. (itstool) path: para/replaceable +#: useradd.8.xml.out:118 useradd.8.xml.out:124 useradd.8.xml.out:159 +#: useradd.8.xml.out:612 useradd.8.xml.out:618 +msgid "BASE_DIR" +msgstr "" + +#. (itstool) path: para/replaceable +#. (itstool) path: term/replaceable +#: useradd.8.xml.out:123 useradd.8.xml.out:151 useradd.8.xml.out:156 +#: useradd.8.xml.out:161 usermod.8.xml.out:112 +msgid "HOME_DIR" +msgstr "" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:121 +#, fuzzy +#| msgid "" +#| "The default base directory for the system if  " +#| "HOME_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." +msgid "" +"The default base directory for the system if <_:option-1/> <_:replaceable-2/" +"> is not specified. <_:replaceable-3/> is concatenated with the account name " +"to define the home directory." +msgstr "" +"O directório base predefinido para o sistema de  " +"HOME_DIR não for especificada. " +"BASE_DIR é concatenada com o nome da conta para " +"definir o directório home. Se a opção não for usada, " +"BASE_DIR tem de existir." + +#. (itstool) path: para/option +#: useradd.8.xml.out:131 useradd.8.xml.out:623 +msgid "HOME" +msgstr "" + +#. (itstool) path: para/filename +#. (itstool) path: term/filename +#: useradd.8.xml.out:132 useradd.8.xml.out:189 useradd.8.xml.out:212 +#: useradd.8.xml.out:250 useradd.8.xml.out:267 useradd.8.xml.out:295 +#: useradd.8.xml.out:345 useradd.8.xml.out:395 useradd.8.xml.out:525 +#: useradd.8.xml.out:624 useradd.8.xml.out:636 useradd.8.xml.out:653 +#: useradd.8.xml.out:669 useradd.8.xml.out:683 useradd.8.xml.out:697 +#: useradd.8.xml.out:787 usermod.8.xml.out:419 +msgid "/etc/default/useradd" +msgstr "/etc/default/useradd" + +#. (itstool) path: para/filename +#: useradd.8.xml.out:133 +msgid "/home" +msgstr "" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:128 +#, fuzzy +#| msgid "" +#| "If this option is not specified, useradd will use the " +#| "base directory specified by the variable in " +#| "/etc/default/useradd, or /home " +#| "by default." +msgid "" +"If this option is not specified, <_:command-1/> will use the base directory " +"specified by the <_:option-2/> variable in <_:filename-3/>, or <_:filename-4/" +"> by default." +msgstr "" +"Se esta opção não for especificada, o useradd irá usar o " +"directório base especificado pela variável em " +"/etc/default/useradd, ou /home por " +"predefinição." + +#. (itstool) path: term/option +#: useradd.8.xml.out:139 usermod.8.xml.out:99 +msgid "--comment" +msgstr "" + +#. (itstool) path: term/replaceable +#: useradd.8.xml.out:139 usermod.8.xml.out:99 +msgid "COMMENT" +msgstr "" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:142 +#, fuzzy +#| msgid "" +#| "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." +msgid "" +"Any text string. It is generally a short description of the account, and is " +"currently used as the field for the user's full name." +msgstr "" +"Qualquer string de texto. É geralmente uma descrição curta do login, e é " +"actualmente usado como o campo para o nome completo do utilizador." + +#. (itstool) path: term/option +#: useradd.8.xml.out:151 +msgid "--home-dir" +msgstr "" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:154 +#, fuzzy +#| msgid "" +#| "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. The directory " +#| "HOME_DIR does not have to exist but will not " +#| "be created if it is missing." +msgid "" +"The new user will be created using <_:replaceable-1/> as the value for the " +"user's login directory. The default is to append the <_:replaceable-2/> name " +"to <_:replaceable-3/> and use that as the login directory name. If the " +"directory <_:replaceable-4/> does not exist, then it will be created unless " +"the <_:option-5/> option is specified." +msgstr "" +"O novo utilizador será criado usando HOME_DIR " +"como o valor para o directório de login do utilizador. A predefinição é " +"acrescentar o nome de LOGIN a " +"BASE_DIR e usar isso como o nome do directório de " +"login. O directório HOME_DIR não tem de existir " +"mas não será criado se estiver em falta." + +#. (itstool) path: term/option +#: useradd.8.xml.out:169 +msgid "--defaults" +msgstr "" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:172 +msgid "See below, the subsection \"Changing the default values\"." +msgstr "Veja em baixo, a subsecção \"Alterar os valores predefinidos\"." + +#. (itstool) path: para/emphasis +#: useradd.8.xml.out:184 usermod.8.xml.out:135 +msgid "YYYY-MM-DD" +msgstr "" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:182 +#, fuzzy +#| msgid "" +#| "The date on which the user account will be disabled. The date is " +#| "specified in the format YYYY-MM-DD." +msgid "" +"The date on which the user account will be disabled. The date is specified " +"in the format <_:emphasis-1/>." +msgstr "" +"A data na qual a conta do utilizador será desactivada. A data é especificada " +"no formato AAAA-MM-DD." + +#. (itstool) path: para/option +#: useradd.8.xml.out:188 useradd.8.xml.out:635 usermod.8.xml.out:418 +msgid "EXPIRE" +msgstr "" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:186 +#, fuzzy +#| msgid "" +#| "If not specified, useradd will use the default expiry " +#| "date specified by the variable in /etc/" +#| "default/useradd, or an empty string (no expiry) by default." +msgid "" +"If not specified, <_:command-1/> will use the default expiry date specified " +"by the <_:option-2/> variable in <_:filename-3/>, or an empty string (no " +"expiry) by default." +msgstr "" +"Se não definido, o useradd irá usar a data de expiração " +"predefinida especificada pela variável em /" +"etc/default/useradd, ou uma string vazia (não expira) por " +"predefinição." + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:199 +msgid "" +"defines the number of days after the password exceeded its maximum age where " +"the user is expected to replace this password. The value is stored in the " +"shadow password file. An input of 0 will disable an expired password with no " +"delay. An input of -1 will blank the respective field in the shadow password " +"file. See <_:citerefentry-1/>for more information." +msgstr "" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:208 +#, fuzzy +#| msgid "" +#| "If not specified, useradd will use the default " +#| "inactivity period specified by the variable in " +#| "/etc/default/useradd, or -1 by default." +msgid "" +"If not specified, <_:command-1/> will use the default inactivity period " +"specified by the <_:option-2/> variable in <_:filename-3/>, or -1 by default." +msgstr "" +"Se não definido, o useradd irá usar o período de " +"inatividade predefinido especificado pela variável " +"em /etc/default/useradd, ou -1 por predefinição." + +#. (itstool) path: term/option +#. (itstool) path: para/option +#: useradd.8.xml.out:218 useradd.8.xml.out:484 +#, fuzzy +#| msgid "-" +msgid "-F" +msgstr "-" + +#. (itstool) path: term/option +#: useradd.8.xml.out:218 +msgid "--add-subids-for-system" +msgstr "" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:221 +msgid "" +"Update <_:filename-1/> and <_:filename-2/> even when creating a system " +"account with <_:option-3/> option." +msgstr "" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:233 +#, fuzzy +#| msgid "" +#| "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." +msgid "" +"The name or the number of the user's primary group. The group name must " +"exist. A group number must refer to an already existing group." +msgstr "" +"O nome do grupo ou o número do grupo de login inicial do utilizador. O nome " +"do grupo tem de existir. Um número de grupo tem de se referir a um grupo já " +"existente." + +#. (itstool) path: para/option +#: useradd.8.xml.out:243 +msgid "-U/--user-group" +msgstr "" + +#. (itstool) path: para/option +#: useradd.8.xml.out:247 +msgid "-N/--no-user-group" +msgstr "" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:238 +#, fuzzy +#| msgid "" +#| "If not specified, the behavior of useradd will depend " +#| "on the variable in /etc/login." +#| "defs. If this variable is set to yes (or is specified on the " +#| "command line), a group will be created for the user, with the same name " +#| "as her loginname. If the variable is set to no " +#| "(or is specified on the command " +#| "line), useradd will set the primary group of the new user to the value " +#| "specified by the variable in /etc/" +#| "default/useradd, or 100 by default." +msgid "" +"If not specified, the behavior of <_:command-1/> will depend on the <_:" +"option-2/> variable in <_:filename-3/>. If this variable is set to <_:" +"replaceable-4/> (or <_:option-5/> is specified on the command line), a group " +"will be created for the user, with the same name as her loginname. If the " +"variable is set to <_:replaceable-6/> (or <_:option-7/> is specified on the " +"command line), useradd will set the primary group of the new user to the " +"value specified by the <_:option-8/> variable in <_:filename-9/>, or 1000 by " +"default." +msgstr "" +"Se não especificado, o comportamento do useradd irá " +"depender da variável em /etc/" +"login.defs. Se esta variável for definida para yes (ou for definida na linha de " +"comandos), será criado um grupo para o utilizador, com o mesmo nome que o " +"nome de login. Se a variável for definida para no " +"(ou se for especificada na linha de " +"comandos), o useradd irá definir o grupo primário do novo utilizador para o " +"valor especificado pela variável em /etc/" +"default/useradd, or 100 por predefinição." + +#. (itstool) path: term/option +#. (itstool) path: para/option +#: useradd.8.xml.out:257 usermod.8.xml.out:83 usermod.8.xml.out:199 +#: usermod.8.xml.out:322 +#, fuzzy +#| msgid "-" +msgid "-G" +msgstr "-" + +#. (itstool) path: term/option +#: useradd.8.xml.out:257 usermod.8.xml.out:199 +#, fuzzy +#| msgid "groups" +msgid "--groups" msgstr "groups" -#: groups.1.xml:65(refpurpose) -msgid "display current group names" -msgstr "mostra nomes de grupo actuais" - -#: groups.1.xml:72(replaceable) -msgid "user" -msgstr "user" - -#: groups.1.xml:79(para) -msgid "" -"The groups command 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 parameter will" -" display the groups for the named user." -msgstr "" -"O comando The groups mostra os nomes de grupos actuais " -"ou os valores ID. Se o valor não possuir uma entrada correspondente em " -"/etc/group, o valor será mostrado como um valor numérico " -"de grupo. O parâmetro opcional user irá " -"mostrar os grupos para o user nomeado." - -#: groups.1.xml:91(para) -msgid "" -"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 his current real and" -" effective group ID." -msgstr "" -"Os sistemas que não suportam conjuntos de grupos concorrentes irão reportar " -"a informação de /etc/group. O utilizador tem de usar " -"newgrp ou sg para mudar o seu ID " -"de grupo efectivo e real actual." - -#: groups.1.xml:113(para) -msgid "" -"newgrp1<" -"/citerefentry>, getgid2, getgroups<" -"/refentrytitle>2, <" -"refentrytitle>getuid2." -msgstr "" -"newgrp1<" -"/citerefentry>, getgid2, getgroups<" -"/refentrytitle>2, <" -"refentrytitle>getuid2." - -#: groupmod.8.xml:66(refpurpose) -msgid "modify a group definition on the system" -msgstr "modifica a definição de um grupo no sistema" - -#: groupmod.8.xml:75(replaceable) groupdel.8.xml:75(replaceable) -msgid "GROUP" +#. (itstool) path: term/replaceable +#: useradd.8.xml.out:257 usermod.8.xml.out:199 +#, fuzzy +#| msgid "GROUP" +msgid "GROUP1" msgstr "GRUPO" -#: groupmod.8.xml:81(para) +#. (itstool) path: term/emphasis +#: useradd.8.xml.out:257 usermod.8.xml.out:199 +#, fuzzy +#| msgid "GROUP" +msgid ",GROUP2,..." +msgstr "GRUPO" + +#. (itstool) path: term/emphasis +#: useradd.8.xml.out:257 usermod.8.xml.out:199 +#, fuzzy +#| msgid "GROUP" +msgid ",GROUPN" +msgstr "GRUPO" + +#. (itstool) path: varlistentry/term +#: useradd.8.xml.out:256 usermod.8.xml.out:198 msgid "" -"The groupmod command modifies the definition of the" -" specified GROUP by modifying the appropriate" -" entry in the group database." +"<_:option-1/>, <_:option-2/> <_:replaceable-3/>[<_:emphasis-4/>[<_:" +"emphasis-5/>]]]" msgstr "" -"O comando groupmod modifica a definição do " -"GROUP especificado ao modificar a entrada " -"apropriada na base de dados do grupo." -#: groupmod.8.xml:90(para) -msgid "The options which apply to the groupmod command are:" -msgstr "As opções que se aplicam ao comando groupmod são:" +#. (itstool) path: para/option +#: useradd.8.xml.out:267 +#, fuzzy +#| msgid "GROUP" +msgid "GROUPS" +msgstr "GRUPO" -#: groupmod.8.xml:96(term) groupadd.8.xml:114(term) +#. (itstool) path: listitem/para +#: useradd.8.xml.out:260 +#, fuzzy +#| msgid "" +#| "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." msgid "" -",  GID<" -"/replaceable>" +"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-1/> option. The default is for the user to belong only to the " +"initial group. In addition to passing in the -G flag, you can add the option " +"<_:option-2/> to the file <_:filename-3/> which in turn will add all users " +"to those supplementary groups." msgstr "" -",  GID<" -"/replaceable>" +"Uma lista de grupos suplementares a que o utilizador é também membro. Cada " +"grupo é separado do próximo por uma vírgula, sem nenhum espaço em branco " +"intermédio. Os grupos estão sujeitos às mesmas restrições que o grupo dado " +"com a opção . A predefinição é o utilizador pertencer " +"apenas ao grupo inicial." -#: groupmod.8.xml:100(para) +#. (itstool) path: term/option +#: useradd.8.xml.out:280 +msgid "--skel" +msgstr "" + +#. (itstool) path: term/replaceable +#: useradd.8.xml.out:280 +msgid "SKEL_DIR" +msgstr "" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:283 +#, fuzzy +#| msgid "" +#| "The skeleton directory, which contains files and directories to be copied " +#| "in the user's home directory, when the home directory is created by " +#| "useradd." msgid "" -"The group ID of the given GROUP will be changed to" -" GID." +"The skeleton directory, which contains files and directories to be copied in " +"the user's home directory, when the home directory is created by <_:" +"command-1/>." msgstr "" -"I ID de grupo do GROUP fornecido será mudado " -"para GID." +"O directório esqueleto, que contem ficheiros e directórios a serem copiados " +"para o directório home do utilizador, quando o directório home é criado pelo " +"useradd." -#: groupmod.8.xml:104(para) +#. (itstool) path: para/option +#. (itstool) path: term/option +#: useradd.8.xml.out:290 useradd.8.xml.out:352 +msgid "--create-home" +msgstr "" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:288 useradd.8.xml.out:592 usermod.8.xml.out:524 +#, fuzzy +#| msgid "" +#| "This option is only valid if the (or ) option is specified." msgid "" -"The value of GID must be a non-negative decimal" -" integer. This value must be unique, unless the option is" -" used." +"This option is only valid if the <_:option-1/> (or <_:option-2/>) option is " +"specified." msgstr "" -"O valor de GID tem de ser um inteiro decimal não " -"negativo. Este valor deve ser único, a menos que seja usada a opção " -"." +"Esta opção apenas é válida se a opção (ou ) for especificada." -#: groupmod.8.xml:110(para) +#. (itstool) path: para/option +#: useradd.8.xml.out:294 +msgid "SKEL" +msgstr "" + +#. (itstool) path: para/filename +#: useradd.8.xml.out:296 +#, fuzzy +#| msgid "/etc/skel/" +msgid "/etc/skel" +msgstr "/etc/skel/" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:292 +#, fuzzy +#| msgid "" +#| "If this option is not set, the skeleton directory is defined by the " +#| " variable in /etc/default/useradd or, by default, /etc/skel." msgid "" -"Users who use the group as primary group will be updated to keep the group as" -" their primary group." +"If this option is not set, the skeleton directory is defined by the <_:" +"option-1/> variable in <_:filename-2/> or, by default, <_:filename-3/>." msgstr "" -"Os utilizadores que usam o grupo como grupo primário serão actualizados " -"para manterem o grupo como u seu grupo primário." +"Se esta opção não for definida, o directório esqueleto é definido pela " +"variável em /etc/default/useradd " +"ou, por predefinição, /etc/skel." -#: groupmod.8.xml:114(para) +#. (itstool) path: listitem/para +#: useradd.8.xml.out:298 +msgid "If possible, the ACLs and extended attributes are copied." +msgstr "Se possível, os atributos ACL e estendidos são copiados." + +#. (itstool) path: para/option +#: useradd.8.xml.out:311 +msgid "UMASK" +msgstr "" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:308 msgid "" -"Any files that have the old group ID and must continue to belong to <" -"replaceable>GROUP, must have their group ID changed manually." +"Overrides <_:filename-1/> defaults (<_:option-2/>, <_:option-3/>, <_:" +"option-4/>, <_:option-5/> and others)." msgstr "" -"Quaisquer ficheiros que têm o ID de grupo antigo e devem continuar a " -"pertencer ao GROUP, precisam de ter o seu ID de " -"grupo mudado manualmente." -#: groupmod.8.xml:120(para) +#. (itstool) path: listitem/para +#: useradd.8.xml.out:314 msgid "" -"No checks will be performed with regard to the , <" -"option>GID_MAX, , or SYS_GID_MAX from /etc/login.defs." +"Example: <_:option-1/> <_:replaceable-2/>=<_:replaceable-3/> can be used " +"when creating an account to turn off password aging. Multiple <_:option-4/> " +"options can be specified, e.g.: <_:option-5/> <_:replaceable-6/> =<_:" +"replaceable-7/> <_:option-8/> <_:replaceable-9/>=<_:replaceable-10/>" msgstr "" -"Nenhuma verificação será executada com respeito a , " -", , ou " -" de /etc/login.defs." -#: groupmod.8.xml:135(term) +#. (itstool) path: term/option +#: useradd.8.xml.out:332 +msgid "--no-log-init" +msgstr "" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:334 +msgid "Do not add the user to the lastlog and faillog databases." +msgstr "Não adiciona o utilizador às bases de dados lastlog e faillog." + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:337 msgid "" -",  NEW_GROUP<" -"/replaceable>" +"By default, the user's entries in the lastlog and faillog databases are " +"reset to avoid reusing the entry from a previously deleted user." msgstr "" -",  NEW_GROUP<" -"/replaceable>" +"Por predefinição, as entradas do utilizador nas bases de dados lastlog e " +"faillog são reiniciadas para evitar reutilizar uma entrada de um utilizador " +"anteriormente apagado." -#: groupmod.8.xml:139(para) +#. (itstool) path: para/option +#: useradd.8.xml.out:344 +msgid "LOG_INIT" +msgstr "" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:342 msgid "" -"The name of the group will be changed from GROUP" -" to NEW_GROUP name." +"If this option is not specified, <_:command-1/> will also consult the " +"variable <_:option-2/> in the <_:filename-3/> if set to no the user will not " +"be added to the lastlog and faillog databases." msgstr "" -"O nome do grupo será alterado de GROUP " -"para NEW_GROUP." -#: groupmod.8.xml:150(para) +#. (itstool) path: listitem/para +#: useradd.8.xml.out:355 +#, fuzzy +#| msgid "" +#| "Create the user's home directory if it does not exist. The files and " +#| "directories contained in the skeleton directory (which can be defined " +#| "with the option) will be copied to the home directory." msgid "" -"When used with the option, allow to change the group <" -"replaceable>GID to a non-unique value." +"Create the user's home directory if it does not exist. The files and " +"directories contained in the skeleton directory (which can be defined with " +"the <_:option-1/> option) will be copied to the home directory." msgstr "" -"Quando usado com a opção , permite mudar o " -"GID do grupo para um valor não-único." +"Cria o directório home do utilizador se este não existir. Os ficheiros e " +"directórios contidos no directório esqueleto (o qual pode ser definido com a " +"opção ) serão copiados para o directório home." -#: groupmod.8.xml:259(para) -msgid "E_SUCCESS: success" -msgstr "E_SUCCESS: sucesso" - -#: groupmod.8.xml:265(para) -msgid "E_USAGE: invalid command syntax" -msgstr "E_USAGE: sintaxe inválida de comando" - -#: groupmod.8.xml:271(para) -msgid "E_BAD_ARG: invalid argument to option" -msgstr "E_BAD_ARG: argumento inválido para a opção" - -#: groupmod.8.xml:277(para) -msgid "E_GID_IN_USE: specified group doesn't exist" -msgstr "E_GID_IN_USE: grupo especificado não existe" - -#: groupmod.8.xml:283(para) -msgid "E_NOTFOUND: specified group doesn't exist" -msgstr "E_NOTFOUND: grupo especificado não existe" - -#: groupmod.8.xml:289(para) -msgid "E_NAME_IN_USE: group name already in use" -msgstr "E_NAME_IN_USE: nome de grupo já em uso" - -#: groupmod.8.xml:295(para) -msgid "E_GRP_UPDATE: can't update group file" -msgstr "E_GRP_UPDATE: incapaz de actualizar ficheiro de grupo" - -#: groupmod.8.xml:299(replaceable) -msgid "11" -msgstr "11" - -#: groupmod.8.xml:301(para) -msgid "E_CLEANUP_SERVICE: can't setup cleanup service" -msgstr "E_CLEANUP_SERVICE: incapaz de configurar o serviço de limpeza" - -#: groupmod.8.xml:307(para) -msgid "E_PAM_USERNAME: can't determine your username for use with pam" +#. (itstool) path: para/option +#: useradd.8.xml.out:363 useradd.8.xml.out:381 useradd.8.xml.out:477 +msgid "CREATE_HOME" msgstr "" -"E_PAM_USERNAME: incapaz de determinar o seu nome de utilizador par usar " -"com o pam" -#: groupmod.8.xml:311(replaceable) -msgid "13" -msgstr "13" - -#: groupmod.8.xml:313(para) +#. (itstool) path: listitem/para +#: useradd.8.xml.out:361 +#, fuzzy +#| msgid "" +#| "By default, if this option is not specified and and greater than every other group." +"update the comment field of the user in <_:filename-1/>, which is normally " +"modified using the <_:citerefentry-2/> utility." msgstr "" -"O valor numérico do ID de grupo. Este valor tem de ser único, a menos " -"que a opção seja usada. O valor tem de ser não-negativo. " -"A predefinição é usar menor valor de ID maior ou igual a 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." msgid "" -"See also the option and the " -" description." +"If the <_:option-1/> 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. If the current home directory does not exist the new " +"home directory will not be created." msgstr "" -"Veja também a opção ." +"Se for fornecida a opção , o conteúdo do directório home " +"actual será movido para o novo directório home, o qual será criado se não " +"existir já." -#: groupadd.8.xml:141(para) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:132 +#, fuzzy +#| msgid "" +#| "The date on which the user account will be disabled. The date is " +#| "specified in the format YYYY-MM-DD." msgid "" -"Overrides /etc/login.defs defaults (GID_MIN, GID_MAX and" -" others). Multiple options can be specified." +"The date on which the user account will be disabled. The date is specified " +"in the format <_:emphasis-1/>. Integers as input are interpreted as days " +"after 1970-01-01." msgstr "" -"Sobrepõe as predefinições de /etc/login.defs (GID_MIN, " -"GID_MAX e outros). Podem ser especificadas opções " -"múltiplas vezes." +"A data na qual a conta do utilizador será desactivada. A data é especificada " +"no formato AAAA-MM-DD." -#: groupadd.8.xml:146(para) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:138 msgid "" -"Example:  GID_MIN=<" -"replaceable>100  GID_MAX=499" +"An input of -1 or an empty string will blank the account expiration field in " +"the shadow password file. The account will remain available with no date " +"limit." msgstr "" -"Exemplo:  GID_MIN=<" -"replaceable>100  GID_MAX=499" -#: groupadd.8.xml:150(para) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:143 usermod.8.xml.out:165 +#, fuzzy +#| msgid "" +#| "This option requires a /etc/shadow file. A " +#| "/etc/shadow entry will be created if there were none." msgid "" -"Note:  GID_MIN=<" -"replaceable>10,GID_MAX=499 doesn't work yet." +"This option requires a <_:filename-1/> file. A <_:filename-2/> entry will be " +"created if there were none." msgstr "" -"Nota:  GID_MIN=<" -"replaceable>10,GID_MAX=499 ainda não funciona." +"Esta opção requer um ficheiro /etc/shadow. Será criada " +"uma entrada /etc/shadow se não existir nenhuma." -#: groupadd.8.xml:161(para) -msgid "This option permits to add a group with a non-unique GID." -msgstr "Esta opção permite adicionar um grupo com um GID não único." - -#: groupadd.8.xml:192(para) -msgid "Create a system group." -msgstr "Cria um grupo de sistema." - -#: groupadd.8.xml:195(para) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:155 msgid "" -"The numeric identifiers of new system groups are chosen in the SYS_GID_MIN- range, defined in <" -"filename>login.defs, instead of -GID_MAX." +"defines the number of days after the password exceeded its maximum age " +"during which the user may still login by immediately replacing the password. " +"This grace period before the account becomes inactive is stored in the " +"shadow password file. An input of 0 will disable an expired password with no " +"delay. An input of -1 will blank the respective field in the shadow password " +"file. See <_:citerefentry-1/> for more information." msgstr "" -"Os identificadores numéricos de novos grupos de sistema são escolhidos " -"dentro da gama -, " -"definida em login.defs, em vez de ." -#: groupadd.8.xml:275(para) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:177 +#, fuzzy +#| msgid "" +#| "The group name or number of the user's new initial login group. The group " +#| "must exist." msgid "" -"Groupnames must start with a lower case letter or an underscore, followed by" -" lower case letters, digits, underscores, or dashes. They can end with a" -" dollar sign. In regular expression terms: [a-z_][a-z0-9_-]*[$]?" +"The name or numerical ID of the user's new primary group. The group must " +"exist." msgstr "" -"Os nomes de grupos devem começar com uma letra minúscula ou um " -"underscore, seguido de letras minúsculas, dígitos, underscores, ou traços. " -"Eles podem acabar com um cifrão. Em termos de expressão regular: " -"[a-z_][a-z0-9_-]*[$]?" +"O nome do grupo ou número do grupo de login inicial dos novos utilizadores. " +"O grupo tem de existir." -#: groupadd.8.xml:281(para) -msgid "Groupnames may only be up to &GROUP_NAME_MAX_LENGTH; characters long." -msgstr "" -"Nomes de grupos só pode ir até &GROUP_NAME_MAX_LENGTH; caracteres de " -"comprimento." - -#: groupadd.8.xml:284(para) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:181 msgid "" -"You may not add a NIS or LDAP group. This must be performed on the" -" corresponding server." +"Any file from the user's home directory owned by the previous primary group " +"of the user will be owned by this new group." msgstr "" -"Você não pode adicionar um grupo NIS ou LDAP. Isto tem de ser feito no " -"servidor correspondente." +"Qualquer ficheiro do directório home do utilizador que pertença ao grupo " +"primário anterior do utilizador passará a pertencer a este novo grupo." -#: groupadd.8.xml:288(para) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:185 msgid "" -"If the groupname already exists in an external group database such as NIS or" -" LDAP, groupadd will deny the group creation request." +"The group ownership of files outside of the user's home directory must be " +"fixed manually." msgstr "" -"Se o nome de grupo já existir numa base de dados de grupos externa como " -"NIS ou LDAP, o groupadd irá negar o pedido de criação " -"de grupo." +"A pertença de grupo dos ficheiros que estejam fora do directório home do " +"utilizador terá que ser corrigida manualmente." -#: groupadd.8.xml:321(para) -msgid "GID not unique (when not used)" -msgstr "GID não único (quando não usado)" +#. (itstool) path: para/filename +#: usermod.8.xml.out:193 usermod.8.xml.out:393 +msgid "/" +msgstr "" -#: groupadd.8.xml:327(para) -msgid "group name not unique" -msgstr "nome de grupo não único" - -#: groupadd.8.xml:297(para) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:189 msgid "" -"The groupadd command exits with the following values: <" -"placeholder-1/>" +"The change of the group ownership of files inside of the user's home " +"directory is also not done if the home dir owner uid is different from the " +"current or new user id. This is a safety measure for special home " +"directories such as <_:filename-1/>." msgstr "" -"O comando groupadd termina com os seguintes valores: " -"" -#: groupadd.8.xml:342(para) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:202 +#, fuzzy +#| msgid "" +#| "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." msgid "" -"chfn1<" -"/citerefentry>, chsh1, passwd<" -"/refentrytitle>1, <" -"refentrytitle>gpasswd8," -" groupdel8, groupmod<" -"manvolnum>8, login.defs5, <" -"citerefentry>useradd8<" -"/citerefentry>, userdel<" -"manvolnum>8, usermod<" -"/refentrytitle>8." +"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 must exist." msgstr "" -"chfn1<" -"/citerefentry>, chsh1, passwd<" -"/refentrytitle>1, <" -"refentrytitle>gpasswd8," -" groupdel8, groupmod<" -"manvolnum>8, login.defs5, <" -"citerefentry>useradd8<" -"/citerefentry>, userdel<" -"manvolnum>8, usermod<" -"/refentrytitle>8." +"Uma lista de grupos suplementares a que o utilizador é também membro. Cada " +"grupo é separado do próximo por uma vírgula, sem nenhum espaço em branco " +"intermédio. Os grupos estão sujeitos às mesmas restrições que o grupo dado " +"com a opção ." -#: gpasswd.1.xml:44(firstname) -msgid "Rafal" -msgstr "Rafal" - -#: gpasswd.1.xml:45(surname) -msgid "Maszkowski" -msgstr "Maszkowski" - -#: gpasswd.1.xml:71(phrase) -msgid "administer " -msgstr "administra " - -#: gpasswd.1.xml:74(phrase) -msgid "administer and " -msgstr "administra e " - -#: gpasswd.1.xml:85(replaceable) expiry.1.xml:76(replaceable) -msgid "option" -msgstr "opção" - -#: gpasswd.1.xml:95(para) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:207 +#, fuzzy +#| msgid "" +#| "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 " +#| "the option, which appends the user to the current " +#| "supplementary group list." msgid "" -"The gpasswd command is used to administer /etc/group, and /etc/gshadow. Every group can have administrators, members and a password." +"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 the <_:" +"option-1/> option, which appends the user to the current supplementary group " +"list." msgstr "" -"O comando gpasswd é usado para administrar /etc/group, e /etc/gshadow. Cada grupo pode ter administradores, membros e uma palavra passe." +"Se o utilizador é actualmente membro de um grupo que não está listado, o " +"utilizador será removido desse grupo. Este comportamento pode ser alterado " +"via opção , a qual acrescenta o utilizador à actual lista " +"de grupos suplementares." -#: gpasswd.1.xml:103(para) +#. (itstool) path: term/replaceable +#. (itstool) path: para/replaceable +#: usermod.8.xml.out:217 usermod.8.xml.out:223 +#, fuzzy +#| msgid "LOGIN" +msgid "NEW_LOGIN" +msgstr "LOGIN" + +#. (itstool) path: listitem/para +#: usermod.8.xml.out:220 +#, fuzzy +#| msgid "" +#| "The name of the user will be changed from LOGIN to NEW_LOGIN. Nothing else is " +#| "changed. In particular, the user's home directory or mail spool should " +#| "probably be renamed manually to reflect the new login name." msgid "" -"System administrators can use the option to define group" -" administrator(s) and the option to define members. They" -" have all rights of group administrators and members." +"The name of the user will be changed from <_:replaceable-1/> to <_:" +"replaceable-2/>. Nothing else is changed. In particular, the user's home " +"directory or mail spool should probably be renamed manually to reflect the " +"new login name." msgstr "" -"Administradores do sistema pode usar a opção para definir " -"administradores do grupo e a opção para definir membros. " -"Eles têm todos os direitos de administradores de grupo e membros." +"O nome do utilizador será alterado de LOGIN para " +"NEW_LOGIN. Nada mais é alterado. Em particular, o " +"directório home do utilizador ou a pasta de mail devem provavelmente ser " +"renomeados manualmente para refletir o novo nome de login." -#: gpasswd.1.xml:108(para) +#. (itstool) path: term/option +#. (itstool) path: para/option +#: usermod.8.xml.out:231 usermod.8.xml.out:411 +#, fuzzy +#| msgid "-" +msgid "-L" +msgstr "-" + +#. (itstool) path: listitem/para +#: usermod.8.xml.out:234 +#, fuzzy +#| msgid "" +#| "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 ." msgid "" -"gpasswd called by a group" -" administratora system" -" administrator with a group name only prompts for the new password" -" of the group." +"Lock a user's password. This puts a '!' in front of the encrypted password, " +"effectively disabling the password. You can't use this option with <_:" +"option-1/> or <_:option-2/>." msgstr "" -"gpasswd chamado por um " -"administrador de grupoum " -"administrador de sistema com um nome de grupo apenas pede a nova " -"palavra passe do group." +"Tranca a palavra passe do utilizador. Isto põe um '!' na frente da palavra " +"passe encriptada, efectivamente desactivando a palavra passe. Você não pode " +"usar esta opção com ou ." -#: gpasswd.1.xml:115(para) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:240 +#, fuzzy +#| msgid "" +#| "Note: if you wish to lock the account (not only access with a password), " +#| "you should also set the EXPIRE_DATE to " +#| "1." msgid "" -"If a password is set the members can still use newgrp1 without a" -" password, and non-members must supply the password." +"Note: if you wish to lock the account (not only access with a password), you " +"should also set the <_:replaceable-1/> to <_:replaceable-2/>." msgstr "" -"Se uma palavra passe for definida os membros podem ainda usar " -"newgrp1 sem uma palavra passe, e os não-membros têm " -"de fornecer a palavra passe." +"Nota: Se deseja trancar uma conta (não apenas acesso com uma palavra passe), " +"você deve também definir EXPIRE_DATE para " +"1." -#: gpasswd.1.xml:123(title) -msgid "Notes about group passwords" -msgstr "Notas acerca de palavras passe de grupo" +#. (itstool) path: term/option +#: usermod.8.xml.out:250 +msgid "--move-home" +msgstr "" -#: gpasswd.1.xml:124(para) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:253 msgid "" -"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." +"moves the content of the user's home directory to the new location. If the " +"current home directory does not exist the new home directory will not be " +"created." msgstr "" -"As palavras passe de grupo são um problema de segurança inerente pois é " -"permitido que mais do que uma pessoa saiba a palavra passe. No entanto, os " -"grupos são uma ferramenta útil para permitir co-operação entre diferentes " -"utilizadores." -#: gpasswd.1.xml:135(para) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:258 +#, fuzzy +#| msgid "" +#| "This option is only valid in combination with the " +#| "option." msgid "" -"Except for the and options, the" -" options cannot be combined." +"This option is only valid in combination with the <_:option-1/> (or <_:" +"option-2/>) option." msgstr "" -"Excepto para as opções e , as opções " -"não podem ser combinadas." +"Esta opção é apenas válida em combinação com a opção ." -#: gpasswd.1.xml:139(para) -msgid "The options cannot be combined." -msgstr "As opções não podem ser combinadas." - -#: gpasswd.1.xml:142(para) -msgid "The options which apply to the gpasswd command are:" -msgstr "As opções que se aplicam ao comando gpasswd são:" - -#: gpasswd.1.xml:147(term) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:262 +#, fuzzy +#| msgid "" +#| "usermod will try to adapt the ownership of the files " +#| "and to copy the modes, ACL and extended attributes, but manual changes " +#| "might be needed afterwards." msgid "" -",  user<" -"/replaceable>" +"<_:command-1/> will try to adapt the ownership of the files and to copy the " +"modes, ACL and extended attributes, but manual changes might be needed " +"afterwards." msgstr "" -",  user<" -"/replaceable>" +"O usermod irá tentar adaptar a posse dos ficheiros e " +"copiar os modos, atributos ACL e estendidos, mas depois disso podem ser " +"precisas alterações manuais." -#: gpasswd.1.xml:151(para) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:274 +#, fuzzy +#| msgid "" +#| "When used with the option, this option allows to " +#| "change the user ID to a non-unique value." +msgid "allows to change the user ID to a non-unique value." +msgstr "" +"Quando usada com a opção , esta opção permite alterar o " +"ID de utilizador para um valor não-único." + +#. (itstool) path: listitem/para +#: usermod.8.xml.out:293 msgid "" -"Add the user to the named group<" -"/replaceable>." +"defines a new password for the user. PASSWORD is expected to be encrypted, " +"as returned by <_:citerefentry-1/>." msgstr "" -"Adiciona o user ao group nomeado." -#: gpasswd.1.xml:160(term) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:298 +#, fuzzy +#| msgid "" +#| "Note: This option is not recommended " +#| "because the password (or encrypted password) will be visible by users " +#| "listing the processes." msgid "" -",  user<" -"/replaceable>" +"<_:emphasis-1/> Avoid this option on the command line because the password " +"(or encrypted password) will be visible by users listing the processes." msgstr "" -",  user<" -"/replaceable>" +"Nota: Esta opção não é recomendada porque " +"a palavra passe (ou palavra passe encriptada) irá ser visível pelos " +"utilizadores que listam os processos." -#: gpasswd.1.xml:164(para) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:303 +#, fuzzy +#| msgid "" +#| "The password will be written in the local /etc/passwd or /etc/shadow file. This might differ " +#| "from the password database configured in your PAM configuration." msgid "" -"Remove the user from the named group<" -"/replaceable>." +"The password will be written in the local <_:filename-1/> or <_:filename-2/> " +"file. This might differ from the password database configured in your PAM " +"configuration." msgstr "" -"Remove o user do group nomeado." +"A palavra passe será escrita no ficheiro local /etc/passwd ou /etc/shadow. Isto pode diferir da base de " +"dados de palavras passe configurada na sua configuração de PAM." -#: gpasswd.1.xml:181(term) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:320 +#, fuzzy +#| msgid "" +#| "Add the user to the supplementary group(s). Use only with the ,  CHROOT_DIR<" -"/replaceable>" +"Remove the user from named supplementary group(s). Use only with the <_:" +"option-1/> option." msgstr "" -",  CHROOT_DIR<" -"/replaceable>" +"Adiciona o utilizador a grupo(s) suplementares. Use apenas com a opção " +"." -#: gpasswd.1.xml:195(term) -msgid ", " -msgstr ", " - -#: gpasswd.1.xml:199(para) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:344 +#, fuzzy +#| msgid "" +#| "Apply changes in the PREFIX_DIR directory and " +#| "use the configuration files from the PREFIX_DIR directory. This option does not chroot and is intended for " +#| "preparing a cross-compilation target. Some limitations: NIS and LDAP " +#| "users/groups are not verified. PAM authentication is using the host " +#| "files. No SELINUX support." msgid "" -"Remove the password from the named group. The" -" group password will be empty. Only group members will be allowed to use <" -"command>newgrp to join the named group." +"Apply changes within the directory tree starting with <_:replaceable-1/> and " +"use as well the configuration files located there. This option does not " +"chroot and is intended for preparing a cross-compilation target. Some " +"limitations: NIS and LDAP users/groups are not verified. PAM authentication " +"is using the host files. No SELINUX support." msgstr "" -"Remove a palavra passe do group nomeado. A " -"palavra passe de grupo ficará vazia. Apenas os membros do grupo terão " -"permissão de usar newgrp para se juntarem ao " -"group nomeado." +"Aplica alterações no directório PREFIX_DIR e usa " +"os ficheiro de configuração do directório PREFIX_DIR. Esta opção não faz chroot e destina-se à preparação de um alvo " +"de compilação cruzada. Algumas limitações: Os utilizadores/grupos NIS e LDAP " +"não são verificados. A autenticação PAM usa os ficheiros do anfitrião. Não " +"há suporte a SELINUX." -#: gpasswd.1.xml:211(term) -msgid ", " -msgstr ", " - -#: gpasswd.1.xml:215(para) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:360 +#, fuzzy +#| msgid "" +#| "The name of the user's new login shell. Setting this field to blank " +#| "causes the system to select the default login shell." msgid "" -"Restrict the access to the named group. The group" -" password is set to \"!\". Only group members with a password will be allowed" -" to use newgrp to join the named group<" -"/replaceable>." +"changes the user's login shell. An empty string for SHELL blanks the field " +"in <_:filename-1/> and logs the user into the system's default shell." msgstr "" -"Restringe o acesso ao group nomeado A palavra " -"passe de grupo é definida para \"!\". Apenas os membros do grupo com uma " -"palavra passe terão permissão de usar newgrp para se " -"juntarem ao group nomeado." +"O nome da shell de login do novo utilizador. Definir este campo para vazio " +"faz com que o sistema selecione a shell de login predefinida." -#: gpasswd.1.xml:227(term) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:372 +#, fuzzy +#| msgid "The new numerical value of the user's ID." +msgid "The new value of the user's ID." +msgstr "O novo valor numérico do ID do utilizador." + +#. (itstool) path: listitem/para +#: usermod.8.xml.out:375 +#, fuzzy +#| msgid "" +#| "This value must be unique, unless the option is used. " +#| "The value must be non-negative." msgid "" -",  user,..." +"This value must be unique, unless the <_:option-1/> option is used. The " +"value must be non-negative." msgstr "" -",  user,..." +"Este valor tem de ser único, a menos que seja usada a opção ,  user<" -"/replaceable>,..." +"The user's mailbox, and any files which the user owns and which are located " +"in the user's home directory will have the file user ID changed " +"automatically." msgstr "" -",  user<" -"/replaceable>,..." +"A pasta de mail do utilizador, e quaisquer ficheiros da posse do utilizador " +"que estejam localizados no directório home do utilizador irão ter o ID de " +"utilizador do ficheiro mudado automaticamente." -#: gpasswd.1.xml:243(para) -msgid "Set the list of group members." -msgstr "Define a lista de membros de grupos." - -#: gpasswd.1.xml:253(para) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:385 msgid "" -"This tool only operates on the /etc/group and /etc/gshadow files.file. Thus you cannot change any" -" NIS or LDAP group. This must be performed on the corresponding server." +"The ownership of files outside of the user's home directory must be fixed " +"manually." msgstr "" -"Esta ferramenta apenas opera nos ficheiros /etc/group" -" e /etc/gshadow. " -"ficheiro. Assim você " -"não pode alterar nenhum grupo NIS ou LDAP. Isto tem de ser feito no servidor " -"correspondente." +"A posse dos ficheiros fora do directório home do utilizador terá que ser " +"corrigido manualmente." -#: gpasswd.1.xml:298(para) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:389 msgid "" -"newgrp1<" -"/citerefentry>, groupadd<" -"manvolnum>8, groupdel8, <" -"citerefentry>groupmod8<" -"/citerefentry>, grpck8, group<" -"/refentrytitle>5, gshadow5." +"The change of the user ownership of files inside of the user's home " +"directory is also not done if the home dir owner uid is different from the " +"current or new user id. This is a safety measure for special home " +"directories such as <_:filename-1/>." msgstr "" -"newgrp1<" -"/citerefentry>, groupadd<" -"manvolnum>8, groupdel8, <" -"citerefentry>groupmod8<" -"/citerefentry>, grpck8, group<" -"/refentrytitle>5, gshadow5." -#: faillog.8.xml:57(refentrytitle) faillog.8.xml:64(refname) faillog.8.xml:70(command) faillog.5.xml:57(refentrytitle) faillog.5.xml:64(refname) faillog.5.xml:111(refentrytitle) -msgid "faillog" -msgstr "faillog" - -#: faillog.8.xml:65(refpurpose) -msgid "display faillog records or set login failure limits" -msgstr "mostra registos faillog ou define limites de falhas de login" - -#: faillog.8.xml:79(para) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:408 +#, fuzzy +#| msgid "" +#| "Unlock a user's password. This removes the '!' in front of the encrypted " +#| "password. You can't use this option with or ." msgid "" -"faillog displays the contents of the failure log database" -" (/var/log/faillog). It can also set the failure" -" counters and limits. When faillog is run without" -" arguments, it only displays the faillog records of the users who had a login" -" failure." +"Unlock a user's password. This removes the '!' in front of the encrypted " +"password. You can't use this option with <_:option-1/> or <_:option-2/>." msgstr "" -"faillog mostra o conteúdo da base de dados de " -"registo de falhas (/var/log/faillog). Também pode " -"definir os contadores e limites de falhas. Quando o faillog é corrido sem argumentos, apenas mostra os registos faillog dos " -"utilizadores que tiveram falhas no login." +"Destranca a palavra passe do utilizador Isto remove o'!' da frente da " +"palavra passe encriptada. Você não pode usar esta opção com ." -#: faillog.8.xml:90(para) -msgid "The options which apply to the faillog command are:" -msgstr "As opções que se aplicam ao comando faillog são:" +#. (itstool) path: para/replaceable +#: usermod.8.xml.out:417 +msgid "99999" +msgstr "" -#: faillog.8.xml:98(para) +#. (itstool) path: listitem/para +#: usermod.8.xml.out:413 +#, fuzzy +#| msgid "" +#| "Note: if you wish to unlock the account (not only access with a " +#| "password), you should also set the EXPIRE_DATE " +#| "(for example to 99999, or to the " +#| " value from /etc/default/useradd)." msgid "" -"Display (or act on) faillog records for all users having an entry in the <" -"filename>faillog database." +"Note: if you wish to unlock the account (not only access with a password), " +"you should also set the <_:replaceable-1/> (for example to <_:replaceable-2/" +">, or to the <_:option-3/> value from <_:filename-4/>)." msgstr "" -"Mostra (ou actua em) registos faillog para todos os utilizadores que tenham " -"uma entrada na base de dados faillog." +"Nota: Se deseja destrancar a conta (não apenas acesso com uma palavra " +"passe), você deve também definir EXPIRE_DATE (por " +"exemplo para 99999, ou o valor ,  UID" +msgid "<_:option-1/>, <_:option-2/> <_:replaceable-3/>-<_:replaceable-4/>" +msgstr "" +",  UID" + +#. (itstool) path: listitem/para +#: usermod.8.xml.out:428 +msgid "Add a range of subordinate uids to the user's account." +msgstr "Adiciona um alcance de uids subordinados à conta do utilizador." + +#. (itstool) path: listitem/para +#: usermod.8.xml.out:431 usermod.8.xml.out:469 +#, fuzzy +#| msgid "" +#| "This option may be specified multiple times to add multiple ranges to a " +#| "users account." msgid "" -"The range of users can be restricted with the option." +"This option may be specified multiple times to add multiple ranges to a " +"user's account." msgstr "" -"A gama de utilizadores pode ser restringida com a opção ." +"Esta opção pode ser especificada várias vezes para adicionar vários alcances " +"à conta de um utilizador." -#: faillog.8.xml:106(para) +#. (itstool) path: para/option +#: usermod.8.xml.out:436 usermod.8.xml.out:456 +msgid "SUB_UID_MIN" +msgstr "" + +#. (itstool) path: para/option +#: usermod.8.xml.out:436 usermod.8.xml.out:456 +#, fuzzy +#| msgid "LASTLOG_UID_MAX" +msgid "SUB_UID_MAX" +msgstr "LASTLOG_UID_MAX" + +#. (itstool) path: para/option +#: usermod.8.xml.out:437 usermod.8.xml.out:457 +msgid "SUB_UID_COUNT" +msgstr "" + +#. (itstool) path: listitem/para +#: usermod.8.xml.out:434 usermod.8.xml.out:454 usermod.8.xml.out:472 +#: usermod.8.xml.out:492 +#, fuzzy +#| msgid "" +#| "No checks will be performed with regard to , " +#| ", or from /etc/" +#| "login.defs." msgid "" -"In display mode, this is still restricted to existing users but forces the" -" display of the faillog entries even if they are empty." +"No checks will be performed with regard to <_:option-1/>, <_:option-2/>, or " +"<_:option-3/> from /etc/login.defs." msgstr "" -"Em modo de mostragem, isto está ainda restrito aos utilizadores existentes " -"mas força a mostragem de entradas faillog mesmo que estas estejam vazias." +"Nenhuma verificação será executada em relação a , ou a " +"partir de /etc/login.defs." -#: faillog.8.xml:111(para) +#. (itstool) path: term/option +#: usermod.8.xml.out:443 +#, fuzzy +#| msgid "-" +msgid "-V" +msgstr "-" + +#. (itstool) path: term/option +#. (itstool) path: para/option +#: usermod.8.xml.out:443 usermod.8.xml.out:451 +msgid "--del-subuids" +msgstr "" + +#. (itstool) path: listitem/para +#: usermod.8.xml.out:446 +msgid "Remove a range of subordinate uids from the user's account." +msgstr "Remove um alcance de uids subordinados à conta do utilizador." + +#. (itstool) path: listitem/para +#: usermod.8.xml.out:449 +#, fuzzy +#| msgid "" +#| "This option may be specified multiple times to remove multiple ranges to " +#| "a users account. When both and are specified, the removal of all subordinate uid " +#| "ranges happens before any subordinate uid range is added." msgid "" -"With the , , , <" -"option>-t options, the users' records are changed, even if the user" -" does not exist on the system. This is useful to reset records of users that" -" have been deleted or to set a policy in advance for a range of users." +"This option may be specified multiple times to remove multiple ranges to a " +"user's account. When both <_:option-1/> and <_:option-2/> are specified, the " +"removal of all subordinate uid ranges happens before any subordinate uid " +"range is added." msgstr "" -"Com as opções , , , " -", os registos dos utilizadores são alterados, mesmo se " -"o utilizador já não existir no sistema. Isto é útil para reiniciar registos " -"de utilizadores que foram apagados ou para definir antecipadamente uma " -"política para uma gama de utilizadores." +"Esta opção pode ser especifica várias vezes para remover vários alcances de " +"uma conta de utilizador. Quando ambas e " +" são especificadas, a remoção de um alcance de " +"uid subordinado acontece antes de se adicionar o alcance de uid subordinado." -#: faillog.8.xml:128(term) +#. (itstool) path: term/option +#. (itstool) path: para/option +#: usermod.8.xml.out:463 usermod.8.xml.out:489 +msgid "--add-subgids" +msgstr "" + +#. (itstool) path: listitem/para +#: usermod.8.xml.out:466 +msgid "Add a range of subordinate gids to the user's account." +msgstr "Adiciona um alcance de gids subordinados à conta do utilizador." + +#. (itstool) path: para/option +#: usermod.8.xml.out:474 usermod.8.xml.out:494 +msgid "SUB_GID_MIN" +msgstr "" + +#. (itstool) path: para/option +#: usermod.8.xml.out:474 usermod.8.xml.out:494 +#, fuzzy +#| msgid "LASTLOG_UID_MAX" +msgid "SUB_GID_MAX" +msgstr "LASTLOG_UID_MAX" + +#. (itstool) path: para/option +#: usermod.8.xml.out:475 usermod.8.xml.out:495 +msgid "SUB_GID_COUNT" +msgstr "" + +#. (itstool) path: term/option +#. (itstool) path: para/option +#: usermod.8.xml.out:481 usermod.8.xml.out:489 +msgid "--del-subgids" +msgstr "" + +#. (itstool) path: listitem/para +#: usermod.8.xml.out:484 +msgid "Remove a range of subordinate gids from the user's account." +msgstr "Remove um alcance de gids subordinados à conta do utilizador." + +#. (itstool) path: listitem/para +#: usermod.8.xml.out:487 +#, fuzzy +#| msgid "" +#| "This option may be specified multiple times to remove multiple ranges to " +#| "a users account. When both and are specified, the removal of all subordinate gid " +#| "ranges happens before any subordinate gid range is added." msgid "" -",  SEC<" -"/replaceable>" +"This option may be specified multiple times to remove multiple ranges to a " +"user's account. When both <_:option-1/> and <_:option-2/> are specified, the " +"removal of all subordinate gid ranges happens before any subordinate gid " +"range is added." msgstr "" -",  SEC<" -"/replaceable>" +"Esta opção pode ser especifica várias vezes para remover vários alcances de " +"uma conta de utilizador. Quando ambas ,  MAX<" -"/replaceable>" +"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, the " +"user's name, or the user's home directory is being changed. <_:command-1/> " +"checks this on Linux. On other operating systems it only uses utmp to check " +"if the user is logged in." msgstr "" -",  MAX<" -"/replaceable>" +"Você tem de certifica que o utilizador nomeado não está a executar nenhum " +"processo quando este comando é executado, se o ID numérico do utilizador, o " +"nome de utilizador ou o directório home do utilizador está ser alterado. O " +"usermod verifica isto em Linux. Nas outras plataformas " +"apenas usa o utmp para verificar seu o utilizador tem sessão iniciada." -#: faillog.8.xml:147(para) +#. (itstool) path: para/command +#: usermod.8.xml.out:544 +msgid "crontab" +msgstr "" + +#. (itstool) path: para/command +#: usermod.8.xml.out:545 +msgid "at" +msgstr "" + +#. (itstool) path: refsect1/para +#: usermod.8.xml.out:543 +#, fuzzy +#| msgid "" +#| "You must change the owner of any crontab files or " +#| "at jobs manually." msgid "" -"Set the maximum number of login failures after the account is disabled to <" -"replaceable>MAX." +"You must change the owner of any <_:command-1/> files or <_:command-2/> jobs " +"manually." msgstr "" -"Define o número máximo de falhas de login para MAX " -"o que após isso desactiva a conta " +"Você tem de alterar a posse de quaisquer ficheiros crontab ou tarefas at manualmente." -#: faillog.8.xml:151(para) +#. (itstool) path: refsect1/para +#: usermod.8.xml.out:547 +msgid "You must make any changes involving NIS on the NIS server." +msgstr "Você tem fazer quaisquer alterações que envolvam NIS no servidor NIS." + +#. (itstool) path: listitem/para +#: usermod.8.xml.out:576 +#, fuzzy +#| msgid "Group account information." +msgid "Group account information" +msgstr "Informação da conta de grupo." + +#. (itstool) path: listitem/para +#: usermod.8.xml.out:582 +#, fuzzy +#| msgid "Secure group account information." +msgid "Secure group account information" +msgstr "Informação da conta de grupo seguro." + +#. (itstool) path: listitem/para +#: usermod.8.xml.out:588 +#, fuzzy +#| msgid "Shadow password suite configuration." +msgid "Shadow password suite configuration" +msgstr "Suite de configuração de palavra passe sombra" + +#. (itstool) path: listitem/para +#: usermod.8.xml.out:594 +#, fuzzy +#| msgid "User account information." +msgid "User account information" +msgstr "Informação da conta de utilizador." + +#. (itstool) path: listitem/para +#: usermod.8.xml.out:600 +#, fuzzy +#| msgid "Secure user account information." +msgid "Secure user account information" +msgstr "Informação da conta de utilizador seguro." + +#. (itstool) path: listitem/para +#: usermod.8.xml.out:606 +#, fuzzy +#| msgid "Per user subordinate group IDs." +msgid "Per user subordinate group IDs" +msgstr "IDs de grupo subordinado por utilizador." + +#. (itstool) path: listitem/para +#: usermod.8.xml.out:612 +#, fuzzy +#| msgid "Per user subordinate user IDs." +msgid "Per user subordinate user IDs" +msgstr "IDs de utilizador subordinado por utilizador." + +#. (itstool) path: refnamediv/refname +#. (itstool) path: cmdsynopsis/command +#. (itstool) path: para/command +#: vipw.8.xml.out:43 vipw.8.xml.out:57 vipw.8.xml.out:67 vipw.8.xml.out:86 +msgid "vigr" +msgstr "vigr" + +#. (itstool) path: refnamediv/refpurpose +#: vipw.8.xml.out:44 +msgid "edit the password, group, shadow-password or shadow-group file" +msgstr "edita o ficheiro password, group, shadow-password ou shadow-group" + +#. (itstool) path: para/envar +#: vipw.8.xml.out:75 +#, fuzzy +#| msgid "VISUAL" +msgid "$VISUAL" +msgstr "VISUAL" + +#. (itstool) path: para/envar +#: vipw.8.xml.out:76 +#, fuzzy +#| msgid "EDITOR" +msgid "$EDITOR" +msgstr "EDITOR" + +#. (itstool) path: citerefentry/refentrytitle +#: vipw.8.xml.out:77 vipw.8.xml.out:205 +#, fuzzy +#| msgid "vipw" +msgid "vi" +msgstr "vipw" + +#. (itstool) path: refsect1/para +#: vipw.8.xml.out:66 +#, fuzzy +#| msgid "" +#| "The vipw and vigr commands edits " +#| "the files /etc/passwd and /etc/group, respectively. With the flag, they will " +#| "edit the shadow versions of those files, /etc/shadow " +#| "and /etc/gshadow, respectively. The programs will " +#| "set the appropriate locks to prevent file corruption. When looking for an " +#| "editor, the programs will first try the environment variable " +#| "$VISUAL, then the environment variable $EDITOR, and finally the default editor, vi1." msgid "" -"Selecting a MAX value of 0 has the effect of not" -" placing a limit on the number of failed logins." +"The <_:command-1/> and <_:command-2/> commands edit the files <_:filename-3/" +"> and <_:filename-4/>, respectively. With the <_:option-5/> flag, they will " +"edit the shadow versions of those files, <_:filename-6/> and <_:filename-7/" +">, respectively. The programs will set the appropriate locks to prevent file " +"corruption. When looking for an editor, the programs will first try the " +"environment variable <_:envar-8/>, then the environment variable <_:envar-9/" +">, and finally the default editor, <_:citerefentry-10/>." msgstr "" -"Selecionar um valor MAX de o tem o efeito de " -"não impor um limite ao número de logins falhados." +"Os comandos vipw e vigr editam os " +"ficheiros /etc/passwd e /etc/group, respetivamente. Com a bandeira , eles irão " +"editar as versões sombra desses ficheiros, /etc/shadow " +"e /etc/gshadow, respetivamente. Os programas irão " +"definir as trancas apropriadas para prevenir a corrupção dos ficheiros. " +"Quando se tranca para um editor, os programas irão primeiro tentar a " +"variável de ambiente $VISUAL, depois a variável de ambiente " +"$EDITOR, e finalmente o editor predefinido, " +"vi1." -#: faillog.8.xml:156(para) +#. (itstool) path: refsect1/para +#: vipw.8.xml.out:84 +#, fuzzy +#| msgid "" +#| "The options which apply to the passwd command are:" msgid "" -"The maximum failure count should always be 0 for root to" -" prevent a denial of services attack against the system." +"The options which apply to the <_:command-1/> and <_:command-2/> commands " +"are:" +msgstr "As opções que se aplicam ao comando passwd são:" + +#. (itstool) path: listitem/para +#: vipw.8.xml.out:92 +msgid "Edit group database." +msgstr "Edita a base de dados de grupos." + +#. (itstool) path: term/option +#: vipw.8.xml.out:102 +#, fuzzy +#| msgid "passwd" +msgid "--passwd" +msgstr "passwd" + +#. (itstool) path: listitem/para +#: vipw.8.xml.out:104 +msgid "Edit passwd database." +msgstr "Edita a base de dados passwd." + +#. (itstool) path: term/option +#: vipw.8.xml.out:127 +#, fuzzy +#| msgid "shadow" +msgid "--shadow" +msgstr "shadow" + +#. (itstool) path: listitem/para +#: vipw.8.xml.out:129 +msgid "Edit shadow or gshadow database." +msgstr "Edita a base de dados shadow ou gshadow." + +#. (itstool) path: listitem/para +#: vipw.8.xml.out:135 +msgid "Indicates which user's tcb shadow file to edit." +msgstr "Indica qual o ficheiro shadow de utilizador tcb a editar." + +#. (itstool) path: refsect1/title +#: vipw.8.xml.out:154 +msgid "ENVIRONMENT" +msgstr "AMBIENTE" + +#. (itstool) path: term/option +#. (itstool) path: para/option +#: vipw.8.xml.out:157 vipw.8.xml.out:165 +msgid "VISUAL" +msgstr "VISUAL" + +#. (itstool) path: listitem/para +#: vipw.8.xml.out:159 +msgid "Editor to be used." +msgstr "O editor a ser usado." + +#. (itstool) path: term/option +#: vipw.8.xml.out:163 +msgid "EDITOR" +msgstr "EDITOR" + +#. (itstool) path: listitem/para +#: vipw.8.xml.out:165 +#, fuzzy +#| msgid "Editor to be used if is not set." +msgid "Editor to be used if <_:option-1/> is not set." +msgstr "O editor a ser usado se não estiver definida." + +#. (itstool) path: citerefentry/refentrytitle +#: vipw.8.xml.out:220 +msgid "tcb" msgstr "" -"O contador máximo de falhas deve ser sempre 0 para o root para prevenir um ataque de negação de serviços contra o sistema." -#: faillog.8.xml:168(term) -msgid ", " -msgstr ", " - -#: faillog.8.xml:170(para) -msgid "Reset the counters of login failures." -msgstr "Reinicia os contadores das falhas de login." - -#: faillog.8.xml:195(para) +#. (itstool) path: refsect1/para +#: vipw.8.xml.out:203 msgid "" -"Display faillog records more recent than DAYS." +"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/> <_:" +"citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/>, <_:" +"citerefentry-7/>." msgstr "" -"Mostra registos faillog mais recentes que DAYS." -#: faillog.8.xml:206(para) -msgid "" -"Display faillog record or maintains failure counters and limits (if used with" -" , or options)" -" only for the specified user(s)." -msgstr "" -"Mostra o registo faillog ou mantém contadores e limites de falha (se usado " -"com as opções , ou " -") apenas para os utilizadores especificados." +#~ msgid ", " +#~ msgstr ", " -#: faillog.8.xml:224(para) -msgid "" -"When none of the , , or , , ou " -" é usada, faillog mostra o registo " -"record dos utilizadores especificados." +#~ msgid ", " +#~ msgstr ", " -#: faillog.8.xml:233(para) -msgid "" -"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 <" -"option>-u flag, or print out all users with the " -" flag." -msgstr "" -"faillog apenas escreve utilizadores com login sem sucesso " -"desde a última falha. Para mostrar um utilizador que teve um login com " -"sucesso desde a sua última falha, você tem que explicitamente requisitar " -"o utilizador com a bandeira , ou mostrar todos os " -"utilizadores com a bandeira ." +#~ msgid ", " +#~ msgstr ", " -#: faillog.8.xml:246(filename) faillog.5.xml:99(filename) -msgid "/var/log/faillog" -msgstr "/var/log/faillog" +#~ msgid ", " +#~ msgstr ", " -#: faillog.8.xml:248(para) faillog.5.xml:101(para) -msgid "Failure logging file." -msgstr "Ficheiro de registo de falhas." +#~ msgid "" +#~ ",  " +#~ "CHROOT_DIR" +#~ msgstr "" +#~ ",  " +#~ "CHROOT_DIR" -#: faillog.8.xml:256(para) -msgid "" -"login1<" -"/citerefentry>, faillog<" -"manvolnum>5." -msgstr "" -"login1<" -"/citerefentry>, faillog<" -"manvolnum>5." +#~ msgid ", " +#~ msgstr ", " -#: faillog.5.xml:65(refpurpose) -msgid "login failure logging file" -msgstr "ficheiro de registo de falhas de login" +#~ msgid ", " +#~ msgstr ", " -#: faillog.5.xml:70(para) -msgid "" -"/var/log/faillog maintains a count of login failures and" -" the limits for each account." -msgstr "" -"/var/log/faillog mantém uma contagem de falhas de " -"login e os limites de cada conta." +#~ msgid " (boolean)" +#~ msgstr " (booleano)" -#: faillog.5.xml:74(para) -msgid "" -"The file contains fixed length records, 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 on which" -" the last login failure occurred; the date of the last login failure; and the" -" duration (in seconds) during which the account will be locked after a" -" failure." -msgstr "" -"O ficheiro contém registos de comprimento fixo, indexados pelo UID numérico. " -"Cada registo contém a contagem de falhas de login desde o último login " -"com sucesso; o número máximo da falhas antes da conta ser desativada; a " -"linha na qual a última falha de login ocorreu; a data da última falha de " -"login; e a duração (em segundos) durante a conta ficará trancada após " -"uma falha." +#~ msgid "" +#~ "If yes, the tcb5 password shadowing " +#~ "scheme will be used." +#~ msgstr "" +#~ "Se yes, será usado esquema " +#~ "tcb5 para sombrear a palavra passe." -#: faillog.5.xml:84(para) -msgid "The structure of the file is:" -msgstr "A estrutura do ficheiro é:" +#~ msgid "" +#~ "vi1, group5, " +#~ "gshadow5login.defs5, passwd5, tcb5, shadow5." +#~ msgstr "" +#~ "vi1, group5, " +#~ "gshadow5login.defs5, passwd5, tcb5, shadow5." + +#~ msgid "" +#~ "The usermod command modifies the system account files " +#~ "to reflect the changes that are specified on the command line." +#~ msgstr "" +#~ "O comando usermod modifica os ficheiros de conta do " +#~ "sistema para refletor as alterações que foram especificadas na linha de " +#~ "comandos." + +#~ msgid "" +#~ "The options which apply to the usermod command are:" +#~ msgstr "As opções que se aplicam ao comando usermod são:" + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid "" +#~ ",  " +#~ "COMMENT" +#~ msgstr "" +#~ ",  " +#~ "COMMENT" + +#~ msgid "" +#~ "The new value of the user's password file comment field. It is normally " +#~ "modified using the chfn1 utility." +#~ msgstr "" +#~ "O novo valor do campo de comentários do ficheiro password do utilizador. " +#~ "E normalmente modificado usando o utilitário " +#~ "chfn1." + +#~ msgid "" +#~ ",  HOME_DIR" +#~ msgstr "" +#~ ",  HOME_DIR" + +#~ msgid "" +#~ ",  " +#~ "EXPIRE_DATE" +#~ msgstr "" +#~ ",  " +#~ "EXPIRE_DATE" + +#~ msgid "" +#~ "An empty EXPIRE_DATE argument will disable the " +#~ "expiration of the account." +#~ msgstr "" +#~ "Um argumento EXPIRE_DATE vazio irá desactivar " +#~ "o expirar da conta." + +#~ msgid "" +#~ ",  " +#~ "INACTIVE" +#~ msgstr "" +#~ ",  " +#~ "INACTIVE" + +#~ msgid "" +#~ "The number of days after a password expires until the account is " +#~ "permanently disabled." +#~ msgstr "" +#~ "O número de dias após uma palavra-passe expirar até que a conta seja " +#~ "desactivada permanentemente." + +#~ msgid "" +#~ "A value of 0 disables the account as soon as the password has expired, " +#~ "and a value of -1 disables the feature." +#~ msgstr "" +#~ "Um valor de 0 desactiva a conta assim que a palavra-passe expirar, e um " +#~ "valor -1 desactiva esta funcionalidade." + +#~ msgid "" +#~ ",  GROUP" +#~ msgstr "" +#~ ",  GROUP" + +#~ msgid "" +#~ ",  GROUP1[,GROUP2,...[,GROUPN]]]" +#~ msgstr "" +#~ ",  GROUP1[,GROUP2,...[,GROUPN]]]" + +#~ msgid "" +#~ ",  " +#~ "NEW_LOGIN" +#~ msgstr "" +#~ ",  " +#~ "NEW_LOGIN" + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid "Move the content of the user's home directory to the new location." +#~ msgstr "" +#~ "Move o conteúdo do directório home do utilizador para a nova localização." + +#~ msgid "" +#~ "This option is only valid in combination with the (or " +#~ ") option." +#~ msgstr "" +#~ "Esta opção é apenas válida em combinação com a opção " +#~ "(ou )." + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid "" +#~ ",  " +#~ "PASSWORD" +#~ msgstr "" +#~ ",  " +#~ "PASSWORD" + +#~ msgid "" +#~ "The encrypted password, as returned by " +#~ "crypt3." +#~ msgstr "" +#~ "A palavra passe encriptada, como retornada por " +#~ "crypt3." + +#~ msgid "" +#~ ",  " +#~ "PREFIX_DIR" +#~ msgstr "" +#~ ",  " +#~ "PREFIX_DIR" + +#~ msgid "" +#~ ",  SHELL" +#~ msgstr "" +#~ ",  SHELL" + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid "" +#~ ",  " +#~ "FIRST-LAST" +#~ msgstr "" +#~ ",  " +#~ "FIRST-LAST" + +#~ msgid "" +#~ ",  " +#~ "FIRST-LAST" +#~ msgstr "" +#~ ",  " +#~ "FIRST-LAST" + +#~ msgid "" +#~ ",  " +#~ "FIRST-LAST" +#~ msgstr "" +#~ ",  " +#~ "FIRST-LAST" + +#~ msgid "" +#~ "No checks will be performed with regard to , " +#~ ", or from /etc/" +#~ "login.defs." +#~ msgstr "" +#~ "Nenhuma verificação será executada em relação a , ou " +#~ "a partir de /etc/login.defs." + +#~ msgid "" +#~ ",  " +#~ "FIRST-LAST" +#~ msgstr "" +#~ ",  " +#~ "FIRST-LAST" + +#~ msgid "" +#~ ",  " +#~ "SEUSER" +#~ msgstr "" +#~ ",  " +#~ "SEUSER" + +#~ msgid "The new SELinux user for the user's login." +#~ msgstr "O novo utilizador SELinux para o login do utilizador." + +#~ msgid "" +#~ "A blank SEUSER will remove the SELinux user " +#~ "mapping for user LOGIN (if any)." +#~ msgstr "" +#~ "Um SEUSER vazio irá remover o mapeamento de " +#~ "utilizador SELinux para i utilizador LOGIN (se " +#~ "existir algum)." + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid "" +#~ "Highest user ID number for which the lastlog entries should be updated. " +#~ "As higher user IDs are usually tracked by remote user identity and " +#~ "authentication services there is no need to create a huge sparse lastlog " +#~ "file for them." +#~ msgstr "" +#~ "Número de ID de utilizador mais alto para o qual as entradas em lastlog " +#~ "devem ser atualizadas. Como os IDs de utilizador altos são geralmente " +#~ "acompanhados de identidade de utilizador remoto e serviços de " +#~ "autenticação, não há necessidade de criar um ficheiro lastlog enorme e " +#~ "disperso para eles." + +#~ msgid "" +#~ "No option present in the configuration " +#~ "means that there is no user ID limit for writing lastlog entries." +#~ msgstr "" +#~ "Nenhuma opção presente na configuração " +#~ "significa que não há nenhum limite de ID de utilizador para escrever " +#~ "entradas no lastlog." + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid "" +#~ "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." +#~ msgstr "" +#~ "O directório de pasta de mail. Isto é preciso para manipular a caixa de " +#~ "correio quando a sua conta de utilizador correspondente é modificada ou " +#~ "apagada. Se não for especificado, é usado um tempo-de-compilação " +#~ "predefinido." + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid "" +#~ "Defines the location of the users mail spool files relatively to their " +#~ "home directory." +#~ msgstr "" +#~ "Defina a localização dos ficheiros de pasta de mail do utilizador " +#~ "relativamente ao seu directório home." + +#~ msgid "" +#~ "The and variables " +#~ "are used by useradd, usermod, and " +#~ "userdel to create, move, or delete the user's mail " +#~ "spool." +#~ msgstr "" +#~ "As variáveis e são " +#~ "usadas por useradd, usermod, e " +#~ "userdel para criar, mover, ou apagar a pasta de mail " +#~ "do utilizador." + +#~ msgid "" +#~ "If is set to yes, they are also used to define the MAIL " +#~ "environment variable." +#~ msgstr "" +#~ "Se for definido para yes, são também usadas para definir a variável de ambiente " +#~ "MAIL." + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid "" +#~ "Maximum members per group entry. When the maximum is reached, a new group " +#~ "entry (line) is started in /etc/group (with the same " +#~ "name, same password, and same GID)." +#~ msgstr "" +#~ "Máximo de membros por entrada de grupo. Quando o máximo é atingido, é " +#~ "começada um entrada (linha) para novo grupo em /etc/group (com o mesmo nome, mesma palavra passe, e mesmo GID)." + +#~ msgid "" +#~ "The default value is 0, meaning that there are no limits in the number of " +#~ "members in a group." +#~ msgstr "" +#~ "O valor predefinido é 0, que significa que não há limites no número de " +#~ "membros de um grupo." + +#~ msgid "" +#~ "This feature (split group) permits to limit the length of lines in the " +#~ "group file. This is useful to make sure that lines for NIS groups are not " +#~ "larger than 1024 characters." +#~ msgstr "" +#~ "esta funcionalidade (dividir grupo) permite limitar a quantidade de " +#~ "linhas num ficheiro de grupo. Isto é útil para certificar que as linhas " +#~ "para grupos NIS não são maiores que 1024 caracteres." + +#~ msgid "If you need to enforce such limit, you can use 25." +#~ msgstr "Se você deseja impor tal limite, você pode usar 25." + +#~ msgid "" +#~ "Note: split groups may not be supported by all tools (even in the Shadow " +#~ "toolsuite). You should not use this variable unless you really need it." +#~ msgstr "" +#~ "Nota: a divisão de grupos pode não ser suportada por todas as ferramentas " +#~ "(mesmo na suite de ferramentas do Shadow). Você não deve usar esta " +#~ "variável a menos que realmente precise dela." + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid "" +#~ "If /etc/subuid exists, the commands " +#~ "useradd and newusers (unless the " +#~ "user already have subordinate group IDs) allocate to " +#~ " for each new user." +#~ msgstr "" +#~ "Se /etc/subuid existir, os comandos " +#~ "useradd e newusers (a menos que o " +#~ "utilizador já tenha IDs de grupo subordinado) alocam " +#~ " IDs de grupo não usados dentro do alcance " +#~ " até para cada " +#~ "novo utilizador." + +#~ msgid "" +#~ "The default values for , are respectively 100000, " +#~ "600100000 and 65536." +#~ msgstr "" +#~ "Os valores predefinidos para , " +#~ ", são " +#~ "respetivamente 100000, 600100000 e 65536." + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid "" +#~ "If /etc/subuid exists, the commands " +#~ "useradd and newusers (unless the " +#~ "user already have subordinate user IDs) allocate to " +#~ " for each new user." +#~ msgstr "" +#~ "Se /etc/subuid existir, os comandos " +#~ "useradd e newusers (a menos que o " +#~ "utilizador já tenha IDs de utilizador subordinado) alocam " +#~ " IDs de utilizador não usados dentro do " +#~ "alcance de até " +#~ "para cada novo utilizador." + +#~ msgid "" +#~ "The default values for , are respectively 100000, " +#~ "600100000 and 65536." +#~ msgstr "" +#~ "Os valores predefinidos para , " +#~ ", são " +#~ "respetivamente 100000, 600100000 e 65536." + +#~ msgid " (boolean)" +#~ msgstr " (booleano)" -#: faillog.5.xml:85(programlisting) #, no-wrap -msgid "" -"\nstruct\tfaillog {\n\tshort fail_cnt;\n\tshort fail_max;\n\tchar " -" fail_line[12];\n\ttime_t fail_time;\n\tlong fail_locktime;\n};" -msgstr "" -"\nstruct\tfaillog {\n\tshort fail_cnt;\n\tshort fail_max;\n\tchar " -" fail_line[12];\n\ttime_t fail_time;\n\tlong fail_locktime;\n};" - -#: expiry.1.xml:45(contrib) chsh.1.xml:44(contrib) chfn.1.xml:44(contrib) chage.1.xml:42(contrib) -msgid "Creation, 1990" -msgstr "Criação, 1990" - -#: expiry.1.xml:61(refentrytitle) expiry.1.xml:68(refname) expiry.1.xml:74(command) -msgid "expiry" -msgstr "expiry" - -#: expiry.1.xml:69(refpurpose) -msgid "check and enforce password expiration policy" -msgstr "verifica e reforça a política de expiração da palavra passe" - -#: expiry.1.xml:83(para) -msgid "" -"The expiry command checks () the" -" current password expiration and forces () changes when" -" required. It is callable as a normal user command." -msgstr "" -"O comando expiry verifica () a " -"expiração da palavra passe actual e força () alterações " -"quando requerido. Pode ser chamado como comando de utilizador normal." - -#: expiry.1.xml:92(para) -msgid "The options which apply to the expiry command are:" -msgstr "As opções que se aplicam ao comando expiry são:" - -#: expiry.1.xml:97(term) -msgid ", " -msgstr ", " - -#: expiry.1.xml:99(para) -msgid "Check the password expiration of the current user." -msgstr "Verifica a expiração da palavra passe do utilizador actual." - -#: expiry.1.xml:105(para) -msgid "Force a password change if the current user has an expired password." -msgstr "" -"Força a mudança da palavra passe se o utilizador actual tem uma palavra " -"passe expirada." - -#: expiry.1.xml:140(para) chage.1.xml:318(para) -msgid "" -"passwd5<" -"/citerefentry>, shadow5." -msgstr "" -"passwd5<" -"/citerefentry>, shadow5." - -#: chsh.1.xml:68(refpurpose) -msgid "change login shell" -msgstr "muda a shell de login" - -#: chsh.1.xml:85(para) -msgid "" -"The chsh command changes the user login shell. This" -" determines the name of the user's initial login command. A normal user may" -" only change the login shell for her own account; the superuser may change" -" the login shell for any account." -msgstr "" -"O comando chsh muda a shell de login do utilizador. " -"Isto determina o nome do comando de login inicial. Um utilizador normal " -"pode apenas mudar a shell de login para a sua própria conta; o " -"super-utilizador pode mudar a shell de login para qualquer conta." - -#: chsh.1.xml:96(para) -msgid "The options which apply to the chsh command are:" -msgstr "As opções que se aplicam ao comando chsh são:" - -#: chsh.1.xml:130(para) -msgid "" -"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." -msgstr "" -"Se a opção não for selecionada, o chsh " -"opera em modo interactivo, pedindo ao utilizador a shell de login actual. " -"Insira novo valor para mudar a shell, ou deixe a linha em branco para usar " -"a actual. A shell actual é mostrada entre um para de parêntesis rectos " -"[ ]." - -#: chsh.1.xml:141(para) -msgid "" -"The only restriction placed on the login shell is that the command name must" -" be listed in /etc/shells, unless the invoker is the" -" superuser, and then any value may be added. An account with a restricted" -" login shell may not change her login shell. For this reason, placing <" -"filename>/bin/rsh in /etc/shells is" -" discouraged since accidentally changing to a restricted shell would prevent" -" the user from ever changing her login shell back to its original value." -msgstr "" -"A única restrição colocada na shell de login é que o nome de comando " -"tem de estar listado em /etc/shells, a menos que o " -"invocador seja o super-utilizador, e assim qualquer valor pode ser " -"adicionado. Uma conta com uma shell de login restringida não pode mudar " -"a sua shell de login. Por esta razão, colocar /bin/rsh " -"em /etc/shells é desencorajado a mudança acidental " -"para uma shell restringida iria impedir o utilizador de alguma vez voltar a " -"mudar a sua shell de login para o seu valor original." - -#: chsh.1.xml:176(filename) -msgid "/etc/shells" -msgstr "/etc/shells" - -#: chsh.1.xml:178(para) -msgid "List of valid login shells." -msgstr "Lista de shells de login válidas." - -#: chsh.1.xml:192(para) -msgid "" -"chfn1<" -"/citerefentry>, login.defs<" -"manvolnum>5, passwd<" -"/refentrytitle>5." -msgstr "" -"chfn1<" -"/citerefentry>, login.defs<" -"manvolnum>5, passwd<" -"/refentrytitle>5." - -#: chpasswd.8.xml:69(refpurpose) -msgid "update passwords in batch mode" -msgstr "actualiza palavras passe em modo de lote" - -#: chpasswd.8.xml:83(para) -msgid "" -"The chpasswd command reads a list of user name and" -" password pairs from standard input and uses this information to update a" -" group of existing users. Each line is of the format:" -msgstr "" -"O comando chpasswd lê uma lista de pares de nome de " -"utilizador e palavra passe a partir da entrada standard e usa esta informação " -"para actualizar um grupo de utilizadores existentes. Cada linha tem o formato:" - -#: chpasswd.8.xml:88(para) -msgid "" -"user_name:password<" -"/emphasis>" -msgstr "" -"user_name:password<" -"/emphasis>" - -#: chpasswd.8.xml:92(para) -msgid "" -"By default the passwords must be supplied in clear-text, and are encrypted by" -" chpasswd. Also the password age will be updated, if" -" present." -msgstr "" -"Por predefinição as palavras passe têm de ser fornecidas em texto simples, " -"e são encriptadas pelo chpasswd. A idade da palavra " -"passe também será actualizada, se estiver presente." - -#: chpasswd.8.xml:97(para) -msgid "" -"The default encryption algorithm can be defined for the system with the <" -"option>ENCRYPT_METHOD or variables" -" of /etc/login.defs, and can be overwritten with the <" -"option>-e, , or options." -msgstr "" -"O algoritmo de encriptação predefinido pode ser definido para o sistema " -"com as variáveis ou " -" de /etc/login.defs, " -"e pode ser sobreposto com as opções , , " -"ou ." - -#: chpasswd.8.xml:105(para) -msgid "" -"By default, passwords are encrypted by PAM, but (even if not recommended) you" -" can select a different encryption method with the , <" -"option>-m, or options." -msgstr "" -"Por predefinição, as palavras passe são encriptadas pelo PAM, mas (mesmo que " -"não recomendado) você pode selecionar um método de encriptação diferente " -"com as opções , , ou " -"." - -#: chpasswd.8.xml:111(para) -msgid "" -"Except when PAM is used to encrypt the passwords,<" -"/phrase>chpasswd first updates all the passwords in" -" memory, and then commits all the changes to disk if no errors occurred for" -" any user." -msgstr "" -"Excepto quando o PAM é usado para encriptar as " -"palavras passe, o chpasswd primeiro actualiza " -"todas as palavras passe em memória, e depois guarda todas as alterações " -"no disco, se não ocorrerem erros para nenhum utilizador." - -#: chpasswd.8.xml:117(para) -msgid "" -"When PAM is used to encrypt the passwords (and update the passwords in the" -" system database) then if a password cannot be updated chpasswd<" -"/command> continues updating the passwords of the next users, and will return" -" an error code on exit." -msgstr "" -"Quando o PAM é usado para encriptar as palavras passe (e actualizar as " -"palavras passe na base de dados do sistema) então se uma palavra passe " -"não puder ser actualizada o chpasswd continua a " -"actualizar as palavras passe dos próximos utilizadores, e irá retornar um " -"código de erro ao terminar." - -#: chpasswd.8.xml:123(para) chgpasswd.8.xml:98(para) -msgid "" -"This command is intended to be used in a large system environment where many" -" accounts are created at a single time." -msgstr "" -"Este comando destina-se a ser usado num ambiente de sistema grande onde " -"muitas contas são criadas de uma só vez." - -#: chpasswd.8.xml:131(para) -msgid "The options which apply to the chpasswd command are:" -msgstr "As opções que se aplicam ao comando chpasswd são:" - -#: chpasswd.8.xml:137(term) -msgid "" -",  METHOD" -msgstr "" -",  METHOD" - -#: chpasswd.8.xml:142(para) chgpasswd.8.xml:115(para) -msgid "The available methods are DES, MD5, and NONE." -msgstr "Os métodos disponíveis são DES, MD5, e NONE." - -#: chpasswd.8.xml:149(para) -msgid "By default, PAM is used to encrypt the passwords." -msgstr "Por predefinição, é usado o PAM para encriptar as palavras passe." - -#: chpasswd.8.xml:152(para) -msgid "" -"By default (if none of the , , or <" -"option>-e options are specified), the encryption method is defined" -" by the or " -" variables of /etc/login.defs." -msgstr "" -"Por predefinição (se nenhuma da opções , for especificada), o método de encriptação " -"é definido pelas variáveis ou " -" de /etc/login.defs." - -#: chpasswd.8.xml:163(term) chgpasswd.8.xml:125(term) -msgid ", " -msgstr ", " - -#: chpasswd.8.xml:165(para) chgpasswd.8.xml:127(para) -msgid "Supplied passwords are in encrypted form." -msgstr "Palavras passe fornecidas estão em formato encriptado." - -#: chpasswd.8.xml:179(term) chgpasswd.8.xml:137(term) -msgid ", " -msgstr ", " - -#: chpasswd.8.xml:181(para) chgpasswd.8.xml:139(para) -msgid "" -"Use MD5 encryption instead of DES when the supplied passwords are not" -" encrypted." -msgstr "" -"Usa encriptação MD5 em vez de DES quando as palavras passe fornecidas " -"não estão encriptadas." - -#: chpasswd.8.xml:200(term) -msgid "" -",  ROUNDS<" -"/replaceable>" -msgstr "" -",  ROUNDS<" -"/replaceable>" - -#: chpasswd.8.xml:219(para) -msgid "" -"By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and " -" variables in /etc/login.defs." -msgstr "" -"Por predefinição, o número de rondas é definido pelas variáveis SHA_CRYPT_MIN_ROUNDS e " -"em /etc/login.defs." - -#: chpasswd.8.xml:232(para) chgpasswd.8.xml:187(para) -msgid "" -"Remember to set permissions or umask to prevent readability of unencrypted" -" files by other users." -msgstr "" -"Lembre-se de definir permissões ou umask para impedir a leitura de ficheiros " -"não encriptados por outros utilizadores." - -#: chpasswd.8.xml:276(filename) -msgid "/etc/pam.d/chpasswd" -msgstr "/etc/pam.d/chpasswd" - -#: chpasswd.8.xml:278(para) -msgid "PAM configuration for chpasswd." -msgstr "Configuração PAM para chpasswd." - -#: chpasswd.8.xml:286(para) -msgid "" -"passwd1<" -"/citerefentry>, newusers<" -"manvolnum>8, login.defs5, useradd8." -msgstr "" -"passwd1<" -"/citerefentry>, newusers<" -"manvolnum>8, login.defs5, useradd8." - -#: chgpasswd.8.xml:47(contrib) -msgid "Creation, 2006" -msgstr "Criação, 2006" - -#: chgpasswd.8.xml:65(refpurpose) -msgid "update group passwords in batch mode" -msgstr "actualiza palavras passe de grupo em modo de lote" - -#: chgpasswd.8.xml:79(para) -msgid "" -"The chgpasswd command reads a list of group name and" -" password pairs from standard input and uses this information to update a set" -" of existing groups. Each line is of the format:" -msgstr "" -"O comando chgpasswd lê uma lista de pares de nome de " -"grupo e palavra passe a partir da entrada standard e usa esta informação " -"para actualizar um conjunto de grupos existentes Cada linha tem o formato:" - -#: chgpasswd.8.xml:84(para) -msgid "" -"group_name:password<" -"/emphasis>" -msgstr "" -"group_name:password<" -"/emphasis>" - -#: chgpasswd.8.xml:88(para) -msgid "" -"By default the supplied password must be in clear-text, and is encrypted by <" -"command>chgpasswd." -msgstr "" -"Por predefinição a palavra passe fornecida tem de estar em texto simples, e " -"é encriptada pelo chgpasswd." - -#: chgpasswd.8.xml:92(para) -msgid "" -"The default encryption algorithm can be defined for the system with the <" -"option>ENCRYPT_METHOD variable of /etc/login.defs<" -"/filename>, and can be overwritten with the , options." -msgstr "" -"O algoritmo de encriptação predefinido pode ser definido para o sistema com a " -"variável de /etc/login.defs<" -"/filename>, e pode ser sobreposto com as opções , " -", ou ." - -#: chgpasswd.8.xml:106(para) -msgid "" -"The options which apply to the chgpasswd command are:" -msgstr "As opções que se aplicam ao comando chgpasswd são:" - -#: chgpasswd.8.xml:238(para) -msgid "" -"gpasswd1<" -"/citerefentry>, groupadd<" -"manvolnum>8, login.defs5." -msgstr "" -"gpasswd1<" -"/citerefentry>, groupadd<" -"manvolnum>8, login.defs5." - -#: chfn.1.xml:68(refpurpose) -msgid "change real user name and information" -msgstr "muda o nome e informação do utilizador real" - -#: chfn.1.xml:85(para) -msgid "" -"The chfn command changes user fullname, office room" -" number, office phone number, and home phone number information for a user's" -" account. This information is typically printed by <" -"refentrytitle>finger1" -" and similar programs. A normal user may only change the fields for her own" -" account, subject to the restrictions in /etc/login.defs. (The default configuration is to prevent users from changing their" -" fullname.) The superuser may change any field for any account. Additionally," -" only the superuser may use the option to change the" -" undefined portions of the GECOS field." -msgstr "" -"O comando chfn muda a informação do nome completo do " -"utilizador, o número do quarto de escritório, número de telefone do " -"escritório, e número de telefone de casa para a conta de um utilizador. Esta " -"informação é tipicamente mostrada pelo finger1 e programas " -"semelhantes. Um utilizador normal apenas pode modificar os campos da sua " -"própria conta, sujeito às restrições em /etc/login.defs. " -"(A configuração predefinida serve para prevenir os utilizadores de mudarem " -"o seu nome completo.) O super-utilizador pode mudar qualquer campo em " -"qualquer conta. Adicionalmente apenas o super-utilizador pode usar a opção " -" para mudar as porções não definidas do campo GECOS." - -#: chfn.1.xml:99(para) -msgid "" -"These fields must not contain any colons. Except for the other field, they should not contain any comma or" -" equal sign. It is also recommended to avoid non-US-ASCII characters, but" -" this is only enforced for the phone numbers. The other field is used to store accounting information used by other" -" applications." -msgstr "" -"Estes campos não podem conter símbolos de dois pontos. Excepto no campo " -"other, não podem conter nenhuma vírgula " -"nem o sinal de igual. É também recomendado evitar caracteres não US-ASCII, " -"mas isto apenas é forçado para os números de telefone. O campo " -"other é usado para guardar informação da " -"conta usada por outras aplicações." - -#: chfn.1.xml:112(para) -msgid "The options which apply to the chfn command are:" -msgstr "As opções que se aplicam ao comando chfn são:" - -#: chfn.1.xml:117(term) -msgid "" -",  FULL_NAME" -msgstr "" -",  FULL_NAME" - -#: chfn.1.xml:121(para) -msgid "Change the user's full name." -msgstr "Muda o nome completo do utilizador." - -#: chfn.1.xml:125(term) -msgid "" -",  HOME_PHONE" -msgstr "" -",  HOME_PHONE" - -#: chfn.1.xml:129(para) -msgid "Change the user's home phone number." -msgstr "Muda o número de telefone de casa do utilizador." - -#: chfn.1.xml:133(term) -msgid "" -",  OTHER<" -"/replaceable>" -msgstr "" -",  OTHER<" -"/replaceable>" - -#: chfn.1.xml:137(para) -msgid "" -"Change the user's other GECOS information. This field is used to store" -" accounting information used by other applications, and can be changed only" -" by a superuser." -msgstr "" -"Muda a \"outra\" informação GECOS do utilizador. Este campo é usado para " -"guardar informação de conta usada por outras aplicações, e só pode ser " -"mudada por um super-utilizador." - -#: chfn.1.xml:145(term) -msgid "" -",  ROOM_NUMBER<" -"/replaceable>" -msgstr "" -",  ROOM_NUMBER<" -"/replaceable>" - -#: chfn.1.xml:149(para) -msgid "Change the user's room number." -msgstr "Muda o número de quarto do utilizador." - -#: chfn.1.xml:165(term) -msgid ", " -msgstr ", " - -#: chfn.1.xml:173(term) -msgid "" -",  WORK_PHONE" -msgstr "" -",  WORK_PHONE" - -#: chfn.1.xml:177(para) -msgid "Change the user's office phone number." -msgstr "Muda o número de telefone do escritório do utilizador." - -#: chfn.1.xml:181(para) -msgid "" -"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 <" -"emphasis remap=\"B\">[ ] marks. Without options, chfn<" -"/command> prompts for the current user account." -msgstr "" -"Se nenhuma das opções for selecionada, o chfn opera num " -"modo interativo, pedido ao utilizador os valores actuais para todos os " -"campos. Insira o novo valor para mudar o campo, ou deixe esta linha em " -"branco para usar o valor actual. O valor actual é mostrado entre um par de " -"parêntesis rectos [ ]. Sem opções, o " -"chfn pergunta pela conta de utilizador actual." - -#: chfn.1.xml:226(para) -msgid "" -"chsh1<" -"/citerefentry>, login.defs<" -"manvolnum>5, passwd<" -"/refentrytitle>5." -msgstr "" -"chsh1<" -"/citerefentry>, login.defs<" -"manvolnum>5, passwd<" -"/refentrytitle>5." - -#: chage.1.xml:66(refpurpose) -msgid "change user password expiry information" -msgstr "muda a informação de expiração da palavra passe do utilizador" - -#: chage.1.xml:82(para) -msgid "" -"The 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 their password." -msgstr "" -"O comando chage muda o número de dias entre mudanças " -"de palavra passe e a data da última mudança de palavra passe. Esta informação " -"é usada pelo sistema para determinar quando um utilizador tem de mudar a " -"sua palavra passe." - -#: chage.1.xml:92(para) -msgid "The options which apply to the chage command are:" -msgstr "As opções que se aplicam ao comando chage são:" - -#: chage.1.xml:97(term) -msgid "" -",  LAST_DAY<" -"/replaceable>" -msgstr "" -",  LAST_DAY<" -"/replaceable>" - -#: chage.1.xml:101(para) -msgid "" -"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)." -msgstr "" -"Define o número de dias desde 1 de Janeiro de 1970 em que a palavra passe " -"foi mudada pela última vez. A data também pode ser expressada no formato " -"AAAA-MM-DD (ou no formato mais comum usado na sua área)." - -#: chage.1.xml:109(term) -msgid "" -",  EXPIRE_DATE" -msgstr "" -",  EXPIRE_DATE" - -#: chage.1.xml:113(para) -msgid "" -"Set the date or 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." -msgstr "" -"Define a data ou número de dias desde 1 Janeiro 1970 no qual a conta do " -"utilizador não estará mais acessível. A data também pode ser expressada " -"no formato AAAA-MM-DD (ou no formato maus comum usado na sua área). Um " -"utilizador cuja conta está trancada tem de contactar o administrador do " -"sistema antes de poder voltar a usar o sistema." - -#: chage.1.xml:121(para) -msgid "" -"Passing the number -1 as the EXPIRE_DATE will remove an account expiration date." -msgstr "" -"Passar o número -1 como EXPIRE_DATE irá remover a data de expiração da conta." - -#: chage.1.xml:135(term) -msgid ", " -msgstr ", " - -#: chage.1.xml:137(para) -msgid "When printing dates, use YYYY-MM-DD format." -msgstr "ao escrever datas, usa o formato AAAA-MM-DD." - -#: chage.1.xml:141(term) -msgid "" -",  INACTIVE<" -"/replaceable>" -msgstr "" -",  INACTIVE<" -"/replaceable>" - -#: chage.1.xml:145(para) -msgid "" -"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." -msgstr "" -"Define o dias de inactividade após a palavra passe ter expirado e antes " -"da conta ser trancada. A opção INACTIVE é o " -"número de ias de inactividade. Um utilizador cuja conta está trancada tem " -"de contactar o administrador do sistema antes de poder voltar a usar o " -"sistema." - -#: chage.1.xml:152(para) -msgid "" -"Passing the number -1 as the INACTIVE will remove an account's inactivity." -msgstr "" -"Passar o número -1 como INACTIVE irá remover a inactividade da conta." - -#: chage.1.xml:164(para) -msgid "Show account aging information." -msgstr "Mostra informação de envelhecimento da conta." - -#: chage.1.xml:170(term) -msgid "" -",  MIN_DAYS<" -"/replaceable>" -msgstr "" -",  MIN_DAYS<" -"/replaceable>" - -#: chage.1.xml:182(term) -msgid "" -",  MAX_DAYS<" -"/replaceable>" -msgstr "" -",  MAX_DAYS<" -"/replaceable>" - -#: chage.1.xml:186(para) -msgid "" -"Set the maximum number of days during which a password is valid. When <" -"replaceable>MAX_DAYS plus LAST_DAY" -" is less than the current day, the user will be required to change their" -" password before being able to use their account. This occurrence can be" -" planned for in advance by use of the option, which" -" provides the user with advance warning." -msgstr "" -"Define o número máximo de dias durante o qual a palavra passe é válida. " -"Quando MAX_DAYS mais LAST_DAY é menor que o dia actual, é requerido ao utilizador mudar a sua " -"palavra passe antes de poder usar a sua conta. Esta ocorrência pode ser " -"planeada com antecedência com o uso da opção , que " -"fornece ao utilizador um aviso adiantado." - -#: chage.1.xml:215(term) -msgid "" -",  WARN_DAYS<" -"/replaceable>" -msgstr "" -",  WARN_DAYS<" -"/replaceable>" - -#: chage.1.xml:219(para) -msgid "" -"Set the number of days of warning before a password change is required. The <" -"replaceable>WARN_DAYS option is the number of days prior to the" -" password expiring that a user will be warned their password is about to" -" expire." -msgstr "" -"Define o número de dias de aviso antes de ser requerido a mudança da palavra " -"passe. A opção WARN_DAYS é o número de dias " -"antes da palavra passe expirar em que o utilizador é avisado que a sua " -"palavra passe está prestes a expirar." - -#: chage.1.xml:228(para) -msgid "" -"If none of the options are selected, chage operates in an" -" interactive fashion, prompting the user with the current values for all of" -" the fields. Enter the new value to change the field, or leave the line blank" -" to use the current value. The current value is displayed between a pair of <" -"emphasis>[ ] marks." -msgstr "" -"Se nenhuma das opções for selecionada, o chage opera " -"num modo interativo, pedido ao utilizador os valores actuais para todos os " -"campos Insira o novo valor para mudar o campo, ou deixe esta linha em " -"branco para usar o valor actual. O valor actual é mostrado entre um par de " -"parêntesis rectos [ ]." - -#: chage.1.xml:238(para) -msgid "" -"The chage program requires a shadow password file to be" -" available." -msgstr "" -"O programa chage requer que um ficheiro de palavras passe " -"sombra esteja disponível." - -#: chage.1.xml:242(para) -msgid "" -"The chage command is restricted to the root user, except" -" for the option, which may be used by an unprivileged" -" user to determine when their password or account is due to expire." -msgstr "" -"O comando chage é restrito ao utilizador root, excepto " -"para a opção , que pode ser usada por um utilizador sem " -"privilégios para consultar quando a sua palavra passe ou conta estão para " -"expirar." - -#: chage.1.xml:307(replaceable) -msgid "15" -msgstr "15" - -#: chage.1.xml:309(para) -msgid "can't find the shadow password file" -msgstr "incapaz de encontrar o ficheiro de palavras passe sombra" - -#: chage.1.xml:285(para) -msgid "" -"The chage command exits with the following values: <" -"placeholder-1/>" -msgstr "" -"O comando chage termina com os seguintes valores: " -"" - -#. Put one translator per line, in the form of NAME , YEAR1, YEAR2 -#: chage.1.xml:0(None) -msgid "translator-credits" -msgstr "Américo Monteiro , 2020" - - +#~ msgid "" +#~ "\n" +#~ "if ( UID is less than 1000) {\n" +#~ " use /etc/tcb/user\n" +#~ "} else if ( UID is less than 1000000) {\n" +#~ " kilos = UID / 1000\n" +#~ " use /etc/tcb/:kilos/user\n" +#~ " make symlink /etc/tcb/user to the above directory\n" +#~ "} else {\n" +#~ " megas = UID / 1000000\n" +#~ " kilos = ( UID / megas * 1000000 ) / 1000\n" +#~ " use /etc/tcb/:megas/:kilos/user\n" +#~ " make symlink /etc/tcb/user to the above directory\n" +#~ "}\n" +#~ " " +#~ msgstr "" +#~ "\n" +#~ "if ( UID is less than 1000) {\n" +#~ " use /etc/tcb/user\n" +#~ "} else if ( UID is less than 1000000) {\n" +#~ " kilos = UID / 1000\n" +#~ " use /etc/tcb/:kilos/user\n" +#~ " make symlink /etc/tcb/user to the above directory\n" +#~ "} else {\n" +#~ " megas = UID / 1000000\n" +#~ " kilos = ( UID / megas * 1000000 ) / 1000\n" +#~ " use /etc/tcb/:megas/:kilos/user\n" +#~ " make symlink /etc/tcb/user to the above directory\n" +#~ "}\n" +#~ " " + +#~ msgid "" +#~ "If yes, the location of the user tcb directory " +#~ "to be created will not be automatically set to /etc/tcb/user, but will be " +#~ "computed depending on the UID of the user, according to the following " +#~ "algorithm: " +#~ msgstr "" +#~ "Se yes, a localização do directório tcb do " +#~ "utilizador a ser criado não será definido automaticamente para /etc/tcb/" +#~ "user, mas será computado dependendo do UID do utilizador, de acordo com o " +#~ "seguinte algoritmo: " + +#~ msgid "" +#~ "chfn1, chsh1, " +#~ "passwd1, crypt3, " +#~ "gpasswd8, groupadd8, " +#~ "groupdel8, groupmod8, " +#~ "login.defs5, subgid5, " +#~ "subuid5, useradd8, " +#~ "userdel8." +#~ msgstr "" +#~ "chfn1, chsh1, " +#~ "passwd1, crypt3, " +#~ "gpasswd8, groupadd8, " +#~ "groupdel8, groupmod8, " +#~ "login.defs5, subgid5, " +#~ "subuid5, useradd8, " +#~ "userdel8." + +#~ msgid "" +#~ "The options which apply to the userdel command are:" +#~ msgstr "As opções que se aplicam ao comando userdel são:" + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid "" +#~ "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)." +#~ msgstr "" +#~ "Se definido, este comando é corrido quando se remove um utilizador. " +#~ "Deverá remover quaisquer tarefas at/cron/print etc. possuídas pelo " +#~ "utilizador a ser removido (passado como primeiro argumento)." + +#~ msgid "The return code of the script is not taken into account." +#~ msgstr "O código de retorno do script não é tido em conta." + +#, no-wrap +#~ msgid "" +#~ "\n" +#~ "#! /bin/sh\n" +#~ "\n" +#~ "# Check for the required argument.\n" +#~ "if [ $# != 1 ]; then\n" +#~ "\techo \"Usage: $0 username\"\n" +#~ "\texit 1\n" +#~ "fi\n" +#~ "\n" +#~ "# Remove cron jobs.\n" +#~ "crontab -r -u $1\n" +#~ "\n" +#~ "# Remove at jobs.\n" +#~ "# Note that it will remove any jobs owned by the same UID,\n" +#~ "# even if it was shared by a different username.\n" +#~ "AT_SPOOL_DIR=/var/spool/cron/atjobs\n" +#~ "find $AT_SPOOL_DIR -name \"[^.]*\" -type f -user $1 -delete \\;\n" +#~ "\n" +#~ "# Remove print jobs.\n" +#~ "lprm $1\n" +#~ "\n" +#~ "# All done.\n" +#~ "exit 0\n" +#~ " " +#~ msgstr "" +#~ "\n" +#~ "#! /bin/sh\n" +#~ "\n" +#~ "# Check for the required argument.\n" +#~ "if [ $# != 1 ]; then\n" +#~ "\techo \"Usage: $0 username\"\n" +#~ "\texit 1\n" +#~ "fi\n" +#~ "\n" +#~ "# Remove cron jobs.\n" +#~ "crontab -r -u $1\n" +#~ "\n" +#~ "# Remove at jobs.\n" +#~ "# Note that it will remove any jobs owned by the same UID,\n" +#~ "# even if it was shared by a different username.\n" +#~ "AT_SPOOL_DIR=/var/spool/cron/atjobs\n" +#~ "find $AT_SPOOL_DIR -name \"[^.]*\" -type f -user $1 -delete \\;\n" +#~ "\n" +#~ "# Remove print jobs.\n" +#~ "lprm $1\n" +#~ "\n" +#~ "# All done.\n" +#~ "exit 0\n" +#~ " " + +#~ msgid "" +#~ "Here is an example script, which removes the user's cron, at and print " +#~ "jobs: " +#~ msgstr "" +#~ "Aqui está um script de exemplo que remove as tarefas cron e de impressão " +#~ "do utilizador: " + +#~ msgid " (boolean)" +#~ msgstr " (booleano)" + +#~ msgid "" +#~ "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." +#~ msgstr "" +#~ "Activa a definição dos bits de grupo umask group bits para serem os " +#~ "mesmos que os bits do dono (exemplos: 022 -> 002, 077 -> 007) para " +#~ "utilizadores não-root, se o uid for o mesmo que o gid, e o nome de " +#~ "utilizador o mesmo que o nome de grupo primário." + +#~ msgid "" +#~ "If set to yes, userdel will " +#~ "remove the user's group if it contains no more members, and " +#~ "useradd will create by default a group with the name " +#~ "of the user." +#~ msgstr "" +#~ "Se definido para yes, userdel irá remover o grupo do utilizador se este não conter mais " +#~ "membros, e useradd irá criar por predefinição um grupo " +#~ "com o nome do utilizador." + +#~ msgid "" +#~ "The userdel command exits with the following values: " +#~ "" +#~ msgstr "" +#~ "O comando userdel termina com os seguintes valores: " +#~ "" + +#~ msgid "" +#~ "chfn1, chsh1, " +#~ "passwd1, login.defs5, " +#~ "gpasswd8, groupadd8, " +#~ "groupdel8, groupmod8, subgid5, " +#~ "subuid5, useradd8, " +#~ "usermod8." +#~ msgstr "" +#~ "chfn1, chsh1, " +#~ "passwd1, login.defs5, " +#~ "gpasswd8, groupadd8, " +#~ "groupdel8, groupmod8, subgid5, " +#~ "subuid5, useradd8, " +#~ "usermod8." + +#~ msgid "" +#~ "The options which apply to the useradd command are:" +#~ msgstr "As opções que se aplicam ao comando useradd são:" + +#~ msgid "" +#~ ",  " +#~ "BASE_DIR" +#~ msgstr "" +#~ ",  " +#~ "BASE_DIR" + +#~ msgid "" +#~ ",  " +#~ "HOME_DIR" +#~ msgstr "" +#~ ",  " +#~ "HOME_DIR" + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid "" +#~ "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." +#~ msgstr "" +#~ "O número de dias após a palavra passe expirar até que a conta " +#~ "permanentemente desactivada. Um valor de 0 desactiva a conta assim que a " +#~ "palavra-passe expirar, e um valor -1 desactiva esta funcionalidade." + +#~ msgid "" +#~ ",  SKEL_DIR" +#~ msgstr "" +#~ ",  SKEL_DIR" + +#~ msgid "" +#~ ",  KEY=VALUE" +#~ msgstr "" +#~ ",  KEY=VALUE" + +#~ msgid "" +#~ "Overrides /etc/login.defs defaults (, , " +#~ " and others). Example: " +#~ " PASS_MAX_DAYS=-1 can be used when creating " +#~ "system account to turn off password aging, even though system account has " +#~ "no password at all. Multiple options can be " +#~ "specified, e.g.:  UID_MIN=100  " +#~ "UID_MAX=499" +#~ msgstr "" +#~ "Sobrepõe as predefinições de /etc/login.defs " +#~ "(, , e outras). " +#~ "Exemplo: pode ser usado  " +#~ "PASS_MAX_DAYS=-1 " +#~ "quando se cria uma conta de sistema para desligar o envelhecimento da " +#~ "palavra passe, mesmo que a conta de sistema não tenha nenhuma palavra " +#~ "passe. Podem ser especificadas varias opções , ex. : " +#~ " UID_MIN=100  " +#~ "UID_MAX=499" + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid "" +#~ "The encrypted password, as returned by " +#~ "crypt3. The default is to disable the password." +#~ msgstr "" +#~ "A palavra passe encriptada, como retornada por " +#~ "crypt3. A predefinição é desactivar a palavra passe." + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid "" +#~ "System users will be created with no aging information in /etc/" +#~ "shadow, and their numeric identifiers are chosen in the " +#~ "- range, defined " +#~ "in /etc/login.defs, instead of (and their " +#~ "counterparts for the creation of groups)." +#~ msgstr "" +#~ "Os utilizadores de sistema serão criados sem nenhuma informação de " +#~ "envelhecimento em /etc/shadow, e os seus " +#~ "identificadores numéricos são escolhidos dentro do alcance " +#~ " -, definido em " +#~ "/etc/login.defs, em vez de -" +#~ " (e os seus homólogos para a " +#~ "criação de grupos)." + +#~ msgid "" +#~ "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 " +#~ "specified by the variable in /etc/" +#~ "default/useradd, or an empty string by default." +#~ msgstr "" +#~ "O nome da shell de login do utilizador. A predefinição é deixar este " +#~ "campo vazio, o que faz com que o sistema selecione a shell de login " +#~ "predefinida especificada pela variável em " +#~ "/etc/default/useradd, ou uma string vazia por " +#~ "predefinição." + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid "" +#~ "The SELinux user for the user's login. The default is to leave this field " +#~ "blank, which causes the system to select the default SELinux user." +#~ msgstr "" +#~ "O utilizador SELinux para o login de utilizador. A predefinição é deixar " +#~ "este campo vazio, o que faz com que o sistema selecione o utilizador " +#~ "SELinux predefinido." + +#~ msgid "" +#~ "This option sets the variable in /etc/" +#~ "default/useradd." +#~ msgstr "" +#~ "Esta opção define a variável em /etc/" +#~ "default/useradd." + +#~ msgid "" +#~ "The number of days after a password has expired before the account will " +#~ "be disabled." +#~ msgstr "" +#~ "O número de dias após a palavra passe ter expirado e antes da conta ser " +#~ "desactivada." + +#~ msgid "" +#~ "This option sets the variable in /etc/" +#~ "default/useradd." +#~ msgstr "" +#~ "Esta opção define a variável em /etc/" +#~ "default/useradd." + +#~ msgid "" +#~ "The group name or ID for a new user's initial group (when the is used or when the ou quando a variável " +#~ " esta definida para no em /etc/login.defs). O grupo nomeado " +#~ "tem de existir, e um ID de grupo numérico tem de ter uma entrada " +#~ "existente." + +#~ msgid "" +#~ "This option sets the variable in /etc/" +#~ "default/useradd." +#~ msgstr "" +#~ "Esta opção define a variável em /etc/" +#~ "default/useradd." + +#~ msgid "The name of a new user's login shell." +#~ msgstr "O nome da shell de login do novo utilizador." + +#~ msgid "" +#~ "This option sets the variable in /etc/" +#~ "default/useradd." +#~ msgstr "" +#~ "Esta opção define a variável em /etc/" +#~ "default/useradd." + +#~ msgid "" +#~ "Usernames must start with a lower case letter or an underscore, followed " +#~ "by lower case letters, digits, underscores, or dashes. They can end with " +#~ "a dollar sign. In regular expression terms: [a-z_][a-z0-9_-]*[$]?" +#~ msgstr "" +#~ "Os nomes de utilizador devem começar com uma letra minúscula ou um " +#~ "underscore, seguido de letras minúsculas, dígitos, underscores, ou " +#~ "traços. Eles podem acabar com um cifrão. Em termos de expressão regular: " +#~ "[a-z_][a-z0-9_-]*[$]?" + +#~ msgid " (boolean)" +#~ msgstr " (booleano)" + +#~ msgid "" +#~ "Indicate if a home directory should be created by default for new users." +#~ msgstr "" +#~ "Indica se um directório home deve ser criado por predefinição para novos " +#~ "utilizadores." + +#~ msgid "" +#~ "This setting does not apply to system users, and can be overridden on the " +#~ "command line." +#~ msgstr "" +#~ "Esta definição não se aplica a utilizadores do sistema, e pode ser " +#~ "sobreposta na linha de comandos." + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid "" +#~ "Range of group IDs used for the creation of regular groups by " +#~ "useradd, groupadd, or " +#~ "newusers." +#~ msgstr "" +#~ "Alcance dos IDs de grupo usados para a criação de grupos regulares por " +#~ "useradd, groupadd, ou " +#~ "newusers." + +#~ msgid "" +#~ "The default value for (resp. (resp. (number)" +#~ msgstr " (número)" + +#~ msgid "" +#~ "The mode for new home directories. If not specified, the para criar o modo." + +#~ msgid "" +#~ "useradd and newusers use this to " +#~ "set the mode of the home directory they create." +#~ msgstr "" +#~ "useradd e newusers usam isto para " +#~ "definir o modo do directório home que criam." + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid "" +#~ "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)." +#~ msgstr "" +#~ "O número máximo de dias que uma palavra passe pode ser usada. Se a " +#~ "palavra passe for mais antiga que isto, é forçada a alteração da palavra " +#~ "passe. Se não especificado, será assumido -1 (que desactiva a restrição)." + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid "" +#~ "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)." +#~ msgstr "" +#~ "O número mínimo de dias permitidos entre alterações de palavra passe. " +#~ "Quaisquer tentativas de mudança de palavra passe mais cedo que isto serão " +#~ "rejeitadas. Se não especificado, será assumido -1 (o que desactiva a " +#~ "restrição)." + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid "" +#~ "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." +#~ msgstr "" +#~ "O número de dias de avisos antes da palavra passe expirar. Um zero " +#~ "significa que o aviso só é dado apenas no dia de expiração, um valor " +#~ "negativo significa que nenhum aviso será dado. Se não especificado, " +#~ "nenhum aviso será dado." + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid "" +#~ "Range of group IDs used for the creation of system groups by " +#~ "useradd, groupadd, or " +#~ "newusers." +#~ msgstr "" +#~ "Alcance de IDs de grupo usados para a criação de grupos do sistema por " +#~ "useradd, groupadd, ou " +#~ "newusers." + +#~ msgid "" +#~ "The default value for (resp. " +#~ ") is 101 (resp. -1)." +#~ msgstr "" +#~ "O valor predefinido para (resp. " +#~ ") é 101 (resp. -1)." + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid "" +#~ "Range of user IDs used for the creation of system users by " +#~ "useradd or newusers." +#~ msgstr "" +#~ "Alcance de IDs de utilizador usados para a criação de utilizadores do " +#~ "sistema por useradd, ou newusers." + +#~ msgid "" +#~ "The default value for (resp. " +#~ ") is 101 (resp. -1)." +#~ msgstr "" +#~ "O valor predefinido para (resp. " +#~ ") é 101 (resp. -1)." + +#~ msgid " (boolean)" +#~ msgstr " (booleano)" + +#~ msgid "" +#~ "If yes, newly created tcb shadow files will be " +#~ "group owned by the auth group." +#~ msgstr "" +#~ "Se yes, os ficheiros sombra tcb criados novos " +#~ "irão ser do grupo possuído pelo grupo auth." + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid "" +#~ "Range of user IDs used for the creation of regular users by " +#~ "useradd or newusers." +#~ msgstr "" +#~ "Alcance de IDs de utilizador usados para a criação de utilizadores " +#~ "regulares por useradd, ou newusers." + +#~ msgid "" +#~ "The default value for (resp. (resp. (number)" +#~ msgstr " (número)" + +#~ msgid "" +#~ "The file mode creation mask is initialized to this value. If not " +#~ "specified, the mask will be initialized to 022." +#~ msgstr "" +#~ "A máscara de criação de modo de ficheiro é inicializada para este valor. " +#~ "Se não especificado, a máscara será inicializada para 022." + +#~ msgid "" +#~ "useradd and newusers use this mask " +#~ "to set the mode of the home directory they create if não estiver definido." + +#~ msgid "" +#~ "It is also used by login to define users' initial " +#~ "umask. Note that this mask can be overridden by the user's GECOS line (if " +#~ " is set) or by the specification of a limit " +#~ "with the K identifier in " +#~ "limits5." +#~ msgstr "" +#~ "É também usado por login para definir a umask inicial " +#~ "do utilizador. Note que esta máscara pode ser sobreposta pela linha GECOS " +#~ "do utilizador (se estiver definida) ou pela " +#~ "especificação de um limite com o identificador K em " +#~ "limits5." + +#~ msgid "" +#~ "It is also used by pam_umask as the default umask " +#~ "value." +#~ msgstr "" +#~ "É também usado pelo pam_umask como o valor umask " +#~ "predefinido." + +#~ msgid "" +#~ "The useradd command exits with the following values: " +#~ "" +#~ msgstr "" +#~ "O comando useradd termina com os seguintes valores: " +#~ "" + +#~ msgid "" +#~ "chfn1, chsh1, " +#~ "passwd1, crypt3, " +#~ "groupadd8, groupdel8, " +#~ "groupmod8, login.defs5, " +#~ "newusers8, subgid5, " +#~ "subuid5, userdel8, " +#~ "usermod8." +#~ msgstr "" +#~ "chfn1, chsh1, " +#~ "passwd1, crypt3, " +#~ "groupadd8, groupdel8, " +#~ "groupmod8, login.defs5, " +#~ "newusers8, subgid5, " +#~ "subuid5, userdel8, " +#~ "usermod8." + +#~ msgid "" +#~ ",  " +#~ "COMMAND" +#~ msgstr "" +#~ ",  " +#~ "COMMAND" + +#~ msgid ", , " +#~ msgstr ", , " + +#~ msgid "" +#~ ", , , , (string)" +#~ msgstr " (string)" + +#~ msgid "" +#~ "If defined, either full pathname of a file containing device names (one " +#~ "per line) or a \":\" delimited list of device names. Root logins will be " +#~ "allowed only upon these devices." +#~ msgstr "" +#~ "Se definido, ou é um nome de caminho completo de um ficheiro que contem " +#~ "nomes de dispositivos (um por linha)m ou uma lista delimitada por \":\" " +#~ "de nomes de dispositivos. Os logins de root serão permitidos apenas sobre " +#~ "estes dispositivos." + +#~ msgid "If not defined, root will be allowed on any device." +#~ msgstr "Se não definido, o root será permitido em qualquer dispositivo." + +#~ msgid "The device should be specified without the /dev/ prefix." +#~ msgstr "O dispositivo deve ser especificado sem o prefixo /dev/." + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid "" +#~ "List of groups to add to the user's supplementary groups 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." +#~ msgstr "" +#~ "Lista de grupos a adicionar ao conjunto de grupos suplementares do " +#~ "utilizador quando se faz login na consola (como determinado pela " +#~ "definição CONSOLE). A predefinição é nenhum. Use com " +#~ "cuidado - É possível os utilizadores ganharem acesso permanente a estes " +#~ "grupos, mesmo quando não fazem login na consola." + +#~ msgid " (boolean)" +#~ msgstr " (booleano)" + +#~ msgid "" +#~ "Indicate if login is allowed if we can't cd to the home directory. " +#~ "Default is no." +#~ msgstr "" +#~ "Indica se é permitido o login se não pudermos fazer cd para o directório " +#~ "home. A predefinição é \"não\"." + +#~ msgid "" +#~ "If set to yes, the user will login in the root " +#~ "(/) directory if it is not possible to cd to her " +#~ "home directory." +#~ msgstr "" +#~ "Se definido para yes, o utilizador irá fazer " +#~ "login no directório raiz (/) se não for possível " +#~ "fazer cd para o seu directório home." + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid "" +#~ "If set, it will be used to define the HZ environment variable when a user " +#~ "login. The value must be preceded by HZ=. A " +#~ "common value on Linux is HZ=100." +#~ msgstr "" +#~ "Se definido, irá ser usado para definir a variável de ambiente HZ quando " +#~ "um utilizador faz login. O valor tem de ser precedido de " +#~ "HZ=. Um valor comum em Linux é " +#~ "HZ=100." + +#~ msgid "" +#~ "The HZ environment variable is only set when the user (the " +#~ "superuser) logs in with sulogin." +#~ msgstr "" +#~ "A variável de ambiente HZ é apenas definida quando o " +#~ "utilizador (o super-utilizador) inicia sessão com sulogin." + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid "" +#~ "If this file exists and is readable, login environment will be read from " +#~ "it. Every line should be in the form name=value." +#~ msgstr "" +#~ "Se este ficheiro existir e for legível, a ambiente de login será lido de " +#~ "ele. Cada linha deve estar no formato nome=valor." + +#~ msgid "Lines starting with a # are treated as comment lines and ignored." +#~ msgstr "" +#~ "As linhas começadas com # são tratadas como comentários e ignoradas." + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid "" +#~ "If set, it will be used to define the PATH environment variable when a " +#~ "regular user login. The value is a colon separated list of paths (for " +#~ "example /bin:/usr/bin) and can be preceded by " +#~ "PATH=. The default value is PATH=/" +#~ "bin:/usr/bin." +#~ msgstr "" +#~ "Se definido, irá ser usado para definir a variável de ambiente PATH " +#~ "quando um utilizador regular faz login. O valor é uma lista separada por " +#~ "dois pontosde caminhos (por exemplo /bin:/usr/bin) e pode ser precedido por PATH=. " +#~ "O valor predefinido é PATH=/bin:/usr/bin." + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid "" +#~ "If set, it will be used to define the PATH environment variable when the " +#~ "superuser login. The value is a colon separated list of paths (for " +#~ "example /sbin:/bin:/usr/sbin:/usr/bin) and can " +#~ "be preceded by PATH=. The default value is " +#~ "PATH=/sbin:/bin:/usr/sbin:/usr/bin." +#~ msgstr "" +#~ "Se definido, irá ser usado para definir a variável de ambiente PATH " +#~ "quando o super-utilizador faz login. O valor é uma lista separada por " +#~ "dois pontosde caminhos (por exemplo /sbin:/bin:/usr/sbin:/" +#~ "usr/bin) e pode ser precedido por PATH=. O valor predefinido é PATH=/sbin:/bin:/usr/" +#~ "sbin:/usr/bin." + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid "" +#~ "If set, it will be used to define the TZ environment variable when a user " +#~ "login. The value can be the name of a timezone preceded by " +#~ "TZ= (for example TZ=CST6CDT), or the full path to the file containing the timezone " +#~ "specification (for example /etc/tzname)." +#~ msgstr "" +#~ "Se definido, será usado para definir a variável de ambiente TZ quando um " +#~ "utilizador faz login. O valor pode ser o nome de uma zona horária " +#~ "precedido por TZ= (por exemplo " +#~ "TZ=CST6CDT), ou o caminho completo para o " +#~ "ficheiro que contém a especificação da zona horária (por exemplo " +#~ "/etc/tzname)." + +#~ msgid "" +#~ "If a full path is specified but the file does not exist or cannot be " +#~ "read, the default is to use TZ=CST6CDT." +#~ msgstr "" +#~ "Se for especificado um caminho completo mas o ficheiro não existir ou não " +#~ "puder ser lido, a predefinição é usar TZ=CST6CDT." + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid "" +#~ "The string used for prompting a password. The default is to use " +#~ "\"Password: \", or a translation of that string. If you set this " +#~ "variable, the prompt will not be translated." +#~ msgstr "" +#~ "A string usada para pedir uma palavra passe. A predefinição é usar " +#~ "\"Password: \", ou uma tradução dessa string. Se você definir esta " +#~ "variável, o aviso não será traduzido." + +#~ msgid "" +#~ "If the string contains %s, this will be " +#~ "replaced by the user's name." +#~ msgstr "" +#~ "Se a string conter %s, isto será substituído " +#~ "pelo nome de utilizador." + +#~ msgid " (boolean)" +#~ msgstr " (booleano)" + +#~ msgid "Enable checking and display of mailbox status upon login." +#~ msgstr "Activa a verificação e mostragem da caixa de mail após login." + +#~ msgid "" +#~ "You should disable it if the shell startup files already check for mail " +#~ "(\"mailx -e\" or equivalent)." +#~ msgstr "" +#~ "Você deve desactivar isto se os ficheiros de arranque da shell já " +#~ "verificam o mail (\"mailx -e\" ou equivalente)." + +#~ msgid " (boolean)" +#~ msgstr " (booleano)" + +#~ msgid "" +#~ "Enable setting of resource limits from /etc/limits " +#~ "and ulimit, umask, and niceness from the user's passwd gecos field." +#~ msgstr "" +#~ "Activa a definição de limites de recurso a partir de /etc/" +#~ "limits e ulimit, umask, e niceness a partir do campo passwd " +#~ "gecos do utilizador." + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid "If defined, all su activity is logged to this file." +#~ msgstr "Se definido, toda a atividade de su é registada neste ficheiro." + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid "" +#~ "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\"." +#~ msgstr "" +#~ "Se definido, o nome de comando a mostrar quando se corre \"su -\". Por " +#~ "exemplo, se isto for definido como \"su\" então um \"ps\" irá mostrar o " +#~ "comando é \"-su\". Se não for definido, então \"ps\" irá mostrar o nome " +#~ "da shell que está actualmente a ser corrida, ex. algo como \"-sh\"." + +#~ msgid " (boolean)" +#~ msgstr " (booleano)" + +#~ msgid "" +#~ "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." +#~ msgstr "" +#~ "Se yes, o utilizador tem de estar listado como " +#~ "membro do primeiro grupo de gid 0 em /etc/group " +#~ "(chamado root na maioria dos sistemas Linux) " +#~ "para ser capaz de fazer su para contas de uid 0. Se o " +#~ "grupo não existir ou estiver vazio, ninguém será capaz de fazer " +#~ "su para uid 0." + +#~ msgid " (boolean)" +#~ msgstr " (booleano)" + +#~ msgid "" +#~ "Enable \"syslog\" logging of su activity - in addition " +#~ "to sulog file logging." +#~ msgstr "" +#~ "Activa o registo \"syslog\" das atividades su - em " +#~ "adição ao registo no ficheiro sulog." + +#~ msgid "" +#~ "login1, login.defs5, " +#~ "sg1, sh1." +#~ msgstr "" +#~ "login1, login.defs5, " +#~ "sg1, sh1." + +#~ msgid " (boolean)" +#~ msgstr " (booleano)" + +#~ msgid "Enable \"syslog\" logging of sg activity." +#~ msgstr "Activo o registo \"syslog\" da atividade do sg." + +#~ msgid "" +#~ "id1, login1, " +#~ "newgrp1, su1, " +#~ "gpasswd1, group5, gshadow5." +#~ msgstr "" +#~ "id1, login1, " +#~ "newgrp1, su1, " +#~ "gpasswd1, group5, gshadow5." + +#~ msgid "" +#~ "chage1, login1, " +#~ "passwd1, passwd5, " +#~ "pwck8, pwconv8, " +#~ "pwunconv8, su1, " +#~ "sulogin8." +#~ msgstr "" +#~ "chage1, login1, " +#~ "passwd1, passwd5, " +#~ "pwck8, pwconv8, " +#~ "pwunconv8, su1, " +#~ "sulogin8." + +#~ msgid "" +#~ "getpwent3, shadow5." +#~ msgstr "" +#~ "getpwent3, shadow5." + +#~ msgid "" +#~ "The pwunconv command creates passwd from passwd and shadow and then removes " +#~ "shadow." +#~ msgstr "" +#~ "O comando pwunconv cria >emphasis remap=\"I\">passwd a partir de passwd e shadow e depois remove shadow." + +#~ msgid "" +#~ "The grpconv command creates gshadow from group and an optionally existing gshadow." +#~ msgstr "" +#~ "O comando grpconv cria gshadow a partir de group e de um " +#~ "gshadow de existência opcional." + +#~ msgid "" +#~ "The grpunconv command creates group from group " +#~ "and gshadow and then removes gshadow." +#~ msgstr "" +#~ "O comando grpunconv cria group a partir de group e gshadow e depois remove gshadow." + +#~ msgid "" +#~ "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." +#~ msgstr "" +#~ "pwconv irá usar os valores de PASS_MIN_DAYS, PASS_MAX_DAYS, e PASS_WARN_AGE a partir de /etc/login." +#~ "defs quando adiciona novas entradas em /etc/shadow." + +#~ msgid "" +#~ "The options which apply to the pwconv, " +#~ "pwunconv, grpconv, and " +#~ "grpunconv commands are:" +#~ msgstr "" +#~ "As opções que se aplicam aos comandos pwconv, " +#~ "pwunconv, grpconv, e " +#~ "grpunconv são:" + +#~ msgid "" +#~ "The following configuration variable in /etc/login.defs changes the behavior of grpconv and " +#~ "grpunconv:" +#~ msgstr "" +#~ "As seguintes variáveis de configuração em /etc/login.defs mudam o comportamento de grpconv e de " +#~ "grpunconv:" + +#~ msgid "" +#~ "grpck8, login.defs5, " +#~ "pwck8, " +#~ "tcb_convert8, tcb_unconvert8." +#~ msgstr "" +#~ "grpck8, login.defs5, " +#~ "pwck8, " +#~ "tcb_convert8, tcb_unconvert8." + +#~ msgid "" +#~ "The pwck command verifies the integrity of the users " +#~ "and authentication information. It checks that all entries in /" +#~ "etc/passwd and /etc/shadow(or the files in /etc/tcb, when " +#~ " is enabled) have the proper format and " +#~ "contain valid data. The user is prompted to delete entries that are " +#~ "improperly formatted or which have other uncorrectable errors." +#~ msgstr "" +#~ "O comando pwck verifica a integridade da informação do " +#~ "utilizador e autenticação. Verifica que todas as entradas em /" +#~ "etc/passwd e /etc/shadow(ou os ficheiros em /etc/tcb, " +#~ "quando está activo) têm o formato " +#~ "correcto e contêm dados válidos. O é chamado a apagar entradas que estão " +#~ "formatadas de modo incorreto ou que têm outros erros incorrigíveis ." + +#~ msgid "The options which apply to the pwck command are:" +#~ msgstr "As opções que se aplicam ao comando pwck são:" + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid "" +#~ "group5, grpck8, " +#~ "passwd5, shadow5, " +#~ "usermod8." +#~ msgstr "" +#~ "group5, grpck8, " +#~ "passwd5, shadow5, " +#~ "usermod8." + +#~ msgid "" +#~ "login1." +#~ msgstr "" +#~ "login1." + +#~ msgid "" +#~ "A password field which starts with an exclamation " +#~ "mark means that the password is locked. The remaining characters on the " +#~ "line represent the password field before the " +#~ "password was locked." +#~ msgstr "" +#~ "Um campo password começado com um ponto de " +#~ "exclamação significa que a palavra passe está trancada. Os restantes " +#~ "caracteres da linha representam o campo password " +#~ "antes da palavra passe ser trancada." + +#~ msgid "" +#~ "The comment field is used by various system utilities, such as " +#~ "finger1." +#~ msgstr "" +#~ "O campo \"comment\" é usado por vários utilitários do sistema, tais como " +#~ "finger1." + +#~ msgid "" +#~ "crypt3, getent1, " +#~ "getpwnam3, login1, " +#~ "passwd1, pwck8, " +#~ "pwconv8, pwunconv8, " +#~ "shadow5, su1, " +#~ "sulogin8." +#~ msgstr "" +#~ "crypt3, getent1, " +#~ "getpwnam3, login1, " +#~ "passwd1, pwck8, " +#~ "pwconv8, pwunconv8, " +#~ "shadow5, su1, " +#~ "sulogin8." + +#~ msgid "" +#~ "Then, the password is tested for complexity. As a general guideline, " +#~ "passwords should consist of 6 to 8 characters including one or more " +#~ "characters from each of the following sets:" +#~ msgstr "" +#~ "Então, a palavra passe é testada para complexidade. Como orientação " +#~ "geral, as palavras passe devem consistir de 6 a 8 caracteres incluindo um " +#~ "mais caracteres de cada um dos seguintes conjuntos:" + +#~ msgid "lower case alphabetics" +#~ msgstr "alfabéticos em minúsculas" + +#~ msgid "digits 0 thru 9" +#~ msgstr "dígitos de 0 a 9" + +#~ msgid "punctuation marks" +#~ msgstr "pontos" + +#~ msgid "" +#~ "Care must be taken not to include the system default erase or kill " +#~ "characters. passwd will reject any password which is " +#~ "not suitably complex." +#~ msgstr "" +#~ "Deve-se ter cuidado em não incluir os caracteres de apagar ou matar " +#~ "predefinidos do sistema. O passwd irá rejeitar " +#~ "qualquer palavra passe que não tenha a complexidade apropriada." + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid "" +#~ ",  " +#~ "INACTIVE" +#~ msgstr "" +#~ ",  " +#~ "INACTIVE" + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid "" +#~ ",  " +#~ "MIN_DAYS" +#~ msgstr "" +#~ ",  " +#~ "MIN_DAYS" + +#~ msgid "" +#~ ",  " +#~ "REPOSITORY" +#~ msgstr "" +#~ ",  " +#~ "REPOSITORY" + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid "" +#~ ",  " +#~ "WARN_DAYS" +#~ msgstr "" +#~ ",  " +#~ "WARN_DAYS" + +#~ msgid "" +#~ ",  " +#~ "MAX_DAYS" +#~ msgstr "" +#~ ",  " +#~ "MAX_DAYS" + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid "" +#~ "This defines the system default encryption algorithm for encrypting " +#~ "passwords (if no algorithm are specified on the command line)." +#~ msgstr "" +#~ "Isto define o algoritmo de encriptação predefinido do sistema para " +#~ "encriptar palavras passe (se não for especificado um algoritmo na linha " +#~ "de comandos)." + +#~ msgid "" +#~ "It can take one of these values: DES " +#~ "(default), MD5, SHA256, " +#~ "SHA512." +#~ msgstr "" +#~ "Pode tomar um destes valores: DES " +#~ "(predefinido), MD5, SHA256, " +#~ "SHA512." + +#~ msgid "" +#~ "Note: this parameter overrides the " +#~ "variable." +#~ msgstr "" +#~ "Nota: este parâmetro sobrepõe a variável ." + +#~ msgid "" +#~ "Note: This only affect the generation of group passwords. The generation " +#~ "of user passwords is done by PAM and subject to the PAM configuration. It " +#~ "is recommended to set this variable consistently with the PAM " +#~ "configuration." +#~ msgstr "" +#~ "Nota: Isto apenas afeta a geração de palavras passe de grupo. A geração " +#~ "das palavras passe de utilizadores é feita pelo PAM e sujeita à " +#~ "configuração do PAM. É recomendado definir esta variável em consistência " +#~ "com a configuração do PAM." + +#~ msgid " (boolean)" +#~ msgstr " (booleano)" + +#~ msgid "" +#~ "Indicate if passwords must be encrypted using the MD5-based algorithm. 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." +#~ msgstr "" +#~ "Indica se as palavras passe devem ser encriptadas usando o algoritmo " +#~ "baseado em MD5. Se definido para yes, as novas " +#~ "palavras passe serão encriptadas usando o algoritmo baseado em MD5 " +#~ "compatível com aquele usado pelos lançamentos recentes de FreeBSD. " +#~ "Suporta palavras passe de comprimento ilimitado e strings longas " +#~ "salgadas. Defina para no se você precisar de " +#~ "copiar palavras passe encriptadas para outros sistemas que não " +#~ "compreendem o novo algoritmo. A predefinição é no." + +#~ msgid "" +#~ "This variable is superseded by the " +#~ "variable or by any command line option used to configure the encryption " +#~ "algorithm." +#~ msgstr "" +#~ "Esta variável é sobreposta pela variável " +#~ "ou por qualquer opção de linha de comandos usada para configurar o " +#~ "algoritmo de encriptação." + +#~ msgid "" +#~ "This variable is deprecated. You should use (boolean)" +#~ msgstr " (booleano)" + +#~ msgid "Enable additional checks upon password changes." +#~ msgstr "Activa verificações adicionais após alterações na palavra passe." + +#~ msgid " (boolean)" +#~ msgstr " (booleano)" + +#~ msgid "Warn about weak passwords (but still allow them) if you are root." +#~ msgstr "" +#~ "Avisa sobre palavras passe fracas (mas mesmo assim permite-as) se você " +#~ "for o root." + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid "" +#~ "Maximum number of attempts to change password if rejected (too easy)." +#~ msgstr "" +#~ "Número máximo de tentativas de mudar a palavra passe se rejeitada (muito " +#~ "fácil)." + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid "" +#~ "Number of significant characters in the password for crypt(). " +#~ " is 8 by default. Don't change unless your " +#~ "crypt() is better. This is ignored if set " +#~ "to yes." +#~ msgstr "" +#~ "Número de caracteres significativos na palavra passe para encriptação. " +#~ "Por predefinição é 8. Não altere isto a " +#~ "menos que a sua encriptação seja melhor. Isto é ignorado se " +#~ " for definido para yes." + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid "" +#~ "When is set to SHA256 or SHA512, this defines the " +#~ "number of SHA rounds used by the encryption algorithm by default (when " +#~ "the number of rounds is not specified on the command line)." +#~ msgstr "" +#~ "Quando é definido para " +#~ "SHA256 ou SHA512, " +#~ "isto define o número de rondas SHA usadas pelo algoritmo de encriptação " +#~ "por predefinição (quando o número de rondas não é especificado na linha " +#~ "de comandos)." + +#~ msgid "" +#~ "With a lot of rounds, it is more difficult to brute forcing the password. " +#~ "But note also that more CPU resources will be needed to authenticate " +#~ "users." +#~ msgstr "" +#~ "Com muitas rondas, é mais difícil vencer a palavra passe por força bruta. " +#~ "Mas note também que serão precisos mais recursos da CPU para autenticar " +#~ "os utilizadores." + +#~ msgid "" +#~ "If not specified, the libc will choose the default number of rounds " +#~ "(5000)." +#~ msgstr "" +#~ "Se não especificado, o libc irá escolher o número predefinido de rondas " +#~ "(5000)." + +#~ msgid "The values must be inside the 1000-999,999,999 range." +#~ msgstr "Os valores têm de estar dentro do alcance 1000-999,999,999." + +#~ msgid "" +#~ "If only one of the or " +#~ " values is set, then this value will " +#~ "be used." +#~ msgstr "" +#~ "Se apenas um dos valores ou " +#~ " for definido, então será usado este " +#~ "valor." + +#~ msgid "" +#~ "If > " +#~ ", the highest value will be used." +#~ msgstr "" +#~ "Se > " +#~ ", será usado o valor mais alto." + +#~ msgid "" +#~ "The passwd command exits with the following values: " +#~ "" +#~ msgstr "" +#~ "O comando passwd termina com os seguintes valores: " +#~ "" + +#~ msgid "" +#~ "chpasswd8, passwd5, " +#~ "shadow5, login.defs5, usermod8." +#~ msgstr "" +#~ "chpasswd8, passwd5, " +#~ "shadow5, login.defs5, usermod8." + +#~ msgid "" +#~ "To disable all logins, investigate nologin5." +#~ msgstr "" +#~ "Para desactivar todos os logins, investigue " +#~ "nologin5." + +#~ msgid "" +#~ "login1, nologin5." +#~ msgstr "" +#~ "login1, nologin5." + +#~ msgid "" +#~ "If this field does not specify an existing directory, the specified " +#~ "directory is created, with ownership set to the user being created or " +#~ "updated and its primary group." +#~ msgstr "" +#~ "Se este campo não especificar um directório existente, o directório " +#~ "especificado é criado, com a posse definida para o utilizador a ser " +#~ "criado ou actualizado e o seu grupo primário." + +#~ msgid "" +#~ "The options which apply to the newusers command are:" +#~ msgstr "" +#~ "As opções que se aplicam ao comando newusers são:" + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid "" +#~ "The value 0 means that the system will choose the default number of " +#~ "rounds for the crypt method (5000)." +#~ msgstr "" +#~ "O valor 0 significa que o sistema irá escolher o número predefinido de " +#~ "rondas para o método de encriptação (5000)." + +#~ msgid "You can only use this option with the SHA256 or SHA512 crypt method." +#~ msgstr "" +#~ "Você pode apenas usar esta opção com o método de encriptação SHA256 ou " +#~ "SHA512." + +#~ msgid "PAM configuration for newusers." +#~ msgstr "Configuração PAM para newusers." + +#~ msgid "" +#~ "login.defs5, passwd1, subgid5, " +#~ "subuid5, useradd8." +#~ msgstr "" +#~ "login.defs5, passwd1, subgid5, " +#~ "subuid5, useradd8." + +#~ msgid "" +#~ "id1, login1, " +#~ "su1, sg1, " +#~ "gpasswd1, group5, gshadow5." +#~ msgstr "" +#~ "id1, login1, " +#~ "su1, sg1, " +#~ "gpasswd1, group5, gshadow5." + +#~ msgid " (boolean)" +#~ msgstr " (booleano)" + +#~ msgid "" +#~ "If yes, the chfn program " +#~ "will require authentication before making any changes, unless run by the " +#~ "superuser." +#~ msgstr "" +#~ "Se yes, o programa chfn irá " +#~ "requerer autenticação antes de fazer quaisquer alterações, a menos que " +#~ "seja corrido pelo super-utilizador." + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid "" +#~ "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." +#~ msgstr "" +#~ "Este parâmetro especifica quais valores no campo gecos do ficheiro /etc/passwd " +#~ "podem ser mudados por utilizadores regulares usando o programa " +#~ "chfn. Pode ser qualquer combinação das letras " +#~ "f, r, " +#~ "w, h, para nome " +#~ "\"Full\" completo, número de quarto \" Room\", telefone de trabalho " +#~ "\"Work\", e telefone de casa \"Home\", respetivamente. Para " +#~ "compatibilidade do versões anteriores, yes é " +#~ "equivalente a rwh e no é equivalente a frwh. Se não for " +#~ "especificado, apenas o super-utilizador pode fazer quaisquer alterações. " +#~ "A definição mais restritiva é melhor obtida ao não instalar o " +#~ "chfn com SUID." + +#~ msgid " (boolean)" +#~ msgstr " (booleano)" + +#~ msgid "" +#~ "If yes, the chsh program " +#~ "will require authentication before making any changes, unless run by the " +#~ "superuser." +#~ msgstr "" +#~ "Se yes, o programa chsh irá " +#~ "requerer autenticação antes de fazer quaisquer alterações, a menos que " +#~ "seja corrido pelo super-utilizador." + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid "" +#~ "Terminal ERASE character (010 = backspace, " +#~ "0177 = DEL)." +#~ msgstr "" +#~ "Caractere ERASE de terminal (010 = backspace, " +#~ "0177 = DEL)." + +#~ msgid "" +#~ "The value can be prefixed \"0\" for an octal value, or \"0x\" for an " +#~ "hexadecimal value." +#~ msgstr "" +#~ "O valor pode ser prefixado com \"0\" para um valor octal, ou \"0x\" para " +#~ "um valor hexadecimal." + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid "" +#~ "Delay in seconds before being allowed another attempt after a login " +#~ "failure." +#~ msgstr "" +#~ "Atraso em segundos antes de permitir nova tentativa após falha de login." + +#~ msgid " (boolean)" +#~ msgstr " (booleano)" + +#~ msgid "" +#~ "Enable logging and display of /var/log/faillog login " +#~ "failure info." +#~ msgstr "" +#~ "Activa o relatório e mostragem de /var/log/faillog " +#~ "da informação de falhas de login." + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid "" +#~ "If set, login will execute this shell instead of the " +#~ "users' shell specified in /etc/passwd." +#~ msgstr "" +#~ "Se definido, login irá executar esta shell em vez da " +#~ "shell de utilizador especificada em /etc/passwd." + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid "" +#~ "If defined, login failures will be logged in this file in a utmp format." +#~ msgstr "" +#~ "Se definido, as falhas de login serão registadas neste ficheiro em " +#~ "formato utmp." + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid "" +#~ "If defined, this file can inhibit all the usual chatter during the login " +#~ "sequence. If a full pathname is specified, 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." +#~ msgstr "" +#~ "Se definido, este ficheiro pode inibi toda a conversa habitual da " +#~ "sequência de login. Se for especificado um nome de caminho completo, será " +#~ "activado o modo silencioso se o nome de utilizador ou a shell forem " +#~ "encontrados no ficheiro. Se não um nome de caminho completo, então o modo " +#~ "silencioso será activado se o ficheiro existir no directório home do " +#~ "utilizador." + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid "If defined, this file will be displayed before each login prompt." +#~ msgstr "Se definido, este ficheiro será mostrado antes cada aviso de login." + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid "Terminal KILL character (025 = CTRL/U)." +#~ msgstr "" +#~ "Caractere KILL de termina (025 = CTRL/U)." + +#~ msgid " (boolean)" +#~ msgstr " (booleano)" + +#~ msgid "Enable logging and display of /var/log/lastlog login time info." +#~ msgstr "" +#~ "Activa o registo e mostragem da informação de horas de login em /var/log/" +#~ "lastlog." + +#~ msgid " (boolean)" +#~ msgstr " (booleano)" + +#~ msgid "Enable logging of successful logins." +#~ msgstr "Activa o registo de logins com sucesso." + +#~ msgid " (boolean)" +#~ msgstr " (booleano)" + +#~ msgid "" +#~ "Enable display of unknown usernames when login failures are recorded." +#~ msgstr "" +#~ "Activa mostragem de nomes de utilizadores desconhecidos quando as falhas " +#~ "de login são registadas." + +#~ msgid "" +#~ "Note: logging unknown usernames may be a security issue if an user enter " +#~ "her password instead of her login name." +#~ msgstr "" +#~ "Nota: o registar de nomes de utilizador desconhecidos pode ser um " +#~ "problema de segurança se o utilizador escrever a palavra passe no lugar " +#~ "no seu nome de login." + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid "Maximum number of login retries in case of bad password." +#~ msgstr "" +#~ "Número máximo de tentativas de login em caso de palavra passe errada." + +#~ msgid "" +#~ "This will most likely be overridden by PAM, since the default pam_unix " +#~ "module has its own built in of 3 retries. However, this is a safe " +#~ "fallback in case you are using an authentication module that does not " +#~ "enforce PAM_MAXTRIES." +#~ msgstr "" +#~ "Isto irá muito provavelmente ser sobreposto pelo PAM, pois o módulo " +#~ "pam_unix predefinido tem embutido nele próprio 3 tentativas. No entanto, " +#~ "isto é um recurso de segurança no caso de você estar a usar um módulo de " +#~ "autenticação que não força PAM_MAXTRIES." + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid "Max time in seconds for login." +#~ msgstr "Tempo máximo em segundos para login." + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid "" +#~ "If defined, \":\" delimited list of \"message of the day\" files to be " +#~ "displayed upon login." +#~ msgstr "" +#~ "Se definido, lista delimitada por \":\" de ficheiros \"mensagem do dia\" " +#~ "a serem mostrados após login." + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid "" +#~ "If defined, name of file whose presence will inhibit non-root logins. The " +#~ "contents of this file should be a message indicating why logins are " +#~ "inhibited." +#~ msgstr "" +#~ "Se definido, o nome do ficheiro cuja presença irá inibir logins não-root. " +#~ "O conteúdo deste ficheiro deve ser uma mensagem a indicar o porquê dos " +#~ "logins estarem inibidos." + +#~ msgid " (boolean)" +#~ msgstr " (booleano)" + +#~ msgid "" +#~ "Enable checking of time restrictions specified in /etc/" +#~ "porttime." +#~ msgstr "" +#~ "Activa a verificação das restrições de tempo especificadas em /" +#~ "etc/porttime." + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid "" +#~ "The terminal permissions: the login tty will be owned by the " +#~ " group, and the permissions will be set to " +#~ "." +#~ msgstr "" +#~ "As permissões de terminal: o tty de login será da posse do grupo " +#~ ", e as permissões serão definidas para " +#~ "." + +#~ msgid "" +#~ "By default, the ownership of the terminal is set to the user's primary " +#~ "group and the permissions are set to 0600." +#~ msgstr "" +#~ "Por predefinição, a posse do terminal é definida para o grupo primário do " +#~ "utilizador e as permissões são definidas para 0600." + +#~ msgid "" +#~ " can be either the name of a group or a numeric " +#~ "group identifier." +#~ msgstr "" +#~ " pode ser ou o nome de um grupo ou o " +#~ "identificados numérico de um grupo." + +#~ msgid "" +#~ "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." +#~ msgstr "" +#~ "Se você tem um programa write o qual é \"setgid\" para " +#~ "um grupo especial que possui os terminais, defina TTYGROUP para o número " +#~ "do grupo e TTYPERM para 0620. Caso contrário deixe TTYGROUP comentado e " +#~ "defina TTYPERM a 622 ou 600." + +#~ msgid " (string)" +#~ msgstr " (string)" + +#~ msgid "" +#~ "If defined, file which maps tty line to TERM environment parameter. Each " +#~ "line of the file is in a format something like \"vt100 tty01\"." +#~ msgstr "" +#~ "Se definido, ficheiro que mapeia a linha tty para o parâmetro de ambiente " +#~ "TERM. Cada linha do ficheiro está um formato parecido com \"vt100 tty01\"." + +#~ msgid " (number)" +#~ msgstr " (número)" + +#~ msgid "Default ulimit value." +#~ msgstr "Valor ulimit predefinido." + +#~ msgid "" +#~ "CHFN_AUTH CHFN_RESTRICT LOGIN_STRING" +#~ msgstr "" +#~ "CHFN_AUTH CHFN_RESTRICT LOGIN_STRING" + +#~ msgid "" +#~ "CONSOLE CONSOLE_GROUPS DEFAULT_HOME " +#~ "ENV_HZ ENV_PATH ENV_SUPATH ENV_TZ " +#~ "ENVIRON_FILE ERASECHAR FAIL_DELAY FAILLOG_ENAB FAKE_SHELL FTMP_FILE HUSHLOGIN_FILE ISSUE_FILE KILLCHAR LASTLOG_ENAB LASTLOG_UID_MAX LOGIN_RETRIES " +#~ "LOGIN_STRING LOGIN_TIMEOUT " +#~ "LOG_OK_LOGINS LOG_UNKFAIL_ENAB MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE MOTD_FILE " +#~ "NOLOGINS_FILE PORTTIME_CHECKS_ENAB QUOTAS_ENAB TTYGROUP TTYPERM " +#~ "TTYTYPE_FILE ULIMIT UMASK " +#~ "USERGROUPS_ENAB" +#~ msgstr "" +#~ "CONSOLE CONSOLE_GROUPS DEFAULT_HOME " +#~ "ENV_HZ ENV_PATH ENV_SUPATH ENV_TZ " +#~ "ENVIRON_FILE ERASECHAR FAIL_DELAY FAILLOG_ENAB FAKE_SHELL FTMP_FILE HUSHLOGIN_FILE ISSUE_FILE KILLCHAR LASTLOG_ENAB LASTLOG_UID_MAX LOGIN_RETRIES " +#~ "LOGIN_STRING LOGIN_TIMEOUT " +#~ "LOG_OK_LOGINS LOG_UNKFAIL_ENAB MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE MOTD_FILE " +#~ "NOLOGINS_FILE PORTTIME_CHECKS_ENAB QUOTAS_ENAB TTYGROUP TTYPERM " +#~ "TTYTYPE_FILE ULIMIT UMASK " +#~ "USERGROUPS_ENAB" + +#~ msgid "" +#~ "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB" +#~ msgstr "" +#~ "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB" + +#~ msgid "" +#~ "CONSOLE CONSOLE_GROUPS DEFAULT_HOME " +#~ "ENV_HZ ENVIRON_FILE ENV_PATH " +#~ "ENV_SUPATH ENV_TZ LOGIN_STRING " +#~ "MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE QUOTAS_ENAB SULOG_FILE " +#~ "SU_NAME SU_WHEEL_ONLY " +#~ "SYSLOG_SU_ENAB USERGROUPS_ENAB" +#~ msgstr "" +#~ "CONSOLE CONSOLE_GROUPS DEFAULT_HOME " +#~ "ENV_HZ ENVIRON_FILE ENV_PATH " +#~ "ENV_SUPATH ENV_TZ LOGIN_STRING " +#~ "MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE QUOTAS_ENAB SULOG_FILE " +#~ "SU_NAME SU_WHEEL_ONLY " +#~ "SYSLOG_SU_ENAB USERGROUPS_ENAB" + +#~ msgid "ENV_HZ ENV_TZ" +#~ msgstr "ENV_HZ ENV_TZ" + +#~ msgid "" +#~ "login1, passwd1, " +#~ "su1, passwd5, " +#~ "shadow5, pam8." +#~ msgstr "" +#~ "login1, passwd1, " +#~ "su1, passwd5, " +#~ "shadow5, pam8." + +#~ msgid "" +#~ "permission:users:origins" +#~ msgstr "" +#~ "permission:users:origins" + +#~ msgid "" +#~ "This version of login has many compilation options, " +#~ "only some of which may be in use at any particular site." +#~ msgstr "" +#~ "Esta versão do login tem muitas opções de compilação, " +#~ "apenas algumas delas podem estar em uso em qualquer sítio particular." + +#~ msgid "" +#~ "mail1, passwd1, " +#~ "sh1, su1, " +#~ "login.defs5, nologin5, " +#~ "passwd5, securetty5, " +#~ "getty8." +#~ msgstr "" +#~ "mail1, passwd1, " +#~ "sh1, su1, " +#~ "login.defs5, nologin5, " +#~ "passwd5, securetty5, " +#~ "getty8." + +#~ msgid "" +#~ "K: file creation mask, set by umask2." +#~ msgstr "" +#~ "K: máscara de criação de ficheiro, definida por " +#~ "umask2." + +#~ msgid "" +#~ "P: process priority, set by setpriority2." +#~ msgstr "" +#~ "P: prioridade do processo, definido por " +#~ "setpriority2." + +#~ msgid "" +#~ "login1, setpriority2, " +#~ "setrlimit2." +#~ msgstr "" +#~ "login1, setpriority2, " +#~ "setrlimit2." + +#~ msgid "" +#~ "The options which apply to the lastlog command are:" +#~ msgstr "As opções que se aplicam ao comando lastlog são:" + +#~ msgid "" +#~ ",  DAYS" +#~ msgstr "" +#~ ",  DAYS" + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid "" +#~ ",  DAYS" +#~ msgstr "" +#~ ",  DAYS" + +#~ msgid "" +#~ ",  LOGIN|RANGE" +#~ msgstr "" +#~ ",  LOGIN|RANGE" + +#~ msgid "" +#~ "gpasswd5, group5, " +#~ "grpck8, grpconv8, " +#~ "newgrp1." +#~ msgstr "" +#~ "gpasswd5, group5, " +#~ "grpck8, grpconv8, " +#~ "newgrp1." + +#~ msgid "" +#~ "a valid group identifier (/etc/" +#~ "group only)" +#~ msgstr "" +#~ "um identificador de grupo válido (apenas " +#~ "/etc/group)" + +#~ msgid "" +#~ "a valid list of members and " +#~ "administrators" +#~ msgstr "" +#~ "uma lista de membros e administradores válida" + +#~ msgid "" +#~ "The commands which operate on the /etc/groupfileand " +#~ "/etc/gshadow files are not able to alter " +#~ "corrupted or duplicated entries. grpck should be used " +#~ "in those circumstances to remove the offending entries." +#~ msgstr "" +#~ "Os comandos que operam nos ficheiros /etc/group e /etc/gshadow não " +#~ "são capazes de alterar entradas corruptas ou duplicadas. Deve ser usado o " +#~ "grpck em tais circunstâncias para remover as entradas " +#~ "ofensivas." + +#~ msgid "The options which apply to the grpck command are:" +#~ msgstr "As opções que se aplicam ao comando grpck são:" + +#~ msgid "" +#~ "Sort entries in /etc/groupand /etc/gshadow by " +#~ "GID." +#~ msgstr "" +#~ "Ordena as entradas em /etc/group e /etc/gshadow pelo " +#~ "GID." + +#~ msgid "" +#~ "By default, grpck operates on /etc/groupand /etc/gshadow. The user may select alternate files with the " +#~ "groupparameter.and shadow " +#~ "parameters." +#~ msgstr "" +#~ "Por predefinição, o grpck opera em /etc/" +#~ "group e /etc/gshadow. O utilizador pode selecionar ficheiros alternativos " +#~ "com os parâmetro group. E parâmetros do " +#~ "shadow." + +#~ msgid "" +#~ "The grpck command exits with the following values: " +#~ "" +#~ msgstr "" +#~ "O comando grpck termina com os seguintes valores: " +#~ "" + +#~ msgid "" +#~ "group5, groupmod8, gshadow5, , passwd5, pwck8, " +#~ "shadow5." +#~ msgstr "" +#~ "group5, groupmod8, gshadow5, , passwd5, pwck8, " +#~ "shadow5." + +#~ msgid "" +#~ "newgrp1, getgid2, " +#~ "getgroups2, getuid2." +#~ msgstr "" +#~ "newgrp1, getgid2, " +#~ "getgroups2, getuid2." + +#~ msgid "" +#~ "The options which apply to the groupmod command are:" +#~ msgstr "" +#~ "As opções que se aplicam ao comando groupmod são:" + +#~ msgid "" +#~ ",  GID" +#~ msgstr "" +#~ ",  GID" + +#~ msgid "" +#~ "No checks will be performed with regard to the , " +#~ ", , or " +#~ " from /etc/login.defs." +#~ msgstr "" +#~ "Nenhuma verificação será executada com respeito a , , ou " +#~ " de /etc/login.defs." + +#~ msgid "" +#~ ",  " +#~ "NEW_GROUP" +#~ msgstr "" +#~ ",  " +#~ "NEW_GROUP" + +#~ msgid "E_GID_IN_USE: specified group doesn't exist" +#~ msgstr "E_GID_IN_USE: grupo especificado não existe" + +#~ msgid "" +#~ "The groupmod command exits with the following values: " +#~ "" +#~ msgstr "" +#~ "O comando groupmod termina com os seguintes valores: " +#~ "" + +#~ msgid "" +#~ "chfn1, chsh1, " +#~ "passwd1, gpasswd8, " +#~ "groupadd8, groupdel8, " +#~ "login.defs5, useradd8, " +#~ "userdel8, usermod8." +#~ msgstr "" +#~ "chfn1, chsh1, " +#~ "passwd1, gpasswd8, " +#~ "groupadd8, groupdel8, " +#~ "login.defs5, useradd8, " +#~ "userdel8, usermod8." + +#~ msgid "" +#~ "The options which apply to the groupmems command are:" +#~ msgstr "" +#~ "As opções que se aplicam ao comando groupmems são:" + +#~ msgid "" +#~ ",  user_name" +#~ msgstr "" +#~ ",  user_name" + +#~ msgid "" +#~ ",  " +#~ "user_name" +#~ msgstr "" +#~ ",  " +#~ "user_name" + +#~ msgid "" +#~ ",  " +#~ "group_name" +#~ msgstr "" +#~ ",  " +#~ "group_name" + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid "" +#~ "chfn1, chsh1, " +#~ "passwd1, groupadd8, " +#~ "groupdel8, useradd8, " +#~ "userdel8, usermod8." +#~ msgstr "" +#~ "chfn1, chsh1, " +#~ "passwd1, groupadd8, " +#~ "groupdel8, useradd8, " +#~ "userdel8, usermod8." + +#~ msgid "" +#~ "The options which apply to the groupdel command are:" +#~ msgstr "" +#~ "As opções que se aplicam ao comando groupdel são:" + +#~ msgid "" +#~ "The groupdel command exits with the following values: " +#~ "" +#~ msgstr "" +#~ "O comando groupdel termina com os seguintes valores: " +#~ "" + +#~ msgid "" +#~ "chfn1, chsh1, " +#~ "passwd1, gpasswd8, " +#~ "groupadd8, groupmod8, " +#~ "useradd8, userdel8, " +#~ "usermod8." +#~ msgstr "" +#~ "chfn1, chsh1, " +#~ "passwd1, gpasswd8, " +#~ "groupadd8, groupmod8, " +#~ "useradd8, userdel8, " +#~ "usermod8." + +#~ msgid "" +#~ "The options which apply to the groupadd command are:" +#~ msgstr "" +#~ "As opções que se aplicam ao comando groupadd são:" + +#~ msgid "" +#~ "See also the option and the " +#~ "description." +#~ msgstr "" +#~ "Veja também a opção ." + +#~ msgid "" +#~ "Example:  GID_MIN=100  " +#~ "GID_MAX=499" +#~ msgstr "" +#~ "Exemplo:  GID_MIN=100  " +#~ "GID_MAX=499" + +#~ msgid "This option permits to add a group with a non-unique GID." +#~ msgstr "Esta opção permite adicionar um grupo com um GID não único." + +#~ msgid "" +#~ "Groupnames must start with a lower case letter or an underscore, followed " +#~ "by lower case letters, digits, underscores, or dashes. They can end with " +#~ "a dollar sign. In regular expression terms: [a-z_][a-z0-9_-]*[$]?" +#~ msgstr "" +#~ "Os nomes de grupos devem começar com uma letra minúscula ou um " +#~ "underscore, seguido de letras minúsculas, dígitos, underscores, ou " +#~ "traços. Eles podem acabar com um cifrão. Em termos de expressão regular: " +#~ "[a-z_][a-z0-9_-]*[$]?" + +#~ msgid "" +#~ "Groupnames may only be up to &GROUP_NAME_MAX_LENGTH; characters long." +#~ msgstr "" +#~ "Nomes de grupos só pode ir até &GROUP_NAME_MAX_LENGTH; caracteres de " +#~ "comprimento." + +#~ msgid "GID not unique (when not used)" +#~ msgstr "GID não único (quando não usado)" + +#~ msgid "group name not unique" +#~ msgstr "nome de grupo não único" + +#~ msgid "" +#~ "The groupadd command exits with the following values: " +#~ "" +#~ msgstr "" +#~ "O comando groupadd termina com os seguintes valores: " +#~ "" + +#~ msgid "" +#~ "chfn1, chsh1, " +#~ "passwd1, gpasswd8, " +#~ "groupdel8, groupmod8, " +#~ "login.defs5, useradd8, " +#~ "userdel8, usermod8." +#~ msgstr "" +#~ "chfn1, chsh1, " +#~ "passwd1, gpasswd8, " +#~ "groupdel8, groupmod8, " +#~ "login.defs5, useradd8, " +#~ "userdel8, usermod8." + +#~ msgid "" +#~ "The gpasswd command is used to administer /" +#~ "etc/group, and /etc/" +#~ "gshadow. Every group can have administrators, members and a password." +#~ msgstr "" +#~ "O comando gpasswd é usado para administrar /" +#~ "etc/group, e /etc/" +#~ "gshadow. Cada grupo pode ter administradores, membros e uma palavra " +#~ "passe." + +#~ msgid "" +#~ "gpasswd called by a " +#~ "group administratora system " +#~ "administrator with a group name only prompts for the new " +#~ "password of the group." +#~ msgstr "" +#~ "gpasswd chamado por um " +#~ "administrador de grupoum " +#~ "administrador de sistema com um nome de grupo apenas pede a nova " +#~ "palavra passe do group." + +#~ msgid "" +#~ "The options which apply to the gpasswd command are:" +#~ msgstr "As opções que se aplicam ao comando gpasswd são:" + +#~ msgid "" +#~ ",  user" +#~ msgstr "" +#~ ",  user" + +#~ msgid "" +#~ ",  user" +#~ msgstr "" +#~ ",  user" + +#~ msgid "" +#~ ",  " +#~ "CHROOT_DIR" +#~ msgstr "" +#~ ",  " +#~ "CHROOT_DIR" + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid "" +#~ ",  " +#~ "user,..." +#~ msgstr "" +#~ ",  " +#~ "user,..." + +#~ msgid "" +#~ ",  user,..." +#~ msgstr "" +#~ ",  user,..." + +#~ msgid "" +#~ "newgrp1, groupadd8, " +#~ "groupdel8, groupmod8, " +#~ "grpck8, group5, gshadow5." +#~ msgstr "" +#~ "newgrp1, groupadd8, " +#~ "groupdel8, groupmod8, " +#~ "grpck8, group5, gshadow5." + +#~ msgid "" +#~ "The options which apply to the faillog command are:" +#~ msgstr "As opções que se aplicam ao comando faillog são:" + +#~ msgid "" +#~ ",  SEC" +#~ msgstr "" +#~ ",  SEC" + +#~ msgid "" +#~ ",  MAX" +#~ msgstr "" +#~ ",  MAX" + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid "" +#~ "login1, faillog5." +#~ msgstr "" +#~ "login1, faillog5." + +#~ msgid "" +#~ "The options which apply to the expiry command are:" +#~ msgstr "As opções que se aplicam ao comando expiry são:" + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid "" +#~ "passwd5, shadow5." +#~ msgstr "" +#~ "passwd5, shadow5." + +#~ msgid "The options which apply to the chsh command are:" +#~ msgstr "As opções que se aplicam ao comando chsh são:" + +#~ msgid "" +#~ "chfn1, login.defs5, " +#~ "passwd5." +#~ msgstr "" +#~ "chfn1, login.defs5, " +#~ "passwd5." + +#~ msgid "" +#~ "user_name:password" +#~ msgstr "" +#~ "user_name:password" + +#~ msgid "" +#~ "The default encryption algorithm can be defined for the system with the " +#~ " or " +#~ "variables of /etc/login.defs, and can be overwritten " +#~ "with the , , or " +#~ "options." +#~ msgstr "" +#~ "O algoritmo de encriptação predefinido pode ser definido para o sistema " +#~ "com as variáveis ou " +#~ " de /etc/login.defs, " +#~ "e pode ser sobreposto com as opções , ." + +#~ msgid "" +#~ "The options which apply to the chpasswd command are:" +#~ msgstr "" +#~ "As opções que se aplicam ao comando chpasswd são:" + +#~ msgid "" +#~ ",  " +#~ "METHOD" +#~ msgstr "" +#~ ",  " +#~ "METHOD" + +#~ msgid "The available methods are DES, MD5, and NONE." +#~ msgstr "Os métodos disponíveis são DES, MD5, e NONE." + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid ", " +#~ msgstr ", " + +#~ msgid "" +#~ ",  " +#~ "ROUNDS" +#~ msgstr "" +#~ ",  " +#~ "ROUNDS" + +#~ msgid "" +#~ "By default, the number of rounds is defined by the " +#~ " and e